diff options
author | 2021-06-03 20:55:50 +0700 | |
---|---|---|
committer | 2021-06-03 20:55:50 +0700 | |
commit | 397a5c06ec4911ffe397098be99480aaa1df66f7 (patch) | |
tree | 00182b32b48a2584aceafd3c9ad1947535ed1893 /web/src/css.rs | |
parent | 1dce929dfcfd3f9acc06e3b55157d40eb06b1324 (diff) | |
parent | d3d6f3efb33f601ff3fca4a6496cfeef052501ee (diff) | |
download | iced-397a5c06ec4911ffe397098be99480aaa1df66f7.tar.gz iced-397a5c06ec4911ffe397098be99480aaa1df66f7.tar.bz2 iced-397a5c06ec4911ffe397098be99480aaa1df66f7.zip |
Merge pull request #535 from Kaiden42/toggler
Implement `Toggler` widget for iced_native
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(), } } } |