diff options
Diffstat (limited to 'packages/anastasis-webui/src/scss/_aside.scss')
-rw-r--r-- | packages/anastasis-webui/src/scss/_aside.scss | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/packages/anastasis-webui/src/scss/_aside.scss b/packages/anastasis-webui/src/scss/_aside.scss new file mode 100644 index 000000000..c9332b252 --- /dev/null +++ b/packages/anastasis-webui/src/scss/_aside.scss @@ -0,0 +1,186 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +@include desktop { + html { + &.has-aside-left { + &.has-aside-expanded { + nav.navbar, + body { + padding-left: $aside-width; + } + } + aside.is-placed-left { + display: block; + } + } + } + + aside.aside.is-expanded { + width: $aside-width; + + .menu-list { + @include icon-with-update-mark($aside-icon-width); + + span.menu-item-label { + display: inline-block; + } + + li.is-active { + ul { + display: block; + } + background-color: $body-background-color; + } + } + } +} + +aside.aside { + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 40; + height: 100vh; + padding: 0; + box-shadow: $aside-box-shadow; + background: $aside-background-color; + + .aside-tools { + display: flex; + flex-direction: row; + width: 100%; + background-color: $aside-tools-background-color; + color: $aside-tools-color; + line-height: $navbar-height; + height: $navbar-height; + padding-left: $default-padding * 0.5; + flex: 1; + + .icon { + margin-right: $default-padding * 0.5; + } + } + + .menu-list { + li { + a { + &.has-dropdown-icon { + position: relative; + padding-right: $aside-icon-width; + + .dropdown-icon { + position: absolute; + top: $size-base * 0.5; + right: 0; + } + } + } + ul { + display: none; + border-left: 0; + background-color: darken($base-color, 2.5%); + padding-left: 0; + margin: 0 0 $default-padding * 0.5; + + li { + a { + padding: $default-padding * 0.5 0 $default-padding * 0.5 + $default-padding * 0.5; + font-size: $aside-submenu-font-size; + + &.has-icon { + padding-left: 0; + } + &.is-active { + &:not(:hover) { + background: transparent; + } + } + } + } + } + } + } + + .menu-label { + padding: 0 $default-padding * 0.5; + margin-top: $default-padding * 0.5; + margin-bottom: $default-padding * 0.5; + } +} + +@include touch { + nav.navbar { + @include transition(margin-left); + } + aside.aside { + @include transition(left); + } + html.has-aside-mobile-transition { + body { + overflow-x: hidden; + } + body, + nav.navbar { + width: 100vw; + } + aside.aside { + width: $aside-mobile-width; + display: block; + left: $aside-mobile-width * -1; + + .image { + img { + max-width: $aside-mobile-width * 0.33; + } + } + + .menu-list { + li.is-active { + ul { + display: block; + } + background-color: $body-background-color; + } + li { + @include icon-with-update-mark($aside-icon-width); + margin-top: 8px; + margin-bottom: 8px; + } + a { + span.menu-item-label { + display: inline-block; + } + } + } + } + } + div.has-aside-mobile-expanded { + nav.navbar { + margin-left: $aside-mobile-width; + } + aside.aside { + left: 0; + } + } +} |