/*! * # Fomantic-UI - Sidebar * http://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Theme *******************************/ @type : 'module'; @element : 'sidebar'; @import (multiple) '../../theme.config'; /******************************* Sidebar *******************************/ /* Sidebar Menu */ .ui.sidebar { position: fixed; top: 0; left: 0; backface-visibility: hidden; transition: none; will-change: transform; transform: translate3d(0, 0, 0); visibility: hidden; -webkit-overflow-scrolling: touch; height: 100% !important; max-height: 100%; border-radius: 0 !important; margin: 0 !important; overflow-y: auto !important; z-index: @topLayer; } /* GPU Layers for Child Elements */ .ui.sidebar > * { backface-visibility: hidden; } /*-------------- Direction ---------------*/ & when (@variationSidebarLeft) { .ui.left.sidebar { right: auto; left: 0; transform: translate3d(-100%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.sidebar { right: 0 !important; left: auto !important; transform: translate3d(100%, 0, 0); } } & when (@variationSidebarTop) or (@variationSidebarBottom) { .ui.top.sidebar, .ui.bottom.sidebar { width: 100% !important; height: auto !important; } & when (@variationSidebarTop) { .ui.top.sidebar { top: 0 !important; bottom: auto !important; transform: translate3d(0, -100%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.sidebar { top: auto !important; bottom: 0 !important; transform: translate3d(0, 100%, 0); } } } /*-------------- Pushable ---------------*/ .pushable { height: 100%; overflow-x: hidden; padding: 0 !important; } /* Whole Page */ body.pushable { background: @canvasBackground; &.dimmed { background: inherit; } } /* Page Context */ .pushable:not(body) { transform: translate3d(0, 0, 0); } .pushable:not(body) > .ui.sidebar, .pushable:not(body) > .fixed, .pushable:not(body) > .pusher:after { position: absolute; } /*-------------- Fixed ---------------*/ .pushable > .fixed { position: fixed; backface-visibility: hidden; transition: transform @duration @easing; will-change: transform; z-index: @fixedLayer; } /*-------------- Page ---------------*/ .pushable > .pusher { position: relative; backface-visibility: hidden; overflow: hidden; min-height: 100%; transition: transform @duration @easing; z-index: @middleLayer; /* Pusher should inherit background from context */ background: inherit; } body.pushable > .pusher { background: @pageBackground; } /*-------------- Dimmer ---------------*/ .pushable > .pusher:after { position: fixed; top: 0; right: 0; content: ''; background-color: @dimmerColor; overflow: hidden; opacity: 0; transition: @dimmerTransition; will-change: opacity; z-index: @dimmerLayer; } /*-------------- Coupling ---------------*/ .ui.sidebar.menu .item { border-radius: 0 !important; } /******************************* States *******************************/ /*-------------- Dimmed ---------------*/ .pushable > .pusher.dimmed:after { width: 100% !important; height: 100% !important; opacity: 1 !important; } /*-------------- Animating ---------------*/ .ui.animating.sidebar { visibility: visible; } /*-------------- Visible ---------------*/ .ui.visible.sidebar { visibility: visible; transform: translate3d(0, 0, 0); } /* Shadow Direction */ & when (@variationSidebarLeft) or (@variationSidebarRight) { .ui.left.visible.sidebar, .ui.right.visible.sidebar { box-shadow: @horizontalBoxShadow; } } & when (@variationSidebarTop) or (@variationSidebarBottom) { .ui.top.visible.sidebar, .ui.bottom.visible.sidebar { box-shadow: @verticalBoxShadow; } } /* Visible On Load */ & when (@variationSidebarLeft) { .ui.visible.left.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .pusher { transform: translate3d(@width, 0, 0); } } & when (@variationSidebarRight) { .ui.visible.right.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .pusher { transform: translate3d(-@width, 0, 0); } } & when (@variationSidebarTop) { .ui.visible.top.sidebar ~ .fixed, .ui.visible.top.sidebar ~ .pusher { transform: translate3d(0, @height, 0); } } & when (@variationSidebarBottom) { .ui.visible.bottom.sidebar ~ .fixed, .ui.visible.bottom.sidebar ~ .pusher { transform: translate3d(0, -@height, 0); } } & when (@variationSidebarLeft) or (@variationSidebarRight) { /* opposite sides visible forces content overlay */ .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher, .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher { transform: translate3d(0, 0, 0); } } /*-------------- iOS ---------------*/ /******************************* Variations *******************************/ /*-------------- Width ---------------*/ /* Left / Right */ & when (@variationSidebarLeft) or (@variationSidebarRight) { & when (@variationSidebarThin) { .ui.thin.left.sidebar, .ui.thin.right.sidebar { width: @thinWidth; } .ui[class*="very thin"].left.sidebar, .ui[class*="very thin"].right.sidebar { width: @veryThinWidth; } } .ui.left.sidebar, .ui.right.sidebar { width: @width; } & when (@variationSidebarWide) { .ui.wide.left.sidebar, .ui.wide.right.sidebar { width: @wideWidth; } .ui[class*="very wide"].left.sidebar, .ui[class*="very wide"].right.sidebar { width: @veryWideWidth; } } /* Left Visible */ & when (@variationSidebarLeft) { & when (@variationSidebarThin) { .ui.visible.thin.left.sidebar ~ .fixed, .ui.visible.thin.left.sidebar ~ .pusher { transform: translate3d(@thinWidth, 0, 0); } .ui.visible[class*="very thin"].left.sidebar ~ .fixed, .ui.visible[class*="very thin"].left.sidebar ~ .pusher { transform: translate3d(@veryThinWidth, 0, 0); } } & when (@variationSidebarWide) { .ui.visible.wide.left.sidebar ~ .fixed, .ui.visible.wide.left.sidebar ~ .pusher { transform: translate3d(@wideWidth, 0, 0); } .ui.visible[class*="very wide"].left.sidebar ~ .fixed, .ui.visible[class*="very wide"].left.sidebar ~ .pusher { transform: translate3d(@veryWideWidth, 0, 0); } } } /* Right Visible */ & when (@variationSidebarRight) { & when (@variationSidebarThin) { .ui.visible.thin.right.sidebar ~ .fixed, .ui.visible.thin.right.sidebar ~ .pusher { transform: translate3d(-@thinWidth, 0, 0); } .ui.visible[class*="very thin"].right.sidebar ~ .fixed, .ui.visible[class*="very thin"].right.sidebar ~ .pusher { transform: translate3d(-@veryThinWidth, 0, 0); } } & when (@variationSidebarWide) { .ui.visible.wide.right.sidebar ~ .fixed, .ui.visible.wide.right.sidebar ~ .pusher { transform: translate3d(-@wideWidth, 0, 0); } .ui.visible[class*="very wide"].right.sidebar ~ .fixed, .ui.visible[class*="very wide"].right.sidebar ~ .pusher { transform: translate3d(-@veryWideWidth, 0, 0); } } } } /******************************* Animations *******************************/ & when (@variationSidebarOverlay) { /*-------------- Overlay ---------------*/ /* Set-up */ .ui.overlay.sidebar { z-index: @topLayer; } /* Initial */ & when (@variationSidebarLeft) { .ui.left.overlay.sidebar { transform: translate3d(-100%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.overlay.sidebar { transform: translate3d(100%, 0, 0); } } & when (@variationSidebarTop) { .ui.top.overlay.sidebar { transform: translate3d(0%, -100%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.overlay.sidebar { transform: translate3d(0%, 100%, 0); } } /* Animation */ .animating.ui.overlay.sidebar, .ui.visible.overlay.sidebar { transition: transform @duration @easing; } /* End - Sidebar */ & when (@variationSidebarLeft) { .ui.visible.left.overlay.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarRight) { .ui.visible.right.overlay.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarTop) { .ui.visible.top.overlay.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarBottom) { .ui.visible.bottom.overlay.sidebar { transform: translate3d(0%, 0, 0); } } /* End - Pusher */ .ui.visible.overlay.sidebar ~ .fixed, .ui.visible.overlay.sidebar ~ .pusher { transform: none !important; } } & when (@variationSidebarPush) { /*-------------- Push ---------------*/ /* Initial */ .ui.push.sidebar { transition: transform @duration @easing; z-index: @topLayer; } /* Sidebar - Initial */ & when (@variationSidebarLeft) { .ui.left.push.sidebar { transform: translate3d(-100%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.push.sidebar { transform: translate3d(100%, 0, 0); } } & when (@variationSidebarTop) { .ui.top.push.sidebar { transform: translate3d(0%, -100%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.push.sidebar { transform: translate3d(0%, 100%, 0); } } /* End */ .ui.visible.push.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarUncover) { /*-------------- Uncover ---------------*/ /* Initial */ .ui.uncover.sidebar { transform: translate3d(0, 0, 0); z-index: @bottomLayer; } /* End */ .ui.visible.uncover.sidebar { transform: translate3d(0, 0, 0); transition: transform @duration @easing; } } & when (@variationSidebarSlideAlong) { /*-------------- Slide Along ---------------*/ /* Initial */ .ui.slide.along.sidebar { z-index: @bottomLayer; } /* Sidebar - Initial */ & when (@variationSidebarLeft) { .ui.left.slide.along.sidebar { transform: translate3d(-50%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.slide.along.sidebar { transform: translate3d(50%, 0, 0); } } & when (@variationSidebarTop) { .ui.top.slide.along.sidebar { transform: translate3d(0, -50%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.slide.along.sidebar { transform: translate3d(0%, 50%, 0); } } /* Animation */ .ui.animating.slide.along.sidebar { transition: transform @duration @easing; } /* End */ .ui.visible.slide.along.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarSlideOut) { /*-------------- Slide Out ---------------*/ /* Initial */ .ui.slide.out.sidebar { z-index: @bottomLayer; } /* Sidebar - Initial */ & when (@variationSidebarLeft) { .ui.left.slide.out.sidebar { transform: translate3d(50%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.slide.out.sidebar { transform: translate3d(-50%, 0, 0); } } & when (@variationSidebarTop) { .ui.top.slide.out.sidebar { transform: translate3d(0%, 50%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.slide.out.sidebar { transform: translate3d(0%, -50%, 0); } } /* Animation */ .ui.animating.slide.out.sidebar { transition: transform @duration @easing; } /* End */ .ui.visible.slide.out.sidebar { transform: translate3d(0%, 0, 0); } } & when (@variationSidebarScale) { /*-------------- Scale Down ---------------*/ /* Initial */ .ui.scale.down.sidebar { transition: transform @duration @easing; z-index: @topLayer; } & when (@variationSidebarLeft) { .ui.left.scale.down.sidebar { transform: translate3d(-100%, 0, 0); } } & when (@variationSidebarRight) { .ui.right.scale.down.sidebar { transform: translate3d(100%, 0, 0); } } & when (@variationSidebarTop) { .ui.top.scale.down.sidebar { transform: translate3d(0%, -100%, 0); } } & when (@variationSidebarBottom) { .ui.bottom.scale.down.sidebar { transform: translate3d(0%, 100%, 0); } } /* Pusher - Initial */ & when (@variationSidebarLeft) { .ui.scale.down.left.sidebar ~ .pusher { transform-origin: 75% 50%; } } & when (@variationSidebarRight) { .ui.scale.down.right.sidebar ~ .pusher { transform-origin: 25% 50%; } } & when (@variationSidebarTop) { .ui.scale.down.top.sidebar ~ .pusher { transform-origin: 50% 75%; } } & when (@variationSidebarBottom) { .ui.scale.down.bottom.sidebar ~ .pusher { transform-origin: 50% 25%; } } /* Animation */ .ui.animating.scale.down > .visible.ui.sidebar { transition: transform @duration @easing; } .ui.visible.scale.down.sidebar ~ .pusher, .ui.animating.scale.down.sidebar ~ .pusher { display: block !important; width: 100%; height: 100%; overflow: hidden !important; } /* End */ .ui.visible.scale.down.sidebar { transform: translate3d(0, 0, 0); } .ui.visible.scale.down.sidebar ~ .pusher { transform: scale(0.75); } } .loadUIOverrides();