Merge branch 'develop' into feature/sanitize
diff --git a/examples/jewel/TourDeJewel/src/main/royale/TriStateCheckBoxPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/TriStateCheckBoxPlayGround.mxml
index 28e7ec6..bb23883 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/TriStateCheckBoxPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/TriStateCheckBoxPlayGround.mxml
@@ -84,7 +84,7 @@
<j:html><![CDATA[<p>A <strong>TriStateCheckBox</strong> can have the following six states.</p>]]></j:html>
</j:Label>
- <j:TriStateCheckBox text="Not Checked (with ReadOnly bead)"/>
+ <j:TriStateCheckBox text="Not Checked"/>
<j:TriStateCheckBox text="Checked" selected="true"/>
@@ -161,7 +161,7 @@
<j:CardPrimaryContent>
<j:Label multiline="true">
- <j:html><![CDATA[<p>Select one or more options.</p>]]></j:html>
+ <j:html><![CDATA[<p>Select one or more options. The check showing the group status has the ReadOnly bead configured.</p>]]></j:html>
</j:Label>
<j:VGroup width="230" gap="5" className="groupoptions">
@@ -221,7 +221,7 @@
</j:TriStateCheckBox>
<j:Label multiline="true">
- <j:html><![CDATA[<p>The <strong>TriStateCheckBoxStatesValues</strong> bead allows to set a custom value for each state. <p>By default, the "unchecked" state is assigned a value of "0", the "checked" state a value of "1" and the "indeterminate" state a value of "-1".</p>]]></j:html>
+ <j:html><![CDATA[<p>The <strong>TriStateCheckBoxState</strong> bead allows to set a custom value for each state. <p>By default, the "unchecked" state is assigned a value of "0", the "checked" state a value of "1" and the "indeterminate" state a value of "-1".</p>]]></j:html>
</j:Label>
<j:HGroup percentWidth="100" itemsVerticalAlign="itemsCenter" gap="5">
@@ -232,7 +232,7 @@
<j:Label text="Custom: " width="100"/>
<j:TriStateCheckBox localId="trCh1" text="{trCh1.state}" >
<j:beads>
- <j:TriStateCheckBoxStatesValues checkedValue="valChecked" uncheckedValue="valUnchecked" indeterminateValue="valIndeterminate"/>
+ <j:TriStateCheckBoxState checkedValue="valChecked" uncheckedValue="valUnchecked" indeterminateValue="valIndeterminate"/>
</j:beads>
</j:TriStateCheckBox>
</j:HGroup>
diff --git a/examples/mxroyale/ControlsExample/src/main/royale/ControlsExample.mxml b/examples/mxroyale/ControlsExample/src/main/royale/ControlsExample.mxml
index 31a3584..3600e83 100644
--- a/examples/mxroyale/ControlsExample/src/main/royale/ControlsExample.mxml
+++ b/examples/mxroyale/ControlsExample/src/main/royale/ControlsExample.mxml
@@ -42,27 +42,59 @@
<fx:Script>
<![CDATA[
- import org.apache.royale.events.Event;
-
- private function pushMePushed(event:MouseEvent):void
- {
- trace("The PushMe button was pushed");
+ import components.TitleWindowPopupWindowWithViewStack;
+ import mx.containers.TitleWindow;
+ import mx.managers.PopUpManager;
+ import mx.events.CloseEvent;
+ import mx.events.FlexEvent;
+ import org.apache.royale.events.Event;
+
+ private function pushMePushed(event:MouseEvent):void {
+ trace("The PushMe button was pushed");
+ }
+
+ private function changeIcon():void {
+ button2.icon = "assets/mediumredrect.jpg";
+ }
+
+ private function otherPushMe():void {
+ trace("The other button was pushed");
+ text1.htmlText = "The Button with an icon was pushed.";
+ dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ private function testTitleWindow():void {
+ var titleWindow:TitleWindow = new TitleWindow();
+ titleWindow.width = 600;
+ titleWindow.height = 500;
+ titleWindow.title = "My TitleWindow";
+ titleWindow.showCloseButton = true;
+ titleWindow.addEventListener(mx.events.CloseEvent.CLOSE, function (e:mx.events.CloseEvent):void{
+ PopUpManager.removePopUp(titleWindow);
+ })
+ PopUpManager.addPopUp(titleWindow, this, true);
+ PopUpManager.centerPopUp(titleWindow);
+ }
+
+ private function testViewStack():void {
+ var test:TitleWindowPopupWindowWithViewStack = PopUpManager.createPopUp(this,TitleWindowPopupWindowWithViewStack) as TitleWindowPopupWindowWithViewStack;
+ test.addEventListener(mx.events.CloseEvent.CLOSE, close);
+ //@todo implement and test other child creationPolicies...
+ test.childCreationPolicyTest = 'none';
+ test.title = "ViewStack with creationPolicy test:"+test.childCreationPolicyTest;
+ PopUpManager.centerPopUp(test);
+
+ function close(event:mx.events.CloseEvent):void{
+ PopUpManager.removePopUp(test)
}
-
- private function changeIcon():void
- {
- button2.icon = "assets/mediumredrect.jpg";
- }
-
- private function otherPushMe():void
- {
- trace("The other button was pushed");
- text1.htmlText = "The Button with an icon was pushed.";
- dispatchEvent(new Event("layoutNeeded"));
- }
+ }
]]>
</fx:Script>
-
+ <mx:Canvas width="300" height="100" backgroundColor="yellow">
+ <mx:Label text="left:2 right:2 top:2" left="2" right="2" top="2" backgroundColor="white"/>
+ <mx:Label text="left:10 right:40 top:40" left="10" right="40" top="40" backgroundColor="white"/>
+ <mx:Label text="left:40 right:40 top:80" left="40" right="40" top="80" backgroundColor="white" />
+ </mx:Canvas>
<mx:VBox id="vbox1">
<mx:Label text="Hello World"/>
<mx:Button label="Change Icon" click="changeIcon()"
@@ -93,6 +125,9 @@
</mx:Canvas>
<mx:TextArea text="This is the TextArea control!"
maxChars="100"/>
+ <mx:Button label="Launch TitleWindow" click="testTitleWindow()"
+ toolTip="launchs a test TitleWindow" />
+ <mx:Button label="Launch ViewStack" click="testViewStack()"
+ toolTip="launchs a test ViewStack with LinkBar" />
-
</mx:Application>
\ No newline at end of file
diff --git a/examples/mxroyale/ControlsExample/src/main/royale/components/StackItem.mxml b/examples/mxroyale/ControlsExample/src/main/royale/components/StackItem.mxml
new file mode 100644
index 0000000..1dfc169
--- /dev/null
+++ b/examples/mxroyale/ControlsExample/src/main/royale/components/StackItem.mxml
@@ -0,0 +1,45 @@
+<!--
+
+ 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.
+
+-->
+<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009"
+ xmlns:mx="library://ns.apache.org/royale/mx"
+
+ width="100%" height="100%">
+
+ <mx:Label preinitialize="preInitialize(event)" initialize="onInitialize(event)" id="testLabel" left="0" right="0" text="{label}" creationComplete="labelComplete(event)"/>
+
+ <mx:Label preinitialize="preInitialize(event)" initialize="onInitialize(event)" id="otherLabel" left="0" right="0" top="40" text="{label}" creationComplete="labelComplete(event)"/>
+
+ <fx:Script><![CDATA[
+ import mx.events.FlexEvent;
+
+
+ private function labelComplete(event:FlexEvent):void{
+ trace(event.target.id,' creationComplete Internal:'+this.label)
+ }
+
+
+ private function preInitialize(event:FlexEvent):void {
+ trace(event.target.id,' preInitialize Internal:'+this.label)
+ }
+
+ private function onInitialize(event:FlexEvent):void {
+ trace(event.target.id,' initialize Internal:'+this.label)
+ }
+ ]]></fx:Script>
+</mx:Canvas>
diff --git a/examples/mxroyale/ControlsExample/src/main/royale/components/TitleWindowPopupWindowWithViewStack.mxml b/examples/mxroyale/ControlsExample/src/main/royale/components/TitleWindowPopupWindowWithViewStack.mxml
new file mode 100644
index 0000000..8900833
--- /dev/null
+++ b/examples/mxroyale/ControlsExample/src/main/royale/components/TitleWindowPopupWindowWithViewStack.mxml
@@ -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.
+
+-->
+<mx:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
+ xmlns:mx="library://ns.apache.org/royale/mx"
+ layout="absolute"
+ creationComplete="onCreationComplete(event)"
+ showCloseButton="true"
+ width="850"
+ height="680">
+
+ <fx:Script><![CDATA[
+ import mx.events.FlexEvent;
+
+ public var childCreationPolicyTest:String = 'none';
+
+ private function viewStackChange(event:IndexChangedEvent):void {
+
+ }
+ import mx.events.IndexChangedEvent;
+
+ private function onCreationComplete(event:FlexEvent):void {
+ for (var i:uint=0;i<10;i++) {
+ var inst:Canvas = new StackItem();
+ inst.creationPolicy = i >0 ? childCreationPolicyTest : 'all';
+ inst.label = "Inst:"+i;
+ inst.addEventListener(FlexEvent.PREINITIALIZE, childEvent);
+ inst.addEventListener(FlexEvent.INITIALIZE, childEvent)
+ inst.addEventListener(FlexEvent.CREATION_COMPLETE, childEvent)
+ inst.addEventListener(FlexEvent.CONTENT_CREATION_COMPLETE, childEvent)
+ Properties_vs.addChild(inst);
+ }
+
+ }
+
+
+ private function childEvent(event:Event):void{
+ var target:StackItem = event.target as StackItem;
+ trace(event.type, target.label);
+ }
+
+ ]]>
+ </fx:Script>
+ <mx:Canvas width="223" left="0" top="0" bottom="0" horizontalScrollPolicy="off" id="linkBarCanvas">
+ <mx:LinkBar id="Properties_lbar" width="215" direction="vertical" dataProvider="Properties_vs" left="0" top="0" bottom="0"/>
+ </mx:Canvas>
+ <mx:VRule x="223" top="0" bottom="0" id="propertiesVRule"/>
+ <mx:ViewStack id="Properties_vs" change="viewStackChange(event)" top="0" bottom="0" right="0" left="225"/>
+
+
+</mx:TitleWindow>
diff --git a/frameworks/build.xml b/frameworks/build.xml
index e1852e3..2085882 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -156,6 +156,7 @@
<antcall target="Jewel"/>
<antcall target="JewelTheme"/>
<antcall target="Icons"/>
+ <antcall target="ExternsJS"/>
</target>
<target name="test" description="Tests all SWCs">
@@ -197,6 +198,8 @@
<antcall target="CruxTest"/>
<antcall target="JewelTest"/>
<antcall target="IconsTest"/>
+ <!-- No tests yet -->
+ <!-- <antcall target="ExternsJSTest"/> -->
</target>
<target name="fonts">
@@ -258,6 +261,7 @@
<ant dir="${basedir}/projects/Crux" target="clean"/>
<ant dir="${basedir}/projects/Jewel" target="clean"/>
<ant dir="${basedir}/projects/Icons" target="clean"/>
+ <ant dir="${basedir}/projects/ExternsJS" target="clean"/>
<ant dir="${basedir}/themes/JewelTheme" target="clean"/>
<ant dir="${basedir}/fontsrc" target="clean"/>
@@ -562,10 +566,18 @@
<ant dir="${basedir}/projects/Icons"/>
</target>
+ <target name="ExternsJS" description="Clean build of ExternsJS.swc">
+ <ant dir="${basedir}/projects/ExternsJS"/>
+ </target>
+
<target name="IconsTest" description="Test of Icons.swc">
<ant dir="${basedir}/projects/Icons" target="test"/>
</target>
+ <target name="ExternsJSTest" description="Test of ExternsJS.swc">
+ <ant dir="${basedir}/projects/ExternsJS" target="test"/>
+ </target>
+
<target name="Jewel" description="Clean build of Jewel.swc">
<ant dir="${basedir}/projects/Jewel"/>
</target>
diff --git a/frameworks/js/projects/ExternsJSJS/build.xml b/frameworks/js/projects/ExternsJSJS/build.xml
new file mode 100644
index 0000000..bb19837
--- /dev/null
+++ b/frameworks/js/projects/ExternsJSJS/build.xml
@@ -0,0 +1,136 @@
+<?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="ExternsJSJS" 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}"/>
+
+ <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>
+
+ <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="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,check-compiler" unless="skip-tests">
+ <ant dir="src/test/royale" />
+ </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>
+ <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" 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 line="-metadata.date="${royale.swc-date}"" />
+ <arg line="-metadata.dateFormat="MM/dd/yy HH:mm Z"" />
+ <arg line="-swf-debugfile-alias="/org/apache/royale/${release.version}"" />
+ <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"
+ 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/js/projects/ExternsJSJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/ExternsJSJS/src/main/config/compile-js-config.xml
new file mode 100644
index 0000000..63ce2eb
--- /dev/null
+++ b/frameworks/js/projects/ExternsJSJS/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>
+ </keep-as3-metadata>
+
+ <locale/>
+
+ <external-library-path append="true">
+ <path-element>../../../../../libs/LanguageJS.swc</path-element>
+ <path-element>../../../../../libs/CoreJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
+ <path-element>../../../../../libs/CollectionsJS.swc</path-element>
+ </external-library-path>
+
+ <source-path>
+ <path-element>../../../../../../projects/ExternsJS/src/main/royale</path-element>
+ </source-path>
+
+ <namespaces>
+ <namespace>
+ <uri>library://ns.apache.org/royale/externsjs</uri>
+ <manifest>../../../../../../projects/ExternsJS/src/main/resources/externsjs-manifest.xml</manifest>
+ </namespace>
+ </namespaces>
+
+ <warn-no-constructor>false</warn-no-constructor>
+ </compiler>
+
+ <include-file>
+ </include-file>
+
+ <include-classes>
+ <class>ExternsJSClasses</class>
+ </include-classes>
+
+ <include-namespaces>
+ <uri>library://ns.apache.org/royale/basic</uri>
+ </include-namespaces>
+
+ <js-default-initializers>false</js-default-initializers>
+
+ <js-complex-implicit-coercions>false</js-complex-implicit-coercions>
+ <js-resolve-uncertain>false</js-resolve-uncertain>
+ <js-vector-index-checks>false</js-vector-index-checks>
+
+
+</royale-config>
diff --git a/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
index 7a1f198..ab405d5 100644
--- a/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
@@ -70,6 +70,7 @@
<path-element>../../../../../libs/NetworkJS.swc</path-element>
<path-element>../../../../../libs/ChartsJS.swc</path-element>
<path-element>../../../../../libs/MXRoyaleJS.swc</path-element>
+ <path-element>../../../../../libs/MXRoyaleBaseJS.swc</path-element>
<path-element>../../../../../libs/ReflectionJS.swc</path-element>
<path-element>../../../../../libs/TextJS.swc</path-element>
<path-element>../../../../../libs/TLFJS.swc</path-element>
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
index ad2ff6e..7c5f7c2 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
@@ -47,6 +47,7 @@
import org.apache.royale.html.beads.models.ListPresentationModel;
import org.apache.royale.html.beads.IListView;
import org.apache.royale.core.IListWithPresentationModel;
+ import org.apache.royale.core.IHasLabelField;
/**
* Indicates that the initialization of the list is complete.
@@ -74,7 +75,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataContainer extends DataContainerBase implements IStrandWithPresentationModel, IListWithPresentationModel
+ public class DataContainer extends DataContainerBase implements IStrandWithPresentationModel, IListWithPresentationModel, IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
index e4b49e8..71d6276 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
@@ -19,6 +19,7 @@
package org.apache.royale.html
{
import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.core.IHasLabelField;
COMPILE::JS
{
@@ -62,7 +63,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DropDownList extends Button
+ public class DropDownList extends Button implements IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
index a1f24a8..86b32e4 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
@@ -71,7 +71,11 @@
ImageAndTextModel(model).text = value;
COMPILE::JS
{
- setInnerHTML();
+ if(!textNode){
+ textNode = document.createTextNode(value) as Text;
+ element.appendChild(textNode);
+ }
+ textNode.nodeValue = "\xa0" + value;
}
}
@@ -98,10 +102,16 @@
ImageAndTextModel(model).image = value;
COMPILE::JS
{
- setInnerHTML();
+ imgElement.src = value;
}
}
+ COMPILE::JS
+ protected var imgElement:HTMLImageElement;
+
+ COMPILE::JS
+ protected var textNode:Text;
+
/**
* @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
*/
@@ -110,20 +120,10 @@
{
addElementToWrapper(this,'button');
element.setAttribute('type', 'button');
+ imgElement = document.createElement("img") as HTMLImageElement;
+ element.appendChild(imgElement);
return element;
}
- /**
- */
- COMPILE::JS
- protected function setInnerHTML():void
- {
- var inner:String = '';
- if (image != null)
- inner += "<img src='" + image + "'/>";
- inner += ' ';
- inner += text;
- element.innerHTML = inner;
- };
}
}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CollectionChangeUpdateForArrayListData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CollectionChangeUpdateForArrayListData.as
index 1c5ca92..30a3949 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CollectionChangeUpdateForArrayListData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CollectionChangeUpdateForArrayListData.as
@@ -25,6 +25,7 @@
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.utils.sendBeadEvent;
import org.apache.royale.core.Bead;
+ import org.apache.royale.core.IHasLabelField;
/**
@@ -36,7 +37,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class CollectionChangeUpdateForArrayListData extends Bead
+ public class CollectionChangeUpdateForArrayListData extends Bead implements IHasLabelField
{
/**
* Constructor
@@ -50,7 +51,19 @@
{
}
- protected var labelField:String;
+ private var _labelField:String;
+ /**
+ * Label field
+ */
+ public function get labelField():String
+ {
+ return _labelField;
+ }
+
+ public function set labelField(value:String):void
+ {
+ _labelField = value;
+ }
/**
* @copy org.apache.royale.core.IStrand
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataFieldProviderBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataFieldProviderBead.as
index dbfcea3..969e6f9 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataFieldProviderBead.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataFieldProviderBead.as
@@ -19,6 +19,7 @@
package org.apache.royale.html.beads
{
import org.apache.royale.core.Bead;
+ import org.apache.royale.core.IHasDataField;
/**
* The DataFieldProviderBead class is a model that holds dataField used mostly
@@ -29,7 +30,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9
*/
- public class DataFieldProviderBead extends Bead
+ public class DataFieldProviderBead extends Bead implements IHasDataField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as
index 792cf7d..126b0e4 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html.beads
{
- import org.apache.royale.core.IItemRenderer;
import org.apache.royale.core.ILabelFieldItemRenderer;
/**
@@ -30,7 +29,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public interface ITextItemRenderer extends IItemRenderer, ILabelFieldItemRenderer
+ public interface ITextItemRenderer extends ILabelFieldItemRenderer
{
/**
* The text to be displayed in the item renderer.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IndexedItemRendererInitializer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IndexedItemRendererInitializer.as
index d8d1424..051c110 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IndexedItemRendererInitializer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IndexedItemRendererInitializer.as
@@ -26,6 +26,7 @@
import org.apache.royale.core.ILabelFieldItemRenderer;
import org.apache.royale.core.IStrand;
import org.apache.royale.utils.sendStrandEvent;
+ import org.apache.royale.core.IHasLabelField;
/**
* The IndexedItemRendererInitializer class initializes item renderers
@@ -36,7 +37,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public class IndexedItemRendererInitializer extends Bead implements IIndexedItemRendererInitializer
+ public class IndexedItemRendererInitializer extends Bead implements IIndexedItemRendererInitializer, IHasLabelField
{
/**
* constructor.
@@ -51,7 +52,19 @@
}
protected var dataProviderModel:IDataProviderModel;
- protected var labelField:String;
+ private var _labelField:String;
+ /**
+ * Label field
+ */
+ public function get labelField():String
+ {
+ return _labelField;
+ }
+
+ public function set labelField(value:String):void
+ {
+ _labelField = value;
+ }
/**
* @copy org.apache.royale.core.IBead#strand
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryBase.as
index d9d3508..e07c75d 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryBase.as
@@ -36,6 +36,8 @@
import org.apache.royale.utils.loadBeadFromValuesManager;
import org.apache.royale.utils.sendStrandEvent;
import org.apache.royale.core.DispatcherBead;
+ import org.apache.royale.core.IHasLabelField;
+ import org.apache.royale.core.IHasDataField;
[Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
@@ -51,7 +53,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class VirtualDataItemRendererFactoryBase extends DispatcherBead implements IDataProviderVirtualItemRendererMapper
+ public class VirtualDataItemRendererFactoryBase extends DispatcherBead implements IDataProviderVirtualItemRendererMapper, IHasDataField, IHasLabelField
{
/**
* Constructor.
@@ -69,8 +71,32 @@
protected var dataProviderModel:IDataProviderModel;
protected var dataFieldProvider:DataFieldProviderBead;
- protected var labelField:String;
- protected var dataField:String;
+ private var _labelField:String;
+ /**
+ * The label field
+ */
+ public function get labelField():String
+ {
+ return _labelField;
+ }
+
+ public function set labelField(value:String):void
+ {
+ _labelField = value;
+ }
+ private var _dataField:String;
+ /**
+ * The data field
+ */
+ public function get dataField():String
+ {
+ return _dataField;
+ }
+
+ public function set dataField(value:String):void
+ {
+ _dataField = value;
+ }
protected var rendererMap:Object;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
index c351076..987e5e8 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.events.Event;
import org.apache.royale.core.DispatcherBead;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ArrayListSelectionModel class is a selection model for
@@ -34,7 +35,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class ArrayListSelectionModel extends DispatcherBead implements ISelectionModel, IRollOverModel
+ public class ArrayListSelectionModel extends DispatcherBead implements ISelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayMultiSelectionModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayMultiSelectionModel.as
index 374b3a6..964471f 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayMultiSelectionModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayMultiSelectionModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ArrayMultiSelectionModel class is a selection model for
@@ -37,7 +38,7 @@
* @productversion 0.9.7
*/
- public class ArrayMultiSelectionModel extends EventDispatcher implements IMultiSelectionModel, IRollOverModel
+ public class ArrayMultiSelectionModel extends EventDispatcher implements IMultiSelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArraySelectionModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArraySelectionModel.as
index 1b3c5a5..d0ed122 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArraySelectionModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArraySelectionModel.as
@@ -22,6 +22,7 @@
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.events.Event;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ArraySelectionModel class is a selection model for
@@ -35,7 +36,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class ArraySelectionModel extends DispatcherBead implements ISelectionModel, IRollOverModel
+ public class ArraySelectionModel extends DispatcherBead implements ISelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataProviderModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataProviderModel.as
index 6da65ea..40ac284 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataProviderModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataProviderModel.as
@@ -21,6 +21,7 @@
import org.apache.royale.core.DispatcherBead;
import org.apache.royale.core.IDataProviderModel;
import org.apache.royale.events.Event;
+ import org.apache.royale.core.IHasLabelField;
/**
* The DataProviderModel class is a model for
@@ -31,7 +32,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataProviderModel extends DispatcherBead implements IDataProviderModel
+ public class DataProviderModel extends DispatcherBead implements IDataProviderModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MultiSelectionCollectionViewModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MultiSelectionCollectionViewModel.as
index 926695c..58a13d4 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MultiSelectionCollectionViewModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MultiSelectionCollectionViewModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.IMultiSelectionModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.events.Event;
+ import org.apache.royale.core.IHasLabelField;
/**
* The MultiSelectionCollectionViewModel class is a selection model for
@@ -34,7 +35,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9
*/
- public class MultiSelectionCollectionViewModel extends DispatcherBead implements IRollOverModel, IMultiSelectionModel
+ public class MultiSelectionCollectionViewModel extends DispatcherBead implements IRollOverModel, IMultiSelectionModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
index d071619..6b0541b 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.events.Event;
+ import org.apache.royale.core.IHasLabelField;
/**
* The SingleSelectionCollectionViewModel class is a selection model for
@@ -34,7 +35,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9
*/
- public class SingleSelectionCollectionViewModel extends DispatcherBead implements ISelectionModel, IRollOverModel
+ public class SingleSelectionCollectionViewModel extends DispatcherBead implements ISelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/StringSelectionModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/StringSelectionModel.as
index 8662672..c3bb598 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/StringSelectionModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/StringSelectionModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The StringSelectionModel class is a selection model for
@@ -33,7 +34,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class StringSelectionModel extends EventDispatcher implements ISelectionModel
+ public class StringSelectionModel extends EventDispatcher implements ISelectionModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumn.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumn.as
index f58fbc1..01f8c1a 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumn.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumn.as
@@ -22,6 +22,7 @@
import org.apache.royale.core.IUIBase;
import org.apache.royale.events.EventDispatcher;
import org.apache.royale.html.List;
+ import org.apache.royale.core.IHasDataField;
/**
* The DataGridColumn class is the collection of properties that describe
@@ -35,7 +36,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataGridColumn extends EventDispatcher implements IDataGridColumn
+ public class DataGridColumn extends EventDispatcher implements IDataGridColumn, IHasDataField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataItemRenderer.as
index 074512b..02890b1 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataItemRenderer.as
@@ -29,6 +29,7 @@
import org.apache.royale.core.IBeadController;
}
import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.core.IHasDataField;
/**
* The DataItemRenderer class is the base class for most itemRenderers. This class
@@ -40,7 +41,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataItemRenderer extends UIItemRendererBase
+ public class DataItemRenderer extends UIItemRendererBase implements IHasDataField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/GraphicsItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/GraphicsItemRenderer.as
index 1465794..614397e 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/GraphicsItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/GraphicsItemRenderer.as
@@ -26,6 +26,8 @@
import org.apache.royale.svg.CompoundGraphic;
import org.apache.royale.utils.loadBeadFromValuesManager;
import org.apache.royale.utils.MXMLDataInterpreter;
+ import org.apache.royale.core.IHasDataField;
+ import org.apache.royale.core.IHasLabelField;
/**
* The GraphicsItemRenderer provides a base class for itemRenderers that use graphics rather than
@@ -36,7 +38,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class GraphicsItemRenderer extends CompoundGraphic implements IItemRenderer
+ public class GraphicsItemRenderer extends CompoundGraphic implements IItemRenderer, IHasDataField, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledDataItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledDataItemRenderer.as
index 7403bcb..db4bdd7 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledDataItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledDataItemRenderer.as
@@ -25,9 +25,10 @@
COMPILE::JS
{
import org.apache.royale.core.WrappedHTMLElement;
- import org.apache.royale.html.util.addElementToWrapper;
+ import org.apache.royale.html.util.addElementToWrapper;
import org.apache.royale.core.IBeadController;
}
+ import org.apache.royale.core.IHasDataField;
/**
* The DataItemRenderer class is the base class for most itemRenderers. This class
@@ -39,7 +40,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class StyledDataItemRenderer extends StyledUIItemRendererBase
+ public class StyledDataItemRenderer extends StyledUIItemRendererBase implements IHasDataField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledUIItemRendererBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledUIItemRendererBase.as
index d4c0146..9f463ed 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledUIItemRendererBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StyledUIItemRendererBase.as
@@ -23,6 +23,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.utils.MXMLDataInterpreter;
import org.apache.royale.core.ILabelFieldItemRenderer;
+ import org.apache.royale.core.IHasLabelField;
[DefaultProperty("mxmlContent")]
@@ -44,7 +45,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class StyledUIItemRendererBase extends StyledUIBase implements ILabelFieldItemRenderer
+ public class StyledUIItemRendererBase extends StyledUIBase implements ILabelFieldItemRenderer, IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as
index 81df983..1c31540 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as
@@ -28,6 +28,7 @@
import org.apache.royale.html.beads.ITextItemRenderer;
import org.apache.royale.events.ItemClickedEvent;
import org.apache.royale.html.util.getLabelFromData;
+ import org.apache.royale.core.IHasLabelField;
COMPILE::JS
{
@@ -43,7 +44,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.8
*/
- public class TextButtonItemRenderer extends TextButton implements ITextItemRenderer
+ public class TextButtonItemRenderer extends TextButton implements ITextItemRenderer, IHasLabelField
{
public function TextButtonItemRenderer()
{
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
index 1d04f33..5efc71f 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
@@ -40,6 +40,7 @@
import org.apache.royale.geom.Rectangle;
import org.apache.royale.html.beads.ITextItemRenderer;
import org.apache.royale.utils.loadBeadFromValuesManager;
+ import org.apache.royale.core.IHasLabelField;
/**
* The TextFieldItemRenderer class provides a org.apache.royale.html.TextField as an itemRenderer.
@@ -49,7 +50,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class TextFieldItemRenderer extends CSSTextField implements ITextItemRenderer, IStrand, IUIBase, IRoyaleElement
+ public class TextFieldItemRenderer extends CSSTextField implements ITextItemRenderer, IStrand, IUIBase, IRoyaleElement, IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as
index 798d46e..617591e 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as
@@ -23,6 +23,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.utils.MXMLDataInterpreter;
import org.apache.royale.core.ILabelFieldItemRenderer;
+ import org.apache.royale.core.IHasLabelField;
[DefaultProperty("mxmlContent")]
@@ -46,7 +47,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class UIItemRendererBase extends UIBase implements ILabelFieldItemRenderer
+ public class UIItemRendererBase extends UIBase implements ILabelFieldItemRenderer, IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/util/getLabelFromData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/util/getLabelFromData.as
index f5853b4..18aa873 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/util/getLabelFromData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/util/getLabelFromData.as
@@ -19,21 +19,51 @@
package org.apache.royale.html.util
{
+ import org.apache.royale.core.IHasLabelField;
+ import org.apache.royale.core.IHasDataField;
+ import org.apache.royale.core.ILabeledData;
+
/**
+ * Utility function to get a label string from a value object
+ * Strings are just returned as-is
+ * The most effective way to use the function for data is to use `ILabeledData`.
+ * If your data is an instantiated class, always implement `ILabeledData`
+ * and returns the correct value with the `label` getter.
+ * This ensures that it will work even after full minimization.
+ * If you are using plain objects (i.e. using `JSON.parse()` or similar) it will use the following logic flow:
+ * First it tries a `labelField`
+ * Then the `dataField`
+ * If both of those fail, it tries a `label` property
+ * If all else fails, it just converts the object to a string
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
- * Utility function to get a label string from a value object
+ * @royaleignorecoercion org.apache.royale.core.IHasLabelField
+ * @royaleignorecoercion org.apache.royale.core.IHasDataField
+ * @royaleignorecoercion org.apache.royale.core.ILabeledData
*/
public function getLabelFromData(obj:Object,data:Object):String
{
// slightly more code, but we bail early if it's a string which is often
if (data is String) return "" + data;
if(!data) return "";
+ if(data is ILabeledData) return (data as ILabeledData).label;
+ if (obj is IHasLabelField &&
+ (obj as IHasLabelField).labelField &&
+ data[(obj as IHasLabelField).labelField] != null)
+ {
+ return "" + data[(obj as IHasLabelField).labelField];
+ }
+
+ if (obj is IHasDataField &&
+ (obj as IHasDataField).dataField &&
+ data[(obj as IHasDataField).dataField] != null)
+ {
+ return "" + data[(obj as IHasDataField).dataField];
+ }
- if (obj["labelField"]) return "" + data[obj["labelField"]];
- if (obj["dataField"]) return "" + data[obj["dataField"]];
var label:String = data["label"];
if(label != null){
return label;
diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as
index dd088eb..7a1dd31 100644
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@ -34,6 +34,7 @@
import org.apache.royale.core.LayoutBase; LayoutBase;
import org.apache.royale.core.ContainerBaseStrandChildren; ContainerBaseStrandChildren;
import org.apache.royale.core.ApplicationBase; ApplicationBase;
+ import org.apache.royale.core.ILabeledData; ILabeledData;
import org.apache.royale.core.IList; IList;
import org.apache.royale.core.IIcon; IIcon;
import org.apache.royale.core.ITextButton; ITextButton;
@@ -290,6 +291,8 @@
import org.apache.royale.core.IDataGridHeader; IDataGridHeader;
import org.apache.royale.core.IDataGridPresentationModel; IDataGridPresentationModel;
import org.apache.royale.core.IDateChooserModelWithChangeCheck; IDateChooserModelWithChangeCheck;
+ import org.apache.royale.core.IHasDataField; IHasDataField;
+ import org.apache.royale.core.IHasLabelField; IHasLabelField;
import org.apache.royale.core.ParentDocumentBead; ParentDocumentBead;
import org.apache.royale.core.ItemRendererOwnerViewBead; ItemRendererOwnerViewBead;
import org.apache.royale.core.TransformBeadBase; TransformBeadBase;
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index 2386007..f6ee842 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -195,8 +195,11 @@
e = converter(nativeEvent,eventObject);
else
{
- e = new org.apache.royale.events.BrowserEvent();
- e.wrapEvent(eventObject);
+ e = EventUtils.retrieveEvent(nativeEvent) as IBrowserEvent;
+ if (e == nativeEvent) {
+ e = new org.apache.royale.events.BrowserEvent();
+ e.wrapEvent(eventObject);
+ }
}
return ElementWrapper.googFireListener(listener, e);
}
@@ -365,7 +368,9 @@
eventType = e.type;
if (ElementEvents.elementEvents[eventType])
{
- e = EventUtils.createEvent(eventType, e["bubbles"]);
+ var orig:Object = e;
+ e = EventUtils.tagNativeEvent(EventUtils.createEvent(eventType, e["bubbles"]), orig);
+ orig.target = orig.currentTarget = this;
}
}
var source:Object = this.getActualDispatcher_(eventType);
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasDataField.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasDataField.as
new file mode 100644
index 0000000..19d6ca4
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasDataField.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.core
+{
+ public interface IHasDataField
+ {
+ {
+ function get dataField():String;
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasLabelField.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasLabelField.as
new file mode 100644
index 0000000..16c25bf
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IHasLabelField.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.core
+{
+ public interface IHasLabelField
+ {
+ {
+ function get labelField():String;
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as
index 2d63ff9..9ffc7af 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as
@@ -27,7 +27,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public interface ILabelFieldItemRenderer extends IIndexedItemRenderer
+ public interface ILabelFieldItemRenderer extends IIndexedItemRenderer, IHasLabelField
{
/**
* The property on the data item that the item renderer
@@ -38,7 +38,6 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- function get labelField():String;
function set labelField(value:String):void;
}
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabeledData.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabeledData.as
new file mode 100644
index 0000000..d449f42
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabeledData.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.core
+{
+ public interface ILabeledData
+ {
+ function get label():String;
+ }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/utils/EventUtils.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/utils/EventUtils.as
index acf0b40..dce7df8 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/utils/EventUtils.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/utils/EventUtils.as
@@ -21,6 +21,8 @@
COMPILE::JS
{
import org.apache.royale.conversions.createEventInit;
+ import goog.events.Event;
+ import org.apache.royale.events.getTargetWrapper;
import window.Event;
}
@@ -31,6 +33,8 @@
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.0
+ *
+ * @royalesupressexport
*/
COMPILE::JS
public class EventUtils
@@ -57,5 +61,36 @@
return customEvent;
}
+
+ /**
+ * A way to let a Royale Event 'hitch a ride' on a native browser event.
+ * Encapsulates the tagging/untagging support in this Utils class
+ * @param nativeEvent the native event to tag with the Royale Event
+ * @param royaleEvent the Royale Event to accompany the native event (expected as a org.apache.royale.events.Event here)
+ * @return the native event passed it
+ */
+ public static function tagNativeEvent(nativeEvent:Object, royaleEvent:Object):Object{
+ nativeEvent['_RYL_ORIG'] = royaleEvent;
+ return nativeEvent;
+ }
+
+ /**
+ * A way to retrieve a RoyaleEvent from a native browser event,
+ * if present. Encapsulates the tagging/untagging support in this Utils class
+ * @param nativeEvent
+ * @return the resolved event instance
+ *
+ * @royaleignorecoercion goog.events.Event
+ */
+ public static function retrieveEvent(nativeEvent:Object):Object{
+ if (nativeEvent['_RYL_ORIG']) {
+ var rylEvt:goog.events.Event = nativeEvent['_RYL_ORIG'] as goog.events.Event;
+ //retrieve it with the currentTarget updated
+ rylEvt.currentTarget = getTargetWrapper(nativeEvent.currentTarget)
+ return rylEvt;
+ }
+ return nativeEvent;
+ }
+
}
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/PointUtils.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/PointUtils.as
index 139a4cd..e502e21 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/PointUtils.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/PointUtils.as
@@ -27,6 +27,8 @@
import org.apache.royale.core.IUIBase;
import org.apache.royale.geom.Point;
+ import org.apache.royale.core.IRenderedObject;
+ import org.apache.royale.debugging.assert;
/**
* The PointUtils class is a collection of static functions that convert
@@ -44,11 +46,13 @@
*/
public function PointUtils()
{
- throw new Error("PointUtils should not be instantiated.");
+ assert(false,"PointUtils should not be instantiated.");
}
/**
* Converts a point from global coordinates to local coordinates
+ * Works with IRenderedObject or any object that has an element property.
+ * Also works with an HTMLElement.
*
* @param point The point being converted.
* @param local The component used as reference for the conversion.
@@ -58,6 +62,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
* @royaleignorecoercion HTMLElement
+ * @royaleignorecoercion org.apache.royale.core.IRenderedObject
*/
public static function globalToLocal( pt:org.apache.royale.geom.Point, local:Object ):org.apache.royale.geom.Point
{
@@ -70,7 +75,16 @@
{
var x:Number = pt.x;
var y:Number = pt.y;
- var element:HTMLElement = local.element as HTMLElement;
+ var element:HTMLElement;
+ if(local.getBoundingClientRect){
+ element = local as HTMLElement;
+ } else if(local.element){
+ element = local.element as HTMLElement;
+ } else if(local is IRenderedObject){
+ element = (local as IRenderedObject).element;
+ } else {
+ assert(false,"Invalid object used for PointUtils.globalToLocal")
+ }
if ( element.getBoundingClientRect ) {// TODO take scrollbar widths into account
var rect:Object = element.getBoundingClientRect();
x = x - rect.left - window.pageXOffset;//window.scrollX doesn't work on IE11
@@ -96,6 +110,8 @@
/**
* Converts a point from local coordinates to global coordinates
+ * Works with IRenderedObject or any object that has an element property.
+ * Also works with an HTMLElement.
*
* @param point The point being converted.
* @param local The component used as reference for the conversion.
@@ -105,6 +121,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
* @royaleignorecoercion HTMLElement
+ * @royaleignorecoercion org.apache.royale.core.IRenderedObject
*/
public static function localToGlobal( pt:org.apache.royale.geom.Point, local:Object ):org.apache.royale.geom.Point
{
@@ -121,7 +138,16 @@
{
var x:Number = pt.x;
var y:Number = pt.y;
- var element:HTMLElement = local.element as HTMLElement;
+ var element:HTMLElement;
+ if(local.getBoundingClientRect){
+ element = local as HTMLElement;
+ } else if(local.element){
+ element = local.element as HTMLElement;
+ } else if(local is IRenderedObject){
+ element = (local as IRenderedObject).element;
+ } else {
+ assert(false,"Invalid object used for PointUtils.localToGlobal")
+ }
if ( element.getBoundingClientRect ) {// TODO take scrollbar widths into account
var rect:Object = element.getBoundingClientRect();
x = rect.left + x + window.pageXOffset;//window.scrollX doesn't work on IE11
diff --git a/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.mxml b/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.mxml
index a736f2b..0687904 100644
--- a/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.mxml
+++ b/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.mxml
@@ -40,6 +40,16 @@
import org.apache.royale.test.listeners.BrowserConsoleListener;
import org.apache.royale.test.Runtime;
+
+ private static var _instance:FlexUnitRoyaleApplication;
+ public static function getInstance():FlexUnitRoyaleApplication{
+ return _instance;
+ }
+
+ public function get eventsTestParent():Group{
+ return eventBubblingParent;
+ }
+
//account for swf version variance in some test results due to fixed player bugs etc
public function getSwfVersion():uint{
COMPILE::SWF{
@@ -71,6 +81,7 @@
public function runTests():void
{
Runtime.swfVersion = getSwfVersion();
+ _instance = this;
if (runLocal()) {
core.addListener(new BrowserConsoleListener());
} else{
@@ -94,5 +105,10 @@
<!-- for such a simple app, we just set values to an empty array so it thinks it doesn't have any values -->
<js:SimpleValuesImpl values="[]"/>
</js:valuesImpl>
+ <js:initialView>
+ <js:View>
+ <js:Group id="eventBubblingParent" />
+ </js:View>
+ </js:initialView>
</js:Application>
diff --git a/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as b/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
index 9441daf..f7f3ca1 100644
--- a/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
+++ b/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
@@ -43,5 +43,7 @@
public var keyboardEventConverterTest:KeyboardEventConverterTest;
public var stringUtilsTest:StringUtilsTest;
public var sanitizerTest:SanitizeTest;
+ public var eventsTest:EventsTest;
+
}
}
diff --git a/frameworks/projects/Core/src/test/royale/flexUnitTests/EventsTest.as b/frameworks/projects/Core/src/test/royale/flexUnitTests/EventsTest.as
new file mode 100644
index 0000000..753cd5e
--- /dev/null
+++ b/frameworks/projects/Core/src/test/royale/flexUnitTests/EventsTest.as
@@ -0,0 +1,119 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 flexUnitTests
+{
+ import org.apache.royale.core.IParent;
+ import org.apache.royale.utils.string.*;
+ import org.apache.royale.test.asserts.*;
+
+ import org.apache.royale.html.Group;
+ import org.apache.royale.core.UIBase;
+ import org.apache.royale.events.Event;
+
+ public class EventsTest
+ {
+
+ private static var bubblingTopMostGroup:Group;
+ private static var deepestInstance:UIBase;
+ private static function createBubblingChain():void{
+ var currentParent:IParent = bubblingTopMostGroup;
+ var nesting:uint=10;
+ while (nesting) {
+ var child:UIBase = new UIBase();
+ child.id = 'nested_'+(11-nesting);
+ currentParent.addElement(child);
+ nesting--;
+ currentParent = child;
+ }
+ deepestInstance = child;
+ }
+
+
+ [Before]
+ public function setUp():void
+ {
+ }
+
+ [After]
+ public function tearDown():void
+ {
+ }
+
+ [BeforeClass]
+ public static function setUpBeforeClass():void
+ {
+ bubblingTopMostGroup = FlexUnitRoyaleApplication.getInstance().eventsTestParent;
+ createBubblingChain();
+ }
+
+ [AfterClass]
+ public static function tearDownAfterClass():void
+ {
+ bubblingTopMostGroup.removeElement(bubblingTopMostGroup.getElementAt(0));
+ deepestInstance = null;
+ }
+
+
+
+ [Test]
+ public function testDispatchNonBubblingChangeResult():void{
+ var e:org.apache.royale.events.Event = new org.apache.royale.events.Event(org.apache.royale.events.Event.CHANGE);
+ var received:org.apache.royale.events.Event ;
+ var receivedCurrentTarget:UIBase;
+ var receivedTarget:UIBase;
+ function localListener(e:org.apache.royale.events.Event):void{
+ received = e;
+ receivedTarget = e.target as UIBase;
+ receivedCurrentTarget = e.currentTarget as UIBase;
+ }
+ deepestInstance.addEventListener(org.apache.royale.events.Event.CHANGE,localListener);
+ deepestInstance.dispatchEvent(e);
+ deepestInstance.removeEventListener(org.apache.royale.events.Event.CHANGE,localListener);
+
+
+ assertEquals(received,e, 'the received event should be the same as the dispatched event');
+ assertEquals(deepestInstance,receivedTarget, 'the bubbling event currentTarget is wrong');
+ assertEquals(deepestInstance,receivedCurrentTarget, 'the bubbling event currentTarget is wrong');
+ }
+
+ [Test]
+ public function testDispatchBubblingChangeResult():void{
+ var e:org.apache.royale.events.Event = new org.apache.royale.events.Event(org.apache.royale.events.Event.CHANGE,true);
+ var received:org.apache.royale.events.Event ;
+ var receivedCurrentTarget:UIBase;
+ var receivedTarget:UIBase;
+ function localListener(e:org.apache.royale.events.Event):void{
+ received = e;
+ receivedTarget = e.target as UIBase;
+ receivedCurrentTarget = e.currentTarget as UIBase;
+
+ }
+ bubblingTopMostGroup.addEventListener(org.apache.royale.events.Event.CHANGE,localListener);
+ deepestInstance.dispatchEvent(e);
+ bubblingTopMostGroup.removeEventListener(org.apache.royale.events.Event.CHANGE,localListener);
+
+
+ assertEquals(received,e, 'the received event should be the same as the dispatched event');
+ assertEquals(deepestInstance,receivedTarget, 'the bubbling event currentTarget is wrong');
+ assertEquals(bubblingTopMostGroup,receivedCurrentTarget, 'the bubbling event currentTarget is wrong');
+ }
+
+
+ }
+}
diff --git a/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml b/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
index 8981130..390974b 100644
--- a/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
@@ -78,10 +78,6 @@
<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>
diff --git a/frameworks/projects/ExternsJS/src/main/resources/externsjs-as-manifest.xml b/frameworks/projects/ExternsJS/src/main/resources/externsjs-as-manifest.xml
deleted file mode 100644
index 2141c30..0000000
--- a/frameworks/projects/ExternsJS/src/main/resources/externsjs-as-manifest.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-
-<componentPackage>
-
-
-</componentPackage>
diff --git a/frameworks/projects/ExternsJS/src/main/royale/org/apache/royale/externsjs/inspiretree/InspireTreeBasicControl.as b/frameworks/projects/ExternsJS/src/main/royale/org/apache/royale/externsjs/inspiretree/InspireTreeBasicControl.as
index 3e7a079..03c2a2e 100644
--- a/frameworks/projects/ExternsJS/src/main/royale/org/apache/royale/externsjs/inspiretree/InspireTreeBasicControl.as
+++ b/frameworks/projects/ExternsJS/src/main/royale/org/apache/royale/externsjs/inspiretree/InspireTreeBasicControl.as
@@ -18,34 +18,35 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.externsjs.inspiretree
{
- COMPILE::SWF {
- import flash.events.Event;
- }
+ COMPILE::SWF {
+ import flash.events.Event;
+ }
COMPILE::JS
{
import org.apache.royale.externsjs.inspiretree.InspireTree;
import org.apache.royale.externsjs.inspiretree.InspireTreeDOM;
- import org.apache.royale.core.IDataProviderModel;
- import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.core.IDataProviderModel;
+ import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.StyledUIBase;
- import org.apache.royale.core.WrappedHTMLElement;
- import org.apache.royale.events.Event;
- import org.apache.royale.html.util.addElementToWrapper;
- import org.apache.royale.externsjs.inspiretree.beads.models.InspireTreeModel;
- import org.apache.royale.externsjs.inspiretree.vos.ItemTreeNode;
- import org.apache.royale.core.StyledUIBase;
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.html.util.addElementToWrapper;
+ import org.apache.royale.externsjs.inspiretree.beads.models.InspireTreeModel;
+ import org.apache.royale.externsjs.inspiretree.vos.ItemTreeNode;
}
- /**
- * It triggers just before launching the creation.
+ import org.apache.royale.core.IHasLabelField;
+
+ /**
+ * It triggers just before launching the creation.
*
* It can be captured to make adjustments before creating the js instance.
* (See InspireTreePaginateBead)
- */
+ */
[Event(name="onBeforeCreation", type="org.apache.royale.events.Event")]
- /**
- * Indicates that the creation is complete.
- */
+ /**
+ * Indicates that the creation is complete.
+ */
[Event(name="onCreationComplete", type="org.apache.royale.events.Event")]
/*
@@ -53,31 +54,31 @@
[Event(name="onPrepareTreeDataComplete", type="org.apache.royale.events.Event")]
COMPILE::JS
- public class InspireTreeBasicControl extends StyledUIBase implements IInspireTree
+ public class InspireTreeBasicControl extends StyledUIBase implements IInspireTree, IHasLabelField
{
/**
* @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
* @royaleignorecoercion org.apache.royale.html.util.addElementToWrapper
- */
- override protected function createElement():WrappedHTMLElement
- {
+ */
+ override protected function createElement():WrappedHTMLElement
+ {
addElementToWrapper(this, 'div');
- return element;
- }
- /**
- * Constructor.
- */
+ return element;
+ }
+ /**
+ * Constructor.
+ */
public function InspireTreeBasicControl()
{
super();
//typeNames = "inspiretree";
- addEventListener("beadsAdded", beadsAddedHandler);
- }
+ addEventListener("beadsAdded", beadsAddedHandler);
+ }
- private function beadsAddedHandler(event:Event):void
- {
+ private function beadsAddedHandler(event:Event):void
+ {
removeEventListener("beadsAdded", beadsAddedHandler);
- }
+ }
override public function addedToParent():void
{
@@ -96,7 +97,7 @@
public function set uid(value:String):void{ _uid = value; }
private var _initialized:Boolean = false;
- public function isInitialized():Boolean { return _initialized ? true:false;};
+ public function isInitialized():Boolean { return _initialized ? true:false;};
private var _jsTree:InspireTree;
public function get jsTree():InspireTree{ return _jsTree; }
@@ -107,7 +108,7 @@
// Init ---------------------------------------- Data configuration [wip] -------------------------------------------------
- [Bindable("labelFieldChanged")]
+ [Bindable("labelFieldChanged")]
public function get labelField():String
{
return IDataProviderModel(model).labelField;
@@ -117,7 +118,7 @@
*/
public function set labelField(value:String):void
{
- IDataProviderModel(model).labelField = value;
+ IDataProviderModel(model).labelField = value;
}
/**
@@ -131,7 +132,7 @@
public function get boundField():String { return InspireTreeModel(model).boundField; }
public function set boundField(value:String):void{ InspireTreeModel(model).boundField = value; }
- [Bindable("dataProviderChanged")]
+ [Bindable("dataProviderChanged")]
public function get dataProvider():Object
{
return IDataProviderModel(model).dataProvider;
@@ -145,7 +146,7 @@
updateDataViewTree();
}
- [Bindable("selectionChanged")]
+ [Bindable("selectionChanged")]
public function get selectedIndex():int
{
return ISelectionModel(model).selectedIndex;
@@ -158,7 +159,7 @@
ISelectionModel(model).selectedIndex = value;
}
- [Bindable("selectionChanged")]
+ [Bindable("selectionChanged")]
public function get selectedItem():Object
{
return ISelectionModel(model).selectedItem;
@@ -168,7 +169,7 @@
ISelectionModel(model).selectedItem = value;
}
- //[Bindable("allowDragAndDropChanged")]
+ //[Bindable("allowDragAndDropChanged")]
/**
* Allow Drag and Drop
*/
@@ -183,23 +184,23 @@
/**
* Function to obtain the description of the parent nodes.
* <p>The <code>labelFunctionParent</code> property takes a reference to a function.
- * The function takes a single argument which is the item in the data provider and returns a String:</p>
- *
- * <pre>myLabelFunction(item:Object):String</pre>
- *
- * @param item The data item. Null items return the empty string.
- */
+ * The function takes a single argument which is the item in the data provider and returns a String:</p>
+ *
+ * <pre>myLabelFunction(item:Object):String</pre>
+ *
+ * @param item The data item. Null items return the empty string.
+ */
public function get labelFunctionParent():Function{ return InspireTreeModel(model).labelFunctionParent; }
public function set labelFunctionParent(value:Function):void{ InspireTreeModel(model).labelFunctionParent = value; }
/**
* Function to obtain the description of the parent nodes.
* <p>The <code>labelFunctionChild</code> property takes a reference to a function.
- * The function takes a single argument which is the item in the data provider and returns a String:</p>
- *
- * <pre>myLabelFunction(item:Object):String</pre>
- *
- * @param item The data item. Null items return the empty string.
- */
+ * The function takes a single argument which is the item in the data provider and returns a String:</p>
+ *
+ * <pre>myLabelFunction(item:Object):String</pre>
+ *
+ * @param item The data item. Null items return the empty string.
+ */
public function get labelFunctionChild():Function { return InspireTreeModel(model).labelFunctionChild; }
public function set labelFunctionChild(value:Function):void{ InspireTreeModel(model).labelFunctionChild = value; }
@@ -208,7 +209,7 @@
// The dpArray should be sorted according to the desired display
var localdataProviderTree:Array = new Array();
for (var idxGen:int=0; idxGen < dpArray.length; idxGen++)
- {
+ {
var itemGroup:Object = new ItemTreeNode();
itemGroup.text = labelFunctionParent(dpArray[idxGen]);
@@ -241,18 +242,18 @@
public function updateDataViewTree():void
- {
+ {
if(!_initialized)
return;
jsTree.reload();
- }
+ }
/**
* Recreate the InspireTree instance with the current options.
*/
public function reCreateViewTree(onlyView:Boolean=false):void
{
- dispatchEvent(new Event("onBeforeCreation"));
+ dispatchEvent(new Event("onBeforeCreation"));
//if(!onlyView || !jsTree)
jsTree = new InspireTree(InspireTreeModel(model).configOption);
@@ -261,7 +262,7 @@
uid = element.getAttribute('data-uid');
trace(uid);
- dispatchEvent(new Event("onCreationComplete"));
+ dispatchEvent(new Event("onCreationComplete"));
}
}
@@ -273,5 +274,4 @@
{
}
}
-
}
\ No newline at end of file
diff --git a/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication-config.xml b/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication-config.xml
new file mode 100644
index 0000000..de7acad
--- /dev/null
+++ b/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication-config.xml
@@ -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.
+
+-->
+<royale-config>
+
+ <compiler>
+ <accessible>false</accessible>
+
+ <targets>
+ <target>SWF</target>
+ </targets>
+ <strict-xml>true</strict-xml>
+
+ <external-library-path>
+ <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
+ </external-library-path>
+
+ <js-external-library-path>
+ <path-element>../../../../../../js/libs/js.swc</path-element>
+ <path-element>../../../../../../js/libs/gcl.swc</path-element>
+ </js-external-library-path>
+
+ <library-path>
+ <path-element>../../../../../libs/Basic.swc</path-element>
+ <path-element>../../../../../libs/Binding.swc</path-element>
+ <path-element>../../../../../libs/Core.swc</path-element>
+ <path-element>../../../../../libs/Graphics.swc</path-element>
+ <path-element>../../../../../libs/Collections.swc</path-element>
+ <path-element>../../../../../libs/Language.swc</path-element>
+ <path-element>../../../../../libs/Reflection.swc</path-element>
+ <path-element>../../../../../libs/ExternsJS.swc</path-element>
+ <path-element>../../../../../libs/RoyaleUnit.swc</path-element>
+ </library-path>
+
+ <js-library-path>
+ <path-element>../../../../../js/libs/BasicJS.swc</path-element>
+ <path-element>../../../../../js/libs/BindingJS.swc</path-element>
+ <path-element>../../../../../js/libs/CoreJS.swc</path-element>
+ <path-element>../../../../../js/libs/GraphicsJS.swc</path-element>
+ <path-element>../../../../../js/libs/CollectionsJS.swc</path-element>
+ <path-element>../../../../../js/libs/LanguageJS.swc</path-element>
+ <path-element>../../../../../js/libs/ReflectionJS.swc</path-element>
+ <path-element>../../../../../js/libs/ExternsJSJS.swc</path-element>
+ <path-element>../../../../../js/libs/RoyaleUnitJS.swc</path-element>
+ </js-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>
+ <fxg-base-class>flash.display.Sprite</fxg-base-class>
+
+ <keep-as3-metadata>
+ <name>Bindable</name>
+ <name>Managed</name>
+ <name>ChangeEvent</name>
+ <name>NonCommittingChangeEvent</name>
+ <name>Transient</name>
+ <name>SWFOverride</name>
+
+ <!-- RoyaleUnit -->
+ <name>Test</name>
+ <name>Before</name>
+ <name>After</name>
+ <name>BeforeClass</name>
+ <name>AfterClass</name>
+ <name>Ignore</name>
+ <name>Suite</name>
+ <name>RunWith</name>
+ </keep-as3-metadata>
+
+ <locale/>
+
+ <library-path/>
+
+ <namespaces>
+ <namespace>
+ <uri>http://ns.adobe.com/mxml/2009</uri>
+ <manifest>../../../../../mxml-2009-manifest.xml</manifest>
+ </namespace>
+ <!-- <namespace>
+ <uri>library://ns.apache.org/royale/basic</uri>
+ <manifest>../../main/resources/basic-manifest.xml</manifest>
+ </namespace> -->
+ </namespaces>
+
+ <warn-no-constructor>false</warn-no-constructor>
+ </compiler>
+
+ <target-player>${playerglobal.version}</target-player>
+
+</royale-config>
diff --git a/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication.mxml b/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication.mxml
new file mode 100644
index 0000000..b902823
--- /dev/null
+++ b/frameworks/projects/ExternsJS/src/test/royale/FlexUnitRoyaleApplication.mxml
@@ -0,0 +1,114 @@
+<?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:js="library://ns.apache.org/royale/basic"
+ xmlns:test="org.apache.royale.test.*"
+ applicationComplete="runTests()"
+ >
+ <fx:Declarations>
+ <test:RoyaleUnitCore id="core"/>
+ </fx:Declarations>
+ <fx:Script>
+ <![CDATA[
+ COMPILE::SWF
+ {
+ import flash.system.fscommand;
+ }
+
+ import flexUnitTests.ExternsJSTester;
+
+ import org.apache.royale.events.Event;
+ import org.apache.royale.test.listeners.CIListener;
+ import org.apache.royale.test.listeners.BrowserConsoleListener;
+ import org.apache.royale.test.Runtime;
+
+
+ private static var _instance:FlexUnitRoyaleApplication;
+ public static function getInstance():FlexUnitRoyaleApplication{
+ return _instance;
+ }
+
+ public function get eventsTestParent():Group{
+ return eventBubblingParent;
+ }
+
+ //account for swf version variance in some test results due to fixed player bugs etc
+ public function getSwfVersion():uint{
+ COMPILE::SWF{
+ return this.stage.loaderInfo.bytes[3];
+
+ }
+ return 0;
+ }
+
+ public function runLocal():Boolean{
+ var ret:Boolean = false;
+ COMPILE::JS{
+ ret = window.location.search.indexOf('local')!= -1;
+ if (!ret) {
+ console.log('For javascript you can run this locally with console output for debugging purposes, using "?local" appended to the url.\nIt may not work for all browsers with file:// protocol (works with Chrome), in which case you need a local http server')
+ }
+ }
+ return ret
+ }
+
+ public function getPlayerVersion():String{
+ COMPILE::SWF{
+ import flash.system.Capabilities;
+ return Capabilities.version;
+ }
+ return '';
+ }
+
+ public function runTests():void
+ {
+ Runtime.swfVersion = getSwfVersion();
+ _instance = this;
+ if (runLocal()) {
+ core.addListener(new BrowserConsoleListener());
+ } else{
+ core.addListener(new CIListener());
+ }
+ core.addEventListener(Event.COMPLETE, core_completeHandler);
+ core.runClasses(ExternsJSTester);
+ }
+
+ private function core_completeHandler(event:Event):void
+ {
+ COMPILE::SWF
+ {
+ fscommand("quit");
+ }
+ }
+
+ ]]>
+ </fx:Script>
+ <js:valuesImpl>
+ <!-- for such a simple app, we just set values to an empty array so it thinks it doesn't have any values -->
+ <js:SimpleValuesImpl values="[]"/>
+ </js:valuesImpl>
+ <js:initialView>
+ <js:View>
+ <js:Group id="eventBubblingParent" />
+ </js:View>
+ </js:initialView>
+
+</js:Application>
diff --git a/frameworks/projects/ExternsJS/src/test/royale/build.xml b/frameworks/projects/ExternsJS/src/test/royale/build.xml
new file mode 100644
index 0000000..d128b87
--- /dev/null
+++ b/frameworks/projects/ExternsJS/src/test/royale/build.xml
@@ -0,0 +1,116 @@
+<?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.test" 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="${env.ROYALE_HOME}"/>
+ <property name="ROYALE_SWF_COMPILER_HOME" value="${env.ROYALE_SWF_COMPILER_HOME}"/>
+ <property name="target.name" value="Core-${release.version}.swc" />
+
+ <property name="report.dir" value="${basedir}/out" />
+
+ <target name="main" depends="clean,compile,test" description="Clean test of ${target.name}">
+ </target>
+
+ <target name="clean">
+ <delete failonerror="false">
+ <fileset dir="${basedir}">
+ <include name="FlexUnitRoyaleApplication.swf"/>
+ </fileset>
+ </delete>
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${report.dir}">
+ <include name="**/**"/>
+ </fileset>
+ </delete>
+ </target>
+
+ <path id="lib.path">
+ <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+ <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="royaleUnitTasks.jar"/>
+ </path>
+
+ <target name="compile" description="Compiles FlexUnitRoyaleApplication.swf">
+ <echo message="Compiling FlexUnitRoyaleApplication.swf"/>
+ <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+ <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+ <echo message="playerglobal.version: ${playerglobal.version}"/>
+
+ <!-- Load the <compc> task. We can't do this at the <project> level -->
+ <!-- because targets that run before flexTasks.jar gets built would fail. -->
+ <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+ <!--
+ Link in the classes (and their dependencies) for the MXML tags
+ listed in this project's manifest.xml.
+ Also link the additional classes (and their dependencies)
+ listed in RoyaleUIClasses.as,
+ because these aren't referenced by the manifest classes.
+ Keep the standard metadata when compiling.
+ Include the appropriate CSS files and assets in the SWC.
+ Don't include any resources in the SWC.
+ Write a bundle list of referenced resource bundles
+ into the file bundles.properties in this directory.
+ -->
+ <mxmlc fork="true"
+ file="${basedir}/FlexUnitRoyaleApplication.mxml"
+ output="${basedir}/FlexUnitRoyaleApplication.swf">
+ <jvmarg line="${mxmlc.jvm.args}"/>
+ <!--
+ <jvmarg value="-Xdebug" />
+ <jvmarg value="-Xnoagent" />
+ <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8763,server=y,suspend=y" />
+ -->
+ <arg value="-debug" />
+ <arg value="-compiler.targets=SWF" />
+ <arg value="+playerglobal.version=${playerglobal.version}" />
+ <arg value="+env.PLAYERGLOBAL_HOME=${PLAYERGLOBAL_HOME}" />
+ </mxmlc>
+ </target>
+
+ <target name="test">
+ <!-- Load the <royaleunit> task. We can't do this at the <project> level -->
+ <!-- because targets that run before royaleUnitTasks.jar gets built would fail. -->
+ <taskdef resource="royaleUnitTasks.tasks" classpathref="lib.path"/>
+ <mkdir dir="${report.dir}" />
+ <royaleunit
+ swf="${basedir}/FlexUnitRoyaleApplication.swf"
+ workingDir="${basedir}"
+ toDir="${report.dir}"
+ haltonfailure="true"
+ verbose="true"
+ localTrusted="true"
+ timeout="90000" />
+
+ <!-- Generate readable JUnit-style reports -->
+ <junitreport todir="${report.dir}">
+ <fileset dir="${report.dir}">
+ <include name="TEST-*.xml" />
+ </fileset>
+ <report format="frames" todir="${report.dir}/html" />
+ </junitreport>
+
+ </target>
+</project>
diff --git a/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ComponentTest.as b/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ComponentTest.as
new file mode 100644
index 0000000..648810b
--- /dev/null
+++ b/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ComponentTest.as
@@ -0,0 +1,57 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flexUnitTests
+{
+ import org.apache.royale.utils.string.*;
+ import org.apache.royale.test.asserts.*;
+ import org.apache.royale.test.asserts.assertEquals;
+
+ public class ComponentTest
+ {
+ [Before]
+ public function setUp():void
+ {
+ }
+
+ [After]
+ public function tearDown():void
+ {
+ }
+
+ [BeforeClass]
+ public static function setUpBeforeClass():void
+ {
+ }
+
+ [AfterClass]
+ public static function tearDownAfterClass():void
+ {
+ }
+
+
+ [Test]
+ public function testSomething():void
+ {
+ assertTrue("something" == "something","Should be true");
+ assertEquals("something","something","Should be something");
+ }
+
+
+ }
+}
diff --git a/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ExternsJSTester.as b/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ExternsJSTester.as
new file mode 100644
index 0000000..a14a219
--- /dev/null
+++ b/frameworks/projects/ExternsJS/src/test/royale/flexUnitTests/ExternsJSTester.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flexUnitTests
+{
+
+ [Suite]
+ [RunWith("org.apache.royale.test.runners.SuiteRunner")]
+ public class ExternsJSTester
+ {
+ // add tests here...
+
+ //tests
+ public var componentTest:ComponentTest;
+
+ }
+}
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 5ec114b..5b72817 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -220,10 +220,12 @@
<component id="ComboUpperCase" class="org.apache.royale.jewel.beads.controls.combobox.ComboUpperCase"/>
<component id="ComboLowerCase" class="org.apache.royale.jewel.beads.controls.combobox.ComboLowerCase"/>
<component id="ComboBoxDisabled" class="org.apache.royale.jewel.beads.controls.combobox.ComboBoxDisabled"/>
+ <component id="ComboBoxReadOnly" class="org.apache.royale.jewel.beads.controls.combobox.ComboBoxReadOnly"/>
<component id="ComboBoxTruncateText" class="org.apache.royale.jewel.beads.controls.combobox.ComboBoxTruncateText"/>
<component id="ComboBoxListCloseOnClick" class="org.apache.royale.jewel.beads.controls.combobox.ComboBoxListCloseOnClick" />
<component id="TriStateCheckBoxLabelState" class="org.apache.royale.jewel.beads.controls.tristatecheckbox.TriStateCheckBoxLabelState"/>
- <component id="TriStateCheckBoxStatesValues" class="org.apache.royale.jewel.beads.controls.tristatecheckbox.TriStateCheckBoxStatesValues"/>
+ <component id="TriStateCheckBoxState" class="org.apache.royale.jewel.beads.controls.tristatecheckbox.TriStateCheckBoxState"/>
+ <component id="TriStateCheckBoxTooltipState" class="org.apache.royale.jewel.beads.controls.tristatecheckbox.TriStateCheckBoxTooltipState"/>
<component id="LayoutChildren" class="org.apache.royale.jewel.beads.layouts.LayoutChildren"/>
<component id="BasicLayout" class="org.apache.royale.jewel.beads.layouts.BasicLayout"/>
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
index e4dd6e5..66613ad 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
@@ -26,6 +26,7 @@
import org.apache.royale.core.StyledUIBase;
import org.apache.royale.jewel.beads.models.ComboBoxPresentationModel;
import org.apache.royale.jewel.supportClasses.combobox.IComboBoxPresentationModel;
+ import org.apache.royale.core.IHasLabelField;
//--------------------------------------
// Events
@@ -86,7 +87,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class ComboBox extends StyledUIBase implements IComboBox, IItemRendererProvider
+ public class ComboBox extends StyledUIBase implements IComboBox, IItemRendererProvider, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
index fe1d8c2..7220dc5 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
@@ -24,6 +24,7 @@
import org.apache.royale.jewel.beads.models.ListPresentationModel;
import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
+ import org.apache.royale.core.IHasLabelField;
/**
* The default property uses when additional MXML content appears within an element's
@@ -61,7 +62,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class DataContainer extends DataContainerBase implements IListWithPresentationModel
+ public class DataContainer extends DataContainerBase implements IListWithPresentationModel, IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
index e546111..bf960da 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
@@ -32,6 +32,7 @@
import org.apache.royale.jewel.beads.models.ListPresentationModel;
import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
+ import org.apache.royale.core.IHasLabelField;
//--------------------------------------
@@ -68,7 +69,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class DropDownList extends DataContainerBase
+ public class DropDownList extends DataContainerBase implements IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TriStateCheckBox.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TriStateCheckBox.as
index 782d659..9fd7315 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TriStateCheckBox.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TriStateCheckBox.as
@@ -19,10 +19,10 @@
package org.apache.royale.jewel
{
COMPILE::JS{
- import org.apache.royale.core.WrappedHTMLElement;
- import org.apache.royale.html.util.addElementToWrapper;
- import org.apache.royale.events.MouseEvent;
import org.apache.royale.core.ITextButton;
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.events.MouseEvent;
+ import org.apache.royale.html.util.addElementToWrapper;
import org.apache.royale.jewel.supportClasses.button.SelectableButtonBase;
import org.apache.royale.jewel.supportClasses.IInputButton;
import org.apache.royale.jewel.supportClasses.ISelectableWithIndeterminacy;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
new file mode 100644
index 0000000..be54551
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
@@ -0,0 +1,93 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.jewel.beads.controls.combobox
+{
+ COMPILE::JS
+ {
+ import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.UIBase;
+ import org.apache.royale.jewel.beads.views.ComboBoxView;
+ }
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.jewel.beads.controls.ReadOnly;
+
+ /**
+ * The ComboBoxReadOnly bead class is a specialty ReadOnly bead that can be used to lock a Jewel ComboBox.
+ *
+ * Based on the ComboBoxDisabled bead for the Jewel ComboBox control.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ public class ComboBoxReadOnly extends ReadOnly
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.9
+ */
+ public function ComboBoxReadOnly()
+ {
+ }
+
+ COMPILE::JS
+ protected var lastTextInputElementTabVal:String = null;
+ COMPILE::JS
+ protected var lastButtonElementTabVal:String = null;
+
+ override protected function updateHost():void
+ {
+ COMPILE::JS
+ {
+ var view:ComboBoxView = (_strand as UIBase).view as ComboBoxView;
+
+ if (view) {
+ var pos:HTMLElement = (_strand as IUIBase).positioner;
+
+ if(!initialized)
+ {
+ initialized = true;
+ lastElementTabVal = (_strand as HTMLElementWrapper).element.getAttribute("tabindex");
+ lastTextInputElementTabVal = view.textinput.element.getAttribute("tabindex");
+ lastButtonElementTabVal = view.button.element.getAttribute("tabindex");
+ }
+
+ if(readOnly) {
+ setReadOnlyAndTabIndex(pos, true);
+ setReadOnlyAndTabIndex(view.textinput.positioner, true);
+ setReadOnlyAndTabIndex(view.textinput.element);
+ setReadOnlyAndTabIndex(view.button.positioner, true);
+ setReadOnlyAndTabIndex(view.button.element);
+ } else {
+ removeReadOnlyAndTabIndex(pos, true);
+ removeReadOnlyAndTabIndex(view.textinput.positioner, true);
+ removeReadOnlyAndTabIndex(view.textinput.element, false, lastTextInputElementTabVal);
+ removeReadOnlyAndTabIndex(view.button.positioner, true);
+ removeReadOnlyAndTabIndex(view.button.element, false, lastButtonElementTabVal);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxLabelState.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxLabelState.as
index 534f6a6..f873757 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxLabelState.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxLabelState.as
@@ -20,12 +20,11 @@
{
COMPILE::JS
{
- import org.apache.royale.jewel.TriStateCheckBox;
- import org.apache.royale.events.Event;
- import org.apache.royale.jewel.TriStateCheckBox;
- import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.core.Bead;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.jewel.TriStateCheckBox;
}
/**
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxStatesValues.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxState.as
similarity index 89%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxStatesValues.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxState.as
index afe8f33..87c27e3 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxStatesValues.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxState.as
@@ -20,20 +20,20 @@
{
COMPILE::JS
{
- import org.apache.royale.jewel.TriStateCheckBox;
import org.apache.royale.core.IBead;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.jewel.TriStateCheckBox;
}
/**
- * The TriStateCheckBoxStatesValues bead allows to set a custom value for each state.
+ * The TriStateCheckBoxState bead allows to set a custom value for each state.
*/
COMPILE::JS
- public class TriStateCheckBoxStatesValues implements IBead
+ public class TriStateCheckBoxState implements IBead
{
- public function TriStateCheckBoxStatesValues()
+ public function TriStateCheckBoxState()
{
}
@@ -83,10 +83,10 @@
}
COMPILE::SWF
- public class TriStateCheckBoxStatesValues
+ public class TriStateCheckBoxState
{
- public function TriStateCheckBoxStatesValues()
+ public function TriStateCheckBoxState()
{
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxTooltipState.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxTooltipState.as
new file mode 100644
index 0000000..2b60b19
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/tristatecheckbox/TriStateCheckBoxTooltipState.as
@@ -0,0 +1,112 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.jewel.beads.controls.tristatecheckbox
+{
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.jewel.beads.controls.ToolTip;
+ import org.apache.royale.jewel.TriStateCheckBox;
+
+
+ COMPILE::JS
+ public class TriStateCheckBoxTooltipState extends ToolTip
+ {
+
+ public function TriStateCheckBoxTooltipState()
+ {
+ }
+ /**
+ * @copy org.apache.royale.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.4
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+
+ listenOnStrand("change", toolTipChangeHandler);
+ }
+
+ private function get hostBase():TriStateCheckBox
+ {
+ return _strand as TriStateCheckBox;
+ }
+
+ protected function toolTipChangeHandler(event:Event):void
+ {
+ updateHost();
+ }
+
+ protected function updateHost():void
+ {
+ if (!hostBase)
+ return;
+
+ var _lastTooltip:String;
+ if(hostBase.isIndeterminate())
+ _lastTooltip = _indeterminateTooltip;
+ else if(hostBase.isUnChecked())
+ _lastTooltip = _uncheckedTooltip;
+ else
+ _lastTooltip = _checkedTooltip;
+
+ if(_lastTooltip != toolTip)
+ toolTip = _lastTooltip;
+
+ }
+
+ private var _indeterminateTooltip:String;
+ public function get indeterminateTooltip():String { return _indeterminateTooltip; }
+ public function set indeterminateTooltip(value:String):void
+ {
+ _indeterminateTooltip = value;
+ updateHost();
+ }
+
+ private var _uncheckedTooltip:String;
+ public function get uncheckedTooltip():String { return _uncheckedTooltip; }
+ public function set uncheckedTooltip(value:String):void
+ {
+ _uncheckedTooltip = value;
+ updateHost();
+ }
+
+ private var _checkedTooltip:String;
+ public function get checkedTooltip():String { return _checkedTooltip; }
+ public function set checkedTooltip(value:String):void
+ {
+ _checkedTooltip = value;
+ updateHost();
+ }
+
+ }
+
+ COMPILE::SWF
+ public class TriStateCheckBoxTooltipState extends ToolTip
+ {
+
+ public function TriStateCheckBoxTooltipState()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ArrayListSelectionModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ArrayListSelectionModel.as
index 51e8404..0fdf16b 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ArrayListSelectionModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ArrayListSelectionModel.as
@@ -28,6 +28,7 @@
import org.apache.royale.events.EventDispatcher;
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.jewel.beads.models.IJewelSelectionModel;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ArrayListSelectionModel class is a selection model for
@@ -39,7 +40,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class ArrayListSelectionModel implements IJewelSelectionModel, IRollOverModel
+ public class ArrayListSelectionModel implements IJewelSelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataProviderModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataProviderModel.as
index 75ad138..6d51be5 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataProviderModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataProviderModel.as
@@ -22,6 +22,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The DataProviderModel class is a model for
@@ -32,7 +33,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class DataProviderModel extends EventDispatcher implements IDataProviderModel
+ public class DataProviderModel extends EventDispatcher implements IDataProviderModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ButtonBarItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ButtonBarItemRenderer.as
index b54f7d0..056e39c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ButtonBarItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ButtonBarItemRenderer.as
@@ -26,6 +26,7 @@
import org.apache.royale.html.beads.ITextItemRenderer;
import org.apache.royale.html.util.getLabelFromData;
import org.apache.royale.jewel.Button;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ButtonBarItemRenderer class extends Button and turns it into an itemRenderer
@@ -36,7 +37,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public class ButtonBarItemRenderer extends Button implements ITextItemRenderer, IOwnerViewItemRenderer
+ public class ButtonBarItemRenderer extends Button implements ITextItemRenderer, IOwnerViewItemRenderer, IHasLabelField
{
public function ButtonBarItemRenderer()
{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/IconButtonBarItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/IconButtonBarItemRenderer.as
index eef50c0..905b3e2 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/IconButtonBarItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/IconButtonBarItemRenderer.as
@@ -30,6 +30,7 @@
import org.apache.royale.jewel.IconButton;
import org.apache.royale.jewel.IconButtonBar;
import org.apache.royale.jewel.beads.views.ButtonBarView;
+ import org.apache.royale.core.IHasLabelField;
/**
* The IconButtonBarItemRenderer class extends IconButton and turns it into an itemRenderer
@@ -40,7 +41,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public class IconButtonBarItemRenderer extends IconButton implements ITextItemRenderer, IOwnerViewItemRenderer
+ public class IconButtonBarItemRenderer extends IconButton implements ITextItemRenderer, IOwnerViewItemRenderer, IHasLabelField
{
public function IconButtonBarItemRenderer()
{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
index 2778ad3..3e49f64 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
@@ -30,6 +30,7 @@
import org.apache.royale.jewel.ToggleButton;
import org.apache.royale.jewel.ToggleButtonBar;
import org.apache.royale.jewel.beads.views.ButtonBarView;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ButtonBarItemRenderer class extends Button and turns it into an itemRenderer
@@ -40,7 +41,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public class ToggleButtonBarItemRenderer extends ToggleButton implements ITextItemRenderer, IOwnerViewItemRenderer
+ public class ToggleButtonBarItemRenderer extends ToggleButton implements ITextItemRenderer, IOwnerViewItemRenderer, IHasLabelField
{
public function ToggleButtonBarItemRenderer()
{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TableColumn.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TableColumn.as
index 2ba58ae..bcfc5b7 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TableColumn.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TableColumn.as
@@ -21,6 +21,7 @@
import org.apache.royale.core.IFactory;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasDataField;
/**
* TableColumn define a column for a Jewel Table component
@@ -31,7 +32,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class TableColumn extends EventDispatcher implements ITableColumn
+ public class TableColumn extends EventDispatcher implements ITableColumn, IHasDataField
{
/**
* constructor.
diff --git a/frameworks/projects/MXRoyale/asconfig.json b/frameworks/projects/MXRoyale/asconfig.json
index 2718715..cd49c04 100644
--- a/frameworks/projects/MXRoyale/asconfig.json
+++ b/frameworks/projects/MXRoyale/asconfig.json
@@ -38,5 +38,10 @@
],
"output": "target/MXRoyale.swc"
},
- "additionalOptions": "-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject -js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent -js-compiler-define+=COMPILE::SWF,false -js-compiler-define+=COMPILE::JS,true"
+ "additionalOptions": [
+ "-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject",
+ "-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent",
+ "-js-compiler-define+=COMPILE::SWF,false",
+ "-js-compiler-define+=COMPILE::JS,true"
+ ]
}
\ No newline at end of file
diff --git a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml b/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
index 19c8d72..96a1926 100644
--- a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
@@ -67,6 +67,7 @@
<name>ChangeEvent</name>
<name>NonCommittingChangeEvent</name>
<name>Transient</name>
+ <name>SWFOverride</name>
</keep-as3-metadata>
<locale/>
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 4ac02f9..24d52a5 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -492,6 +492,15 @@
padding-left: 1px;
padding-right: 1px;
border-bottom: 1px solid #333333;
+ display: flex /* added this because I don't see the layout bead working here, @todo investigate*/
+}
+
+PanelTitleBar .CloseButton {
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ width: 16px;
+ height: 16px;
}
pop|PopUpManagerModal
@@ -981,7 +990,7 @@
{
IBackgroundBead: ClassReference("org.apache.royale.html.beads.SolidBackgroundBead");
IBorderBead: ClassReference("org.apache.royale.html.beads.SingleLineBorderBead");
- IContentView: ClassReference("org.apache.royale.html.supportClasses.ContainerContentArea");
+ IContentView: ClassReference("mx.containers.beads.supportClasses.ContainerContentArea");
}
DataGrid {
@@ -1025,7 +1034,7 @@
Panel
{
- IContentView: ClassReference("org.apache.royale.html.supportClasses.ContainerContentArea");
+ IContentView: ClassReference("mx.containers.beads.supportClasses.ContainerContentArea");
IBorderBead: ClassReference("org.apache.royale.html.beads.SingleLineBorderBead");
IBackgroundBead: ClassReference("org.apache.royale.html.beads.SolidBackgroundBead");
}
diff --git a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
index 01a501b..3cb6244 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
+++ b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
@@ -233,6 +233,7 @@
<!--<component id="CurrencyFormatter" class="mx.formatters.CurrencyFormatter"/>-->
<!--<component id="ZipCodeValidator" class="mx.validators.ZipCodeValidator"/>-->
<component id="PrintDataGrid" class="mx.printing.PrintDataGrid"/>
+ <component id="HTML" class="mx.controls.HTML"/>
</componentPackage>
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index 4be7101..bf19252 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -72,6 +72,7 @@
import mx.containers.beads.layouts.BasicLayout; BasicLayout;
import mx.containers.beads.PanelInternalContainer; PanelInternalContainer;
import mx.containers.beads.PanelInternalContainerView; PanelInternalContainerView;
+ import mx.containers.beads.supportClasses.ContainerContentArea;ContainerContentArea;
import mx.controls.beads.AlertView; AlertView;
import mx.controls.beads.controllers.AlertMouseController; AlertMouseController;
import mx.containers.errors.ConstraintError; ConstraintError;
@@ -431,6 +432,7 @@
import mx.printing.PrintJob; PrintJob;
import mx.containers.accordionClasses.AccordionHeader; AccordionHeader;
/*import mx.net.FileReferenceList; FileReferenceList;*/
+ import mx.controls.beads.ProgressBarView; ProgressBarView;
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/BarSeries.as b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/BarSeries.as
index 0d47f22..b89ee1d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/BarSeries.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/BarSeries.as
@@ -64,6 +64,7 @@
import mx.graphics.SolidColor;
import mx.styles.CSSStyleDeclaration;
import mx.styles.ISimpleStyleClient;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -227,7 +228,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class BarSeries extends Series implements IStackable2, IBar
+public class BarSeries extends Series implements IStackable2, IBar, IHasLabelField
{
// include "../../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/ColumnSeries.as b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/ColumnSeries.as
index 5560acd..7dbbe2a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/ColumnSeries.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/ColumnSeries.as
@@ -60,6 +60,7 @@
import mx.graphics.SolidColor;
import mx.styles.CSSStyleDeclaration;
import mx.styles.ISimpleStyleClient;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -227,7 +228,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class ColumnSeries extends Series implements IColumn,IStackable2
+public class ColumnSeries extends Series implements IColumn,IStackable2, IHasLabelField
{
// include "../../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/PieSeries.as b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/PieSeries.as
index fff5473..36f9160 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/PieSeries.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/charts/series/PieSeries.as
@@ -66,6 +66,7 @@
import mx.graphics.Stroke;
import mx.styles.CSSStyleDeclaration;
import mx.styles.ISimpleStyleClient;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -297,7 +298,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class PieSeries extends Series
+public class PieSeries extends Series implements IHasLabelField
{
// include "../../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/FormItem.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/FormItem.as
index 8dcdb51..ca145be 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/FormItem.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/FormItem.as
@@ -1383,6 +1383,10 @@
*/
internal function getPreferredLabelWidth():Number
{
+ if (!labelObj)
+ {
+ return 0;
+ }
if (!label || label == "")
return 0;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/GridRow.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/GridRow.as
index 909800f..3d6c024 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/GridRow.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/GridRow.as
@@ -348,8 +348,8 @@
*/
override public function invalidateSize():void
{
- if (ROYALE::DISPLAYOBJECT)
- trace("this syntax is valid?");
+ /*if (ROYALE::DISPLAYOBJECT)
+ trace("this syntax is valid?");*/
super.invalidateSize();
if (parent)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/Panel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/Panel.as
index 218a01c..75803d2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/Panel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/Panel.as
@@ -669,6 +669,17 @@
*/
protected var titleBar:UIComponent;
+ /**
+ * PanelView coercion ignore because it is already typed-checked prior, below
+ * @royaleignorecoercion mx.containers.beads.PanelView
+ */
+ override public function addedToParent():void
+ {
+ //support for subclass access, as per original Flex code
+ titleBar = view is PanelView ? PanelView(view).titleBar as UIComponent : null;
+ super.addedToParent();
+ }
+
//----------------------------------
// title
//----------------------------------
@@ -810,7 +821,8 @@
var panelView:PanelView = view as PanelView;
if (panelView.contentArea == this)
return super.numElements;
- return panelView.contentArea.numElements;
+ //likewise, contentArea may not be available yet during early phases, use null safety:
+ return panelView.contentArea ? panelView.contentArea.numElements : 0;
}
/**
@@ -1120,7 +1132,7 @@
* @private
* Storage for the titleIcon property.
*/
- private var _titleIcon:Class;
+ private var _titleIcon:Object;
/**
* @private
@@ -1128,7 +1140,7 @@
private var _titleIconChanged:Boolean = false;
[Bindable("titleIconChanged")]
- [Inspectable(category="General", defaultValue="", format="EmbeddedFile")]
+ // [Inspectable(category="General", defaultValue="", format="EmbeddedFile")]
/**
* The icon displayed in the title bar.
@@ -1140,7 +1152,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
- public function get titleIcon():Class
+ public function get titleIcon():Object
{
return _titleIcon;
}
@@ -1148,8 +1160,9 @@
/**
* @private
*/
- public function set titleIcon(value:Class):void
+ public function set titleIcon(value:Object):void
{
+ //@todo deal with string (url) for Royale instead of Class
_titleIcon = value;
_titleIconChanged = true;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/PanelTitleBar.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/PanelTitleBar.as
index 1fd703b..f3e635f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/PanelTitleBar.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/PanelTitleBar.as
@@ -46,6 +46,10 @@
{
super();
typeNames += " PanelTitleBar";
+ COMPILE::JS{
+ //@todo review this... (see css changes in same commit) trying to achieve similar effect to native browser (css) layout that is used in Alert TitleBar
+ this.positioner.style.display = '';
+ }
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/TitleWindow.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/TitleWindow.as
index 79e13b3..af7572f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/TitleWindow.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/TitleWindow.as
@@ -23,6 +23,7 @@
import org.apache.royale.events.CloseEvent;
import org.apache.royale.html.beads.DragBead;
import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.core.IPanelModel;
import mx.core.UIComponent;
import mx.containers.beads.PanelView;
/*
@@ -275,11 +276,13 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.3
*/
- private var _showCloseButton:Boolean = false;
-
public function get showCloseButton():Boolean
{
- return _showCloseButton;
+ var model:IPanelModel = this.model as IPanelModel;
+ if (model) {
+ return model.showCloseButton;
+ }
+ return false;
}
/**
@@ -287,7 +290,10 @@
*/
public function set showCloseButton(value:Boolean):void
{
- _showCloseButton = value;
+ var model:IPanelModel = this.model as IPanelModel;
+ if (model) {
+ model.showCloseButton = value;
+ }
}
override public function addedToParent():void
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as
index de038dd..ca9a9c8 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as
@@ -54,6 +54,10 @@
import org.apache.royale.core.IChild;
+import mx.events.ChildExistenceChangedEvent;
+import org.apache.royale.core.IUIBase;
+import mx.utils.RoyaleUtil;
+
use namespace mx_internal;
//--------------------------------------
@@ -965,6 +969,7 @@
super.updateDisplayList(unscaledWidth, unscaledHeight);
var nChildren:int = numChildren;
+ if (!nChildren) return;
var w:Number = contentWidth;
var h:Number = contentHeight;
var left:Number = contentX;
@@ -1274,16 +1279,14 @@
if (!selectedChild)
return;
- /*
// Performance optimization: don't call createComponents if we know
// that createComponents has already been called.
- if (selectedChild && selectedChild.deferredContentCreated == false)
+ if (selectedChild && !selectedChild.deferredContentCreated)
{
if (initialized) // Only listen if the ViewStack has already been initialized.
selectedChild.addEventListener(FlexEvent.CREATION_COMPLETE,childCreationCompleteHandler);
selectedChild.createDeferredContent();
}
- */
// Do the initial measurement/layout pass for the
// newly-instantiated descendants.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
index aeab418..c52937a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
@@ -103,6 +103,10 @@
//
//--------------------------------------------------------------------------
+ /**
+ *
+ * @royaleignorecoercion Number
+ */
override public function layout():Boolean
{
COMPILE::SWF
@@ -212,7 +216,8 @@
// each child must have position:absolute for BasicLayout to work
for (i=0; i < n; i++) {
var child:IUIComponent = target.getLayoutChildAt(i);
- var hCenter:Number = Number((child as ILayoutElement).horizontalCenter);
+ var layoutChild:ILayoutElement = child as ILayoutElement;
+ var hCenter:Number = Number(layoutChild.horizontalCenter);
child.positioner.style.position = "absolute";
var layoutNeeded:Boolean = true;
var hh:Number = child.height;
@@ -227,6 +232,36 @@
ww = target.width * child.percentWidth / 100;
layoutNeeded = false;
}
+ if (layoutNeeded) {
+ //@todo check precedence here of percent-based vs. constraint-based
+ if (!isNaN(layoutChild.left)) {
+ child.x = layoutChild.left as Number;
+ if (!isNaN(layoutChild.right)) {
+ child.element.style.right = layoutChild.right+'px';
+ } else {
+ child.element.style.right = '';
+ }
+ } else //@todo check this:
+ if (!isNaN(layoutChild.right)) {
+ child.element.style.right = layoutChild.right+'px';
+ } else {
+ child.element.style.right = '';
+ }
+ if (!isNaN(layoutChild.top)) {
+ child.y = layoutChild.top as Number;
+ if (!isNaN(layoutChild.bottom)) {
+ child.element.style.bottom = layoutChild.bottom+'px';
+ } else {
+ child.element.style.bottom = '';
+ }
+ } else //@todo check this:
+ if (!isNaN(layoutChild.bottom)) {
+ child.element.style.bottom = layoutChild.bottom+'px';
+ } else {
+ child.element.style.bottom = '';
+ }
+ }
+
if (!isNaN(hCenter))
{
// TODO consider how this affects measurement of target
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/supportClasses/ContainerContentArea.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/supportClasses/ContainerContentArea.as
new file mode 100644
index 0000000..4768d25
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/supportClasses/ContainerContentArea.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.containers.beads.supportClasses
+{
+ import mx.core.UIComponent;
+
+ import org.apache.royale.core.IBead;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.core.UIBase;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.core.IChild;
+ import org.apache.royale.core.ILayoutView;
+
+ /**
+ * The ContainerContentArea class implements the contentView for
+ * a Container on the SWF platform.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public class ContainerContentArea extends UIComponent implements IBead, ILayoutView
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public function ContainerContentArea()
+ {
+ super();
+ addEventListener("layoutNeeded", forwardEventHandler);
+ }
+
+ private var _host:IUIBase;
+ public function get host():IUIBase
+ {
+ return _host;
+ }
+ /**
+ * @royaleignorecoercion org.apache.royale.core.IUIBase
+ */
+ public function set strand(value:IStrand):void
+ {
+ _host = value as IUIBase;
+ }
+ /**
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ private function forwardEventHandler(event:Event):void
+ {
+ if (parent is IEventDispatcher)
+ (parent as IEventDispatcher).dispatchEvent(event);
+ }
+ }
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
index ddd2aa9..ac69a5b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
@@ -34,6 +34,7 @@
import mx.effects.Tween;
import org.apache.royale.geom.Rectangle;
import org.apache.royale.geom.Point;
+import org.apache.royale.core.IUIBase;
import mx.managers.ISystemManager;
import mx.events.FlexMouseEvent;
import mx.core.UIComponentGlobals;
@@ -1548,6 +1549,21 @@
dispatchEvent(new Event("dropdownWidthChanged"));
}
+ // the following override is necessary as long as the view is not a UIComponent and getExplicitOrMeasuredHeight fails
+ override public function get measuredHeight():Number
+ {
+ var comboView:IComboBoxView = view as IComboBoxView;
+ return Math.max((comboView.textInputField as IUIBase).height, (comboView.popupButton as IUIBase).height);
+ }
+
+ // Make sure Basic components scale correctly in height
+ override public function set explicitHeight(value:Number):void
+ {
+ super.explicitHeight = value;
+ var comboView:IComboBoxView = view as IComboBoxView;
+ (comboView.textInputField as IUIBase).height = value;
+ (comboView.popupButton as IUIBase).height = value;
+ }
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/HTML.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/HTML.as
new file mode 100644
index 0000000..106cb02
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/HTML.as
@@ -0,0 +1,1626 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.controls
+{
+
+import org.apache.royale.events.Event;
+import mx.events.FocusEvent;
+//import flash.events.HTMLUncaughtScriptExceptionEvent;
+import mx.events.MouseEvent;
+import org.apache.royale.utils.HTMLLoader;
+//import flash.html.HTMLHistoryItem;
+//import flash.html.HTMLHost;
+import org.apache.royale.net.URLRequest;
+import mx.system.ApplicationDomain;
+//import org.apache.royale.text.ime.IME;
+//import org.apache.royale.text.ime.IMEConversionMode;
+import mx.controls.listClasses.BaseListData;
+import mx.controls.listClasses.IDropInListItemRenderer;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.core.ClassFactory;
+import mx.core.EdgeMetrics;
+import mx.core.IDataRenderer;
+import mx.core.IFactory;
+import mx.core.IIMESupport;
+//import mx.core.FlexHTMLLoader;
+import mx.core.mx_internal;
+import mx.core.ScrollControlBase;
+import mx.core.ScrollPolicy;
+import mx.events.FlexEvent;
+import mx.events.ScrollEvent;
+import mx.styles.StyleManager
+import mx.styles.CSSStyleDeclaration;
+import mx.managers.IFocusManagerComponent;
+
+use namespace mx_internal;
+
+//--------------------------------------
+// Events
+//--------------------------------------
+
+/**
+ * Dispatched after the last loading operation caused by
+ * setting the <code>location</code> or <code>htmlText</code>
+ * property has completed.
+ *
+ * <p>This event is always dispatched asynchronously,
+ * after the JavaScript <code>load</code> event
+ * has been dispatched in the HTML DOM.</p>
+ *
+ * <p>An event handler for this event may call any method
+ * or access any property of this control
+ * or its internal <code>htmlLoader</code>.</p>
+ *
+ * @eventType org.apache.royale.events.Event.COMPLETE
+ *
+ * @see location
+ * @see htmlText
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Event(name="complete", type="org.apache.royale.events.Event")]
+
+/**
+ * Dispatched after the HTML DOM has been initialized
+ * in response to a loading operation caused by
+ * setting the <code>location</code> or <code>htmlText</code> property.
+ *
+ * <p>When this event is dispatched,
+ * no JavaScript methods have yet executed.
+ * The <code>domWindow</code>and <code>domWindow.document</code>
+ * objects exist, but other DOM objects may not.
+ * You can use this event to set properties
+ * onto the <code>domWindow</code> and <code>domWindow.document</code>
+ * objects for JavaScript methods to later access.</p>
+ *
+ * <p>A handler for this event should not set any properties
+ * or call any methods which start another loading operation
+ * or which affect the URL for the current loading operation;
+ * doing so causes either an ActionScript or a JavaScript exception.</p>
+ *
+ * @eventType org.apache.royale.events.Event.HTML_DOM_INITIALIZE
+ *
+ * @see location
+ * @see htmlText
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Event(name="htmlDOMInitialize", type="org.apache.royale.events.Event")]
+
+/**
+ * Dispatched when this control's HTML content initially renders,
+ * and each time that it re-renders.
+ *
+ * <p>Because an HTML control can dispatch many of these events,
+ * you should avoid significant processing in a <code>render</code>
+ * handler that might negatively impact performance.</p>
+ *
+ * @eventType org.apache.royale.events.Event.HTML_RENDER
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Event(name="htmlRender", type="org.apache.royale.events.Event")]
+
+/**
+ * Dispatched when the <code>location</code> property changes.
+ *
+ * <p>This event is always dispatched asynchronously.
+ * An event handler for this event may call any method
+ * or access any property of this control
+ * or its internal <code>htmlLoader</code>.</p>
+ *
+ * @eventType org.apache.royale.events.Event.LOCATION_CHANGE
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Event(name="locationChange", type="org.apache.royale.events.Event")]
+
+/**
+ * Dispatched when an uncaught JavaScript exception occurs.
+ *
+ * <p>This event is always dispatched asynchronously.
+ * An event handler for this event may call any method
+ * or access any property of this control
+ * or its internal <code>htmlLoader</code>.</p>
+ *
+ * @eventType flash.events.HTMLUncaughtScriptExceptionEvent.UNCAUGHT_SCRIPT_EXCEPTION
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+//[Event(name="uncaughtScriptException", type="flash.events.HTMLUncaughtScriptExceptionEvent")]
+
+//--------------------------------------
+// Styles
+//--------------------------------------
+
+/**
+ * The number of pixels between the bottom edge of this control
+ * and the bottom edge of its HTML content area.
+ *
+ * @default 0
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Style(name="paddingBottom", type="Number", format="Length", inherit="no")]
+
+/**
+ * The number of pixels between the left edge of this control
+ * and the left edge of its HTML content area.
+ *
+ * @default 0
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Style(name="paddingLeft", type="Number", format="Length", inherit="no")]
+
+/**
+ * The number of pixels between the right edge of this control
+ * and the right edge of its HTML content area.
+ *
+ * @default 0
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Style(name="paddingRight", type="Number", format="Length", inherit="no")]
+
+/**
+ * The number of pixels between the top edge of this control
+ * and the top edge of its HTML content area.
+ *
+ * @default 0
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+[Style(name="paddingTop", type="Number", format="Length", inherit="no")]
+
+//--------------------------------------
+// Other metadata
+//--------------------------------------
+
+//[IconFile("HTML.png")]
+
+//[ResourceBundle("controls")]
+
+/**
+ * The HTML control lets you display HTML content in your application.
+ *
+ * <p>You use the <code>location</code> property to specify the URL
+ * of an HTML page whose content is displayed in the control, or you
+ * can set the <code>htmlText</code> property to specify a String
+ * containing HTML-formatted text that is rendered in the control.</p>
+ *
+ * @mxml
+ *
+ * <p>The <code><mx:HTML></code> tag inherits all of the tag
+ * attributes of its superclass and adds the following tag attributes:</p>
+ *
+ * <pre>
+ * <mx:HTML
+ * <strong>Properties</strong>
+ * data="<i>null</i>"
+ * historyPosition="0"
+ * htmlHost="<i>null</i>"
+ * htmlLoaderFactory="mx.core.ClassFactory"
+ * htmlText=""
+ * listData="<i>null</i>"
+ * location=""
+ * paintsDefaultBackground="false"
+ * runtimeApplicationDomain="<i>null</i>"
+ * userAgent="<i>null</i>"
+ *
+ * <strong>Styles</strong>
+ * paddingBottom="0"
+ * paddingLeft="0"
+ * paddingRight="0"
+ * paddingTop="0"
+ *
+ * <strong>Events</strong>
+ * complete="<i>No default</i>"
+ * htmlDOMInitialize="<i>No default</i>"
+ * htmlRender="<i>No default</i>"
+ * locationChange="<i>No default</i>"
+ * uncaughtScriptException="<i>No default</i>"
+ * />
+ * </pre>
+ *
+ * @see ../../flash/html/HTMLLoader.html HTMLLoader
+ *
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public class HTML extends ScrollControlBase
+ implements IDataRenderer, IDropInListItemRenderer,
+ IListItemRenderer, IFocusManagerComponent
+{
+ //include "../core/Version.as";
+
+ //--------------------------------------------------------------------------
+ //
+ // Class constants
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ private static const MAX_HTML_WIDTH:Number = 2880;
+
+ /**
+ * @private
+ */
+ private static const MAX_HTML_HEIGHT:Number = 2880;
+
+ //--------------------------------------------------------------------------
+ //
+ // Class properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // pdfCapability
+ //----------------------------------
+
+ /**
+ * The type of PDF support on the user's system,
+ * defined as an integer code value.
+ *
+ * <p>An HTML object can display PDF content only if this property
+ * evaluates to <code>PDFCapability.STATUS_OK</code>.
+ * The PDFCapability class defines constants for possible values
+ * of the <code>pdfCapability</code> property, as follows:</p>
+ *
+ * <table class="innertable">
+ * <tr>
+ * <th>PDFCapability constant</th>
+ * <th>Meaning</th>
+ * </tr>
+ * <tr>
+ * <td><code>STATUS_OK</code></td>
+ * <td>A sufficient version (8.1 or later) of Acrobat Reader
+ * is detected and PDF content can be loaded in an HTML object.
+ * <p><em>Note:</em> On Windows, if a Acrobat Acrobat
+ * or Acrobat Reader version 7.x or above
+ * is currently running on the user's system,
+ * that version is used even if a later version
+ * that supports loading PDF loaded in an HTML object is installed.
+ * In this case, if the the value of the
+ * <code>pdfCampability</code> property is
+ * <code>PDFCapability.STATUS_OK</code>,
+ * when an AIR application attempts to load PDF content
+ * into an HTML object, the older version of Acrobat or Reader
+ * displays an alert, without an error message displayed the AIR runtime.
+ * If this is a possible situation for your end users,
+ * you may consider providing them with instructions to close Acrobat
+ * while running your application.
+ * You may consider displaying these instructions if the PDF
+ * content does not load within an acceptable timeframe.</p></td>
+ * </tr>
+ * <tr>
+ * <td><code>ERROR_INSTALLED_READER_NOT_FOUND</code></td>
+ * <td>No version of Acrobat Reader is detected.
+ * An HTML object cannot display PDF content.</td>
+ * </tr>
+ * <tr>
+ * <td><code>ERROR_INSTALLED_READER_TOO_OLD</code></td>
+ * <td>Acrobat Reader has been detected, but the version is too old.
+ * An HTML object cannot display PDF content.</td>
+ * </tr>
+ * <tr>
+ * <td><code>ERROR_PREFERED_READER_TOO_OLD</code></td>
+ * <td>A sufficient version (8.1 or later) of Acrobat Reader is detected,
+ * but the the version of Acrobat Reader that is setup
+ * to handle PDF content is older than Reader 8.1.
+ * An HTML object cannot display PDF content.</td>
+ * </tr>
+ * </table>
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static function get pdfCapability():int
+ {
+ //return HTMLLoader.pdfCapability;
+ return null;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function HTML()
+ {
+ super();
+
+ _horizontalScrollPolicy = ScrollPolicy.AUTO;
+ _verticalScrollPolicy = ScrollPolicy.AUTO;
+
+ tabFocusEnabled = false;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * Flag that will block default data/listData behavior.
+ */
+ private var textSet:Boolean;
+
+ /**
+ * @private
+ */
+ private var errorCaught:Boolean = false;
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden properties
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ override public function set verticalScrollPosition(value:Number):void
+ {
+ // Clip the vertical scroll position to appropriate min/max bounds.
+ value = Math.max(value,0);
+ COMPILE::SWF {
+ if (htmlLoader && (htmlLoader.contentHeight > htmlLoader.height))
+ value = Math.min(value,htmlLoader.contentHeight - htmlLoader.height)
+
+ super.verticalScrollPosition = value;
+
+ if (htmlLoader)
+ htmlLoader.scrollV = value;
+ else
+ invalidateProperties();
+ }
+
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // contentHeight
+ //----------------------------------
+
+ /**
+ * The height, in pixels, of the HTML content.
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get contentHeight():Number
+ {
+ if (!htmlLoader)
+ return 0;
+
+ return htmlLoader.contentHeight;
+ }
+ }
+
+ //----------------------------------
+ // contentWidth
+ //----------------------------------
+
+ /**
+ * The width, in pixels, of the HTML content.
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get contentWidth():Number
+ {
+ if (!htmlLoader)
+ return 0;
+
+ return htmlLoader.contentWidth;
+ }
+ }
+
+ //----------------------------------
+ // data
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the data property.
+ */
+ private var _data:Object;
+
+ [Bindable("dataChange")]
+ [Inspectable(environment="none")]
+
+ /**
+ * Lets you pass a value to the component
+ * when you use it in an item renderer or item editor.
+ * You typically use data binding to bind a field of the <code>data</code>
+ * property to a property of this component.
+ *
+ * <p>When you use the control as a drop-in item renderer or drop-in
+ * item editor, Flex automatically writes the current value of the item
+ * to the <code>text</code> property of this control.</p>
+ *
+ * <p>You cannot set this property in MXML.</p>
+ *
+ * @default null
+ * @see mx.core.IDataRenderer
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get data():Object
+ {
+ return _data;
+ }
+
+ /**
+ * @private
+ */
+ public function set data(value:Object):void
+ {
+ var newText:*;
+
+ _data = value;
+
+ if (_listData)
+ {
+ newText = _listData.label;
+ }
+ else if (_data != null)
+ {
+ if (_data is String)
+ newText = String(_data);
+ else
+ newText = _data.toString();
+ }
+
+ if (newText !== undefined && !textSet)
+ {
+ htmlText = newText;
+ textSet = false;
+ }
+
+ dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
+ }
+
+
+ //----------------------------------
+ // historyLength
+ //----------------------------------
+
+ /**
+ * The overall length of the history list,
+ * including back and forward entries.
+ *
+ * This property has the same value
+ * as the <code>window.history.length</code>
+ * JavaScript property of the the HTML content.
+ *
+ * @see #historyPosition
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get historyLength():int
+ {
+ if (!htmlLoader)
+ return 0;
+
+ return htmlLoader.historyLength;
+ }
+ }
+
+ //----------------------------------
+ // historyPosition
+ //----------------------------------
+
+ /**
+ * The current position in the history list.
+ *
+ * <p>The history list corresponds to the <code>window.history</code>
+ * object of the HTML content.
+ * Entries less than the current position are the "back" list;
+ * entries greater are "forward."
+ * Attempting to set the position beyond the end sets it to the end.</p>
+ *
+ * @default 0
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get historyPosition():int
+ {
+ if (!htmlLoader)
+ return 0;
+
+ return htmlLoader.historyPosition;
+ }
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::SWF {
+ public function set historyPosition(value:int):void
+ {
+ if (htmlLoader)
+ htmlLoader.historyPosition = value;
+ }
+ }
+
+ //----------------------------------
+ // htmlLoader
+ //----------------------------------
+
+ /**
+ * The internal HTMLLoader object that renders
+ * the HTML content for this control.
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public var htmlLoader:HTMLLoader;
+ }
+
+
+ //----------------------------------
+ // htmlLoaderFactory
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the htmlLoaderFactory property.
+ */
+ //private var _htmlLoaderFactory:IFactory = new ClassFactory(FlexHTMLLoader);
+ COMPILE::SWF {
+ private var _htmlLoaderFactory:IFactory = new ClassFactory(HTMLLoader);
+
+ [Bindable("htmlLoaderFactoryChanged")]
+ }
+
+ /**
+ * The IFactory that creates an HTMLLoader-derived instance
+ * to use as the htmlLoader.
+ *
+ * <p>The default value is an IFactory for HTMLLoader.</p>
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get htmlLoaderFactory():IFactory
+ {
+ return _htmlLoaderFactory;
+ }
+
+ /**
+ * @private
+ */
+ public function set htmlLoaderFactory(value:IFactory):void
+ {
+
+ _htmlLoaderFactory = value;
+
+
+ dispatchEvent(new Event("htmlLoaderFactoryChanged"));
+ }
+ }
+
+ //----------------------------------
+ // htmlHost
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the htmlHost property.
+ */
+ // private var _htmlHost:HTMLHost;
+ private var _htmlHost:Object;
+
+ /**
+ * @private
+ */
+ private var htmlHostChanged:Boolean = false;
+
+ /**
+ * The HTMLHost object is used to handle changes
+ * to certain user interface elements in the HTML content,
+ * such as the <code>window.document.title</code> property.
+ *
+ * <p>To override default behaviors for the HTMLLoader,
+ * create a subclass of the HTMLHost class,
+ * override its member functions
+ * to handle various user interface changes in the HTML content,
+ * and set this property to an instance of your subclass.</p>
+ *
+ * @default null
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ //public function get htmlHost():HTMLHost
+ public function get htmlHost():Object
+ {
+ return _htmlHost;
+ }
+
+ /**
+ * @private
+ */
+ // public function set htmlHost(value:HTMLHost):void
+ public function set htmlHost(value:Object):void
+ {
+ _htmlHost = value;
+ htmlHostChanged = true;
+
+ invalidateProperties();
+ }
+
+ //----------------------------------
+ // htmlText
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the htmlText property.
+ */
+ private var _htmlText:String;
+
+ /**
+ * @private
+ */
+ private var htmlTextChanged:Boolean = false;
+
+ [Bindable("htmlTextChanged")]
+
+ /**
+ * Specifies an HTML-formatted String for display by the control.
+ *
+ * <p>Setting this property has the side effect of setting
+ * the <code>location</code> property to <code>null</code>,
+ * and vice versa.</p>
+ *
+ * <p>Content added via the <code>htmlText</code> property is put in the
+ * application security sandbox. If an AIR application includes an HTML
+ * control located in the application sandbox, and remote HTML code is
+ * directly added into the control by setting the <code>htmlText</code>
+ * property, any script contained in the HTML text is executed in the
+ * application sandbox.</p>
+ *
+ * @default ""
+ *
+ * @see #location
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get htmlText():String
+ {
+ return _htmlText;
+ }
+
+ /**
+ * @private
+ */
+ public function set htmlText(value:String):void
+ {
+ _htmlText = value;
+ htmlTextChanged = true;
+
+ // Setting both location and htmlText doesn't make sense,
+ // so setting one sets the other to null,
+ // and the last one set is applied in commitProperties().
+ _location = null;
+ locationChanged = false;
+
+ invalidateProperties();
+ invalidateSize();
+ invalidateDisplayList();
+
+ dispatchEvent(new Event("htmlTextChanged"));
+ }
+
+ //----------------------------------
+ // domWindow
+ //----------------------------------
+
+ /**
+ * The JavaScript <code>window</code> object
+ * for the root frame of the HTML DOM inside this control.
+ *
+ * <p>This property is <code>null</code> until the
+ * <code>htmlDOMInitialize</code> event has been dispatched.</p>
+ *
+ * @default null
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get domWindow():Object
+ {
+ if (!htmlLoader)
+ return null;
+
+ return htmlLoader.window;
+ }
+ }
+
+ //----------------------------------
+ // imeMode
+ //----------------------------------
+
+ /**
+ * @private
+ */
+ private var _imeMode:String = null;
+
+ /**
+ * Specifies the IME (input method editor) mode.
+ * The IME enables users to enter text in Chinese, Japanese, and Korean.
+ * Flex sets the specified IME mode when the control gets the focus,
+ * and sets it back to the previous value when the control loses the focus.
+ *
+ * <p>The flash.system.IMEConversionMode class defines constants for the
+ * valid values for this property.
+ * You can also specify <code>null</code> to specify no IME.</p>
+ *
+ * @default null
+ *
+ * @see flash.system.IMEConversionMode
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get imeMode():String
+ {
+ return _imeMode;
+ }
+
+ /**
+ * @private
+ */
+ public function set imeMode(value:String):void
+ {
+ _imeMode = value;
+ // We don't call IME.conversionMode here. We call it
+ // only on focusIn. Thus fringe cases like setting
+ // imeMode dynamically without moving focus, through
+ // keyboard events, wouldn't change the mode. Also
+ // getting imeMode asynch. from the server which gets
+ // delayed and set later after focusIn is not handled
+ // as having the text partly in one script and partly
+ // in another is not desirable.
+ }
+
+ //----------------------------------
+ // listData
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the listData property.
+ */
+ private var _listData:BaseListData;
+
+ [Bindable("dataChange")]
+ [Inspectable(environment="none")]
+
+ /**
+ * When a component is used as a drop-in item renderer or drop-in
+ * item editor, Flex initializes the <code>listData</code> property
+ * of the component with the appropriate data from the List control.
+ * The component can then use the <code>listData</code> property
+ * to initialize the <code>data</code> property of the drop-in
+ * item renderer or drop-in item editor.
+ *
+ * <p>You do not set this property in MXML or ActionScript;
+ * Flex sets it when the component is used as a drop-in item renderer
+ * or drop-in item editor.</p>
+ *
+ * @default null
+ * @see mx.controls.listClasses.IDropInListItemRenderer
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get listData():BaseListData
+ {
+ return _listData;
+ }
+
+ /**
+ * @private
+ */
+ public function set listData(value:BaseListData):void
+ {
+ _listData = value;
+ }
+
+ //----------------------------------
+ // loaded
+ //----------------------------------
+
+ /**
+ * A flag which indicates whether the JavaScript <code>load</code> event
+ * corresponding to the previous loading operation
+ * has been delivered to the HTML DOM in this control.
+ *
+ * <p>This property is <code>true</code>
+ * before the <code>complete</code> event is dispatched.</p>
+ *
+ * <p>It is possible that this property
+ * never becomes <code>true</code>.
+ * This happens in the same cases
+ * in which the <code>complete</code> event is never dispatched.</p>
+ *
+ * @default false
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function get loaded():Boolean
+ {
+ if (!htmlLoader || locationChanged || htmlTextChanged)
+ return false;
+
+ return htmlLoader.loaded;
+ }
+ }
+
+ //----------------------------------
+ // location
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the location property.
+ */
+ private var _location:String;
+
+ /**
+ * @private
+ */
+ private var locationChanged:Boolean = false;
+
+ [Bindable("locationChange")]
+
+ /**
+ * The URL of an HTML page to be displayed by this control.
+ *
+ * <p>Setting this property has the side effect of setting
+ * the <code>htmlText</code> property to <code>null</code>,
+ * and vice versa.</p>
+ *
+ * @default ""
+ *
+ * @see #htmlText
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get location():String
+ {
+ return _location;
+ }
+
+ /**
+ * @private
+ */
+ public function set location(value:String):void
+ {
+ _location = value;
+ locationChanged = true;
+
+ // Setting both location and htmlText doesn't make sense,
+ // so setting one sets the other to null,
+ // and the last one set is applied in commitProperties().
+ _htmlText = null;
+ htmlTextChanged = false;
+
+ invalidateProperties();
+ invalidateSize();
+ invalidateDisplayList();
+
+ dispatchEvent(new Event("locationChange"));
+ }
+
+ //----------------------------------
+ // paintsDefaultBackground
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the paintsDefaultBackground property.
+ */
+ private var _paintsDefaultBackground:Boolean;
+
+ /**
+ * @private
+ */
+ private var paintsDefaultBackgroundChanged:Boolean = false;
+
+ /**
+ * Whether this control's HTML content
+ * has a default opaque white background or not.
+ *
+ * <p>If this property is <code>false</code>,
+ * then the background specified for this Flex control, if any,
+ * appears behind the HTML content.</p>
+ *
+ * <p>However, if any HTML element has its own opaque background color
+ * (specified by style="background-color:gray", for instance),
+ * then that background appears behind that element.</p>
+ *
+ * @default false;
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get paintsDefaultBackground():Boolean
+ {
+ return _paintsDefaultBackground;
+ }
+
+ /**
+ * @private
+ */
+ public function set paintsDefaultBackground(value:Boolean):void
+ {
+ _paintsDefaultBackground = value;
+ paintsDefaultBackgroundChanged = true;
+
+ invalidateProperties();
+ }
+
+ //----------------------------------
+ // runtimeApplicationDomain
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the runtimeApplicationDomain property.
+ */
+ private var _runtimeApplicationDomain:ApplicationDomain;
+
+ /**
+ * @private
+ */
+ private var runtimeApplicationDomainChanged:Boolean = false;
+
+ /**
+ * The ApplicationDomain to use for HTML's <code>window.runtime</code>
+ * scripting.
+ *
+ * <p>If this property is <code>null</code>, or if it specifies
+ * an ApplicationDomain from a different security domain
+ * than the HTML content, the HTML page uses a default
+ * <code>ApplicationDomain</code> for the page's domain.</p>
+ *
+ * @default null
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get runtimeApplicationDomain():ApplicationDomain
+ {
+ return _runtimeApplicationDomain;
+ }
+
+ /**
+ * @private
+ */
+ public function set runtimeApplicationDomain(value:ApplicationDomain):void
+ {
+ _runtimeApplicationDomain = value;
+ runtimeApplicationDomainChanged = true;
+
+ invalidateProperties();
+ }
+
+ //----------------------------------
+ // userAgent
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the userAgent property.
+ */
+ private var _userAgent:String;
+
+ /**
+ * @private
+ */
+ private var userAgentChanged:Boolean = false;
+
+ /**
+ * The user agent string to be used in content requests
+ * from this control.
+ *
+ * <p>You can set the default user agent string used by all
+ * HTML controls in an application domain by setting the
+ * static <code>URLRequestDefaults.userAgent</code> property.
+ * If no value is set for the <code>userAgent</code> property
+ * (or if the value is set to <code>null</code>),
+ * the user agent string is set to the value of
+ * <code>URLRequestDefaults.userAgent</code>.</p>
+ *
+ * <p>If neither the <code>userAgent</code> property
+ * of this control nor for <code>URLRequestDefaults.userAgent</code>,
+ * has a value set, a default value is used as the user agent string.
+ * This default value varies depending on the runtime
+ * operating system (such as Mac OS or Windows),
+ * the runtime language, and the runtime version,
+ * as in the following two examples:</p>
+ *
+ * <pre>
+ * "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) AdobeAIR/1.0"
+ * "Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) AdobeAIR/1.0"
+ * </pre>
+ *
+ * @default null
+ *
+ * @see flash.net.URLRequest#userAgent
+ * @see flash.net.URLRequestDefaults#userAgent
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get userAgent():String
+ {
+ return _userAgent;
+ }
+
+ /**
+ * @private
+ */
+ public function set userAgent(value:String):void
+ {
+ _userAgent = value;
+ userAgentChanged = true;
+
+ invalidateProperties();
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ override protected function createChildren():void
+ {
+ super.createChildren();
+
+ /* if (!htmlLoader)
+ {
+ htmlLoader = htmlLoaderFactory.newInstance();
+
+ htmlLoader.addEventListener(
+ Event.HTML_DOM_INITIALIZE, htmlLoader_domInitialize);
+
+ htmlLoader.addEventListener(
+ Event.COMPLETE, htmlLoader_completeHandler);
+
+ htmlLoader.addEventListener(
+ Event.HTML_RENDER, htmlLoader_htmlRenderHandler);
+
+ htmlLoader.addEventListener(
+ Event.LOCATION_CHANGE, htmlLoader_locationChangeHandler);
+
+ htmlLoader.addEventListener(
+ Event.HTML_BOUNDS_CHANGE, htmlLoader_htmlBoundsChangeHandler);
+
+ htmlLoader.addEventListener(
+ Event.SCROLL, htmlLoader_scrollHandler);
+
+ htmlLoader.addEventListener(
+ HTMLUncaughtScriptExceptionEvent.UNCAUGHT_SCRIPT_EXCEPTION,
+ htmlLoader_uncaughtScriptExceptionHandler);
+
+ addChild(htmlLoader);
+ } */
+ }
+
+ /**
+ * @private
+ */
+ override protected function commitProperties():void
+ {
+ super.commitProperties();
+
+ // Change the properties of the HTMLLoader
+ // before calling its load() or loadString() method.
+
+ if (htmlHostChanged)
+ {
+ //htmlLoader.htmlHost = _htmlHost;
+ htmlHostChanged = false;
+ }
+
+ if (paintsDefaultBackgroundChanged)
+ {
+ //htmlLoader.paintsDefaultBackground = _paintsDefaultBackground;
+ paintsDefaultBackgroundChanged = false;
+ }
+
+ if (runtimeApplicationDomainChanged)
+ {
+ //htmlLoader.runtimeApplicationDomain = _runtimeApplicationDomain;
+ runtimeApplicationDomainChanged = false;
+ }
+
+ if (userAgentChanged)
+ {
+ // htmlLoader.userAgent = _userAgent;
+ userAgentChanged = false;
+ }
+
+ if (locationChanged)
+ {
+ //htmlLoader.load(new URLRequest(_location));
+ locationChanged = false;
+ }
+
+ if (htmlTextChanged)
+ {
+ //htmlLoader.loadString(_htmlText);
+ htmlTextChanged = false;
+ }
+ }
+
+ /**
+ * @private
+ */
+ override protected function measure():void
+ {
+ super.measure();
+
+ /* var em:EdgeMetrics = viewMetrics;
+
+ em.left += getStyle("paddingLeft");
+ em.top += getStyle("paddingTop");
+ em.right += getStyle("paddingRight");
+ em.bottom += getStyle("paddingBottom");
+
+ measuredWidth = Math.min(htmlLoader.contentWidth + em.left + em.right,
+ MAX_HTML_WIDTH);
+ measuredHeight = Math.min(htmlLoader.contentHeight + em.top + em.bottom,
+ MAX_HTML_HEIGHT); */
+
+ //trace("measure", htmlLoader.contentWidth, htmlLoader.contentHeight, measuredWidth, measuredHeight);
+ }
+
+ /**
+ * @private
+ */
+ override protected function updateDisplayList(unscaledWidth:Number,
+ unscaledHeight:Number):void
+ {
+ super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+ /* var em:EdgeMetrics = viewMetrics;
+
+ em.left += getStyle("paddingLeft");
+ em.top += getStyle("paddingTop");
+ em.right += getStyle("paddingRight");
+ em.bottom += getStyle("paddingBottom");
+
+ htmlLoader.x = em.left;
+ htmlLoader.y = em.top;
+
+ // The width and height of an HTMLLoader can't be 0.
+ var w:Number = Math.max(unscaledWidth - em.left - em.right, 1);
+ var h:Number = Math.max(unscaledHeight - em.top - em.bottom, 1);
+
+ htmlLoader.width = w;
+ htmlLoader.height = h; */
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Cancels any load operation in progress.
+ *
+ * <p>This method does nothing if it is called before this component's
+ * internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function cancelLoad():void
+ {
+ if (htmlLoader)
+ htmlLoader.cancelLoad();
+ }
+ }
+
+ /**
+ * Returns the HTMLHistoryItem at the specified position
+ * in this control's history list.
+ *
+ * <p>This method returns <code>null</code> if it is called before this
+ * component's internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @param position The position in the history list.
+ *
+ * @return A HTMLHistoryItem object
+ * for the history entry at the specified position.
+ *
+ * @see historyPosition
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ /* public function getHistoryAt(position:int):HTMLHistoryItem
+ {
+ if (!htmlLoader)
+ return null;
+
+ return htmlLoader.getHistoryAt(position);
+ } */
+
+ /**
+ * Navigates back in this control's history list, if possible.
+ *
+ * <p>Calling this method of the HTMLLoader object
+ * has the same effect as calling the <code>back()</code> method
+ * of the <code>window.history</code> property in JavaScript
+ * in the HTML content.</p>
+ *
+ * <p>This method does nothing if it is called before this component's
+ * internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @see #historyPosition
+ * @see #historyForward()
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function historyBack():void
+ {
+ if (htmlLoader)
+ htmlLoader.historyBack();
+ }
+ }
+
+ /**
+ * Navigates forward in this control's history list, if possible.
+ *
+ * <p>Calling this method of the HTMLLoader object
+ * has the same effect as calling the <code>forward()</code> method
+ * of the <code>window.history</code> property in JavaScript
+ * in the HTML content.</p>
+ *
+ * <p>This function throws no errors.</p>
+ *
+ * <p>This method does nothing if it is called before this component's
+ * internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @see #historyPosition
+ * @see #historyBack()
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function historyForward():void
+ {
+ if (htmlLoader)
+ htmlLoader.historyForward();
+ }
+ }
+
+ /**
+ * Navigates the specified number of steps in this control's history list.
+ *
+ * <p>This method navigates forward if the number of steps
+ * is positive and backward if it is negative.
+ * Navigation by zero steps is equivalent
+ * to calling <code>reload()</code>.</p>
+ *
+ * <p>This method is equivalent to calling the <code>go()</code> method
+ * of the <code>window.history</code> property in JavaScript
+ * in the HTML content.</p>
+ *
+ * <p>This method does nothing if it is called before this component's
+ * internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @param steps The number of steps in the history list
+ * to move forward (positive) or backward (negative).
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function historyGo(steps:int):void
+ {
+ if (htmlLoader)
+ htmlLoader.historyGo(steps);
+ }
+ }
+
+ /**
+ * Reloads the HTML content from the current <code>location</code>.
+ *
+ * <p>This method does nothing if it is called before this component's
+ * internal HTMLLoader (the <code>htmlLoader</code> property) has been created.</p>
+ *
+ * @langversion 3.0
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ COMPILE::SWF {
+ public function reload():void
+ {
+ if (htmlLoader)
+ htmlLoader.reload();
+ }
+ }
+
+ /**
+ * @private
+ */
+ private function adjustScrollBars():void
+ {
+ /* setScrollBarProperties(htmlLoader.contentWidth, htmlLoader.width,
+ htmlLoader.contentHeight, htmlLoader.height); */
+
+ // This is a temporary solution for adjusting the speed of scrolling
+ // via scrollbar arrows. There isn't a lot of overhead here, but
+ // we still shouldn't have to set these values every time
+ // updateDisplayList() is called.
+
+ /* if (verticalScrollBar)
+ verticalScrollBar.lineScrollSize = 20;
+ if (horizontalScrollBar)
+ horizontalScrollBar.lineScrollSize = 20; */
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden event handlers: ScrollControlBase
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * Gets called by internal field so we draw a focus rect around us.
+ */
+ override protected function focusInHandler(event:FocusEvent):void
+ {
+ super.focusInHandler(event);
+
+ /* if (_imeMode != null &&
+ (htmlLoader is IIMESupport && IIMESupport(htmlLoader).enableIME))
+ {
+ // When IME.conversionMode is unknown it cannot be
+ // set to anything other than unknown(English)
+ try
+ {
+ if (!errorCaught &&
+ IME.conversionMode != IMEConversionMode.UNKNOWN)
+ {
+ IME.conversionMode = _imeMode;
+ }
+ errorCaught = false;
+ }
+ catch(e:Error)
+ {
+ // Once an error is thrown, focusIn is called
+ // again after the Alert is closed, throw error
+ // only the first time.
+ errorCaught = true;
+ var message:String = resourceManager.getString(
+ "controls", "unsupportedMode", [ _imeMode ]);
+ throw new Error(message);
+ }
+ } */
+ }
+
+ /**
+ * @private
+ */
+ /* override */ protected function scrollHandler(event:Event):void
+ {
+ //super.scrollHandler(event);
+
+ //htmlLoader.scrollH = horizontalScrollPosition;
+ // htmlLoader.scrollV = verticalScrollPosition;
+ }
+
+ /**
+ * @private
+ */
+ /* override */ protected function mouseWheelHandler(event:MouseEvent):void
+ {
+ // Ignore mouseWheel events that are bubbling up
+ // from the HTMLLoader; they have already been handled there.
+ if (event.target != this)
+ return;
+
+ // Magnify the scrolling to approximate what browsers do.
+ event.delta *= 6;
+
+ // super.mouseWheelHandler(event);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Event handlers
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ private function htmlLoader_domInitialize(event:Event):void
+ {
+ dispatchEvent(event);
+ }
+
+ /**
+ * @private
+ */
+ private function htmlLoader_completeHandler(event:Event):void
+ {
+ invalidateSize();
+
+ dispatchEvent(event);
+ }
+
+ /**
+ * @private
+ */
+ private function htmlLoader_htmlRenderHandler(event:Event):void
+ {
+ dispatchEvent(event);
+
+ adjustScrollBars();
+
+ // we record this property here becuase it seems to
+ // change as you interact with the content
+ // hasFocusableChildren = htmlLoader.hasFocusableContent;
+ }
+
+ /**
+ * @private
+ */
+ private function htmlLoader_locationChangeHandler(event:Event):void
+ {
+ /*var change:Boolean = _location != htmlLoader.location;
+
+ _location = htmlLoader.location;
+
+ if (change)
+ dispatchEvent(event); */
+ }
+
+ /**
+ * @private
+ */
+ private function htmlLoader_htmlBoundsChangeHandler(event:Event):void
+ {
+ invalidateSize();
+
+ adjustScrollBars();
+ }
+
+ /**
+ * @private
+ */
+ private function htmlLoader_scrollHandler(event:Event):void
+ {
+ //horizontalScrollPosition = htmlLoader.scrollH;
+ //verticalScrollPosition = htmlLoader.scrollV;
+ }
+
+ /**
+ * @private
+ */
+ /* private function htmlLoader_uncaughtScriptExceptionHandler(
+ event:HTMLUncaughtScriptExceptionEvent):void
+ {
+ var clonedEvent:Event = event.clone();
+
+ dispatchEvent(clonedEvent);
+
+ if (clonedEvent.isDefaultPrevented())
+ event.preventDefault();
+ } */
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Menu.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Menu.as
index 6a5b78c..7d22b9c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Menu.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Menu.as
@@ -97,6 +97,7 @@
import org.apache.royale.core.ILayoutParent;
import org.apache.royale.core.ILayoutView;
+ import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -591,7 +592,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
- public class Menu extends UIComponent implements IFocusManagerContainer, IMenu, IItemRendererProvider, ILayoutParent, ILayoutView
+ public class Menu extends UIComponent implements IFocusManagerContainer, IMenu, IItemRendererProvider, ILayoutParent, ILayoutView, IHasLabelField
{
// include "../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/MenuBar.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/MenuBar.as
index 1f781c6..72382a2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/MenuBar.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/MenuBar.as
@@ -61,6 +61,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.utils.loadBeadFromValuesManager;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -401,7 +402,7 @@
* @productversion Royale 0.9.3
* @royalesuppresspublicvarwarning
*/
-public class MenuBar extends UIComponent implements IFocusManagerComponent, IContainer, ILayoutParent
+public class MenuBar extends UIComponent implements IFocusManagerComponent, IContainer, ILayoutParent, IHasLabelField
{
//include "../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/NavBar.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/NavBar.as
index 19df4c7..7c39b0b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/NavBar.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/NavBar.as
@@ -46,6 +46,7 @@
//import mx.styles.StyleProtoChain;
import mx.utils.RoyaleUtil;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -134,7 +135,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class NavBar extends Box
+public class NavBar extends Box implements IHasLabelField
{
// include "../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/PopUpMenuButton.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/PopUpMenuButton.as
index 16cf76e..8ba48a4 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/PopUpMenuButton.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/PopUpMenuButton.as
@@ -35,6 +35,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -129,7 +130,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class PopUpMenuButton extends PopUpButton
+public class PopUpMenuButton extends PopUpButton implements IHasLabelField
{
//include "../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
index c4c3636..427c490 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
@@ -54,6 +54,8 @@
import org.apache.royale.core.ITextModel;
import org.apache.royale.events.Event;
+import org.apache.royale.core.TextLineMetrics;
+import mx.core.IUITextField;
/*
import mx.events.ScrollEvent;
@@ -582,7 +584,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-// protected var textField:IUITextField;
+ protected var textField:IUITextField;
//----------------------------------
// verticalScrollPosition
@@ -2074,6 +2076,22 @@
// verticalScrollPosition = _vScrollPosition;
}
+ override public function getExplicitOrMeasuredWidth():Number
+ {
+ if (!isNaN(explicitWidth))
+ return explicitWidth;
+ measure()
+ return measuredWidth;
+ }
+
+ override public function getExplicitOrMeasuredHeight():Number
+ {
+ if (!isNaN(explicitHeight))
+ return explicitHeight;
+ measure()
+ return measuredHeight;
+ }
+
/**
* @private
*/
@@ -2081,10 +2099,11 @@
{
super.measure();
-// measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH;
-// measuredWidth = DEFAULT_MEASURED_WIDTH;
-// // TextArea is minimum of two lines of text
-// measuredMinHeight = measuredHeight = 2 * DEFAULT_MEASURED_MIN_HEIGHT;
+ measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH;
+ measuredWidth = DEFAULT_MEASURED_WIDTH;
+ // TextArea is minimum of two lines of text
+ measuredMinHeight = measuredHeight = 2 * DEFAULT_MEASURED_MIN_HEIGHT;
+
}
/**
@@ -2287,10 +2306,12 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-// public function getLineMetrics(lineIndex:int):TextLineMetrics
-// {
-// return textField ? textField.getLineMetrics(lineIndex) : null;
-// }
+ public function getLineMetrics(lineIndex:int):TextLineMetrics
+ {
+ trace("getLineMetrics in mx:TextArea is not implemented");
+ return null;
+ //return textField ? textField.getLineMetrics(lineIndex) : null;
+ }
/**
* Selects the text in the range specified by the parameters.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToggleButtonBar.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToggleButtonBar.as
index 77dc8c4..893959d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToggleButtonBar.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToggleButtonBar.as
@@ -44,6 +44,7 @@
import org.apache.royale.html.beads.models.ButtonBarModel;
import org.apache.royale.utils.loadBeadFromValuesManager;
import org.apache.royale.core.ILayoutHost;
+import org.apache.royale.core.IHasLabelField;
//--------------------------------------
@@ -202,7 +203,7 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.3
*/
-public class ToggleButtonBar extends UIComponent implements ILayoutParent, ILayoutView
+public class ToggleButtonBar extends UIComponent implements ILayoutParent, ILayoutView, IHasLabelField
{
// include "../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/VRule.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/VRule.as
index bf31013..4ac5b6f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/VRule.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/VRule.as
@@ -23,7 +23,7 @@
/* import flash.display.Graphics;*/
import mx.core.UIComponent;
-import org.apache.royale.core.SimpleCSSStyles;
+import org.apache.royale.core.SimpleCSSStyles;
//--------------------------------------
// Styles
@@ -199,7 +199,13 @@
"borderLeftStyle" : "solid",
"borderLeftColor" : "#000"
}
- style = values;
+ var currentStyle:Object = style;
+ if (currentStyle) {
+ for (var field:String in values) {
+ currentStyle[field] = values[field];
+ }
+ } else currentStyle = values;
+ style = currentStyle;
super.addedToParent();
}
//--------------------------------------------------------------------------
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
index 66c3989..074fa74 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
@@ -1012,7 +1012,7 @@
throw new Error("Method not implemented.");
}
- public function get processedDescriptors():Boolean
+ /*public function get processedDescriptors():Boolean
{
throw new Error("Method not implemented.");
}
@@ -1020,7 +1020,7 @@
public function set processedDescriptors(value:Boolean):void
{
throw new Error("Method not implemented.");
- }
+ }*/
public function get updateCompletePendingFlag():Boolean
{
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
index 602093c..80c8739 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
@@ -18,43 +18,16 @@
////////////////////////////////////////////////////////////////////////////////
package mx.controls.advancedDataGridClasses
{
+ import mx.collections.CursorBookmark;
import mx.collections.ICollectionView;
import mx.collections.IViewCursor;
- import mx.collections.CursorBookmark;
- import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnList;
- import mx.controls.beads.models.DataGridColumnICollectionViewModel;
- import mx.core.IUIComponent;
-
- import org.apache.royale.collections.FlattenedList;
- import org.apache.royale.collections.HierarchicalData;
- import org.apache.royale.collections.ITreeData;
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IBeadModel;
- import org.apache.royale.core.IDataProviderItemRendererMapper;
- import org.apache.royale.core.IDataProviderModel;
- import org.apache.royale.core.IItemRendererClassFactory;
+
import org.apache.royale.core.IItemRendererOwnerView;
- import org.apache.royale.core.IListPresentationModel;
- import org.apache.royale.core.IIndexedItemRenderer;
- import org.apache.royale.core.ILabelFieldItemRenderer;
- import org.apache.royale.core.IListDataItemRenderer;
- import org.apache.royale.core.IIndexedItemRendererInitializer;
- import org.apache.royale.core.IStrand;
import org.apache.royale.core.IStrandWithModelView;
- import org.apache.royale.core.IUIBase;
- import org.apache.royale.core.SimpleCSSStyles;
- import org.apache.royale.core.UIBase;
- import org.apache.royale.core.ValuesManager;
- import org.apache.royale.events.CollectionEvent;
import org.apache.royale.events.Event;
- import org.apache.royale.events.EventDispatcher;
import org.apache.royale.events.IEventDispatcher;
- import org.apache.royale.events.ItemRendererEvent;
- import org.apache.royale.html.List;
import org.apache.royale.html.beads.IListView;
import org.apache.royale.html.beads.VirtualDataItemRendererFactoryBase;
- import org.apache.royale.html.supportClasses.DataItemRenderer;
- import org.apache.royale.html.supportClasses.TreeListData;
/**
* The DataItemRendererFactoryForHierarchicalData class reads a
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridItemRendererInitializer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridItemRendererInitializer.as
index 40f8d4b..cd9dd47 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridItemRendererInitializer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridItemRendererInitializer.as
@@ -21,23 +21,13 @@
import mx.controls.DataGrid;
- import mx.controls.dataGridClasses.DataGridListArea;
-
- import org.apache.royale.core.Bead;
- import org.apache.royale.core.IDataProviderModel;
- import org.apache.royale.core.IIndexedItemRenderer;
- import org.apache.royale.core.IIndexedItemRendererInitializer;
- import org.apache.royale.core.IItemRenderer;
- import org.apache.royale.core.IListDataItemRenderer;
- import org.apache.royale.core.ILabelFieldItemRenderer;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.core.IUIBase;
- import org.apache.royale.core.SimpleCSSStyles;
- import org.apache.royale.core.UIBase;
- import mx.controls.dataGridClasses.DataGridListData;
+ import mx.controls.beads.models.DataGridColumnICollectionViewModel;
import mx.controls.dataGridClasses.DataGridColumnList;
- import mx.controls.beads.models.DataGridColumnICollectionViewModel;
+ import mx.controls.dataGridClasses.DataGridListData;
import mx.core.UIComponent;
+
+ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.IListDataItemRenderer;
/**
* The DataGridItemRendererInitializer class initializes item renderers
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ArrayMultiSelectionModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ArrayMultiSelectionModel.as
index 339204d..65b2498 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ArrayMultiSelectionModel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ArrayMultiSelectionModel.as
@@ -23,6 +23,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ArrayMultiSelectionModel class is a selection model for
* a dataProvider that is an array. It assumes that items
@@ -36,7 +37,7 @@
* @productversion 0.9.7
*/
- public class ArrayMultiSelectionModel extends EventDispatcher implements IMultiSelectionModel, IRollOverModel
+ public class ArrayMultiSelectionModel extends EventDispatcher implements IMultiSelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionICollectionViewModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionICollectionViewModel.as
index e7966cb..2a7e0fa 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionICollectionViewModel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionICollectionViewModel.as
@@ -29,6 +29,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The SingleSelectionICollectionViewModel class is a selection model for
@@ -39,7 +40,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9
*/
- public class SingleSelectionICollectionViewModel extends EventDispatcher implements ISelectionModel, IRollOverModel
+ public class SingleSelectionICollectionViewModel extends EventDispatcher implements ISelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionIListModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionIListModel.as
index 1f6544b..90085aa 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionIListModel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/SingleSelectionIListModel.as
@@ -24,6 +24,7 @@
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.core.IHasLabelField;
/**
* The SingleSelectionIListViewModel class is a selection model for
@@ -35,7 +36,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9
*/
- public class SingleSelectionIListModel extends EventDispatcher implements ISelectionModel, IRollOverModel
+ public class SingleSelectionIListModel extends EventDispatcher implements ISelectionModel, IRollOverModel, IHasLabelField
{
/**
* Constructor.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/colorPickerClasses/SwatchPanel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/colorPickerClasses/SwatchPanel.as
index c76fb29..117e073 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/colorPickerClasses/SwatchPanel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/colorPickerClasses/SwatchPanel.as
@@ -27,7 +27,7 @@
import org.apache.royale.geom.Rectangle;
import mx.collections.IList;
import mx.collections.ArrayList;
- import mx.controls.ColorPicker;
+ import org.apache.royale.core.IHasLabelField;
/*
import flash.display.DisplayObject;
import flash.events.Event;
@@ -378,7 +378,7 @@
/**
* @private
*/
-public class SwatchPanel extends UIComponent implements IFocusManagerContainer
+public class SwatchPanel extends UIComponent implements IFocusManagerContainer, IHasLabelField
{
//include "../../core/Version.as";
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
index cff0838..c2fa17d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
@@ -47,6 +47,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.core.UIBase;
import org.apache.royale.html.supportClasses.DataGridColumn;
+import org.apache.royale.core.IHasLabelField;
//--------------------------------------
// Styles
@@ -206,7 +207,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class DataGridColumn extends org.apache.royale.html.supportClasses.DataGridColumn // implements IIMESupport
+public class DataGridColumn extends org.apache.royale.html.supportClasses.DataGridColumn implements IHasLabelField // IIMESupport
{
//--------------------------------------------------------------------------
//
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
index 628abeb..f3d21e9 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
@@ -1010,7 +1010,7 @@
throw new Error("Method not implemented.");
}
- public function get processedDescriptors():Boolean
+ /*public function get processedDescriptors():Boolean
{
throw new Error("Method not implemented.");
}
@@ -1018,7 +1018,7 @@
public function set processedDescriptors(value:Boolean):void
{
throw new Error("Method not implemented.");
- }
+ }*/
public function get updateCompletePendingFlag():Boolean
{
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridListData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridListData.as
index 7cc4c7f..a286423 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridListData.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridListData.as
@@ -22,6 +22,7 @@
import mx.controls.listClasses.BaseListData;
import mx.core.IUIComponent;
+import org.apache.royale.core.IHasDataField;
/**
* The DataGridListData class defines the data type of the <code>listData</code> property that is
@@ -40,7 +41,7 @@
* @playerversion AIR 1.1
* @productversion Flex 3
*/
-public class DataGridListData extends BaseListData
+public class DataGridListData extends BaseListData implements IHasDataField
{
// include "../../core/Version.as";
@@ -88,17 +89,17 @@
//
//--------------------------------------------------------------------------
- [Bindable("__NoChangeEvent__")]
+ private var _dataField:String;
- /**
- * Name of the field or property in the data provider associated with the column.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public var dataField:String;
+ public function get dataField():String
+ {
+ return _dataField;
+ }
+
+ public function set dataField(value:String):void
+ {
+ _dataField = value;
+ }
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as
index 1822acb..a00d332 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as
@@ -640,7 +640,7 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.4
*/
- protected var collection:ICollectionView;
+ /* protected */ public var collection:ICollectionView;
/**
* The main IViewCursor instance used to fetch items from the
@@ -2527,7 +2527,7 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.4
*/
- public function get selectable():Boolean
+ override public function get selectable():Boolean
{
return _selectable;
}
@@ -2535,7 +2535,7 @@
/**
* @private
*/
- public function set selectable(value:Boolean):void
+ override public function set selectable(value:Boolean):void
{
_selectable = value;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
index 79696e7..f8db1d6 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
@@ -36,7 +36,7 @@
import flash.utils.clearInterval;
import flash.utils.setInterval;
-import mx.collections.ArrayCollection;
+
*/
COMPILE::SWF{
import flash.display.DisplayObject;
@@ -51,6 +51,7 @@
import mx.collections.IViewCursor;
import mx.collections.Sort;
import mx.collections.SortField;
+import mx.collections.ArrayCollection;
import mx.controls.beads.DataGridView;
import mx.controls.beads.layouts.DataGridLayout;
import mx.controls.dataGridClasses.DataGridColumn;
@@ -582,16 +583,18 @@
/**
* @private
+ * @royaleignorecoercion Array
*/
override public function set dataProvider(value:Object):void
{
if (collection)
collection.removeEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler);
+ if (value is Array) value = new ArrayCollection(value as Array);
collection = value as ICollectionView;
if (collection)
{
- collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler);
+ collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler);
iterator = collection.createCursor();
collectionIterator = collection.createCursor(); //IViewCursor(collection);
}
@@ -674,7 +677,7 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.4
*/
- protected var collection:ICollectionView;
+ /* protected */ public var collection:ICollectionView;
/**
* The main IViewCursor instance used to fetch items from the
@@ -2570,7 +2573,7 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.4
*/
- public function get selectable():Boolean
+ override public function get selectable():Boolean
{
return _selectable;
}
@@ -2578,7 +2581,7 @@
/**
* @private
*/
- public function set selectable(value:Boolean):void
+ override public function set selectable(value:Boolean):void
{
_selectable = value;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
index e49d36a..a42324a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
@@ -59,6 +59,7 @@
import org.apache.royale.utils.loadBeadFromValuesManager;
import mx.controls.dataGridClasses.DataGridListData;
import mx.events.FlexEvent;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal;
@@ -168,7 +169,8 @@
*/
public class ListBase extends ScrollControlBase
implements IContainerBaseStrandChildrenHost, IContainer, ILayoutParent,
- ILayoutView, IItemRendererProvider, IStrandWithPresentationModel
+ ILayoutView, IItemRendererProvider, IStrandWithPresentationModel,
+ IHasLabelField
{ //extends UIComponent
@@ -1932,6 +1934,48 @@
{
return NaN;
}
+
+ protected var collection:ICollectionView;
+
+ //----------------------------------
+ // selectable
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the selectable property.
+ */
+ private var _selectable:Boolean = true;
+
+ [Inspectable(defaultValue="true")]
+
+ /**
+ * A flag that indicates whether the list shows selected items
+ * as selected.
+ * If <code>true</code>, the control supports selection.
+ * The Menu class, which subclasses ListBase, sets this property to
+ * <code>false</code> by default, because it doesn't show the chosen
+ * menu item as selected.
+ *
+ * @default true
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get selectable():Boolean
+ {
+ return _selectable;
+ }
+
+ /**
+ * @private
+ */
+ public function set selectable(value:Boolean):void
+ {
+ _selectable = value;
+ }
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
index 4412721..7116cc8 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
@@ -313,7 +313,7 @@
throw new Error("Method not implemented.");
}
- public function get processedDescriptors():Boolean
+ /*public function get processedDescriptors():Boolean
{
throw new Error("Method not implemented.");
}
@@ -321,7 +321,7 @@
public function set processedDescriptors(value:Boolean):void
{
throw new Error("Method not implemented.");
- }
+ }*/
public function get updateCompletePendingFlag():Boolean
{
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
index 0bb8a7f..0bc413d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
@@ -66,6 +66,7 @@
import org.apache.royale.html.supportClasses.TreeListData;
import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.core.ISelectableItemRenderer;
+import org.apache.royale.core.IHasLabelField;
/**
* The TreeItemRenderer class defines the default item renderer for a Tree control.
@@ -84,7 +85,7 @@
* @productversion Flex 3
*/
public class TreeItemRenderer extends UIComponent
- implements IDataRenderer, IDropInListItemRenderer, IItemRenderer, ILabelFieldItemRenderer
+ implements IDataRenderer, IDropInListItemRenderer, IItemRenderer, ILabelFieldItemRenderer, IHasLabelField
{
@@ -270,6 +271,11 @@
protected function dataToString(value:Object):String
{
+ if (value is XML && labelField && labelField.indexOf("@") > -1)
+ {
+ var attName:String = labelField.split("@")[1] as String;
+ return (value as XML).attribute(attName).toString();
+ }
return getLabelFromData(this,value);
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
index 9c64770..789e0fe 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
@@ -19,7 +19,9 @@
package mx.core
{
- import org.apache.royale.binding.ContainerDataBinding;
+import mx.events.ChildExistenceChangedEvent;
+
+import org.apache.royale.binding.ContainerDataBinding;
import org.apache.royale.binding.DataBindingBase;
import org.apache.royale.core.ContainerBaseStrandChildren;
import org.apache.royale.core.IBeadLayout;
@@ -81,6 +83,7 @@
import mx.events.FlexEvent;
import mx.events.IndexChangedEvent;
import mx.managers.IFocusManagerContainer;
+import org.apache.royale.utils.MXMLDataInterpreter;
COMPILE::SWF
{
@@ -1086,25 +1089,110 @@
// each MXML file can also have styles in fx:Style block
ValuesManager.valuesImpl.init(this);
}
-
- super.addedToParent();
-
+ const noChildrenNow:Boolean = creationPolicy == 'none';
+
+ if (noChildrenNow) _deferSetInitialized = true;
+ super.addedToParent();
+
// Load the layout bead if it hasn't already been loaded.
loadBeadFromValuesManager(IBeadLayout, "iBeadLayout", this);
- dispatchEvent(new Event("initComplete"));
- if ((isHeightSizedToContent() || !isNaN(explicitHeight)) &&
- (isWidthSizedToContent() || !isNaN(explicitWidth)))
- dispatchEvent(new Event("layoutNeeded"));
+ if (!noChildrenNow) {
+ //we don't want to run the states etc, they will error at this point
+ dispatchEvent(new Event("initComplete"));
+ if ((isHeightSizedToContent() || !isNaN(explicitHeight)) &&
+ (isWidthSizedToContent() || !isNaN(explicitWidth)))
+ dispatchEvent(new Event("layoutNeeded"));
+ }
+
}
+
+
+ override public function initialize():void
+ {
+ if (initialized)
+ return;
+
+ if (creationPolicy == 'none') {
+ _deferSetInitialized = true;
+ dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));
+
+ _measuredWidth = NaN;
+ _measuredHeight = NaN;
+
+ // This should always be the last thing that initialize() calls.
+ initializationComplete();
+ return;
+ }
+ super.initialize();
+ }
override protected function createChildren():void
{
+ if (creationPolicy == 'none') return;
super.createChildren();
-
- if (getBeadByType(DataBindingBase) == null && '_bindings' in this /*mxmlDocument == this*/)
- addBead(new ContainerDataBinding());
+ if ('_bindings' in this) {
+ if (getBeadByType(DataBindingBase) == null) {
+ addBead(new ContainerDataBinding());
+ }
+ dispatchEvent(new Event("initBindings"));
+ }
+ }
- dispatchEvent(new Event("initBindings"));
+
+ private var _deferSetInitialized:Boolean;
+ /**
+ * @private
+ */
+ override public function set initialized(value:Boolean):void
+ {
+ if (value && !_deferSetInitialized) {
+ dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
+ super.initialized = value;
+ } else {
+ _deferSetInitialized = false;
+ }
+ }
+
+
+ override protected function initializationComplete():void
+ {
+ // Don't call super.initializationComplete().
+ //variation to flex sdk
+ //did we already create content ?
+ if (creationPolicy != 'none') {
+ super.initializationComplete();
+ }
+ }
+
+ /**
+ * Performs the equivalent action of calling
+ * the <code>createComponentsFromDescriptors(true)</code> method for containers
+ * that implement the IDeferredContentOwner interface to support deferred instantiation.
+ *
+ * @see #createComponentsFromDescriptors()
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+ public function createDeferredContent():void
+ {
+ if (creationPolicy == 'none') {
+ creationPolicyNone = false;
+ _deferSetInitialized = false
+ createChildren();
+ //run the original addedToParent stuff
+ dispatchEvent(new Event("initComplete"));
+ if ((isHeightSizedToContent() || !isNaN(explicitHeight)) &&
+ (isWidthSizedToContent() || !isNaN(explicitWidth)))
+ dispatchEvent(new Event("layoutNeeded"));
+
+ processedDescriptors = true;
+ creationPolicyNone = true;
+ //dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
+ initialized = true;
+ }
}
/**
@@ -1152,13 +1240,78 @@
{
dispatchEvent( new Event("layoutNeeded") );
}
+
+
+
+ override mx_internal function addingChild(child:IUIBase):void
+ {
+
+ COMPILE::SWF{
+ //was
+ // Throw an RTE if child is not an IUIComponent.
+ //var uiChild:IUIComponent = IUIComponent(child);
+ if (!(child is IUIComponent)) {
+ //commented out for now, to allow legacy mustella tests to pass in swf
+ // trace('this is child is not an IUIComponent', child )
+ // throw new Error('child is not IUIComponent '+child)
+ }
+
+ }
+
+
+ // Set the child's virtual parent, nestLevel, document, etc.
+ super.addingChild(child);
+
+ invalidateSize();
+ invalidateDisplayList();
+
+ /*if (!contentPane)
+ {
+ // If this is the first content child, then any chrome
+ // that already exists is positioned in front of it.
+ // If other content children already existed, then set the
+ // depth of this object to be just behind the existing
+ // content children.
+ if (_numChildren == 0)
+ _firstChildIndex = super.numChildren;
+
+ // Increment the number of content children.
+ _numChildren++;
+ }
+
+ if (contentPane && !autoLayout)
+ {
+ forceLayout = true;
+ // weak reference
+ UIComponentGlobals.layoutManager.addEventListener(
+ FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true);
+ }*/
+ }
/**
* @private
*/
override mx_internal function childAdded(child:IUIBase):void
{
- super.addingChild(child);
+ if (hasEventListener("childrenChanged"))
+ dispatchEvent(new Event("childrenChanged"));
+
+ if (hasEventListener(ChildExistenceChangedEvent.CHILD_ADD))
+ {
+ var event:ChildExistenceChangedEvent =
+ new ChildExistenceChangedEvent(
+ ChildExistenceChangedEvent.CHILD_ADD);
+ event.relatedObject = child as UIComponent;
+ dispatchEvent(event);
+ }
+
+ /* if (child.hasEventListener(FlexEvent.ADD))
+ child.dispatchEvent(new FlexEvent(FlexEvent.ADD));*/
+
+ //why is this calling addingChild in the super?
+ // super.addingChild(child);
+ super.childAdded(child);
+
if (parent)
{
var oldMeasuredWidth:Number = measuredWidth;
@@ -1175,12 +1328,36 @@
}
}
+
+ /**
+ * @private
+ */
+ override mx_internal function removingChild(child:IUIBase):void
+ {
+ super.removingChild(child);
+
+ /* if (child.hasEventListener(FlexEvent.REMOVE))
+ child.dispatchEvent(new FlexEvent(FlexEvent.REMOVE));*/
+
+ if (hasEventListener(ChildExistenceChangedEvent.CHILD_REMOVE))
+ {
+ var event:ChildExistenceChangedEvent =
+ new ChildExistenceChangedEvent(
+ ChildExistenceChangedEvent.CHILD_REMOVE);
+ event.relatedObject = child as UIComponent;
+ dispatchEvent(event);
+ }
+ }
+
/**
* @private
*/
override mx_internal function childRemoved(child:IUIBase):void
{
- super.removingChild(child);
+ //why is this calling removingChild in the super?
+ //super.removingChild(child);
+
+ super.childRemoved(child);
if (parent)
{
var oldMeasuredWidth:Number = measuredWidth;
@@ -1701,9 +1878,10 @@
// don't have this property (ie Group).
// This style is an implementation detail and should be considered
// private. Do not set it from CSS.
- /*if (creationPolicyNone)
- return ContainerCreationPolicy.NONE;*/
- return getStyle("_creationPolicy");
+ if (creationPolicyNone)
+ return ContainerCreationPolicy.NONE;
+ //return getStyle("_creationPolicy");
+ return getStyle("_creationPolicy");
}
/**
@@ -1712,8 +1890,7 @@
public function set creationPolicy(value:String):void
{
var styleValue:String = value;
-
- /*if (value == ContainerCreationPolicy.NONE)
+ if (value == ContainerCreationPolicy.NONE)
{
// creationPolicy of none is not inherited by descendants.
// In this case, set the style to "auto" and set a local
@@ -1724,12 +1901,14 @@
else
{
creationPolicyNone = false;
- }*/
-
+ }
setStyle("_creationPolicy", styleValue);
//setActualCreationPolicies(value);
}
+
+
+ [Bindable("childrenChanged")]
/**
* Returns an Array of DisplayObject objects consisting of the content children
* of the container.
@@ -1799,6 +1978,25 @@
*/
return super.contentMouseY;
}
+
+ //----------------------------------
+ // deferredContentCreated
+ //----------------------------------
+
+ /**
+ * IDeferredContentOwner equivalent of processedDescriptors
+ *
+ * @see UIComponent#processedDescriptors
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get deferredContentCreated():Boolean
+ {
+ return processedDescriptors;
+ }
//----------------------------------
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IDeferredContentOwner.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IDeferredContentOwner.as
new file mode 100644
index 0000000..d9ca45f
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IDeferredContentOwner.as
@@ -0,0 +1,103 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.core
+{
+
+/**
+ * Dispatched after the content for this component has been created. With deferred
+ * instantiation, the content for a component can be created long after the
+ * component is created.
+ *
+ * @eventType mx.events.FlexEvent.CONTENT_CREATION_COMPLETE
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+[Event(name="contentCreationComplete", type="mx.events.FlexEvent")]
+
+/**
+ * The IDeferredContentOwner interface defines the properties and methods
+ * for deferred instantiation.
+ *
+ * @see spark.components.SkinnableContainer
+ * @see mx.core.Container
+ * @see mx.core.INavigatorContent
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+public interface IDeferredContentOwner extends IUIComponent
+{
+ [Inspectable(enumeration="auto, all, none", defaultValue="auto")]
+
+ /**
+ * Content creation policy for this component.
+ *
+ * <p>Possible values are:
+ * <ul>
+ * <li><code>auto</code> - Automatically create the content immediately before it is needed.</li>
+ * <li><code>all</code> - Create the content as soon as the parent component is created. This
+ * option should only be used as a last resort because it increases startup time and memory usage.</li>
+ * <li><code>none</code> - Content must be created manually by calling
+ * the <code>createDeferredContent()</code> method.</li>
+ * </ul>
+ * </p>
+ *
+ * <p>If no <code>creationPolicy</code> is specified for a container, that container inherits the value of
+ * its parent's <code>creationPolicy</code> property.</p>
+ *
+ * @default "auto"
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+ function get creationPolicy():String;
+ function set creationPolicy(value:String):void;
+
+ /**
+ * Create the content for this component. If the value of the <code>creationPolicy</code> property
+ * is <code>auto</code> or <code>all</code>, this the Flex framework calls this method. If the value of the
+ * <code>creationPolicy</code> property is <code>none</code>, you must explicitly call this method
+ * to create the content for the component.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+ function createDeferredContent():void;
+
+ /**
+ * A flag that indicates whether the deferred content has been created.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Flex 4
+ */
+ function get deferredContentCreated():Boolean;
+}
+
+}
\ No newline at end of file
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/INavigatorContent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/INavigatorContent.as
index 0733639..f5f8c22 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/INavigatorContent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/INavigatorContent.as
@@ -36,7 +36,7 @@
* @playerversion AIR 1.5
* @productversion Flex 4
*/
-public interface INavigatorContent extends IEventDispatcher,IUIComponent, IToolTipManagerClient // IDeferredContentOwner
+public interface INavigatorContent extends IEventDispatcher,IUIComponent,IDeferredContentOwner, IToolTipManagerClient
{
[Bindable("labelChanged")]
/**
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/LayoutElementUIComponentUtils.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/LayoutElementUIComponentUtils.as
index 7147d24..70ba5e2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/LayoutElementUIComponentUtils.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/LayoutElementUIComponentUtils.as
@@ -20,6 +20,7 @@
{
//import flash.geom.Matrix;
//import flash.geom.Matrix3D;
+ import org.apache.royale.core.ILayoutChild;
import org.apache.royale.geom.Point;
//import mx.utils.MatrixUtil;
@@ -588,5 +589,52 @@
obj.setActualSize(fitSize.x, fitSize.y);
*/
}
+
+ /**
+ * Set size of target based on size of child.
+ *
+ * This sets the proper explicitXX and percentXX values either way
+ * (parent from child, or child from parent). The values are
+ * different depending on which direction, but they are proper to
+ * handle all cases.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ public static function setSizeFromChild(target:ILayoutChild, child:ILayoutChild):void
+ {
+ setWidthFromChild(target, child);
+ setHeightFromChild(target, child);
+ }
+
+ public static function setWidthFromChild(target:ILayoutChild, child:ILayoutChild):void
+ {
+ if (!isNaN(child.percentWidth))
+ {
+ target.explicitWidth = NaN;
+ target.percentWidth = 100;
+ }
+ else
+ {
+ target.explicitWidth = child.explicitWidth;
+ target.percentWidth = NaN;
+ }
+ }
+
+ public static function setHeightFromChild(target:ILayoutChild, child:ILayoutChild):void
+ {
+ if (!isNaN(child.percentHeight))
+ {
+ target.explicitHeight = NaN;
+ target.percentHeight = 100;
+ }
+ else
+ {
+ target.explicitHeight = child.explicitHeight;
+ target.percentHeight = NaN;
+ }
+ }
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
index b37c5f6..7efdf5d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
@@ -39,6 +39,8 @@
import mx.controls.beads.ToolTipBead;
import mx.core.mx_internal;
+import mx.managers.IToolTipManagerClient;
+
COMPILE::SWF
{
import flash.display.DisplayObject;
@@ -761,7 +763,7 @@
IMXMLDocument,
IInvalidating,
IStatesObject,
- ISimpleStyleClient,
+ ISimpleStyleClient,IToolTipManagerClient,
IUIComponent, IVisualElement, IFlexModule, IValidatorListener
{
//--------------------------------------------------------------------------
@@ -1123,6 +1125,10 @@
if (value)
{
+ if (_needsLayout) {
+ //invalidateSize();
+ dispatchEvent(new Event('layoutNeeded'));
+ }
dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
}
}
@@ -1726,6 +1732,23 @@
{
_owner = value;
}
+
+ //----------------------------------
+ // automationOwner
+ //----------------------------------
+
+ /**
+ * @inheritDoc
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 4
+ */
+ public function get automationOwner():IUIComponent
+ {
+ return owner;
+ }
//----------------------------------
// doubleClickEnabled
@@ -1767,7 +1790,7 @@
public function set doubleClickEnabled(value:Boolean):void
{
// TODO
- trace("doubleClickEnabled not implemented");
+ if (doTraceNI) trace("doubleClickEnabled not implemented");
}
//----------------------------------
@@ -2686,16 +2709,21 @@
if (oldWidth.length)
this.positioner.style.width = "";
var mw:Number = this.positioner.offsetWidth;
- if (mw == 0 && numChildren > 0)
+ if (mw == 0 && _initialized && numChildren > 0)
{
// if children are aboslute positioned, offsetWidth can be 0 in Safari
for (var i:int = 0; i < numChildren; i++)
{
var child:IUIComponent = getChildAt(i);
- if (child) // child is null for TextNodes
+ //@todo investigate traces
+ if (child is IUIComponent) // child is null for TextNodes
mw = Math.max(mw, child.getExplicitOrMeasuredWidth());
- else
- trace("Child class not IUIComponent: " + getQualifiedClassName(getElementAt(i)));
+ else {
+ if (child is IUIBase) {
+ mw = Math.max(mw, child.width);
+ }
+ trace(getQualifiedClassName(this) + " Child class not IUIComponent: " + getQualifiedClassName(getElementAt(i)));
+ }
}
}
if (oldWidth.length)
@@ -2763,15 +2791,20 @@
if (oldHeight.length)
this.positioner.style.height = "";
var mh:Number = this.positioner.offsetHeight;
- if (mh == 0 && numChildren > 0)
+ if (mh == 0 && _initialized && numChildren > 0)
{
for (var i:int = 0; i < numChildren; i++)
{
var child:IUIComponent = getChildAt(i);
- if (child)
+ //@todo investigate traces
+ if (child is IUIComponent) // child is null for TextNodes
mh = Math.max(mh, child.getExplicitOrMeasuredHeight());
- else
- trace("Child class not IUIComponent: " + getQualifiedClassName(getElementAt(i)));
+ else {
+ if (child is IUIBase) {
+ mh = Math.max(mh, child.height);
+ }
+ trace(getQualifiedClassName(this) + " Child class not IUIComponent: " + getQualifiedClassName(getElementAt(i)));
+ }
}
}
if (oldHeight.length)
@@ -4006,8 +4039,8 @@
var n:int = arr.length;
var num:int = 0;
for (var i:int = 0; i < n; i++)
- {
- if ((arr[i] as WrappedHTMLElement).royale_wrapper)
+ { //@todo review issuses with internal native support that points to 'this' (2nd check below), can cause infinite recursion in measurement if avoided:
+ if ((arr[i] as WrappedHTMLElement).royale_wrapper && (arr[i] as WrappedHTMLElement).royale_wrapper != this)
num++;
}
return num;
@@ -4193,8 +4226,62 @@
*/
protected function initializationComplete():void
{
- dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
+ layoutDeferred = false;
+ processedDescriptors = true;
}
+
+ //----------------------------------
+ // processedDescriptors
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the processedDescriptors property.
+ */
+ private var _processedDescriptors:Boolean = false;
+
+ [Inspectable(environment="none")]
+
+ /**
+ * Set to <code>true</code> after immediate or deferred child creation,
+ * depending on which one happens. For a Container object, it is set
+ * to <code>true</code> at the end of
+ * the <code>createComponentsFromDescriptors()</code> method,
+ * meaning after the Container object creates its children from its child descriptors.
+ *
+ * <p>For example, if an Accordion container uses deferred instantiation,
+ * the <code>processedDescriptors</code> property for the second pane of
+ * the Accordion container does not become <code>true</code> until after
+ * the user navigates to that pane and the pane creates its children.
+ * But, if the Accordion had set the <code>creationPolicy</code> property
+ * to <code>"all"</code>, the <code>processedDescriptors</code> property
+ * for its second pane is set to <code>true</code> during application startup.</p>
+ *
+ * <p>For classes that are not containers, which do not have descriptors,
+ * it is set to <code>true</code> after the <code>createChildren()</code>
+ * method creates any internal component children.</p>
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get processedDescriptors():Boolean
+ {
+ return _processedDescriptors;
+ }
+
+ /**
+ * @private
+ */
+ public function set processedDescriptors(value:Boolean):void
+ {
+ _processedDescriptors = value;
+
+ if (value)
+ dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
+ }
+
/**
* Create child objects of the component.
@@ -4221,9 +4308,16 @@
*/
protected function createChildren():void
{
- MXMLDataInterpreter.generateMXMLInstances(mxmlDocument, this, MXMLDescriptor);
+ var children:Array = this.MXMLDescriptor;
+ if (children && children.length && !processedMXMLDescriptors) {
+ layoutDeferred = true;
+ MXMLDataInterpreter.generateMXMLInstances(mxmlDocument, this, children);
+ processedMXMLDescriptors = true;
+ }
}
-
+
+ private var processedMXMLDescriptors : Boolean;
+
private var _mxmlDescriptor:Array;
/**
@@ -4340,6 +4434,85 @@
(parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded")); // might cause too many layouts
}
+ private var _layoutDeferred:Boolean;
+ /**
+ * Support for deferred layout requests
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.9
+ */
+ protected function get layoutDeferred():Boolean{
+ return _layoutDeferred
+ }
+ protected function set layoutDeferred(value:Boolean):void{
+ _layoutDeferred = value;
+ if (!value && _needsLayout) {
+ dispatchEvent(new Event('layoutNeeded'));
+ }
+ }
+ private var _needsLayout:Boolean;
+ /**
+ * Support for deferred layout requests
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.9
+ */
+ protected function get needsLayout():Boolean{
+ return _needsLayout;
+ }
+
+ /**
+ * Support for deferred layout requests
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.9
+ */
+ COMPILE::JS
+ override public function dispatchEvent(event:Object):Boolean{
+ //trap the layout requests and ignore them if we have deferred layout
+ if (event.type == "layoutNeeded" || event == 'layoutNeeded') {
+ if (_layoutDeferred) {
+ _needsLayout = true;
+ return false;
+ } else {
+ //layout will run, no 'need' to re-run later
+ _needsLayout = false;
+ }
+ }
+ return super.dispatchEvent(event);
+ }
+ /**
+ * Support for deferred layout requests
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.9
+ */
+ COMPILE::SWF
+ {
+ [SWFOverride(params="flash.events.Event", altparams="org.apache.royale.events.Event:org.apache.royale.events.MouseEvent")]
+ override public function dispatchEvent(event:Event):Boolean {
+ //trap the layout requests and ignore them if we have deferred layout
+ if (event.type == "layoutNeeded") {
+ if (_layoutDeferred) {
+ _needsLayout = true;
+ return false;
+ } else {
+ //layout will run, no 'need' to re-run later
+ _needsLayout = false;
+ }
+ }
+ return super.dispatchEvent(event);
+ }
+ }
+
/**
* Helper method to invalidate parent size and display list if
* this object affects its layout (includeInLayout is true).
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UITextField.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UITextField.as
index e2fc885..f8eaf59 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UITextField.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UITextField.as
@@ -38,6 +38,7 @@
import mx.styles.ISimpleStyleClient;
import mx.styles.IStyleManager2;
import mx.utils.StringUtil;
+ import mx.core.IUIComponent;
import org.apache.royale.core.TextLineMetrics;
import org.apache.royale.events.Event;
@@ -2833,7 +2834,7 @@
/**
* @private
*/
- //private var _owner:DisplayObjectContainer;
+ private var _owner:IUIComponent; /* DisplayObjectContainer; */
/**
* By default, set to the parent container of this object.
@@ -2854,17 +2855,18 @@
* @playerversion AIR 1.1
* @productversion Royale 0.9.3
*/
- /* public function get owner():DisplayObjectContainer
+ override public function get owner():IUIComponent
{
- return _owner ? _owner : parent;
+ return _owner ? _owner : parent as IUIComponent;
}
- public function set owner(value:DisplayObjectContainer):void
+ override public function set owner(value:IUIComponent):void
{
_owner = value;
}
- private function creatingSystemManager():ISystemManager
+
+ /* private function creatingSystemManager():ISystemManager
{
return ((moduleFactory != null) && (moduleFactory is ISystemManager))
? ISystemManager(moduleFactory)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
index da78766..8853fba 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
@@ -98,6 +98,8 @@
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.geom.Rectangle;
+import mx.utils.RoyaleUtil;
+
//--------------------------------------
// Events
//--------------------------------------
@@ -3736,8 +3738,15 @@
{ override }
public function getChildByName(name:String):IUIComponent
{
- trace("getChildByName not implemented");
- return null;
+ COMPILE::SWF
+ {
+ return super.getChildByName(name) as IUIComponent;
+ }
+ COMPILE::JS
+ {
+ return RoyaleUtil.childByName(this, name);
+ }
+
}
/**
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/supportClasses/ButtonItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/supportClasses/ButtonItemRenderer.as
index 70e2405..2596ce3 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/supportClasses/ButtonItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/supportClasses/ButtonItemRenderer.as
@@ -18,11 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package mx.supportClasses
{
- import org.apache.royale.core.IItemRenderer;
- import org.apache.royale.core.IItemRendererOwnerView;
- import org.apache.royale.core.UIBase;
- import org.apache.royale.core.SimpleCSSStylesWithFlex;
- import org.apache.royale.events.Event;
+ import org.apache.royale.core.IHasLabelField;
import org.apache.royale.events.MouseEvent;
import org.apache.royale.html.beads.ITextItemRenderer;
import org.apache.royale.events.ItemClickedEvent;
@@ -43,7 +39,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.9.8
*/
- public class ButtonItemRenderer extends Button implements ITextItemRenderer
+ public class ButtonItemRenderer extends Button implements ITextItemRenderer, IHasLabelField
{
public function ButtonItemRenderer()
{
diff --git a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as
index 2281d22..940e074 100644
--- a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as
@@ -324,7 +324,7 @@
* @playerversion AIR 1.1
* @productversion Flex 4
*/
- //public static const CONTENT_CREATION_COMPLETE:String = "contentCreationComplete";
+ public static const CONTENT_CREATION_COMPLETE:String = "contentCreationComplete";
/**
diff --git a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
index 42337a0..a6e2d81 100644
--- a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
@@ -18,7 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package mx.utils
{
-
+import mx.core.IUIComponent;
+import mx.core.IChildList;
COMPILE::SWF{
@@ -33,6 +34,8 @@
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.9
+ *
+ * @royalesuppressexport
*/
public class RoyaleUtil
{
@@ -72,6 +75,18 @@
private static var deferreds:Array = [];
+
+ COMPILE::JS
+ public static function childByName(parent:IChildList, name:String):IUIComponent{
+ var i:uint = 0;
+ var l:uint = parent.numChildren;
+ for (;i<l;i++) {
+ var child:IUIComponent = parent.getChildAt(i);
+ if (child && child.name == name) return child;
+ }
+ return null;
+ }
+
}
}
diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/TabBar.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/TabBar.as
index 4da4593..96afb9d 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/TabBar.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/TabBar.as
@@ -27,6 +27,7 @@
import org.apache.royale.html.util.addElementToWrapper;
import org.apache.royale.core.CSSClassList;
}
+ import org.apache.royale.core.IHasLabelField;
/**
* The Material Design Lite (MDL) tab bar component is a user interface element that allows
@@ -48,7 +49,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.8
*/
- public class TabBar extends org.apache.royale.html.List
+ public class TabBar extends org.apache.royale.html.List implements IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Tabs.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Tabs.as
index e677fd7..0de270b 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Tabs.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Tabs.as
@@ -27,6 +27,7 @@
import org.apache.royale.html.util.addElementToWrapper;
import org.apache.royale.core.CSSClassList;
}
+ import org.apache.royale.core.IHasLabelField;
/**
* The Material Design Lite (MDL) tab component is a user interface element that allows
@@ -45,7 +46,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.8
*/
- public class Tabs extends org.apache.royale.html.List
+ public class Tabs extends org.apache.royale.html.List implements IHasLabelField
{
/**
* constructor.
diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
index 22babf4..74bb8cf 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
@@ -35,6 +35,7 @@
import org.apache.royale.events.Event;
import org.apache.royale.mdl.supportClasses.ITabItemRenderer;
import org.apache.royale.utils.loadBeadFromValuesManager;
+ import org.apache.royale.core.IHasLabelField;
[Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
@@ -48,7 +49,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.8
*/
- public class TabsItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
+ public class TabsItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper, IHasLabelField
{
public function TabsItemRendererFactoryForArrayData(target:Object = null)
{
@@ -57,7 +58,15 @@
protected var dataProviderModel:ITabModel;
- protected var labelField:String;
+ protected var _labelField:String;
+ /**
+ * Label field
+ */
+ public function get labelField():String
+ {
+ return _labelField;
+ }
+
protected var tabsIdField:String;
private var _strand:IStrand;
@@ -94,7 +103,7 @@
dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
tabsIdField = dataProviderModel.tabIdField;
- labelField = dataProviderModel.labelField
+ _labelField = dataProviderModel.labelField
dataProviderChangeHandler(null);
}
diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as
index 5eb66e5..2b15602 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as
@@ -33,6 +33,7 @@
import org.apache.royale.mdl.supportClasses.ITabItemRenderer;
import org.apache.royale.mdl.beads.models.ITabModel;
+ import org.apache.royale.core.IHasLabelField;
/**
* The ListItemRendererInitializer class initializes item renderers
@@ -43,7 +44,7 @@
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class TabsItemRendererInitializer extends Bead implements IIndexedItemRendererInitializer
+ public class TabsItemRendererInitializer extends Bead implements IIndexedItemRendererInitializer, IHasLabelField
{
/**
* constructor.
@@ -59,7 +60,12 @@
protected var presentationModel:IListPresentationModel;
protected var dataProviderModel:IDataProviderModel;
- protected var labelField:String;
+ protected var _labelField:String;
+
+ public function get labelField():String
+ {
+ return _labelField;
+ }
protected var tabsIdField:String;
/**
@@ -77,7 +83,7 @@
_strand = value;
var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
- labelField = dataProviderModel.labelField;
+ _labelField = dataProviderModel.labelField;
var model:ITabModel = _strand.getBeadByType(ITabModel) as ITabModel;
tabsIdField = model.tabIdField;
}
diff --git a/frameworks/projects/SparkRoyale/asconfig.json b/frameworks/projects/SparkRoyale/asconfig.json
index cca6ca6..a6aa346 100644
--- a/frameworks/projects/SparkRoyale/asconfig.json
+++ b/frameworks/projects/SparkRoyale/asconfig.json
@@ -32,10 +32,30 @@
"source-path": [
"src/main/royale"
],
+ "js-external-library-path": [
+ "../../js/libs/MXRoyaleJS.swc",
+ "../../js/libs/MXRoyaleBaseJS.swc"
+ ],
"external-library-path": [
- "../../../../frameworks/libs/air/airglobal.swc"
+ "../../../../frameworks/libs/air/airglobal.swc",
+ "../../libs/MXRoyale.swc",
+ "../../libs/MXRoyaleBase.swc"
+
+ ],
+ "namespace": [
+ {
+ "uri": "library://ns.apache.org/royale/spark",
+ "manifest": "src/main/resources/spark-royale-manifest.xml"
+ }
],
"output": "target/SparkRoyale.swc"
},
- "additionalOptions": "-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject -js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent -js-compiler-define+=COMPILE::SWF,false -js-compiler-define+=COMPILE::JS,true"
-}
\ No newline at end of file
+ "additionalOptions": [
+ "-compiler.define+=GOOG::DEBUG,true",
+ "-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject",
+ "-js-compiler-define+=GOOG::DEBUG,goog.DEBUG",
+ "-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent",
+ "-js-compiler-define+=COMPILE::SWF,false",
+ "-js-compiler-define+=COMPILE::JS,true"
+ ]
+}
diff --git a/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml b/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
index 95c1a86..6103149 100644
--- a/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
@@ -39,6 +39,7 @@
<path-element>../../../../../libs/DragDrop.swc</path-element>
<path-element>../../../../../libs/HTML.swc</path-element>
<path-element>../../../../../libs/MXRoyale.swc</path-element>
+ <path-element>../../../../../libs/MXRoyaleBase.swc</path-element>
<path-element>../../../../../libs/Reflection.swc</path-element>
<path-element>../../../../../libs/Text.swc</path-element>
<path-element>../../../../../libs/TLF.swc</path-element>
diff --git a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
index 1b4de88..88c7d29 100644
--- a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
@@ -70,7 +70,7 @@
{
IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.DataItemRendererFactoryForIListData");
IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionIListModel");
- IBeadView: ClassReference("spark.components.beads.DataContainerView");
+ IBeadView: ClassReference("spark.components.beads.SparkDataContainerView");
IBeadLayout: ClassReference("spark.layouts.supportClasses.SparkLayoutBead");
IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory");
IItemRenderer: ClassReference("spark.components.beads.SelfItemRenderer");
@@ -83,7 +83,7 @@
{
IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.VirtualDataItemRendererFactoryForIListData");
IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionIListModel");
- IBeadView: ClassReference("mx.containers.beads.VirtualListView");
+ IBeadView: ClassReference("spark.components.beads.VirtualListView");
IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VirtualListVerticalLayout");
IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
@@ -98,33 +98,17 @@
{
IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.DataItemRendererFactoryForIListData");
IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionIListModel");
- IBeadView: ClassReference("org.apache.royale.html.beads.DataContainerView");
+ IBeadView: ClassReference("spark.components.beads.SparkDataContainerView");
IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("spark.layouts.HorizontalLayout");
IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
IItemRenderer: ClassReference("spark.components.supportClasses.SparkTextButtonItemRenderer");
- IItemRendererInitializer: ClassReference("mx.controls.beads.ListItemRendererInitializer");
+ IItemRendererInitializer: ClassReference("spark.components.beads.TabBarItemRendererInitializer");
ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
IViewport: ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel");
}
-/* not used
-NonVirtualVDataGroup
-{
- IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.DataItemRendererFactoryForIListData");
- IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionIListModel");
- IBeadView: ClassReference("org.apache.royale.html.beads.DataContainerView");
- IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout");
- IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
- IItemRenderer: ClassReference("mx.controls.listClasses.ListItemRenderer");
- IItemRendererInitializer: ClassReference("mx.controls.beads.ListItemRendererInitializer");
- ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
- IViewport: ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
- IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel");
-} */
-
DropDownList
{
IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionIListModel");
@@ -165,7 +149,7 @@
Panel
{
IBeadModel: ClassReference("mx.containers.beads.models.PanelModel");
- IViewport: ClassReference("spark.components.beads.SparkSkinViewport");
+ IViewport: ClassReference("spark.components.beads.SparkSkinScrollingViewport");
skinClass: ClassReference("spark.skins.spark.PanelSkin");
background-color: #FFFFFF;
diff --git a/frameworks/projects/SparkRoyale/src/main/resources/spark-royale-manifest.xml b/frameworks/projects/SparkRoyale/src/main/resources/spark-royale-manifest.xml
index d4df984..cd08390 100644
--- a/frameworks/projects/SparkRoyale/src/main/resources/spark-royale-manifest.xml
+++ b/frameworks/projects/SparkRoyale/src/main/resources/spark-royale-manifest.xml
@@ -145,7 +145,6 @@
<component id="Sort" class="spark.collections.Sort"/>
<component id="SortField" class="spark.collections.SortField"/>
<component id="CollectionChangeUpdateForArrayListData" class="spark.components.beads.CollectionChangeUpdateForArrayListData" />
- <component id="TabBarSelectionUpdateFromSelectableDataProvider" class="spark.components.beads.TabBarSelectionUpdateFromSelectableDataProvider"/>
<component id="SelfItemRenderer" class="spark.components.beads.SelfItemRenderer"/>
<component id="SimpleMotionPath" class="spark.effects.animation.SimpleMotionPath"/>
<component id="DateTimeFormatter" class="spark.formatters.DateTimeFormatter"/>
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/SparkRoyaleClasses.as b/frameworks/projects/SparkRoyale/src/main/royale/SparkRoyaleClasses.as
index 1d834c2..90b5722 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/SparkRoyaleClasses.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/SparkRoyaleClasses.as
@@ -84,18 +84,20 @@
import spark.components.SkinnablePopUpContainer; SkinnablePopUpContainer;
import spark.components.beads.PanelView; PanelView;
- import spark.components.beads.DataContainerView; DataContainerView;
import spark.components.beads.GroupView; GroupView;
import spark.components.beads.SkinnableContainerView; SkinnableContainerView;
import spark.components.beads.SkinnableDataContainerView; SkinnableDataContainerView;
+ import spark.components.beads.SparkSkinViewport; SparkSkinViewport;
import spark.components.beads.SparkSkinScrollingViewport; SparkSkinScrollingViewport;
import spark.components.beads.SparkSkinWithClipAndEnableScrollingViewport; SparkSkinWithClipAndEnableScrollingViewport;
+ import spark.components.beads.VirtualListView; VirtualListView;
import spark.components.beads.CollectionChangeUpdateForArrayListData; CollectionChangeUpdateForArrayListData;
- import spark.components.beads.TabBarSelectionUpdateFromSelectableDataProvider; TabBarSelectionUpdateFromSelectableDataProvider;
import spark.components.beads.DropDownListView; DropDownListView;
import spark.components.beads.TitleWindowView; TitleWindowView;
import spark.components.beads.controllers.DropDownListController; DropDownListController;
import spark.components.beads.controllers.TabBarController; TabBarController;
+ import spark.components.beads.SelfItemRendererInitializer; SelfItemRendererInitializer;
+ import spark.components.beads.TabBarItemRendererInitializer; TabBarItemRendererInitializer;
import spark.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer; MXAdvancedDataGridItemRenderer;
import spark.events.DropDownEvent; DropDownEvent;
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
index 90dd0b9..93bd89e 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
@@ -63,6 +63,7 @@
import mx.core.mx_internal;
import mx.core.FlexGlobals;
+import mx.core.IUIComponent;
import mx.events.utils.MouseEventConverter;
import mx.managers.ISystemManager;
@@ -85,6 +86,7 @@
import org.apache.royale.core.ValuesManager;
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.reflection.beads.ClassAliasBead;
+import spark.core.ISparkLayoutHost;
use namespace mx_internal;
@@ -2336,14 +2338,29 @@
return _softKeyboardRect;
}*/
- override public function setActualSize(w:Number, h:Number):void
- {
- super.setActualSize(w, h);
- if (!skin) {
- ((view as ILayoutHost).contentView as Group).width = w;
- ((view as ILayoutHost).contentView as Group).height = h;
+ override public function setActualSize(w:Number, h:Number):void
+ {
+ super.setActualSize(w, h);
+
+ var lh:ISparkLayoutHost = getLayoutHost() as ISparkLayoutHost;
+ var g:IUIComponent = (lh ? lh.displayView as IUIComponent : null);
+ if (g && g != this)
+ {
+ // TODO: If Applicaiton has no explicit or percent sizes, then
+ // this function is used to set the default size of the app.
+ // Unfortunatley, setActualSize() [non-explicit width/height]
+ // is overridden during LayoutBase.layout() when it gets
+ // measured sizes. So legacy code has this function
+ // setting explicit sizes on contentView (and now displayView).
+ // This is not ideal, since displayView then has explicit sizes
+ // that always stick (hence, why this function doesn't do it
+ // in SkinnableContainerBase).
+ //
+// g.setActualSize(w, h);
+ g.width = w;
+ g.height = h;
+ }
}
- }
//--------------------------------------------------------------------------
//
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/DataRenderer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/DataRenderer.as
index 4c3beae..275f88a 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/DataRenderer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/DataRenderer.as
@@ -27,6 +27,7 @@
import org.apache.royale.core.ISelectableItemRenderer;
import org.apache.royale.core.ValuesManager;
import org.apache.royale.events.Event;
+import org.apache.royale.core.IHasLabelField;
//import org.apache.royale.events.EventDispatcher;
/**
@@ -65,7 +66,7 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
-public class DataRenderer extends Group implements IDataRenderer
+public class DataRenderer extends Group implements IDataRenderer, IHasLabelField
{
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Grid.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Grid.as
index 276c35a..e5170265 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Grid.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Grid.as
@@ -6022,13 +6022,13 @@
return 0;
}
- public function set processedDescriptors(value:Boolean):void {
+ /*public function set processedDescriptors(value:Boolean):void {
}
public function get processedDescriptors():Boolean {
return false;
- }
+ }*/
public function set updateCompletePendingFlag(value:Boolean):void {
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/List.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/List.as
index e20ea63..05ea745 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/List.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/List.as
@@ -61,9 +61,11 @@
import org.apache.royale.html.beads.SingleSelectionDropIndicatorBead;
import mx.managers.IFocusManagerComponent;
import spark.components.supportClasses.ListBase;
+import spark.layouts.VerticalLayout;
import mx.core.mx_internal;
import mx.core.UIComponent;
use namespace mx_internal;
+
[Event(name="dragComplete", type="mx.events.DragEvent")]
//--------------------------------------
// Styles
@@ -424,7 +426,9 @@
public function List()
{
super();
-
+ layout = new VerticalLayout();
+ VerticalLayout(layout).gap = 0;
+
typeNames += " List";
/* useVirtualLayout = true;
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
index df4140f..8694745 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
@@ -37,7 +37,7 @@
import spark.components.supportClasses.SkinnableContainerBase;
import spark.components.supportClasses.SkinnableComponent;
import spark.components.supportClasses.GroupBase;
-import spark.components.beads.SkinnableContainerView;
+import spark.core.ISparkContainer;
import spark.layouts.supportClasses.LayoutBase;
import spark.layouts.BasicLayout;
@@ -52,7 +52,6 @@
import org.apache.royale.core.IContainer;
import org.apache.royale.core.IContainerBaseStrandChildrenHost;
import org.apache.royale.core.ILayoutHost;
-import org.apache.royale.core.ILayoutParent;
import org.apache.royale.core.IParent;
import org.apache.royale.core.ValuesManager;
import org.apache.royale.events.ValueEvent;
@@ -368,8 +367,8 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
-public class SkinnableContainer extends SkinnableContainerBase implements IContainer, IContainerBaseStrandChildrenHost, ILayoutParent
-{// SkinnableContainerBase
+public class SkinnableContainer extends SkinnableContainerBase implements IContainer, IContainerBaseStrandChildrenHost, ISparkContainer
+{
// implements IDeferredContentOwner, IVisualElementContainer
// include "../core/Version.as";
@@ -409,20 +408,6 @@
typeNames = "SkinnableContainer";
}
- /**
- * Returns the ILayoutHost which is its view. From ILayoutParent.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.8
- */
- public function getLayoutHost():ILayoutHost
- {
- return view as ILayoutHost;
- }
-
-
//----------------------------------
// textDecoration
//----------------------------------
@@ -660,14 +645,11 @@
? contentGroup.layout
: contentGroupProperties.layout;
*/
- //if (!_layout)
- // _layout = new BasicLayout();
return _layout;
}
/**
* @private
- * @royaleignorecoercion spark.components.beads.SkinnableContainerView
* @royaleignorecoercion spark.components.supportClasses.GroupBase
*/
public function set layout(value:LayoutBase):void
@@ -685,9 +667,9 @@
_layout = value;
if (getBeadByType(IBeadView))
{
- ((view as SkinnableContainerView).contentView as GroupBase).layout = value;
+ (getLayoutHost().contentView as GroupBase).layout = value;
if (parent)
- ((view as SkinnableContainerView).contentView as GroupBase).dispatchEvent(new Event("layoutNeeded"));
+ (getLayoutHost().contentView as GroupBase).dispatchEvent(new Event("layoutNeeded"));
}
}
@@ -914,7 +896,7 @@
{
if (skin)
{
- var skinDispatcher:IEventDispatcher = (view as SkinnableContainerView).contentView as IEventDispatcher;
+ var skinDispatcher:IEventDispatcher = getLayoutHost().contentView as IEventDispatcher;
skinDispatcher.dispatchEvent(new ValueEvent("childrenAdded"));
}
dispatchEvent(new ValueEvent("childrenAdded"));
@@ -991,9 +973,7 @@
dispatchEvent(new Event("beadsAdded"));
dispatchEvent(new Event("initComplete"));
- if ((isHeightSizedToContent() || !isNaN(explicitHeight)) &&
- (isWidthSizedToContent() || !isNaN(explicitWidth)))
- dispatchEvent(new Event("layoutNeeded"));
+ dispatchEvent(new Event("layoutNeeded"));
}
@@ -1200,21 +1180,21 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
- /* public function createDeferredContent():void
- {
+ public function createDeferredContent():void
+ { //@todo similar fix as mx Container for creationPolicy NONE (at least)
var children:Array = this.MXMLDescriptor;
if (children)
{
- creatingDeferredContent = true;
+ /*creatingDeferredContent = true;
generateMXMLInstances(document, children);
creatingDeferredContent = false;
mxmlContentCreated = true; // keep the code from recursing back into here.
_deferredContentCreated = true;
- dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
+ dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));*/
return;
}
- if (!mxmlContentCreated)
+ /*if (!mxmlContentCreated)
{
mxmlContentCreated = true;
@@ -1225,11 +1205,11 @@
_deferredContentCreated = true;
dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
}
- }
+ }*/
}
-
+ //@todo similar fix as mx for creationPolicy NONE (at least)
private var _deferredContentCreated:Boolean;
- */
+
/**
* Contains <code>true</code> if deferred content has been created.
*
@@ -1238,10 +1218,10 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
- /* public function get deferredContentCreated():Boolean
+ public function get deferredContentCreated():Boolean
{
return _deferredContentCreated;
- } */
+ }
/**
* @private
@@ -1318,7 +1298,7 @@
override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
{
var contentView:IParent = getLayoutHost().contentView as IParent;
- if (c == contentView)
+ if (c == contentView || c == skin)
{
super.addElement(c); // ContainerView uses addElement to add inner contentView
if (c == skin)
@@ -1470,7 +1450,6 @@
{
return super.getElementAt(index);
}
-
}
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableDataContainer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableDataContainer.as
index 95267fe..466cea5 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableDataContainer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableDataContainer.as
@@ -31,9 +31,7 @@
import spark.components.supportClasses.SkinnableContainerBase;
import spark.components.supportClasses.GroupBase;
-import spark.components.beads.SkinnableDataContainerView;
-import spark.components.beads.SparkDataContainerView;
-import spark.core.IViewport;
+import spark.core.ISparkContainer;
//import spark.events.RendererExistenceEvent;
import spark.layouts.supportClasses.LayoutBase;
@@ -51,7 +49,6 @@
import org.apache.royale.core.IBeadView;
import org.apache.royale.core.IChild;
import org.apache.royale.core.ILayoutHost;
-import org.apache.royale.core.ILayoutParent;
import org.apache.royale.core.IParent;
import org.apache.royale.core.ItemRendererClassFactory;
import org.apache.royale.core.ValuesManager;
@@ -230,7 +227,7 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.8
*/
-public class SkinnableDataContainer extends SkinnableContainerBase implements IItemRendererProvider, IStrandWithPresentationModel, ILayoutParent
+public class SkinnableDataContainer extends SkinnableContainerBase implements IItemRendererProvider, IStrandWithPresentationModel, ISparkContainer
{ //implements IItemRendererOwner
//include "../core/Version.as";
@@ -292,20 +289,6 @@
/**
- * Returns the ILayoutHost which is its view. From ILayoutParent.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.8
- */
- public function getLayoutHost():ILayoutHost
- {
- return view as ILayoutHost;
- }
-
-
- /**
* The presentation model for the list.
*
* @langversion 3.0
@@ -440,7 +423,6 @@
* @productversion Royale 0.9.8
*
* @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkDataContainerView
*/
[Bindable("dataProviderChanged")]
[Inspectable(category="Data")]
@@ -451,13 +433,12 @@
? dataGroup.dataProvider
: dataGroupProperties.dataProvider; */
- return ((view as SparkDataContainerView).contentView as DataGroup).dataProvider;
+ return (getLayoutHost().contentView as DataGroup).dataProvider;
}
/**
* @private
* @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkDataContainerView
*/
public function set dataProvider(value:IList):void
{
@@ -471,27 +452,9 @@
dataGroupProperties.dataProvider = value;
dispatchEvent(new Event("dataProviderChanged")); */
- if (isWidthSizedToContent() || isHeightSizedToContent())
- ((view as SparkDataContainerView).contentView as DataGroup).addEventListener("itemsCreated", itemsCreatedHandler);
- ((view as SparkDataContainerView).contentView as DataGroup).dataProvider = value;
+ (getLayoutHost().contentView as DataGroup).dataProvider = value;
}
- private function itemsCreatedHandler(event:Event):void
- {
- if (parent)
- {
- COMPILE::JS
- {
- // clear last width/height so elements size to content
- element.style.width = "";
- element.style.height = "";
- ((view as SparkDataContainerView).contentView as DataGroup).element.style.width = "";
- ((view as SparkDataContainerView).contentView as DataGroup).element.style.height = "";
- }
- (parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
- }
- }
-
//----------------------------------
// itemRenderer
//----------------------------------
@@ -513,7 +476,7 @@
? dataGroup.itemRenderer
: dataGroupProperties.itemRenderer; */
- return ((view as SparkDataContainerView).contentView as DataGroup).itemRenderer;
+ return (getLayoutHost().contentView as DataGroup).itemRenderer;
}
/**
@@ -531,10 +494,10 @@
else
dataGroupProperties.itemRenderer = value; */
- ((view as SparkDataContainerView).contentView as DataGroup).itemRenderer = value;
+ (getLayoutHost().contentView as DataGroup).itemRenderer = value;
// the ItemRendererFactory was already put on the DataGroup's strand and
// determined which factory to use so we have to set it up later here.
- var factory:ItemRendererClassFactory = ((view as SparkDataContainerView).contentView as DataGroup).getBeadByType(ItemRendererClassFactory) as ItemRendererClassFactory;
+ var factory:ItemRendererClassFactory = (getLayoutHost().contentView as DataGroup).getBeadByType(ItemRendererClassFactory) as ItemRendererClassFactory;
factory.createFunction = factory.createFromClass;
factory.itemRendererFactory = value;
}
@@ -601,15 +564,12 @@
? dataGroup.layout
: dataGroupProperties.layout;
*/
- //if (!_layout)
- // _layout = new BasicLayout();
return _layout;
}
/**
* @private
* @royaleignorecoercion spark.components.GroupBase
- * @royaleignorecoercion spark.components.beads.SparkDataContainerView
*/
public function set layout(value:LayoutBase):void
{
@@ -626,9 +586,9 @@
_layout = value;
if (getBeadByType(IBeadView))
{
- ((view as SkinnableDataContainerView).contentView as GroupBase).layout = value;
+ (getLayoutHost().contentView as GroupBase).layout = value;
if (parent)
- ((view as SkinnableDataContainerView).contentView as GroupBase).dispatchEvent(new Event("layoutNeeded"));
+ (getLayoutHost().contentView as GroupBase).dispatchEvent(new Event("layoutNeeded"));
}
}
@@ -948,13 +908,9 @@
/**
* @private
* @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkDataContainerView
*/
override public function addedToParent():void
{
-// if (!getBeadByType(IBeadLayout))
-// addBead(new VerticalLayout());
-
if (!initialized) {
// each MXML file can also have styles in fx:Style block
ValuesManager.valuesImpl.init(this);
@@ -967,15 +923,10 @@
dispatchEvent(new Event("beadsAdded"));
dispatchEvent(new Event("initComplete"));
- if ((isHeightSizedToContent() || !isNaN(explicitHeight)) &&
- (isWidthSizedToContent() || !isNaN(explicitWidth)))
- dispatchEvent(new Event("layoutNeeded"));
+ dispatchEvent(new Event("layoutNeeded"));
-// ((view as SparkDataContainerView).contentView as DataGroup).addEventListener("change", redispatcher);
- ((view as SparkDataContainerView).contentView as DataGroup).addEventListener("itemClick", redispatcher);
- ((view as SparkDataContainerView).contentView as DataGroup).addEventListener("doubleClick", redispatcher);
-
- setActualSize(getExplicitOrMeasuredWidth(), getExplicitOrMeasuredHeight());
+ (getLayoutHost().contentView as DataGroup).addEventListener("itemClick", redispatcher);
+ (getLayoutHost().contentView as DataGroup).addEventListener("doubleClick", redispatcher);
}
override protected function createChildren():void
@@ -988,12 +939,6 @@
dispatchEvent(new Event("initBindings"));
}
- override public function setActualSize(w:Number, h:Number):void
- {
- super.setActualSize(w, h);
- ((view as SparkDataContainerView).contentView as DataGroup).setActualSize(w, h);
- }
-
private function redispatcher(event:Event):void
{
dispatchEvent(new Event(event.type));
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TabBar.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TabBar.as
index 4148226..2f1a8aa 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TabBar.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TabBar.as
@@ -44,6 +44,7 @@
import org.apache.royale.core.ILayoutHost;
import org.apache.royale.core.IStrand;
import mx.core.IUIComponent;
+
/**
* Defines the radius of the TabBar buttons' top-left and top-right corners for the default
* TabBarButton skin.
@@ -189,16 +190,5 @@
if (TabBar.createAccessibilityImplementation != null)
TabBar.createAccessibilityImplementation(this);
} */
-
- override public function get measuredWidth():Number
- {
- var contentView:IUIComponent = (this.view as ILayoutHost).contentView as IUIComponent;
- if (contentView)
- {
- (contentView.getBeadByType(LayoutBase) as LayoutBase).measure();
- measuredWidth = contentView.measuredWidth;
- }
- return super.measuredWidth;
- }
}
}
\ No newline at end of file
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/DataContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/DataContainerView.as
deleted file mode 100644
index 96f3c71..0000000
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/DataContainerView.as
+++ /dev/null
@@ -1,52 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package spark.components.beads
-{
- import spark.events.RendererExistenceEvent;
- import org.apache.royale.utils.sendStrandEvent;
- import org.apache.royale.html.beads.DataContainerView;
- import org.apache.royale.core.IItemRenderer;
- import mx.core.IVisualElement;
-
-
- /**
- * The DataContainerView provides the visual elements for the DataContainer.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- */
- public class DataContainerView extends org.apache.royale.html.beads.DataContainerView
- {
- public function DataContainerView()
- {
- super();
- }
-
- override protected function dispatchItemAdded(renderer:IItemRenderer):void
- {
- super.dispatchItemAdded(renderer);
- var newEvent:RendererExistenceEvent = new RendererExistenceEvent(RendererExistenceEvent.RENDERER_ADD, false, false, renderer as IVisualElement);
- sendStrandEvent(_strand,newEvent);
- }
-
- }
-}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/GroupView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/GroupView.as
index 619c5b2..7f88751 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/GroupView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/GroupView.as
@@ -68,27 +68,9 @@
override public function beforeLayout():Boolean
{
var host:GroupBase = _strand as GroupBase;
- // some Groups have left/right but are still sized to content.
- // the left/right create padding instead. So instead of
- // isWidthSizedToContent, we only check explicit
- if (!(!isNaN(host.explicitWidth) && !isNaN(host.explicitHeight)))
+ if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
{
- var lastMeasuredWidth:Number = host.measuredWidth;
- var lastMeasuredHeight:Number = host.measuredHeight;
host.layout.measure();
- if (lastMeasuredWidth != host.measuredWidth ||
- lastMeasuredHeight != host.measuredHeight)
- {
- if (!(host.isWidthSizedToContent() || host.isHeightSizedToContent()))
- {
- // afterlayout is not going to run layout, but might
- // need one if percentages are involved
- if (!isNaN(host.percentWidth) || !isNaN(host.percentHeight))
- {
- (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
- }
- }
- }
}
return true;
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SelfItemRendererInitializer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SelfItemRendererInitializer.as
index ab4fa04..2ec5555 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SelfItemRendererInitializer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SelfItemRendererInitializer.as
@@ -19,6 +19,7 @@
package spark.components.beads
{
+ import mx.core.LayoutElementUIComponentUtils;
import org.apache.royale.core.Bead;
import org.apache.royale.core.IChild;
import org.apache.royale.core.IItemRenderer;
@@ -60,23 +61,17 @@
var sir:SelfItemRenderer = renderer as SelfItemRenderer;
if (sir == null) return;
- var plc:ILayoutChild = sir.parent as ILayoutChild;
var clc:ILayoutChild = child as ILayoutChild;
- if (plc && clc)
+ if (clc)
{
- sir.explicitWidth = NaN;
- sir.percentWidth = NaN;
- if (!plc.isWidthSizedToContent() && !clc.isWidthSizedToContent()) sir.percentWidth = 100;
- sir.explicitHeight = NaN;
- sir.percentHeight = NaN;
- if (!plc.isHeightSizedToContent() && !clc.isHeightSizedToContent()) sir.percentHeight = 100;
+ LayoutElementUIComponentUtils.setSizeFromChild(sir, clc);
}
sir.removeAllElements();
sir.addElement(child);
sir.invalidateSize();
}
-
+
/**
* @private
*/
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
index 4760290..ef941db 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
@@ -19,133 +19,56 @@
package spark.components.beads
{
-
-import spark.components.SkinnableContainer;
-import spark.components.supportClasses.GroupBase;
-import spark.components.supportClasses.SkinnableComponent;
-import spark.components.supportClasses.Skin;
-import spark.layouts.BasicLayout;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContainer;
-import org.apache.royale.core.ILayoutChild;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.UIBase;
-
-/**
- * @private
- * The SkinnableContainerView for emulation.
- */
-public class SkinnableContainerView extends SparkContainerView
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
+ import mx.core.UIComponent;
+ import org.apache.royale.core.IContainer;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import spark.components.supportClasses.GroupBase;
+ import spark.components.supportClasses.SkinnableComponent;
+ import spark.components.supportClasses.Skin;
+
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The SkinnableContainerView for emulation.
*/
- public function SkinnableContainerView()
+ public class SkinnableContainerView extends SparkContainerView
{
- super();
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.6
+ */
+ public function SkinnableContainerView()
+ {
+ super();
+ }
+
+ override public function get displayView():GroupBase
+ {
+ var skinhost:SkinnableComponent = _strand as SkinnableComponent;
+ if (skinhost && skinhost.skin)
+ return skinhost.skin as GroupBase;
+ else
+ return super.displayView;
+ }
+
+ override protected function addViewport():void
+ {
+ var chost:IContainer = host as IContainer;
+ var skinhost:SkinnableComponent = _strand as SkinnableComponent;
+ if (chost && skinhost.skin)
+ {
+ chost.addElement(skinhost.skin);
+ }
+ else
+ {
+ super.addViewport();
+ }
+ }
}
-
- override protected function prepareContentView():void
- {
- var host:SkinnableContainer = _strand as SkinnableContainer;
- if (host.skin)
- {
- if (!host.isWidthSizedToContent())
- host.skin.percentWidth = 100;
- if (!host.isHeightSizedToContent())
- host.skin.percentHeight = 100;
- }
- else
- super.prepareContentView();
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function beforeLayout():Boolean
- {
- var host:SkinnableContainer = _strand as SkinnableContainer;
- if (host.isWidthSizedToContent() && host.isHeightSizedToContent())
- {
- if (host.skin)
- {
- (host.skin as Skin).layout.measure();
- host.measuredHeight = host.skin.measuredHeight;
- host.measuredWidth = host.skin.measuredWidth;
- }
- else
- {
- if (host.layout == null)
- host.layout = new BasicLayout();
- host.layout.measure();
- }
- }
- else
- {
- if (host.skin)
- {
- (host.skin as Skin).layout.measure();
- if (host.isWidthSizedToContent())
- {
- host.skin.setLayoutBoundsSize(NaN, host.height);
- host.measuredWidth = host.skin.measuredWidth;
- }
- else
- {
- if (host.isHeightSizedToContent())
- {
- host.skin.setLayoutBoundsSize(host.width, NaN);
- host.measuredHeight = host.skin.measuredHeight;
- }
- else
- {
- host.skin.setLayoutBoundsSize(host.width, host.height);
- }
- }
- }
- else
- {
- if (host.layout == null)
- host.layout = new BasicLayout();
- host.layout.measure();
- var h:Number = host.isHeightSizedToContent() ? host.measuredHeight : host.height;
- var w:Number = host.isWidthSizedToContent() ? host.measuredWidth : host.width;
- (viewport.contentView as ILayoutChild).setWidthAndHeight(w, h);
- }
-
- }
- return true;
- }
-
- override protected function addViewport():void
- {
- var chost:IContainer = host as IContainer;
- var skinhost:SkinnableComponent = host as SkinnableComponent;
- if (chost != null && chost != viewport.contentView && skinhost.skin) {
- chost.addElement(skinhost.skin);
- }
- else
- super.addViewport();
- }
-
-}
-
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableDataContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableDataContainerView.as
index bfd5e8d..faaa640 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableDataContainerView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableDataContainerView.as
@@ -19,125 +19,56 @@
package spark.components.beads
{
-
-import spark.components.SkinnableDataContainer;
-import spark.components.supportClasses.GroupBase;
-import spark.components.supportClasses.SkinnableComponent;
-import spark.components.supportClasses.Skin;
-import spark.layouts.BasicLayout;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContainer;
-import org.apache.royale.core.ILayoutChild;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.UIBase;
-
-/**
- * @private
- * The SkinnableDataContainerView for emulation.
- */
-public class SkinnableDataContainerView extends SparkDataContainerView
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
+ import mx.core.UIComponent;
+ import org.apache.royale.core.IContainer;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import spark.components.supportClasses.GroupBase;
+ import spark.components.supportClasses.SkinnableComponent;
+ import spark.components.supportClasses.Skin;
+
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The SkinnableDataContainerView for emulation.
*/
- public function SkinnableDataContainerView()
+ public class SkinnableDataContainerView extends SparkDataContainerView
{
- super();
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.8
+ */
+ public function SkinnableDataContainerView()
+ {
+ super();
+ }
+
+ override public function get displayView():GroupBase
+ {
+ var skinhost:SkinnableComponent = _strand as SkinnableComponent;
+ if (skinhost && skinhost.skin)
+ return skinhost.skin as GroupBase;
+ else
+ return super.displayView;
+ }
+
+ override protected function addViewport():void
+ {
+ var chost:IContainer = host as IContainer;
+ var skinhost:SkinnableComponent = _strand as SkinnableComponent;
+ if (chost && skinhost.skin)
+ {
+ chost.addElement(skinhost.skin);
+ }
+ else
+ {
+ super.addViewport();
+ }
+ }
}
-
- override protected function prepareContentView():void
- {
- var host:SkinnableDataContainer = _strand as SkinnableDataContainer;
- if (host.skin)
- {
- if (!host.isWidthSizedToContent())
- host.skin.percentWidth = 100;
- if (!host.isHeightSizedToContent())
- host.skin.percentHeight = 100;
- }
- else
- super.prepareContentView();
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function beforeLayout():Boolean
- {
- var host:SkinnableDataContainer = _strand as SkinnableDataContainer;
- if (host.isWidthSizedToContent() && host.isHeightSizedToContent())
- {
- if (host.skin)
- {
- (host.skin as Skin).layout.measure();
- host.measuredHeight = host.skin.measuredHeight;
- host.measuredWidth = host.skin.measuredWidth;
- }
- else
- {
- if (host.layout == null)
- host.layout = new BasicLayout();
- host.layout.measure();
- }
- }
- else
- {
- if (host.skin)
- {
- (host.skin as Skin).layout.measure();
- if (host.isWidthSizedToContent())
- {
- host.skin.setLayoutBoundsSize(NaN, host.height);
- host.measuredWidth = host.skin.measuredWidth;
- } else
- {
- host.skin.setLayoutBoundsSize(host.width, NaN);
- host.measuredHeight = host.skin.measuredHeight;
- }
- }
- else
- {
- if (host.layout == null)
- host.layout = new BasicLayout();
- host.layout.measure();
- var h:Number = host.isHeightSizedToContent() ? host.measuredHeight : host.height;
- var w:Number = host.isWidthSizedToContent() ? host.measuredWidth : host.width;
- (viewport.contentView as ILayoutChild).setWidthAndHeight(w, h);
- }
-
- }
- return true;
- }
-
- override protected function addViewport():void
- {
- var chost:IContainer = host as IContainer;
- var skinhost:SkinnableComponent = host as SkinnableComponent;
- if (chost != null && chost != viewport.contentView && skinhost.skin) {
- chost.addElement(skinhost.skin);
- }
- else
- super.addViewport();
- }
-
-}
-
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkContainerView.as
index 3923423..5a8efad 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkContainerView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkContainerView.as
@@ -19,112 +19,148 @@
package spark.components.beads
{
-
-import spark.components.SkinnableContainer;
-import spark.components.supportClasses.GroupBase;
-import spark.layouts.BasicLayout;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContainer;
-import org.apache.royale.core.ILayoutChild;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.UIBase;
-import org.apache.royale.html.beads.ContainerView;
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IEventDispatcher;
-
-/**
- * @private
- * The SparkContainerView for emulation.
- */
-public class SparkContainerView extends ContainerView
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
+ import mx.core.LayoutElementUIComponentUtils;
+ import mx.core.UIComponent;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.html.beads.ContainerView;
+ import spark.components.supportClasses.GroupBase;
+ import spark.core.ISparkContainer;
+ import spark.core.ISparkLayoutHost;
+ import spark.layouts.BasicLayout;
+
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The SparkContainerView for emulation.
*/
- public function SparkContainerView()
+ public class SparkContainerView extends ContainerView implements ISparkLayoutHost
{
- super();
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.6
+ */
+ public function SparkContainerView()
+ {
+ super();
+ }
+
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ prepareContentView();
+ prepareDisplayView();
+ }
+
+ protected function prepareContentView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = contentView as GroupBase;
+
+ if (!host || !g)
+ return;
+
+ if (host == g)
+ {
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ return;
+ }
+
+ // only for the case where host.layout was set before view set
+ var hc:ISparkContainer = _strand as ISparkContainer;
+ if (hc.layout != null)
+ g.layout = hc.layout;
+
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ }
+
+ public function get displayView():GroupBase
+ {
+ return contentView as GroupBase;
+ }
+
+ protected function prepareDisplayView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = displayView as GroupBase;
+
+ if (!host || !g || host == g)
+ return;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+ }
+
+ /**
+ * Measure before layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function beforeLayout():Boolean
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ g.layout.measure();
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Dispatch after layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function afterLayout():void
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ host.setActualSize(g.width, g.height);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ // request re-run layout on the parent. In theory, we should only
+ // end up in afterLayout if the content size changed.
+ if (host.parent)
+ {
+ (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+ }
+ }
+ }
}
-
- /**
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- prepareContentView();
- }
-
- protected function prepareContentView():void
- {
- var host:SkinnableContainer = _strand as SkinnableContainer;
- var g:GroupBase = (contentView as GroupBase);
- if (host.layout != null)
- g.layout = host.layout;
- if (g.layout == null)
- g.layout = new BasicLayout();
-
- if (!host.isWidthSizedToContent())
- g.percentWidth = 100;
- if (!host.isHeightSizedToContent())
- g.percentHeight = 100;
-
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function beforeLayout():Boolean
- {
- var host:SkinnableContainer = _strand as SkinnableContainer;
- if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
- {
- host.layout.measure();
- }
- return true;
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function afterLayout():void
- {
- var host:SkinnableContainer = _strand as SkinnableContainer;
- if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
- {
- // request re-run layout on the parent. In theory, we should only
- // end up in afterLayout if the content size changed.
- if (host.parent)
- {
- (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
- }
- }
- }
-
-
-}
-
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkDataContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkDataContainerView.as
index be5e9b5..a33dc1f 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkDataContainerView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkDataContainerView.as
@@ -19,112 +19,174 @@
package spark.components.beads
{
-
-import spark.components.SkinnableDataContainer;
-import spark.components.supportClasses.GroupBase;
-import spark.layouts.BasicLayout;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContainer;
-import org.apache.royale.core.ILayoutChild;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.UIBase;
-import org.apache.royale.html.beads.ContainerView;
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IEventDispatcher;
-
-/**
- * @private
- * The SparkDataContainerView for emulation.
- */
-public class SparkDataContainerView extends ContainerView
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
+ import mx.core.IVisualElement;
+ import mx.core.LayoutElementUIComponentUtils;
+ import mx.core.UIComponent;
+ import org.apache.royale.core.IItemRenderer;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.html.beads.DataContainerView;
+ import org.apache.royale.utils.sendStrandEvent;
+ import spark.components.supportClasses.GroupBase;
+ import spark.core.ISparkContainer;
+ import spark.core.ISparkLayoutHost;
+ import spark.events.RendererExistenceEvent;
+ import spark.layouts.BasicLayout;
+
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The SparkDataContainerView for emulation.
*/
- public function SparkDataContainerView()
+ public class SparkDataContainerView extends DataContainerView implements ISparkLayoutHost
{
- super();
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.8
+ */
+ public function SparkDataContainerView()
+ {
+ super();
+ }
+
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ prepareContentView();
+ prepareDisplayView();
+ }
+
+ override protected function dispatchItemAdded(renderer:IItemRenderer):void
+ {
+ super.dispatchItemAdded(renderer);
+ var newEvent:RendererExistenceEvent = new RendererExistenceEvent(RendererExistenceEvent.RENDERER_ADD, false, false, renderer as IVisualElement);
+ sendStrandEvent(_strand,newEvent);
+ }
+
+ override protected function itemsCreatedHandler(event:Event):void
+ {
+ // Note that we assume host has same sizing as content group, if applicable
+ var host:UIComponent = _strand as UIComponent;
+ if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
+ {
+ host.invalidateSize();
+ if (host.parent)
+ {
+ (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+ }
+ super.itemsCreatedHandler(event);
+ }
+
+ protected function prepareContentView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = contentView as GroupBase;
+
+ if (!host || !g)
+ return;
+
+ if (host == g)
+ {
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ return;
+ }
+
+ // only for the case where host.layout was set before view set
+ var hc:ISparkContainer = _strand as ISparkContainer;
+ if (hc.layout != null)
+ g.layout = hc.layout;
+
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ }
+
+ public function get displayView():GroupBase
+ {
+ return contentView as GroupBase;
+ }
+
+ protected function prepareDisplayView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = displayView as GroupBase;
+
+ if (!host || !g || host == g)
+ return;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+ }
+
+ /**
+ * Measure before layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function beforeLayout():Boolean
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ g.layout.measure();
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Dispatch after layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function afterLayout():void
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ host.setActualSize(g.width, g.height);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ // request re-run layout on the parent. In theory, we should only
+ // end up in afterLayout if the content size changed.
+ if (host.parent)
+ {
+ (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+ }
+ }
+ }
}
-
- /**
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- prepareContentView();
- }
-
- protected function prepareContentView():void
- {
- var host:SkinnableDataContainer = _strand as SkinnableDataContainer;
- var g:GroupBase = (contentView as GroupBase);
- if (host.layout != null)
- g.layout = host.layout;
- if (g.layout == null)
- g.layout = new BasicLayout();
-
- if (!host.isWidthSizedToContent())
- g.percentWidth = 100;
- if (!host.isHeightSizedToContent())
- g.percentHeight = 100;
-
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function beforeLayout():Boolean
- {
- var host:SkinnableDataContainer = _strand as SkinnableDataContainer;
- if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
- {
- host.layout.measure();
- }
- return true;
- }
-
- /**
- * Adjusts the size of the host after the layout has been run if needed
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function afterLayout():void
- {
- var host:SkinnableDataContainer = _strand as SkinnableDataContainer;
- if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
- {
- // request re-run layout on the parent. In theory, we should only
- // end up in afterLayout if the content size changed.
- if (host.parent)
- {
- (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
- }
- }
- }
-
-
-}
-
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
index 91ec1aa..f2cef5e 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
@@ -19,134 +19,99 @@
package spark.components.beads
{
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.html.supportClasses.ScrollingViewport;
+ import spark.components.supportClasses.GroupBase;
+ import spark.components.supportClasses.SkinnableComponent;
+ import spark.core.ISparkContainer;
+ import spark.layouts.BasicLayout;
-import mx.core.mx_internal;
-
- import spark.core.IViewport;
-
- use namespace mx_internal;
-
-import spark.components.supportClasses.GroupBase;
-import spark.components.supportClasses.SkinnableComponent;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContentView;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.IUIBase;
-import org.apache.royale.core.IScrollingViewport;
-import org.apache.royale.core.UIBase;
-import org.apache.royale.core.ValuesManager;
-import org.apache.royale.events.Event;
-import org.apache.royale.events.EventDispatcher;
-import org.apache.royale.geom.Size;
-
-COMPILE::SWF
-{
- import flash.geom.Rectangle;
-}
-
-/**
- * @private
- * The viewport that loads a Spark Skin.
- */
-public class SparkSkinScrollingViewport extends SparkSkinViewport implements IScrollingViewport
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
+ // for host.setSkin()
+ import mx.core.mx_internal;
+ use namespace mx_internal;
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The scrolling viewport that loads a Spark Skin.
*/
- public function SparkSkinScrollingViewport()
+ public class SparkSkinScrollingViewport extends org.apache.royale.html.supportClasses.ScrollingViewport
{
- super();
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.6
+ */
+ public function SparkSkinScrollingViewport()
+ {
+ super();
+ }
+
+ override public function set strand(value:IStrand):void
+ {
+ var host:SkinnableComponent = value as SkinnableComponent;
+
+ super.strand = value;
+
+ var c:Class = ValuesManager.valuesImpl.getValue(value, "skinClass") as Class;
+ if (c)
+ {
+ if (!host.skin)
+ {
+ host.setSkin(new c());
+ }
+ host.skin.addEventListener("initComplete", initCompleteHandler);
+ }
+ }
+
+ protected function initCompleteHandler(event:Event):void
+ {
+ var host:SkinnableComponent = _strand as SkinnableComponent;
+
+ // can SkinPart do this better?
+ contentArea = host.skin["contentGroup"];
+ COMPILE::JS
+ {
+ setScrollStyle();
+ }
+ prepareContentView();
+ }
+
+ protected function prepareContentView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = contentView as GroupBase;
+
+ if (!host || !g)
+ return;
+
+ if (host == g)
+ {
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ return;
+ }
+
+ // only for the case where host.layout was set before view set
+ var hc:ISparkContainer = _strand as ISparkContainer;
+ if (hc.layout != null)
+ g.layout = hc.layout;
+
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ }
+
+ COMPILE::JS
+ override protected function setScrollStyle():void
+ {
+ // default GroupBase.clipAndEnableScrolling == false, so we initially disable scrolling
+ contentArea.element.style.overflow = "visible";
+ adaptContentArea();
+ }
}
-
- override protected function initCompleteHandler(event:Event):void
- {
- super.initCompleteHandler(event);
- COMPILE::JS
- {
- setScrollStyle();
- }
- }
-
- /**
- * Subclasses override this method to change scrolling behavior
- */
- COMPILE::JS
- protected function setScrollStyle():void
- {
- contentArea.element.style.overflow = "auto";
- }
-
- COMPILE::SWF
- protected var _verticalScrollPosition:Number = 0;
-
- public function get verticalScrollPosition():Number
- {
- COMPILE::JS
- {
- return contentArea.element.scrollTop;
- }
- COMPILE::SWF
- {
- return _verticalScrollPosition;
- }
- }
- public function set verticalScrollPosition(value:Number):void
- {
- COMPILE::JS
- {
- contentArea.element.scrollTop = value;
- }
- COMPILE::SWF
- {
- _verticalScrollPosition = value;
- dispatchEvent(new Event("verticalScrollPositionChanged"));
- // handleVerticalScrollChange(); figure out how to re-use from ScrollingViewport
- // given we need different timing (waiting on initComplete)
- }
- }
-
- COMPILE::SWF
- protected var _horizontalScrollPosition:Number = 0;
-
- public function get horizontalScrollPosition():Number
- {
- COMPILE::JS
- {
- return contentArea.element.scrollLeft;
- }
- COMPILE::SWF
- {
- return _horizontalScrollPosition;
- }
- }
-
- public function set horizontalScrollPosition(value:Number):void
- {
- COMPILE::JS
- {
- contentArea.element.scrollLeft = value;
- }
- COMPILE::SWF
- {
- _horizontalScrollPosition = value;
- dispatchEvent(new Event("horizontalScrollPositionChanged"));
- // handleHorizontalScrollChange(); figure out how to re-use from ScrollingViewport
- // given we need different timing (waiting on initComplete)
- }
- }
-
-}
-
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinViewport.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinViewport.as
index b8af175..dab4f50 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinViewport.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinViewport.as
@@ -19,221 +19,87 @@
package spark.components.beads
{
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.html.supportClasses.Viewport;
+ import spark.components.supportClasses.GroupBase;
+ import spark.components.supportClasses.SkinnableComponent;
+ import spark.core.ISparkContainer;
+ import spark.layouts.BasicLayout;
-import mx.core.mx_internal;
-use namespace mx_internal;
-
-import spark.components.supportClasses.GroupBase;
-import spark.components.supportClasses.SkinnableComponent;
-
-import org.apache.royale.core.IBead;
-import org.apache.royale.core.IContentView;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.IUIBase;
-import org.apache.royale.core.IViewport;
-import org.apache.royale.core.UIBase;
-import org.apache.royale.core.ValuesManager;
-import org.apache.royale.events.Event;
-import org.apache.royale.events.EventDispatcher;
-import org.apache.royale.geom.Size;
-import spark.components.SkinnableContainer;
-import spark.components.SkinnableDataContainer;
-import spark.layouts.supportClasses.LayoutBase;
-
-COMPILE::SWF
-{
- import flash.geom.Rectangle;
-}
-
-/**
- * @private
- * The viewport that loads a Spark Skin.
- */
-public class SparkSkinViewport extends EventDispatcher implements IBead, IViewport
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
+ // for host.setSkin()
+ import mx.core.mx_internal;
+ use namespace mx_internal;
/**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
+ * @private
+ * The viewport that loads a Spark Skin.
*/
- public function SparkSkinViewport()
+ public class SparkSkinViewport extends org.apache.royale.html.supportClasses.Viewport
{
- super();
- }
-
- protected var contentArea:UIBase;
-
- /**
- * Get the actual parent of the container's content.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- public function get contentView():IUIBase
- {
- return contentArea;
- }
-
- protected var host:SkinnableComponent;
-
- /**
- */
- public function set strand(value:IStrand):void
- {
- host = value as SkinnableComponent;
-
- var c:Class = ValuesManager.valuesImpl.getValue(value, "skinClass") as Class;
- if (c)
- {
- if (!host.skin)
- {
- host.setSkin(new c());
- }
- host.skin.addEventListener("initComplete", initCompleteHandler);
- contentArea = host.skin; // temporary assigment so that SkinnableXXContainer.addElement can add the skin
- }
- else
- {
- var f:Function = ValuesManager.valuesImpl.getValue(value, "iContentView") as Function;
- if (f)
- {
- contentArea = new f() as UIBase;
- }
-
- if (!contentArea)
- contentArea = value as UIBase;
- }
- }
-
- protected function initCompleteHandler(event:Event):void
- {
- contentArea = host.skin["contentGroup"];
- if (host is SkinnableContainer)
- {
- var sc:SkinnableContainer = host as SkinnableContainer;
- if (sc.layout)
- (contentArea as GroupBase).layout = sc.layout;
- }
- else if (host is SkinnableDataContainer)
- {
- var sdc:SkinnableDataContainer = host as SkinnableDataContainer;
- if (sdc.layout)
- (contentArea as GroupBase).layout = sdc.layout;
- }
-
- COMPILE::JS
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Royale 0.9.6
+ */
+ public function SparkSkinViewport()
{
- adaptContentArea();
+ super();
}
- }
-
- /**
- * If the contentArea is not the same as the strand,
- * we need to size it to 100% for scrolling to work correctly.
- * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
- */
- COMPILE::JS
- protected function adaptContentArea():void
- {
- if(host != contentArea)
- {
- var scl:LayoutBase = null;
- if (host is SkinnableContainer)
- {
- var sc:SkinnableContainer = host as SkinnableContainer;
- scl = sc.layout;
- }
- else if (host is SkinnableDataContainer)
- {
- var sdc:SkinnableDataContainer = host as SkinnableDataContainer;
- scl = sdc.layout;
- }
+ override public function set strand(value:IStrand):void
+ {
+ var host:SkinnableComponent = value as SkinnableComponent;
- if (scl)
- {
- if (!scl.isWidthSizedToContent())
- contentArea.percentWidth = 100;
- if (!scl.isHeightSizedToContent())
- contentArea.percentHeight = 100;
- }
- else
- {
- if (host.isWidthSizedToContent())
- contentArea.percentWidth = 100;
- if (host.isHeightSizedToContent())
- contentArea.percentHeight = 100;
-
- }
- contentArea.element.style.position = "absolute";
- }
- }
-
- /**
- * @copy org.apache.royale.core.IViewport#setPosition()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- public function setPosition(x:Number, y:Number):void
- {
- COMPILE::SWF {
- contentArea.x = x;
- contentArea.y = y;
- }
- }
-
- /**
- * @copy org.apache.royale.core.IViewport#layoutViewportBeforeContentLayout()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
- {
- COMPILE::SWF {
- if (!isNaN(width))
- contentArea.width = width;
- if (!isNaN(height))
- contentArea.height = height;
- }
- }
-
- /**
- * @copy org.apache.royale.core.IViewport#layoutViewportAfterContentLayout()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- public function layoutViewportAfterContentLayout(contentSize:Size):void
- {
- COMPILE::SWF {
- var hostWidth:Number = UIBase(host).width;
- var hostHeight:Number = UIBase(host).height;
-
- var rect:flash.geom.Rectangle = new flash.geom.Rectangle(0, 0, hostWidth, hostHeight);
- contentArea.scrollRect = rect;
-
- return;
- }
- }
-}
+ super.strand = value;
+ var c:Class = ValuesManager.valuesImpl.getValue(value, "skinClass") as Class;
+ if (c)
+ {
+ if (!host.skin)
+ {
+ host.setSkin(new c());
+ }
+ host.skin.addEventListener("initComplete", initCompleteHandler);
+ }
+ }
+
+ protected function initCompleteHandler(event:Event):void
+ {
+ var host:SkinnableComponent = _strand as SkinnableComponent;
+
+ // can SkinPart do this better?
+ contentArea = host.skin["contentGroup"];
+ prepareContentView();
+ }
+
+ protected function prepareContentView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = contentView as GroupBase;
+
+ if (!host || !g)
+ return;
+
+ if (host == g)
+ {
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ return;
+ }
+
+ // only for the case where host.layout was set before view set
+ var hc:ISparkContainer = _strand as ISparkContainer;
+ if (hc.layout != null)
+ g.layout = hc.layout;
+
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ }
+ }
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarItemRendererInitializer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarItemRendererInitializer.as
new file mode 100644
index 0000000..eb0ee18
--- /dev/null
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarItemRendererInitializer.as
@@ -0,0 +1,60 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 spark.components.beads
+{
+ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.SimpleCSSStyles;
+ import org.apache.royale.core.UIBase;
+ import org.apache.royale.html.beads.HorizontalListItemRendererInitializer;
+
+ /**
+ * The TabBarItemRendererInitializer class initializes item renderers
+ * in TabBar tab labels.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ public class TabBarItemRendererInitializer extends org.apache.royale.html.beads.HorizontalListItemRendererInitializer
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ public function TabBarItemRendererInitializer()
+ {
+ }
+
+ /**
+ * @royaleignorecoercion org.apache.royale.core.UIBase
+ */
+ override protected function setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void
+ {
+ var style:SimpleCSSStyles = new SimpleCSSStyles();
+ style.marginBottom = presentationModel.separatorThickness;
+ (ir as UIBase).style = style;
+ //(ir as UIBase).height = presentationModel.rowHeight;
+ }
+ }
+}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarSelectionUpdateFromSelectableDataProvider.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarSelectionUpdateFromSelectableDataProvider.as
deleted file mode 100644
index 2d5fa6a..0000000
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarSelectionUpdateFromSelectableDataProvider.as
+++ /dev/null
@@ -1,158 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package spark.components.beads
-{
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IDataProviderModel;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.core.IViewport;
- import org.apache.royale.events.Event;
- import org.apache.royale.events.IEventDispatcher;
- import mx.core.ISelectableList;
- import spark.components.TabBar;
-
-
- /**
- * Updates TabBar.selectedIndex when the selectable dataProvider (i.e. ViewStack)
- * has a selectedIndex change.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- */
- public class TabBarSelectionUpdateFromSelectableDataProvider implements IBead
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- */
- public function TabBarSelectionUpdateFromSelectableDataProvider()
- {
- }
-
- protected var _strand:IStrand;
-
- /**
- * @copy org.apache.royale.core.IStrand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete", initComplete);
- }
-
- /**
- * finish setup
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- * @royaleignorecoercion org.apache.royale.core.IDataProviderModel
- */
- protected function initComplete(event:Event):void
- {
- IEventDispatcher(_strand).removeEventListener("initComplete", initComplete);
-
- var contentView:IStrand = (_strand.getBeadByType(IViewport) as IViewport).contentView as IStrand;
- _dataProviderModel = contentView.getBeadByType(IDataProviderModel) as IDataProviderModel;
-
- dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
- // invoke now in case "dataProviderChanged" has already been dispatched.
- dataProviderChangeHandler(null);
- }
-
- private var dp:ISelectableList;
-
- /**
- * @private
- * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
- */
- protected function dataProviderChangeHandler(event:Event):void
- {
- if (dp)
- {
- dp.removeEventListener("change", handleIndexChange);
- dp.removeEventListener("valueCommit", handleIndexChange);
- }
-
- dp = dataProviderModel.dataProvider as ISelectableList;
- if (!dp) return;
-
- dp.addEventListener("change", handleIndexChange);
- dp.addEventListener("valueCommit", handleIndexChange);
-
- handleIndexChange(null);
- }
-
- /**
- * Handles the selectedIndex change event.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
- */
- protected function handleIndexChange(event:Event):void
- {
- var tb:TabBar = _strand as TabBar;
- var newSelectedIndex:int = dp.selectedIndex;
- if (tb.selectedIndex != newSelectedIndex)
- {
- tb.selectedIndex = newSelectedIndex;
- }
- }
-
- private var _dataProviderModel:IDataProviderModel;
-
- /**
- * The org.apache.royale.core.IDataProviderModel that contains the
- * data source.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.8
- * @royaleignorecoercion org.apache.royale.core.IDataProviderModel
- */
- public function get dataProviderModel():IDataProviderModel
- {
- if (!_dataProviderModel)
- {
- var contentView:IStrand = (_strand.getBeadByType(IViewport) as IViewport).contentView as IStrand;
- _dataProviderModel = contentView.getBeadByType(IDataProviderModel) as IDataProviderModel;
- }
- return _dataProviderModel;
- }
-
- }
-}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/VirtualListView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/VirtualListView.as
new file mode 100644
index 0000000..528fdc7
--- /dev/null
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/VirtualListView.as
@@ -0,0 +1,186 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 spark.components.beads
+{
+ import mx.containers.beads.VirtualListView;
+ import mx.core.IVisualElement;
+ import mx.core.LayoutElementUIComponentUtils;
+ import mx.core.UIComponent;
+ import org.apache.royale.core.IItemRenderer;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.utils.sendStrandEvent;
+ import spark.components.supportClasses.GroupBase;
+ import spark.core.ISparkContainer;
+ import spark.events.RendererExistenceEvent;
+ import spark.layouts.BasicLayout;
+
+ /**
+ * @viewbead
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ public class VirtualListView extends mx.containers.beads.VirtualListView
+ {
+ public function VirtualListView()
+ {
+ super();
+ }
+
+ //
+ // From SparkDataContainerView (also derived from Basic DataContainer)
+ //
+
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ prepareContentView();
+ prepareDisplayView();
+ }
+
+ override protected function dispatchItemAdded(renderer:IItemRenderer):void
+ {
+ super.dispatchItemAdded(renderer);
+ var newEvent:RendererExistenceEvent = new RendererExistenceEvent(RendererExistenceEvent.RENDERER_ADD, false, false, renderer as IVisualElement);
+ sendStrandEvent(_strand,newEvent);
+ }
+
+ override protected function itemsCreatedHandler(event:Event):void
+ {
+ // Note that we assume host has same sizing as content group, if applicable
+ var host:UIComponent = _strand as UIComponent;
+ if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
+ {
+ host.invalidateSize();
+ }
+ super.itemsCreatedHandler(event);
+ }
+
+ protected function prepareContentView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = contentView as GroupBase;
+
+ if (!host || !g)
+ return;
+
+ if (host == g)
+ {
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ return;
+ }
+
+ // only for the case where host.layout was set before view set
+ var hc:ISparkContainer = _strand as ISparkContainer;
+ if (hc.layout != null)
+ g.layout = hc.layout;
+
+ if (g.layout == null)
+ g.layout = new BasicLayout();
+ }
+
+ public function get displayView():GroupBase
+ {
+ return contentView as GroupBase;
+ }
+
+ protected function prepareDisplayView():void
+ {
+ var host:ILayoutChild = _strand as ILayoutChild;
+ var g:GroupBase = displayView as GroupBase;
+
+ if (!host || !g || host == g)
+ return;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+ }
+
+ /**
+ * Measure before layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function beforeLayout():Boolean
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ // Resize content to host, because
+ // (a) ScrollingViewport sets content to 100% and
+ // (b) we don't yet have content reverse-proxing the explicit size functions
+ // (explicitXX, percentXX, isXXSizedToContent) back to the host.
+ // Layout asks target (content) for explicit sizes, sometimes.
+ //
+ LayoutElementUIComponentUtils.setSizeFromChild(g, host);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ g.layout.measure();
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Dispatch after layout.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ override public function afterLayout():void
+ {
+ if (_strand != displayView)
+ {
+ var host:UIComponent = _strand as UIComponent;
+ var g:GroupBase = displayView as GroupBase;
+
+ host.setActualSize(g.width, g.height);
+
+ if (g.isWidthSizedToContent() || g.isHeightSizedToContent())
+ {
+ // request re-run layout on the parent. In theory, we should only
+ // end up in afterLayout if the content size changed.
+ if (host.parent)
+ {
+ (host.parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/gridClasses/GridColumn.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/gridClasses/GridColumn.as
index 762d837..d48b5ad 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/gridClasses/GridColumn.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/gridClasses/GridColumn.as
@@ -39,6 +39,7 @@
import mx.core.mx_internal;
import mx.collections.SortField;// import spark.collections.SortField;
import spark.components.Grid;
+ import org.apache.royale.core.IHasDataField;
use namespace mx_internal;
@@ -94,7 +95,7 @@
* @playerversion AIR 2.5
* @productversion Flex 4.5
*/
-public class GridColumn extends EventDispatcher
+public class GridColumn extends EventDispatcher implements IHasDataField
{
// include "../../core/Version.as";
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListBase.as
index 070eb0e..7fd9770 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListBase.as
@@ -45,6 +45,7 @@
import spark.components.supportClasses.DropDownController;
import org.apache.royale.geom.Point;
import mx.core.UIComponent;
+import org.apache.royale.core.IHasLabelField;
//--------------------------------------
// Styles
@@ -191,7 +192,7 @@
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
-public class DropDownListBase extends List
+public class DropDownListBase extends List implements IHasLabelField
{
//include "../../core/Version.as";
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListButton.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListButton.as
index 420e1df..997336c 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListButton.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/DropDownListButton.as
@@ -20,8 +20,22 @@
package spark.components.supportClasses
{
import spark.components.Button;
+ COMPILE::JS
+ {
+ import org.apache.royale.svg.elements.Svg;
+ import org.apache.royale.svg.elements.ClipPath;
+ import org.apache.royale.svg.elements.Text;
+ import org.apache.royale.svg.elements.Rect;
+ import org.apache.royale.svg.elements.Path;
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.svg.elements.Svg;
+ import org.apache.royale.svg.elements.ClipPath;
+ import org.apache.royale.svg.GraphicShape;
+ import org.apache.royale.html.util.createSVG;
+ }
- /**
+ /**
*/
public class DropDownListButton extends Button
{
@@ -30,7 +44,7 @@
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
@@ -38,57 +52,120 @@
*/
public function DropDownListButton()
{
- super();
instanceId = instanceCounter.toString();
instanceCounter++;
+ super();
}
private var instanceId:String;
- override public function setActualSize(w:Number, h:Number):void
- {
- super.setActualSize(w, h);
- COMPILE::JS
- {
- updateSkin(w, h);
- }
- }
+ override public function setActualSize(w:Number, h:Number):void
+ {
+ super.setActualSize(w, h);
+ COMPILE::JS
+ {
+ updateSkin(w, h);
+ }
+ }
- COMPILE::JS
- override public function set label(value:String):void
- {
- super.label = value;
- updateSkin(width, height);
- }
+ COMPILE::JS
+ override public function set label(value:String):void
+ {
+ super.label = value;
+ updateSkin(width, height);
+ }
- COMPILE::JS
- private function updateSkin(w:Number, h:Number):void
- {
- var clipid:String = "txtClip" + instanceId;
+ COMPILE::JS
+ private function updateSkin(w:Number, h:Number):void
+ {
if (h < 4) return;
- element.innerHTML = '<svg width="' + w + 'px" height="' +
- h + 'px" xmlns="http://www.w3.org/2000/svg"><clipPath id="' + clipid + '"><rect x="0" y="0" height="' + h +
- 'px" width="' + (w - 29) + 'px"/></clipPath><text y="3px" clip-path="url(#' + clipid + ')">' +
- label + '</text><style><![CDATA[' +
- 'text{ dominant-baseline: hanging;' +
- /* font: 12px Verdana, Helvetica, Arial, sans-serif;*/
- '}]]></style><rect x="' +
- (w - 26) + 'px" width="1px" height="' + (h - 4) + 'px"/><path d="M' +
- (w - 21) + ',5 L ' + (w - 13) + ',5 L ' +
- (w - 17) + ',12 L ' + (w - 21) + ',5"</path></svg>';
-
- }
+ text.element.textContent = label;
+ svg.width = w;
+ svg.element.style.width = w + "px";
+ svg.height = h;
+ svg.element.style.height = h + "px";
+ rect.x = w - 26;
+ rect.height = h - 4;
+ var d:String = 'M' + (w - 21) + ',5 L ' + (w - 13) + ',5 L ' +
+ (w - 17) + ',12 L ' + (w - 21) + ',5';
+ path.element.setAttribute("d",d);
+ // element.innerHTML = '<svg width="' + w + 'px" height="' +
+ // h + 'px" xmlns="http://www.w3.org/2000/svg"><clipPath id="' + clipid + '"><rect x="0" y="0" height="' + h +
+ // 'px" width="' + (w - 29) + 'px"/></clipPath><text y="3px" clip-path="url(#' + clipid + ')">' +
+ // label + '</text><style><![CDATA[' +
+ // 'text{ dominant-baseline: hanging;' +
+ // /* font: 12px Verdana, Helvetica, Arial, sans-serif;*/
+ // '}]]></style><rect x="' +
+ // (w - 26) + 'px" width="1px" height="' + (h - 4) + 'px"/><path d="M' +
+ // (w - 21) + ',5 L ' + (w - 13) + ',5 L ' +
+ // (w - 17) + ',12 L ' + (w - 21) + ',5"</path></svg>';
+
+ }
+
+ COMPILE::JS
+ override protected function createElement():WrappedHTMLElement
+ {
+ var elem:WrappedHTMLElement = super.createElement();
+ svg = new Svg();
+ clipPath = new ClipPath();
+ var clipid:String = "txtClip" + instanceId;
+ clipPath.id = clipid;
+ clipRect = new Rect();
+ clipRect.x = 0;
+ clipRect.y = 0;
+ clipPath.addElement(clipRect);
+ svg.addElement(clipPath);
+ text = new Text();
+ text.y = 3;
+ text.element.setAttribute("clip-path",'url(#' + clipid + ')');
+ svg.addElement(text)
+ var style:SVGStyleElement = createSVG('style') as SVGStyleElement;
+ style.innerHTML = '<![CDATA[' +
+ 'text{ dominant-baseline: hanging;' +
+ /* font: 12px Verdana, Helvetica, Arial, sans-serif;*/
+ '}]]>';
+ svg.element.appendChild(style);
+ rect = new Rect();
+ rect.width = 1;
+ svg.addElement(rect);
+ path = new Path();
+ svg.addElement(path);
+ return elem;
+ }
+ COMPILE::JS
+ private var svg:Svg;
+ COMPILE::JS
+ private var clipPath:ClipPath;
+ COMPILE::JS
+ private var clipRect:Rect;
+ COMPILE::JS
+ private var text:Text;
+ COMPILE::JS
+ private var rect:Rect;
+ COMPILE::JS
+ private var path:Path;
+ //style
- //--------------------------------------------------------------------------
- //
- // Overridden methods
- //
- //--------------------------------------------------------------------------
-
- override public function get measuredHeight():Number
- {
- return 21; // maybe measure font someday if fontSize is large
- }
+ /**
+ * svg
+ * clipPath
+ * rect
+ * text
+ * style
+ * rect
+ * path
+ */
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden methods
+ //
+ //--------------------------------------------------------------------------
+
+ override public function get measuredHeight():Number
+ {
+ return 21; // maybe measure font someday if fontSize is large
+ }
}
}
\ No newline at end of file
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ListBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ListBase.as
index b30ed72..2489e51 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ListBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ListBase.as
@@ -40,6 +40,8 @@
import spark.events.ListEvent;
import spark.events.RendererExistenceEvent;
import spark.layouts.supportClasses.LayoutBase;*/
+
+import spark.components.SkinnableDataContainer;
import spark.utils.LabelUtil;
import mx.collections.IList;
import mx.core.IFactory;
@@ -48,8 +50,6 @@
import org.apache.royale.html.beads.ItemRendererFunctionBead;
import spark.components.DataGroup;
import spark.components.SkinnableContainer;
-import spark.components.beads.SparkContainerView;
-import spark.layouts.VerticalLayout;
import org.apache.royale.core.IBeadLayout;
import org.apache.royale.core.IStrand;
@@ -57,6 +57,10 @@
import org.apache.royale.core.ItemRendererClassFactory;
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
+import org.apache.royale.core.IContainer;
+import org.apache.royale.core.IParent;
+import org.apache.royale.events.ValueEvent;
+import org.apache.royale.core.IHasLabelField;
use namespace mx_internal; //ListBase and List share selection properties that are mx_internal
@@ -195,7 +199,7 @@
* @productversion Royale 0.9.4
* @royalesuppresspublicvarwarning
*/
-public class ListBase extends SkinnableContainer
+public class ListBase extends SkinnableDataContainer implements IContainer, IHasLabelField
{ //extends SkinnableDataContainer implements IDataProviderEnhance
//include "../../core/Version.as";
@@ -269,7 +273,6 @@
public function ListBase()
{
super();
- layout = new VerticalLayout();
}
//--------------------------------------------------------------------------
@@ -473,143 +476,12 @@
return _caretIndex;
}
- //----------------------------------
- // dataProvider copied from SkinnableDataContainer
- //----------------------------------
+
- /**
- * @copy spark.components.DataGroup#dataProvider
- *
- * @see #itemRenderer
- * @see #itemRendererFunction
- * @see mx.collections.IList
- * @see mx.collections.ArrayCollection
- * @see mx.collections.ArrayList
- * @see mx.collections.XMLListCollection
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Royale 0.9.4
- *
- * @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkContainerView
- */
- [Bindable("dataProviderChanged")]
- [Inspectable(category="Data")]
-
- public function get dataProvider():IList
- {
- return ((view as SparkContainerView).contentView as DataGroup).dataProvider;
- }
-
- /**
- * @private
- * @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkContainerView
- */
- public function set dataProvider(value:IList):void
- {
- if (isWidthSizedToContent() || isHeightSizedToContent())
- ((view as SparkContainerView).contentView as DataGroup).addEventListener("itemsCreated", itemsCreatedHandler);
- ((view as SparkContainerView).contentView as DataGroup).dataProvider = value;
- }
-
- private function itemsCreatedHandler(event:Event):void
- {
- if (parent)
- {
- COMPILE::JS
- {
- // clear last width/height so elements size to content
- element.style.width = "";
- element.style.height = "";
- ((view as SparkContainerView).contentView as DataGroup).element.style.width = "";
- ((view as SparkContainerView).contentView as DataGroup).element.style.height = "";
- }
- (parent as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
- }
- }
-
- //----------------------------------
- // itemRenderer copied from SkinnableDataContainer
- //----------------------------------
-
- [Inspectable(category="Data")]
-
- /**
- * @copy spark.components.DataGroup#itemRenderer
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Royale 0.9.4
- *
- * @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkContainerView
- */
- public function get itemRenderer():IFactory
- {
- return ((view as SparkContainerView).contentView as DataGroup).itemRenderer;
- }
-
- /**
- * @private
- * @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkContainerView
- */
- public function set itemRenderer(value:IFactory):void
- {
- ((view as SparkContainerView).contentView as DataGroup).itemRenderer = value;
- // the ItemRendererFactory was already put on the DataGroup's strand and
- // determined which factory to use so we have to set it up later here.
- var factory:ItemRendererClassFactory = ((view as SparkContainerView).contentView as DataGroup).getBeadByType(ItemRendererClassFactory) as ItemRendererClassFactory;
- factory.createFunction = factory.createFromClass;
- factory.itemRendererFactory = value;
- }
- //----------------------------------
- // itemRendererFunction
- //----------------------------------
-
- [Inspectable(category="Data")]
-
- /**
- * @copy spark.components.DataGroup#itemRendererFunction
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Flex 4
- */
- public function get itemRendererFunction():Function
- {
- var contentView:IStrand = (view as SparkContainerView).contentView as IStrand;
- var itemRendererFunctionBead:ItemRendererFunctionBead = contentView.getBeadByType(ItemRendererFunctionBead) as ItemRendererFunctionBead;
- if (itemRendererFunctionBead)
- {
- return itemRendererFunctionBead.itemRendererFunction;
- }
- return null;
- }
-
- /**
- * @private
- */
- public function set itemRendererFunction(value:Function):void
- {
- var contentView:IStrand = (view as SparkContainerView).contentView as IStrand;
- var itemRendererFunctionBead:ItemRendererFunctionBead = contentView.getBeadByType(ItemRendererFunctionBead) as ItemRendererFunctionBead;
- if (!itemRendererFunctionBead)
- {
- itemRendererFunctionBead = new ItemRendererFunctionBead();
- contentView.addBead(itemRendererFunctionBead);
- }
- itemRendererFunctionBead.itemRendererFunction = value;
- }
/**
* @private
@@ -728,7 +600,7 @@
*/
public function get labelField():String
{
- return (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).labelField;
+ return ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).labelField;
}
/**
@@ -736,7 +608,7 @@
*/
public function set labelField(value:String):void
{
- (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).labelField = value;
+ ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).labelField = value;
}
//----------------------------------
@@ -984,7 +856,7 @@
/* if (_proposedSelectedIndex != NO_PROPOSED_SELECTION)
return _proposedSelectedIndex; */
- return (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).selectedIndex;
+ return ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).selectedIndex;
}
/**
@@ -992,7 +864,7 @@
*/
public function set selectedIndex(value:int):void
{
- (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).selectedIndex = value;
+ ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).selectedIndex = value;
/* setSelectedIndex(value, false); */
}
@@ -1083,7 +955,7 @@
*/
public function get selectedItem():*
{
- return (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).selectedItem;
+ return ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).selectedItem;
/* if (_pendingSelectedItem !== undefined)
return _pendingSelectedItem;
@@ -1101,7 +973,7 @@
*/
public function set selectedItem(value:*):void
{
- (((view as SparkContainerView).contentView as DataGroup).model as ISelectionModel).selectedItem = value;
+ ((getLayoutHost().contentView as DataGroup).model as ISelectionModel).selectedItem = value;
// setSelectedItem(value, false);
}
@@ -1434,20 +1306,20 @@
/**
* Given a data item, return the correct text a renderer
- * should display while taking the <code>labelField</code>
- * and <code>labelFunction</code> properties into account.
+ * should display while taking the <code>labelField</code>
+ * and <code>labelFunction</code> properties into account.
*
- * @param item A data item
- *
- * @return String representing the text to display for the
- * data item in the renderer.
- *
+ * @param item A data item
+ *
+ * @return String representing the text to display for the
+ * data item in the renderer.
+ *
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
- public function itemToLabel(item:Object):String
+ override public function itemToLabel(item:Object):String
{
return LabelUtil.itemToLabel(item, labelField, labelFunction);
}
@@ -2256,32 +2128,50 @@
/**
* @private
* @royaleignorecoercion spark.components.DataGroup
- * @royaleignorecoercion spark.components.beads.SparkContainerView
*/
override public function addedToParent():void
{
- if (!getBeadByType(IBeadLayout))
- addBead(new ListBaseLayout());
super.addedToParent();
if (requireSelection && selectedIndex == -1)
selectedIndex = 0;
- ((view as SparkContainerView).contentView as DataGroup).addEventListener("change", redispatcher);
- ((view as SparkContainerView).contentView as DataGroup).addEventListener("itemClick", redispatcher);
- ((view as SparkContainerView).contentView as DataGroup).addEventListener("doubleClick", redispatcher);
+ (getLayoutHost().contentView as DataGroup).addEventListener("change", redispatcher);
+ (getLayoutHost().contentView as DataGroup).addEventListener("itemClick", redispatcher);
+ (getLayoutHost().contentView as DataGroup).addEventListener("doubleClick", redispatcher);
- setActualSize(getExplicitOrMeasuredWidth(), getExplicitOrMeasuredHeight());
+ dispatchEvent(new Event("layoutNeeded"));
}
- override public function setActualSize(w:Number, h:Number):void
- {
- super.setActualSize(w, h);
- ((view as SparkContainerView).contentView as DataGroup).setActualSize(w, h);
- }
-
private function redispatcher(event:Event):void
{
dispatchEvent(new Event(event.type));
}
+
+ /*
+ * IContainer
+ */
+
+ /**
+ * @private
+ */
+ public function childrenAdded():void
+ {
+ dispatchEvent(new ValueEvent("childrenAdded"));
+ }
+
+ /**
+ * @copy org.apache.royale.core.IContentViewHost#strandChildren
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.8
+ */
+ public function get strandChildren():IParent
+ {
+ return this;
+ }
+
+
}
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
index 5f3aa8f..c7d5eee 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
@@ -19,12 +19,15 @@
package spark.components.supportClasses
{
-
+ import org.apache.royale.core.ILayoutHost;
+ import org.apache.royale.core.ILayoutParent;
// import flash.display.DisplayObject;
// import mx.core.ContainerGlobals;
import mx.core.IFlexDisplayObject;
+ import mx.core.IUIComponent;
import mx.managers.IFocusManagerContainer;
+ import spark.core.ISparkLayoutHost;
/**
* Normal State
@@ -61,7 +64,7 @@
* @playerversion AIR 1.5
* @productversion Flex 4
*/
-public class SkinnableContainerBase extends SkinnableComponent implements IFocusManagerContainer
+public class SkinnableContainerBase extends SkinnableComponent implements IFocusManagerContainer, ILayoutParent
{
// include "../../core/Version.as";
@@ -146,5 +149,51 @@
{
return enabled ? "normal" : "disabled";
}
+
+ /**
+ * Returns the ILayoutHost which is its view. From ILayoutParent.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.8
+ */
+ public function getLayoutHost():ILayoutHost
+ {
+ return view as ILayoutHost;
+ }
+
+ //
+ // Delegate to displayView
+ //
+
+ override public function get measuredWidth():Number
+ {
+ var lh:ISparkLayoutHost = getLayoutHost() as ISparkLayoutHost;
+ var g:IUIComponent = (lh ? lh.displayView as IUIComponent : null);
+ return g ? g.measuredWidth : super.measuredWidth;
+ }
+
+ override public function get measuredHeight():Number
+ {
+ var lh:ISparkLayoutHost = getLayoutHost() as ISparkLayoutHost;
+ var g:IUIComponent = (lh ? lh.displayView as IUIComponent : null);
+ return g ? g.measuredHeight : super.measuredHeight;
+ }
+
+ override public function setActualSize(w:Number, h:Number):void
+ {
+ super.setActualSize(w, h);
+
+ var lh:ISparkLayoutHost = getLayoutHost() as ISparkLayoutHost;
+ var g:IUIComponent = (lh ? lh.displayView as IUIComponent : null);
+ if (g && g != this)
+ {
+ g.setActualSize(w, h);
+ // TODO: See note in Spark Application.setActualSize().
+// g.width = w;
+// g.height = h;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SparkTextButtonItemRenderer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SparkTextButtonItemRenderer.as
index 5aa6919..da01ffa 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SparkTextButtonItemRenderer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SparkTextButtonItemRenderer.as
@@ -32,6 +32,7 @@
import spark.components.supportClasses.ToggleButtonBase;
import mx.controls.listClasses.IListItemRenderer;
import mx.events.ListEvent;
+ import org.apache.royale.core.IHasLabelField;
/**
* The TextButtonItemRenderer is the default renderer for TabBar
@@ -42,7 +43,7 @@
* @productversion Flex 3
*/
- public class SparkTextButtonItemRenderer extends ToggleButtonBase implements IListItemRenderer
+ public class SparkTextButtonItemRenderer extends ToggleButtonBase implements IListItemRenderer, IHasLabelField
{
public function SparkTextButtonItemRenderer()
{
@@ -273,7 +274,7 @@
throw new Error("Method not implemented.");
}
- public function get processedDescriptors():Boolean
+ /* public function get processedDescriptors():Boolean
{
throw new Error("Method not implemented.");
}
@@ -281,7 +282,7 @@
public function set processedDescriptors(value:Boolean):void
{
throw new Error("Method not implemented.");
- }
+ }*/
public function get updateCompletePendingFlag():Boolean
{
@@ -292,6 +293,33 @@
{
throw new Error("Method not implemented.");
}
+
+ COMPILE::JS
+ override public function get measuredWidth():Number
+ {
+ if (isNaN(_measuredWidth) || (!_measuredWidth && text != ""))
+ measure();
+ return super.measuredWidth;
+ }
+
+ COMPILE::JS
+ override public function get measuredHeight():Number
+ {
+ if (isNaN(_measuredHeight) || (!_measuredHeight && text != ""))
+ measure();
+ return super.measuredHeight;
+ }
+
+ COMPILE::JS
+ override protected function measure():void
+ {
+ var oldParent:Element = element.parentElement;
+ document.body.appendChild(element);
+ _measuredWidth = element.offsetWidth;
+ _measuredHeight = element.offsetHeight;
+ document.body.removeChild(element);
+ oldParent.appendChild(element);
+ }
}
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkContainer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkContainer.as
new file mode 100644
index 0000000..8b95d23
--- /dev/null
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkContainer.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 spark.core
+{
+ import spark.layouts.supportClasses.LayoutBase;
+
+ /**
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Royale 0.9.8
+ */
+ public interface ISparkContainer
+ {
+ /**
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Royale 0.9.8
+ */
+ function get layout():LayoutBase;
+
+ /**
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Royale 0.9.8
+ */
+ function set layout(value:LayoutBase):void;
+ }
+}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkLayoutHost.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkLayoutHost.as
new file mode 100644
index 0000000..e011a32
--- /dev/null
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/core/ISparkLayoutHost.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 spark.core
+{
+ import spark.components.supportClasses.GroupBase;
+
+ /**
+ * The ISparkLayoutHost interface is an extension of ILayoutHost for
+ * Spark container views that have an IBeadLayout. The layout implementation
+ * often needs to know certain things about other objects in the view.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ public interface ISparkLayoutHost
+ {
+ /**
+ * The container which is displayed (contentView or skin).
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ function get displayView():GroupBase;
+ }
+}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
index 33b92f5..7eed160 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
@@ -2158,7 +2158,10 @@
override public function layout():Boolean
{
- var n:int = layoutView.numElements;
+ // TODO: can we just use target all the time? in other words, is target always host.view.contentView?
+ // sometimes host == null, and SparkLayoutBead used target.numElements before
+ //
+ var n:int = (host ? layoutView.numElements : target.numElements);
if (n == 0)
return false;
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/SparkLayoutBead.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/SparkLayoutBead.as
index fa5969e..c963de3 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/SparkLayoutBead.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/SparkLayoutBead.as
@@ -19,188 +19,95 @@
package spark.layouts.supportClasses
{
-import mx.core.Container;
-import mx.core.ILayoutElement;
-import mx.core.IVisualElement;
-import mx.core.UIComponent;
-import mx.core.mx_internal;
-
-import spark.components.supportClasses.GroupBase;
-import spark.components.SkinnableContainer;
-import spark.components.SkinnableDataContainer;
-import spark.core.NavigationUnit;
-
-import org.apache.royale.core.IBeadLayout;
-import org.apache.royale.core.ILayoutHost;
-import org.apache.royale.core.IStrand;
-import org.apache.royale.core.LayoutBase;
-import org.apache.royale.core.UIBase;
-import org.apache.royale.events.Event;
-import org.apache.royale.events.EventDispatcher;
-import org.apache.royale.events.IEventDispatcher;
-import org.apache.royale.utils.MXMLDataInterpreter;
-import org.apache.royale.utils.loadBeadFromValuesManager;
-
-use namespace mx_internal;
-
-/**
- * The SparkLayoutBead class is a layout bead that pumps the Spark
- * LayoutBase subclasses.
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Flex 4
- */
-public class SparkLayoutBead extends org.apache.royale.core.LayoutBase
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Flex 4
- */
- public function SparkLayoutBead()
- {
- super();
- }
-
- private var sawSizeChanged:Boolean;
+ import mx.core.UIComponent;
+ import org.apache.royale.core.ILayoutHost;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.LayoutBase;
+ import org.apache.royale.core.UIBase;
+ import org.apache.royale.events.Event;
+ import spark.components.supportClasses.GroupBase;
+ import spark.components.supportClasses.SkinnableComponent;
- override protected function handleSizeChange(event:Event):void
+ /**
+ * The SparkLayoutBead class is a layout bead that pumps the Spark
+ * LayoutBase subclasses.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Royale 0.9.6
+ */
+ public class SparkLayoutBead extends org.apache.royale.core.LayoutBase
{
- sawSizeChanged = true;
- super.handleSizeChange(event);
- }
-
- private var ranLayout:Boolean;
- private var inUpdateDisplayList:Boolean;
-
- override public function layout():Boolean
- {
- ranLayout = true;
-
- var n:int = target.numChildren;
- if (n == 0)
- return false;
-
- var usingSkin:Boolean = false;
- if (host is SkinnableContainer)
- usingSkin = (host as SkinnableContainer).skin != null;
- else if (host is SkinnableDataContainer)
- usingSkin = (host as SkinnableDataContainer).skin != null;
-
- if (!usingSkin && target != host)
- {
- var tlc:UIComponent = host as UIComponent;
- if (!tlc.isWidthSizedToContent() &&
- !tlc.isHeightSizedToContent())
- target.setActualSize(tlc.width, tlc.height);
- }
-
- if ((!isNaN(target.percentWidth)) || (!isNaN(target.percentHeight)))
- if (!sawSizeChanged)
- return false;
-
- var w:Number = target.width;
- var h:Number = target.height;
- if (target.layout.isHeightSizedToContent())
- h = target.measuredHeight;
- if (target.layout.isWidthSizedToContent())
- w = target.measuredWidth;
- inUpdateDisplayList = true;
- target.layout.updateDisplayList(w, h);
- inUpdateDisplayList = false;
-
- // update the target's actual size if needed.
- if (target.layout.isWidthSizedToContent() && target.layout.isHeightSizedToContent()) {
- target.setActualSize(target.getExplicitOrMeasuredWidth(),
- target.getExplicitOrMeasuredHeight());
- }
- else if (target.layout.isWidthSizedToContent())
- target.setWidth(target.getExplicitOrMeasuredWidth());
- else if (target.layout.isHeightSizedToContent())
- target.setHeight(target.getExplicitOrMeasuredHeight());
-
- return true;
- }
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- private var _strand:IStrand;
-
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- var host:UIBase = value as UIBase;
- _target = (host.view as ILayoutHost).contentView as GroupBase;
- super.strand = value;
- // The main layout may not get put on the strand until
- // after children are added so listen here as well
- if (target.parent)
- listenToChildren();
- }
-
- private var _target:GroupBase;
-
- public function get target():GroupBase
- {
- return _target;
- }
-
- public function set target(value:GroupBase):void
- {
- _target = value;
- }
-
- override protected function handleChildrenAdded(event:Event):void
- {
- COMPILE::JS {
- super.handleChildrenAdded(event);
- listenToChildren();
- }
- }
-
- private function listenToChildren():void
- {
- var n:Number = layoutView.numElements;
- for(var i:int=0; i < n; i++) {
- var child:IEventDispatcher = layoutView.getElementAt(i) as IEventDispatcher;
- child.addEventListener("widthChanged", childResizeHandler);
- child.addEventListener("heightChanged", childResizeHandler);
- child.addEventListener("sizeChanged", childResizeHandler);
- }
- }
-
- override protected function childResizeHandler(event:Event):void
- {
- if (inUpdateDisplayList)
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10
+ * @playerversion AIR 1.5
+ * @productversion Royale 0.9.6
+ */
+ public function SparkLayoutBead()
{
- // children are resizing during layout.
- if (isNaN(target.explicitWidth) || isNaN(target.explicitHeight))
- {
- // that means our we need to be re-measured
- target.invalidateSize();
- }
- return;
+ super();
}
- ranLayout = false;
- super.childResizeHandler(event); // will set ranLayout if it did
- if (!ranLayout)
- performLayout();
- }
-}
+ private var sawSizeChanged:Boolean;
+
+ override protected function handleSizeChange(event:Event):void
+ {
+ sawSizeChanged = true;
+ super.handleSizeChange(event);
+ }
+
+ override public function layout():Boolean
+ {
+ // NOTE: Can't test numChildren, due to virtual layouts
+ //var n:int = target.numChildren;
+ //if (n == 0)
+ // return false;
+
+ var usingSkin:Boolean = false;
+ if (host is SkinnableComponent)
+ usingSkin = (host as SkinnableComponent).skin != null;
+
+ if (!usingSkin && target != host)
+ {
+ var tlc:UIComponent = host as UIComponent;
+ if (!tlc.isWidthSizedToContent() && !tlc.isHeightSizedToContent())
+ target.setActualSize(tlc.width, tlc.height);
+ }
+
+ if (!isNaN(target.percentWidth) || !isNaN(target.percentHeight))
+ {
+ if (!sawSizeChanged)
+ return false;
+ }
+
+ target.layout.layout();
+ return true;
+ }
+
+ private var _strand:IStrand;
+
+ override public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ var host:UIBase = value as UIBase;
+ _target = (host.view as ILayoutHost).contentView as GroupBase;
+ super.strand = value;
+ }
+
+ private var _target:GroupBase;
+
+ public function get target():GroupBase
+ {
+ return _target;
+ }
+
+ public function set target(value:GroupBase):void
+ {
+ _target = value;
+ }
+ }
}
diff --git a/frameworks/projects/XML/src/main/royale/XML.as b/frameworks/projects/XML/src/main/royale/XML.as
index 39cd4f2..6586ebf 100644
--- a/frameworks/projects/XML/src/main/royale/XML.as
+++ b/frameworks/projects/XML/src/main/royale/XML.as
@@ -1533,11 +1533,16 @@
}
return namespaces;
}
-
+ /**
+ * This method is public to enable code optimizations for getting attributes
+ */
public function getAttributeArray():Array
{
return _attributes ? _attributes : [];
}
+ /**
+ * This method is public to enable code optimizations for getting children
+ */
public function getChildrenArray():Array
{
return _children ? _children : [];
@@ -1890,7 +1895,7 @@
{
/*if(!_name)
_name = getQName("","","",false);*/
- return _name;
+ return _name ? _name : null;
}
/**
diff --git a/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLQNameTest.as b/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLQNameTest.as
index 6412658..5965a4f 100644
--- a/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLQNameTest.as
+++ b/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLQNameTest.as
@@ -22,6 +22,7 @@
import flexUnitTests.xml.support.QNameTest;
import org.apache.royale.test.asserts.*;
+ import org.apache.royale.test.asserts.assertStrictlyEquals;
// import testshim.RoyaleUnitTestRunner;
@@ -297,7 +298,37 @@
assertTrue(test6 == test1, 'unexpected equality result');
}
-
+ [Test]
+ public function testXMLWithNamespace():void{
+ var xml:XML =
+ <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
+ soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
+
+ <soap:Body xmlns:wx = "http://example.com/weather">
+ <wx:forecast>
+ <wx:city>Quito</wx:city>
+ </wx:forecast>
+ </soap:Body>
+ </soap:Envelope>;
+
+ assertEquals(xml.name().localName,"Envelope", "unexpected localName result");
+ assertEquals(xml.name().uri,"http://www.w3.org/2001/12/soap-envelope","unexpected uri result");
+ }
+
+ [Test]
+ public function testNameWithTextAndAttribute():void{
+ var xml:XML =
+ <foo x="15" y="22">
+ text
+ </foo>;
+
+ assertEquals(xml.name().localName,"foo");
+ assertEquals(xml.name().uri, "","unexpected uri result");
+ assertEquals(xml.children()[0],"text","unexpected text result");
+ assertStrictlyEquals(xml.children()[0].name(),null,"unexpected name to be null and not undefined");
+ assertEquals(xml.attributes()[0],15,"unexpected attribute result");
+ assertEquals(xml.attributes()[0].name(),"x","unexpected name result");
+ }
}
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
index 0f3e303..6deba17 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#eba3ea, #e279e0);
+ border: 1px solid #8a1e88;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#c92cc6, #d94fd6);
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #f9e2f8;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
index f687348..f2dd6e3 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#cbe9fb, #9bd5f8);
+ border: 1px solid #0f88d1;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#3cadf1, #6cc1f4);
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
index cec28bb..464c14f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#d2e9b2, #bbdd8b);
+ border: 1px solid #638c29;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#8cc63c, #a3d263);
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #f5faee;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
index 14cfd36..0d3e8d6 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#a6e2ad, #7fd68a);
+ border: 1px solid #277b32;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#3ab549, #58ca66);
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #e0f5e2;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
index 0dba326..c78710e 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fcdab1, #fac380);
+ border: 1px solid #c16c07;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#f7941d, #f9ab4e);
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fffdfb;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
index bc2814f..f7b8577 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f8a9ac, #f47a7f);
+ border: 1px solid #ad0e15;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#ec1c24, #f04b51);
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fef0f0;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
index ae4f100..d3ab2c2 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#9bc1e8, #72a7de);
+ border: 1px solid #1e4e80;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#2c74be, #488ed5);
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #d9e8f6;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
index 7ac5193..9844038 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fdedd3, #fcd9a1);
+ border: 1px solid #e28f08;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#f8b13f, #fac570);
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
index f3da35d..99d7c03 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fac8b8, #f6a389);
+ border: 1px solid #be390e;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#ef5a2a, #f37f59);
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
index 09550f0..ef95b10 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#88e2dc, #5fd8cf);
+ border: 1px solid #1a6b65;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#29a89f, #36cec3);
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #c6f1ee;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
index c3e13a4..f810e51 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#b27ed7, #9a56cc);
+ border: 1px solid #3c1a55;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#662c90, #8238b7);
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #d5b8e9;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
index e1f549a..df21259 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: #737373;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f9f48d, #f7ef5c);
+ border: 1px solid #999207;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#e2d70b, #f5ea2b);
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fdfbd6;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
index 7d1cf31..58e6083 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#eba3ea, #e279e0);
border: 1px solid #8a1e88;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#c92cc6, #d94fd6);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
index 5c5dc84..cd26cfe 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#cbe9fb, #9bd5f8);
border: 1px solid #0f88d1;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#3cadf1, #6cc1f4);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
index 4e9be06..029ffab 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#d2e9b2, #bbdd8b);
border: 1px solid #638c29;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#8cc63c, #a3d263);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
index 66a24af..2bb8ff2 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#a6e2ad, #7fd68a);
border: 1px solid #277b32;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#3ab549, #58ca66);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
index c5303e1..e3a86c2 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fcdab1, #fac380);
border: 1px solid #c16c07;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#f7941d, #f9ab4e);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
index 3bd3218..951c7d0 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#f8a9ac, #f47a7f);
border: 1px solid #ad0e15;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#ec1c24, #f04b51);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
index 919cd66..e15fda6 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#9bc1e8, #72a7de);
border: 1px solid #1e4e80;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#2c74be, #488ed5);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
index ff967bf..0d3e46a 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fdedd3, #fcd9a1);
border: 1px solid #e28f08;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#f8b13f, #fac570);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
index c3b60c4..06e2f8c 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fac8b8, #f6a389);
border: 1px solid #be390e;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#ef5a2a, #f37f59);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
index 866edc0..2fce57f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#88e2dc, #5fd8cf);
border: 1px solid #1a6b65;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#29a89f, #36cec3);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
index 908a073..6da99be 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#b27ed7, #9a56cc);
border: 1px solid #3c1a55;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#662c90, #8238b7);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
index c605dba..57f8fc8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#f9f48d, #f7ef5c);
border: 1px solid #999207;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #0d0d0d;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#e2d70b, #f5ea2b);
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
index a75e81e..ebef9dd 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#eba3ea, #e279e0);
+ border: 1px solid #8a1e88;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#c92cc6, #d94fd6);
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #f9e2f8;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
index d6c284c..faca8a4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#cbe9fb, #9bd5f8);
+ border: 1px solid #0f88d1;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#3cadf1, #6cc1f4);
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
index 2daa3f3..94af9df 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#d2e9b2, #bbdd8b);
+ border: 1px solid #638c29;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#8cc63c, #a3d263);
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #f5faee;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
index b475d96..8f8a9dc 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#a6e2ad, #7fd68a);
+ border: 1px solid #277b32;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#3ab549, #58ca66);
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #e0f5e2;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
index 36bc581..a242b35 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fcdab1, #fac380);
+ border: 1px solid #c16c07;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#f7941d, #f9ab4e);
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fffdfb;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
index 006321b..8ac0d78 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f8a9ac, #f47a7f);
+ border: 1px solid #ad0e15;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#ec1c24, #f04b51);
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fef0f0;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
index 1eeebff..b4b2609 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#9bc1e8, #72a7de);
+ border: 1px solid #1e4e80;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#2c74be, #488ed5);
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #d9e8f6;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
index 2869127..72b5d9f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fdedd3, #fcd9a1);
+ border: 1px solid #e28f08;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#f8b13f, #fac570);
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
index b38da4d..748960f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fac8b8, #f6a389);
+ border: 1px solid #be390e;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#ef5a2a, #f37f59);
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
index 7af38e4..38af291 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#88e2dc, #5fd8cf);
+ border: 1px solid #1a6b65;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#29a89f, #36cec3);
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #c6f1ee;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
index 2b7478b..4f1218f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#b27ed7, #9a56cc);
+ border: 1px solid #3c1a55;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#662c90, #8238b7);
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #d5b8e9;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
index 384d269..8019f9b 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: #737373;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(#7f7f7f, #737373);
+ border: 1px solid #333333;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f9f48d, #f7ef5c);
+ border: 1px solid #999207;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: #737373;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #404040;
+ border: 1px solid #0d0d0d;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23191919' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23191919' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23191919' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#e2d70b, #f5ea2b);
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #8c8c8c;
+ box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #737373;
+ box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: #595959;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#595959, #737373);
+ box-shadow: 0px 0px 0px 1px #4c4c4c;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fdfbd6;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
index 2e94d96..95a884a 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #e68ee5;
+ border: 1px solid #C92CC6;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #C92CC6;
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Blue-Theme/src/main/resources/defaults.css
index 0812f73..793cd55 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Blue-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #b3dffa;
+ border: 1px solid #3CADF1;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #3CADF1;
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
index 731457e..3682381 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #c6e39f;
+ border: 1px solid #8CC63C;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #8CC63C;
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Green-Theme/src/main/resources/defaults.css
index cde0db4..7e3ca11 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Green-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #92dc9b;
+ border: 1px solid #3AB549;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #3AB549;
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Orange-Theme/src/main/resources/defaults.css
index 6dc0f15..5a10843 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Orange-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #fbce98;
+ border: 1px solid #F7941D;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #F7941D;
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Red-Theme/src/main/resources/defaults.css
index 00dc630..c045200 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Red-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #f69296;
+ border: 1px solid #EC1C24;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #EC1C24;
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
index 39c5996..c1a1661 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #86b4e3;
+ border: 1px solid #2C74BE;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #2C74BE;
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
index 895aae7..48cf1c7 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #fce3ba;
+ border: 1px solid #F8B13F;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #F8B13F;
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
index f931d19..23cb960 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #f8b6a1;
+ border: 1px solid #EF5A2A;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #EF5A2A;
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
index ac9ee5e..d627e72 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #74ddd5;
+ border: 1px solid #29A89F;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #29A89F;
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Violet-Theme/src/main/resources/defaults.css
index 4e4032c..8604b84 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Violet-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #a66ad1;
+ border: 1px solid #662C90;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #662C90;
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Emphasized-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
index 7f1c002..56957ca 100644
--- a/frameworks/themes/Jewel-Light-Flat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
@@ -124,6 +124,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: #f8f174;
+ border: 1px solid #E2D70B;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: #E2D70B;
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: none;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Amethyst-Theme/src/main/resources/defaults.css
index 10937df..e328793 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Amethyst-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #e68ee5;
border: 1px solid #C92CC6;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #C92CC6;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Blue-Theme/src/main/resources/defaults.css
index 634fc37..b6da749 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Blue-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #b3dffa;
border: 1px solid #3CADF1;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #3CADF1;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Emerald-Theme/src/main/resources/defaults.css
index bd61cc9..c2036d5 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Emerald-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #c6e39f;
border: 1px solid #8CC63C;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #8CC63C;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Green-Theme/src/main/resources/defaults.css
index 10d6c59..50d4dd4 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Green-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #92dc9b;
border: 1px solid #3AB549;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #3AB549;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Orange-Theme/src/main/resources/defaults.css
index c7f2123..5303819 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Orange-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #fbce98;
border: 1px solid #F7941D;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #F7941D;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Red-Theme/src/main/resources/defaults.css
index a8b0643..6ba75df 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Red-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #f69296;
border: 1px solid #EC1C24;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #EC1C24;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Sapphire-Theme/src/main/resources/defaults.css
index 247f54f..07a2e19 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Sapphire-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #86b4e3;
border: 1px solid #2C74BE;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #2C74BE;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Sunflower-Theme/src/main/resources/defaults.css
index bf2ed93..71647d8 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Sunflower-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #fce3ba;
border: 1px solid #F8B13F;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #F8B13F;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Topaz-Theme/src/main/resources/defaults.css
index b4aa938..d65c7f7 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Topaz-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #f8b6a1;
border: 1px solid #EF5A2A;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #EF5A2A;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Turquoise-Theme/src/main/resources/defaults.css
index bd352a7..06c9a33 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Turquoise-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #74ddd5;
border: 1px solid #29A89F;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #29A89F;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Violet-Theme/src/main/resources/defaults.css
index 0141f53..ec85cb5 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Violet-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #a66ad1;
border: 1px solid #662C90;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #662C90;
diff --git a/frameworks/themes/Jewel-Light-Flat-Primary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Primary-Yellow-Theme/src/main/resources/defaults.css
index b3adace..f85939a 100644
--- a/frameworks/themes/Jewel-Light-Flat-Primary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Primary-Yellow-Theme/src/main/resources/defaults.css
@@ -415,9 +415,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: #f8f174;
border: 1px solid #E2D70B;
border-radius: 3px;
@@ -430,12 +436,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: #E2D70B;
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
index 5ca44a7..110efc4 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #e68ee5;
+ border: 1px solid #C92CC6;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #C92CC6;
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Blue-Theme/src/main/resources/defaults.css
index 13b5b20..2077a69 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Blue-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #b3dffa;
+ border: 1px solid #3CADF1;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #3CADF1;
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Emerald-Theme/src/main/resources/defaults.css
index 66cb2b7..6487a23 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Emerald-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #c6e39f;
+ border: 1px solid #8CC63C;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #8CC63C;
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Green-Theme/src/main/resources/defaults.css
index 55f9be1..33b413d 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Green-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #92dc9b;
+ border: 1px solid #3AB549;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #3AB549;
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Orange-Theme/src/main/resources/defaults.css
index 8a6656b..38d5003 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Orange-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #fbce98;
+ border: 1px solid #F7941D;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #F7941D;
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Red-Theme/src/main/resources/defaults.css
index 208ccbe..6879347 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Red-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #f69296;
+ border: 1px solid #EC1C24;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #EC1C24;
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
index 66bc9b5..d536287 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #86b4e3;
+ border: 1px solid #2C74BE;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #2C74BE;
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
index f067a1c..7141ea4 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #fce3ba;
+ border: 1px solid #F8B13F;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #F8B13F;
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Topaz-Theme/src/main/resources/defaults.css
index c316d75..ad5935c 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Topaz-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #f8b6a1;
+ border: 1px solid #EF5A2A;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #EF5A2A;
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
index 6f984f9..cfed884 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #74ddd5;
+ border: 1px solid #29A89F;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #29A89F;
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Violet-Theme/src/main/resources/defaults.css
index f3ef995..c742cae 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Violet-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #a66ad1;
+ border: 1px solid #662C90;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #662C90;
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Light-Flat-Secondary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-Flat-Secondary-Yellow-Theme/src/main/resources/defaults.css
index 965bcaa..8053600 100644
--- a/frameworks/themes/Jewel-Light-Flat-Secondary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-Flat-Secondary-Yellow-Theme/src/main/resources/defaults.css
@@ -124,6 +124,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: white;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: #f8f174;
+ border: 1px solid #E2D70B;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: #E2D70B;
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #d9d9d9);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
index e16c356..2131f38 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#eba3ea, #e279e0);
+ border: 1px solid #8a1e88;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#c92cc6, #d94fd6);
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #f9e2f8;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
index f4c521f..558b306 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#cbe9fb, #9bd5f8);
+ border: 1px solid #0f88d1;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#3cadf1, #6cc1f4);
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
index ad5f9d8..c84296d 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#d2e9b2, #bbdd8b);
+ border: 1px solid #638c29;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#8cc63c, #a3d263);
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #f5faee;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
index 3d8b9c9..85d5d6b 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#a6e2ad, #7fd68a);
+ border: 1px solid #277b32;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#3ab549, #58ca66);
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #e0f5e2;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
index 2286517..a72a7c7 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fcdab1, #fac380);
+ border: 1px solid #c16c07;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#f7941d, #f9ab4e);
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fffdfb;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
index b85456d..82be5ff 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f8a9ac, #f47a7f);
+ border: 1px solid #ad0e15;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#ec1c24, #f04b51);
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fef0f0;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
index a7a6879..65cfee2 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#9bc1e8, #72a7de);
+ border: 1px solid #1e4e80;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#2c74be, #488ed5);
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #d9e8f6;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
index 0a74a70..60bb21c 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fdedd3, #fcd9a1);
+ border: 1px solid #e28f08;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#f8b13f, #fac570);
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
index 26f0a9b..e7da755 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fac8b8, #f6a389);
+ border: 1px solid #be390e;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#ef5a2a, #f37f59);
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: white;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
index 7d2eec5..a511b67 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#88e2dc, #5fd8cf);
+ border: 1px solid #1a6b65;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#29a89f, #36cec3);
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #c6f1ee;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
index c7487ae..4471552 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#b27ed7, #9a56cc);
+ border: 1px solid #3c1a55;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#662c90, #8238b7);
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #d5b8e9;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
index 5319dfb..3135920 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
@@ -123,6 +123,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f9f48d, #f7ef5c);
+ border: 1px solid #999207;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#e2d70b, #f5ea2b);
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #fdfbd6;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
index f59e136..1be3bdf 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#eba3ea, #e279e0);
border: 1px solid #8a1e88;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#c92cc6, #d94fd6);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
index 9aefce1..822240f 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#cbe9fb, #9bd5f8);
border: 1px solid #0f88d1;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#3cadf1, #6cc1f4);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
index edda6c6..3666890 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#d2e9b2, #bbdd8b);
border: 1px solid #638c29;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#8cc63c, #a3d263);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
index 77ed8eb..effaf7b 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#a6e2ad, #7fd68a);
border: 1px solid #277b32;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#3ab549, #58ca66);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
index 6438a98..9054d5c 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fcdab1, #fac380);
border: 1px solid #c16c07;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#f7941d, #f9ab4e);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
index 45772dd..5b89803 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#f8a9ac, #f47a7f);
border: 1px solid #ad0e15;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#ec1c24, #f04b51);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
index b796526..e047f4e 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#9bc1e8, #72a7de);
border: 1px solid #1e4e80;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#2c74be, #488ed5);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
index 99117e4..e339cdd 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fdedd3, #fcd9a1);
border: 1px solid #e28f08;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#f8b13f, #fac570);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
index 02cdee7..39dd1a9 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#fac8b8, #f6a389);
border: 1px solid #be390e;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#ef5a2a, #f37f59);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
index d5410d4..9ddd296 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#88e2dc, #5fd8cf);
border: 1px solid #1a6b65;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#29a89f, #36cec3);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
index 11dce35..e0429eb 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#b27ed7, #9a56cc);
border: 1px solid #3c1a55;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#662c90, #8238b7);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
index 99a0ad8..950524e 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#f9f48d, #f7ef5c);
border: 1px solid #999207;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#e2d70b, #f5ea2b);
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
index a51a00e..ffc7be8 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23C92CC6' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23C92CC6' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#eba3ea, #e279e0);
+ border: 1px solid #8a1e88;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23C92CC6' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#c92cc6, #d94fd6);
+ box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f9e2f8;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #f9e2f8;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #da58d8;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
index 52562b2..91e6482 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#cbe9fb, #9bd5f8);
+ border: 1px solid #0f88d1;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#3cadf1, #6cc1f4);
+ box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #75c5f5;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
index 5e7b07e..772056e 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#d2e9b2, #bbdd8b);
+ border: 1px solid #638c29;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#8cc63c, #a3d263);
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #f5faee;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #a8d46b;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
index edb5c93..4d6343a 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233AB549' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233AB549' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#a6e2ad, #7fd68a);
+ border: 1px solid #277b32;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233AB549' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#3ab549, #58ca66);
+ box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #e0f5e2;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #e0f5e2;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #60cc6d;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
index 4a88337..7b73ad9 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F7941D' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F7941D' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fcdab1, #fac380);
+ border: 1px solid #c16c07;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F7941D' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#f7941d, #f9ab4e);
+ box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fffdfb;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fffdfb;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f9b058;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
index 2e4f955..b3071f9 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EC1C24' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EC1C24' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f8a9ac, #f47a7f);
+ border: 1px solid #ad0e15;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EC1C24' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#ec1c24, #f04b51);
+ box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fef0f0;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fef0f0;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f1545a;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
index ee2626a..35d93f0 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%232C74BE' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%232C74BE' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#9bc1e8, #72a7de);
+ border: 1px solid #1e4e80;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%232C74BE' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#2c74be, #488ed5);
+ box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d9e8f6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #d9e8f6;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #5193d7;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
index eb18efb..121dd76 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23F8B13F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23F8B13F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fdedd3, #fcd9a1);
+ border: 1px solid #e28f08;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23F8B13F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#f8b13f, #fac570);
+ box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #fac97a;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
index 1aa9699..8acbc56 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fac8b8, #f6a389);
+ border: 1px solid #be390e;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#ef5a2a, #f37f59);
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f38663;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
index 77484f3..e5ea058 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%2329A89F' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%2329A89F' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#88e2dc, #5fd8cf);
+ border: 1px solid #1a6b65;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%2329A89F' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#29a89f, #36cec3);
+ box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #c6f1ee;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #c6f1ee;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #3ed0c6;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
index 327db86..3b40345 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23662C90' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23662C90' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#b27ed7, #9a56cc);
+ border: 1px solid #3c1a55;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23662C90' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#662c90, #8238b7);
+ box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #d5b8e9;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #d5b8e9;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #873abf;
}
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
index b1ad97f..63e09b1 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
@@ -123,6 +123,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23E2D70B' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23E2D70B' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#f9f48d, #f7ef5c);
+ border: 1px solid #999207;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23E2D70B' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#e2d70b, #f5ea2b);
+ box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: #fdfbd6;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: #fdfbd6;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f5eb35;
}
diff --git a/frameworks/themes/JewelTheme/src/main/resources/defaults.css b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
index 7eb658f..5a0f0a7 100644
--- a/frameworks/themes/JewelTheme/src/main/resources/defaults.css
+++ b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
@@ -413,9 +413,15 @@
transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%233CADF1' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
transform: scale(1);
}
-.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before {
+.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%233CADF1' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
background: linear-gradient(#cbe9fb, #9bd5f8);
border: 1px solid #0f88d1;
border-radius: 3px;
@@ -428,12 +434,23 @@
border: 1px solid #d9d9d9;
border-radius: 3px;
}
-.jewel.checkbox input[disabled] + span::after {
+.jewel.checkbox input:checked[disabled] + span::after {
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
+.jewel.checkbox input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.checkbox span {
padding-left: 8px;
}
+.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%233CADF1' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+ opacity: 1;
+ transform: scale(1);
+}
+.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
.jewel.switch input:checked + .switch {
background: linear-gradient(#3cadf1, #6cc1f4);
@@ -2054,6 +2071,72 @@
color: silver;
}
+.jewel.checkbox.secondary input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.secondary input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:checked + span::after, .jewel.checkbox.secondary input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23EF5A2A' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate + span::after, .jewel.checkbox.secondary input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23EF5A2A' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:focus + span::before, .jewel.checkbox.secondary input:checked:focus + span::before, .jewel.checkbox.secondary input:checked:active:focus + span::before, .jewel.checkbox.secondary input:indeterminate:focus + span::before, .jewel.checkbox.secondary input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#fac8b8, #f6a389);
+ border: 1px solid #be390e;
+}
+.jewel.checkbox.secondary input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.secondary input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.secondary input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate + span::after, .jewel.checkbox.secondary.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23EF5A2A' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.secondary.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.secondary input:checked + .switch {
+ background: linear-gradient(#ef5a2a, #f37f59);
+ box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch.secondary input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch.secondary input:checked + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.secondary input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.secondary .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.secondary .switch::before {
+ background: white;
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.secondary.hovered {
background: #f38663;
}
@@ -2335,6 +2418,73 @@
color: silver;
}
+.jewel.checkbox.emphasized input + span::before {
+ background: linear-gradient(white, #f3f3f3);
+ border: 1px solid #b3b3b3;
+}
+.jewel.checkbox.emphasized input + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:checked + span::after, .jewel.checkbox.emphasized input:checked:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate + span::after, .jewel.checkbox.emphasized input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:focus + span::before, .jewel.checkbox.emphasized input:checked:focus + span::before, .jewel.checkbox.emphasized input:checked:active:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:focus + span::before, .jewel.checkbox.emphasized input:indeterminate:active:focus + span::before {
+ background: linear-gradient(#d2e9b2, #bbdd8b);
+ border: 1px solid #638c29;
+}
+.jewel.checkbox.emphasized input[disabled] + span {
+ color: silver;
+}
+.jewel.checkbox.emphasized input[disabled] + span::before {
+ background: #f3f3f3;
+ border: 1px solid #d9d9d9;
+}
+.jewel.checkbox.emphasized input:checked[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate + span::after, .jewel.checkbox.emphasized.rejected input:indeterminate:active + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+.jewel.checkbox.emphasized.rejected input:indeterminate[disabled] + span::after {
+ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
+}
+
+.jewel.switch.emphasized input:checked + .switch {
+ background: linear-gradient(#8cc63c, #a3d263);
+ box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch.emphasized input:focus + .switch {
+ box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch.emphasized input:checked + .switch::before {
+ background: #f5faee;
+}
+.jewel.switch.emphasized input[disabled]:checked + .switch {
+ background: #d9d9d9;
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized input[disabled] + .switch {
+ background: #f3f3f3;
+ box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch.emphasized input[disabled] + .switch::before {
+ background: white;
+}
+.jewel.switch.emphasized .switch {
+ background: linear-gradient(#d9d9d9, #f3f3f3);
+ box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch.emphasized .switch::before {
+ background: #f5faee;
+ box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.emphasized.hovered {
background: #a8d46b;
}