summaryrefslogtreecommitdiff
path: root/src/components/Switch.module.css
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Switch.module.css')
-rw-r--r--src/components/Switch.module.css49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/components/Switch.module.css b/src/components/Switch.module.css
new file mode 100644
index 0000000..2199c74
--- /dev/null
+++ b/src/components/Switch.module.css
@@ -0,0 +1,49 @@
+/* steal from https://codepen.io/joshnh/pen/hjbuH */
+
+input.switch[type='checkbox'] {
+ --white: #fff;
+ --grey: #d3d3d3;
+ --color-theme: #047aff;
+
+ appearance: none;
+ outline: none;
+ background-color: darken(var(--white), 2%);
+ border: 1px solid var(--grey);
+ border-radius: 26px;
+ box-shadow: inset 0 0 0 1px var(--grey);
+ cursor: pointer;
+ height: 28px;
+ position: relative;
+ transition: border 0.25s 0.15s, box-shadow 0.25s 0.3s, padding 0.25s;
+ width: 44px;
+ vertical-align: top;
+
+ &:after {
+ background-color: var(--white);
+ border: 1px solid var(--grey);
+ border-radius: 24px;
+ box-shadow: inset 0 -3px 3px hsla(0, 0%, 0%, 0.025),
+ 0 1px 4px hsla(0, 0%, 0%, 0.15), 0 4px 4px hsla(0, 0%, 0%, 0.1);
+ content: '';
+ display: block;
+ height: 26px;
+ left: 0;
+ position: absolute;
+ right: 16px;
+ top: 0;
+ transition: border 0.25s 0.15s, left 0.25s 0.1s, right 0.15s 0.175s;
+ }
+ &:checked {
+ border-color: var(--color-theme);
+ box-shadow: inset 0 0 0 13px var(--color-theme);
+ padding-left: 18px;
+ transition: border 0.25s, box-shadow 0.25s, padding 0.25s 0.15s;
+
+ &:after {
+ border-color: var(--color-theme);
+ left: 16px;
+ right: 0;
+ transition: border 0.25s, left 0.15s 0.25s, right 0.25s 0.175s;
+ }
+ }
+}