diff options
author | 2020-10-03 18:26:31 +0200 | |
---|---|---|
committer | 2021-06-03 20:21:55 +0700 | |
commit | e00fca637202d7cd20fd10b2d7e2b2963f11dd33 (patch) | |
tree | 38728f46ee5f36d8853d842e08708d5a1c4844e2 /web/src/css.rs | |
parent | c0cfd9d5cf373d4d7f89cf14c15f36e9995c1dbf (diff) | |
download | iced-e00fca637202d7cd20fd10b2d7e2b2963f11dd33.tar.gz iced-e00fca637202d7cd20fd10b2d7e2b2963f11dd33.tar.bz2 iced-e00fca637202d7cd20fd10b2d7e2b2963f11dd33.zip |
Add `Toggler` widget to `iced_web`
Diffstat (limited to 'web/src/css.rs')
-rw-r--r-- | web/src/css.rs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/web/src/css.rs b/web/src/css.rs index 66c363f2..21f51f85 100644 --- a/web/src/css.rs +++ b/web/src/css.rs @@ -14,6 +14,9 @@ pub enum Rule { /// Spacing between elements Spacing(u16), + + /// Toggler input for a specific size + Toggler(u16), } impl Rule { @@ -23,6 +26,7 @@ impl Rule { Rule::Column => String::from("c"), Rule::Row => String::from("r"), Rule::Spacing(spacing) => format!("s-{}", spacing), + Rule::Toggler(size) => format!("toggler-{}", size), } } @@ -55,6 +59,46 @@ impl Rule { class ) .into_bump_str(), + Rule::Toggler(size) => bumpalo::format!( + in bump, + ".toggler-{} {{ display: flex; cursor: pointer; justify-content: space-between; }} \ + .toggler-{} input {{ display:none; }} \ + .toggler-{} span {{ background-color: #b1b1b1; position: relative; display: inline-flex; width:{}px; height: {}px; border-radius: {}px;}} \ + .toggler-{} span > span {{ background-color: #FFFFFF; width: {}px; height: {}px; border-radius: 50%; top: 1px; left: 1px;}} \ + .toggler-{}:hover span > span {{ background-color: #f1f1f1 !important; }} \ + .toggler-{} input:checked + span {{ background-color: #00FF00; }} \ + .toggler-{} input:checked + span > span {{ -webkit-transform: translateX({}px); -ms-transform:translateX({}px); transform: translateX({}px); }} + ", + // toggler + size, + + // toggler input + size, + + // toggler span + size, + size*2, + size, + size, + + // toggler span > span + size, + size-2, + size-2, + + // toggler: hover + span > span + size, + + // toggler input:checked + span + size, + + // toggler input:checked + span > span + size, + size, + size, + size + ) + .into_bump_str(), } } } |