You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2021/01/04 18:12:58 UTC

[royale-asjs] branch develop updated: jewel-theme: finish Switch styles for flat and non flat themes

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

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


The following commit(s) were added to refs/heads/develop by this push:
     new c72e569  jewel-theme: finish Switch styles for flat and non flat themes
c72e569 is described below

commit c72e569b97be62758383d652e13586447d70a9d5
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Mon Jan 4 19:12:48 2021 +0100

    jewel-theme: finish Switch styles for flat and non flat themes
---
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../src/main/resources/defaults.css                | 46 +++++++++++++++++--
 .../JewelTheme/src/main/resources/defaults.css     | 14 ++++--
 .../main/sass/components-primary/_checkbox.sass    | 53 ++++++++++++++++------
 38 files changed, 1595 insertions(+), 128 deletions(-)

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 ea74d3d..c931f1b 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #8a1e88;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#c92cc6, #d94fd6);
+  box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f9e2f8;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #f9e2f8;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 1608182..3ad216d 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #0f88d1;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#3cadf1, #6cc1f4);
+  box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 18ed21b..84b3272 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #638c29;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#8cc63c, #a3d263);
+  box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f5faee;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #f5faee;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 67bfbe7..36c9799 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #277b32;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#3ab549, #58ca66);
+  box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #e0f5e2;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #e0f5e2;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 e111c76..80b9c28 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #c16c07;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#f7941d, #f9ab4e);
+  box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fffdfb;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fffdfb;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 aba4c97..5538b0f 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #ad0e15;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#ec1c24, #f04b51);
+  box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fef0f0;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fef0f0;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 5e66afc..e72a290 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #1e4e80;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#2c74be, #488ed5);
+  box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d9e8f6;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #d9e8f6;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 8ee6549..422945a 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #e28f08;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#f8b13f, #fac570);
+  box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 685802e..8abac2a 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #be390e;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#ef5a2a, #f37f59);
+  box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 3423180..a1a3ad5 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #1a6b65;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#29a89f, #36cec3);
+  box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #c6f1ee;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #c6f1ee;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 fdecc83..d632bf9 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #3c1a55;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#662c90, #8238b7);
+  box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d5b8e9;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #d5b8e9;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 e2a4c7f..8ed7f7f 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #999207;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: #737373;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #404040;
   border: 1px solid #0d0d0d;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: #737373;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#e2d70b, #f5ea2b);
+  box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fdfbd6;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #8c8c8c;
+  box-shadow: 0px 0px 0px 1px #7f7f7f;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #737373;
+  box-shadow: 0px 0px 0px 1px #999999;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: #595959;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#595959, #737373);
+  box-shadow: 0px 0px 0px 1px #4c4c4c;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fdfbd6;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 d51bcc2..da38750 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #C92CC6;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #C92CC6;
+  box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f9e2f8;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 cf8c7ee..ad48868 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #3CADF1;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #3CADF1;
+  box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 af2b96c..08c059c 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #8CC63C;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #8CC63C;
+  box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f5faee;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 e3caadc..3c9f772 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #3AB549;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #3AB549;
+  box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #e0f5e2;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 7b8936b..33d9521 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #F7941D;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #F7941D;
+  box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fffdfb;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 7a48207..89ed35c 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #EC1C24;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #EC1C24;
+  box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fef0f0;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 31200e9..ea9e4b8 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #2C74BE;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #2C74BE;
+  box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d9e8f6;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 5af89cb..4b6efb8 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #F8B13F;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #F8B13F;
+  box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 14a8eef..4c73d75 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #EF5A2A;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #EF5A2A;
+  box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 119fafe..e145da7 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #29A89F;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #29A89F;
+  box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #c6f1ee;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 7194780..2e4e0ac 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #662C90;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #662C90;
+  box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d5b8e9;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 64801a2..5a925e7 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
@@ -422,14 +422,14 @@ j|CardActions {
   border: 1px solid #E2D70B;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -437,6 +437,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: #E2D70B;
+  box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fdfbd6;
+  box-shadow: none;
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #d9d9d9);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: none;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 aacee03..4eebba6 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #8a1e88;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#c92cc6, #d94fd6);
+  box-shadow: 0px 0px 0px 1px #b427b1;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #9f239d;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f9e2f8;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #f9e2f8;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 f2a66fa..2ef7078 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #0f88d1;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#3cadf1, #6cc1f4);
+  box-shadow: 0px 0px 0px 1px #24a3ef;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1198e9;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 f439f13..f1714b8 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #638c29;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#8cc63c, #a3d263);
+  box-shadow: 0px 0px 0px 1px #7eb435;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #71a02f;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #f5faee;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #f5faee;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 a46d741..d53332f 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #277b32;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#3ab549, #58ca66);
+  box-shadow: 0px 0px 0px 1px #34a241;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #2e8e39;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #e0f5e2;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #e0f5e2;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 a881c7a..0d22e60 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #c16c07;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#f7941d, #f9ab4e);
+  box-shadow: 0px 0px 0px 1px #f28809;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d97a08;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fffdfb;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fffdfb;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 b76d8e0..395be2f 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #ad0e15;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#ec1c24, #f04b51);
+  box-shadow: 0px 0px 0px 1px #dc121a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #c51017;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fef0f0;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fef0f0;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 41b5a8f..4c21e71 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #1e4e80;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#2c74be, #488ed5);
+  box-shadow: 0px 0px 0px 1px #2767a9;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #225b95;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d9e8f6;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #d9e8f6;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 878ca9d..065a161 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #e28f08;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#f8b13f, #fac570);
+  box-shadow: 0px 0px 0px 1px #f7a726;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #f69d0e;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 4602063..1c03001 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #be390e;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#ef5a2a, #f37f59);
+  box-shadow: 0px 0px 0px 1px #ed4812;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #d64010;
+}
+.jewel.switch input:checked + .switch::before {
+  background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 0ddc102..1917cd1 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #1a6b65;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#29a89f, #36cec3);
+  box-shadow: 0px 0px 0px 1px #24948c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #1f7f78;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #c6f1ee;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #c6f1ee;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 4634ed9..0c43a51 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #3c1a55;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#662c90, #8238b7);
+  box-shadow: 0px 0px 0px 1px #58267c;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #4a2069;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #d5b8e9;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #d5b8e9;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
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 92c9736..a9ec00a 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
@@ -420,14 +420,14 @@ j|CardActions {
   border: 1px solid #999207;
   border-radius: 3px;
 }
+.jewel.checkbox input[disabled] + span {
+  color: silver;
+}
 .jewel.checkbox input[disabled] + span::before {
   background: #f3f3f3;
   border: 1px solid #d9d9d9;
   border-radius: 3px;
 }
-.jewel.checkbox input[disabled] + span {
-  color: silver;
-}
 .jewel.checkbox input[disabled] + span::after {
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.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;
 }
@@ -435,6 +435,46 @@ j|CardActions {
   padding-left: 8px;
 }
 
+.jewel.switch input:checked + .switch {
+  background: linear-gradient(#e2d70b, #f5ea2b);
+  box-shadow: 0px 0px 0px 1px #cac00a;
+}
+.jewel.switch input:focus + .switch {
+  box-shadow: 0px 0px 0px 1px #b1a909;
+}
+.jewel.switch input:checked + .switch::before {
+  background: #fdfbd6;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transform: translateX(20px);
+}
+.jewel.switch input[disabled]:checked + .switch {
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
+}
+.jewel.switch input[disabled] + .switch {
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
+}
+.jewel.switch input[disabled] + .switch::before {
+  background: white;
+  box-shadow: none;
+}
+.jewel.switch .switch {
+  background: linear-gradient(#d9d9d9, #f3f3f3);
+  box-shadow: 0px 0px 0px 1px #cccccc;
+  border-radius: 20px;
+  transition: 0.4s;
+}
+.jewel.switch .switch::before {
+  background: #fdfbd6;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
+  transition: 0.4s;
+  border-radius: 50%;
+}
+.jewel.switch .label {
+  padding-left: 8px;
+}
+
 .jewel.combobox .jewel.textinput input {
   border-radius: 0.25rem 0px 0px 0.25rem;
 }
diff --git a/frameworks/themes/JewelTheme/src/main/resources/defaults.css b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
index 5e569b7..d172a54 100644
--- a/frameworks/themes/JewelTheme/src/main/resources/defaults.css
+++ b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
@@ -444,17 +444,20 @@ j|CardActions {
 }
 .jewel.switch input:checked + .switch::before {
   background: white;
+  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
   transform: translateX(20px);
 }
 .jewel.switch input[disabled]:checked + .switch {
-  background: linear-gradient(silver, #d9d9d9);
-  box-shadow: 0px 0px 0px 1px #b3b3b3;
+  background: #d9d9d9;
+  box-shadow: 0px 0px 0px 1px #cccccc;
 }
 .jewel.switch input[disabled] + .switch {
-  color: silver;
+  background: #f3f3f3;
+  box-shadow: 0px 0px 0px 1px #e6e6e6;
 }
 .jewel.switch input[disabled] + .switch::before {
-  background: #f3f3f3;
+  background: white;
+  box-shadow: none;
 }
 .jewel.switch .switch {
   background: linear-gradient(#d9d9d9, #f3f3f3);
@@ -463,7 +466,8 @@ j|CardActions {
   transition: 0.4s;
 }
 .jewel.switch .switch::before {
-  background: #fafdff;
+  background: white;
+  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
   transition: 0.4s;
   border-radius: 50%;
 }
diff --git a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_checkbox.sass b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_checkbox.sass
index 1276dec..0297f32 100644
--- a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_checkbox.sass
+++ b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_checkbox.sass
@@ -99,45 +99,68 @@ $switch-label-separation: 8px
                     background: $primary-color
                 @else
                     background: linear-gradient(lighten($primary-color, 0%), lighten($primary-color, 10%))
-                    box-shadow: 0px 0px 0px 1px darken($primary-color, 5%)
+                box-shadow: 0px 0px 0px 1px darken($primary-color, 5%)
 
         &:focus
             + .switch
                 box-shadow: 0px 0px 0px 1px darken($primary-color, 10%)
+        
+        // &:checked:focus
+        //     + .switch
+        //         box-shadow: 0px 0px 0px 1px darken($primary-color, 10%)
 
         &:checked 
             + .switch::before
-                background: lighten($primary-color, 50%)
+                @if $flat
+                    background: lighten($primary-color, 45%)
+                    box-shadow: none
+                @else
+                    background: lighten($primary-color, 45%)
+                    box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, .1)
                 transform: translateX($switch-inner-size)
 
         &[disabled]
             &:checked 
                 + .switch
                     @if $flat
-                        background: $disabled-font-color
+                        background: lighten($disabled-font-color, 10%)
                     @else
-                        background: linear-gradient(lighten($disabled-font-color, 0%), lighten($disabled-font-color, 10%))
-                    box-shadow: 0px 0px 0px 1px darken($disabled-font-color, 5%)
+                        background: lighten($disabled-font-color, 10%)
+                    box-shadow: 0px 0px 0px 1px lighten($disabled-font-color, 5%)
 
             & + .switch
-                color: $disabled-font-color
-
+                @if $flat
+                    background: lighten($default-color, 10%)
+                @else
+                    background: lighten($default-color, 10%)
+                box-shadow: 0px 0px 0px 1px lighten($disabled-font-color, 15%)
+                
             & + .switch::before
-                background: $disabled-color
+                @if $flat
+                    background: lighten($default-color, 25%)
+                    box-shadow: none
+                @else
+                    background: lighten($disabled-color, 10%)
+                    box-shadow: none
 
     .switch
         @if $flat
-            background: lighten($default-color, 15%)
+            background: linear-gradient(lighten($default-color, 0%), lighten($default-color, 0%))
         @else
             background: linear-gradient(lighten($default-color, 0%), lighten($default-color, 10%))
-            box-shadow: 0px 0px 0px 1px darken($default-color, 5%)
+        box-shadow: 0px 0px 0px 1px darken($default-color, 5%)
         border-radius: $switch-inner-size
         transition: $switch-transition-delay
 
-    .switch::before
-        background: lighten($primary-color, 40%)
-        transition: $switch-transition-delay
-        border-radius: $switch-button-border-radius
-	
+        &::before
+            @if $flat
+                background: lighten($default-color, 45%)
+                box-shadow: none
+            @else
+                background: lighten($primary-color, 45%)
+                box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, .1)
+            transition: $switch-transition-delay
+            border-radius: $switch-button-border-radius
+
     .label
         padding-left: $switch-label-separation
\ No newline at end of file