uikit
Version:
UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.
132 lines (100 loc) • 3.49 kB
text/less
// Name: Dropbar
// Description: Component to create a dropbar based on Drop component
//
// Component: `uk-dropbar`
//
// Modifiers: `uk-dropbar-large`
// `uk-dropbar-top`
// `uk-dropbar-bottom`
// `uk-dropbar-left`
// `uk-dropbar-right`
//
// ========================================================================
// Variables
// ========================================================================
@dropbar-margin: 0;
@dropbar-padding-top: 15px;
@dropbar-padding-bottom: @dropbar-padding-top;
@dropbar-padding-horizontal: 15px;
@dropbar-padding-horizontal-s: @global-gutter;
@dropbar-padding-horizontal-m: @global-medium-gutter;
@dropbar-background: @global-muted-background;
@dropbar-color: @global-color;
@dropbar-color-mode: dark;
@dropbar-focus-outline: @base-focus-outline;
@dropbar-large-padding-top: 40px;
@dropbar-large-padding-bottom: @dropbar-large-padding-top;
/* ========================================================================
Component: Dropbar
========================================================================== */
/*
* Adopts `uk-drop`
* 1. Reset drop
* 2. Style
*/
.uk-dropbar {
--uk-position-offset: @dropbar-margin;
--uk-position-shift-offset: 0;
--uk-position-viewport-offset: 0;
--uk-inverse: @dropbar-color-mode;
/* 1 */
width: auto;
/* 2 */
padding: @dropbar-padding-top @dropbar-padding-horizontal @dropbar-padding-bottom @dropbar-padding-horizontal;
background: @dropbar-background;
color: @dropbar-color;
.hook-dropbar();
}
/*
* Remove margin from the last-child
*/
.uk-dropbar > :last-child { margin-bottom: 0; }
/* Phone landscape and bigger */
@media (min-width: @breakpoint-small) {
.uk-dropbar {
padding-left: @dropbar-padding-horizontal-s;
padding-right: @dropbar-padding-horizontal-s;
}
}
/* Tablet landscape and bigger */
@media (min-width: @breakpoint-medium) {
.uk-dropbar {
padding-left: @dropbar-padding-horizontal-m;
padding-right: @dropbar-padding-horizontal-m;
}
}
// Color Mode
.uk-dropbar:extend(.uk-light all) when (@dropbar-color-mode = light) {}
.uk-dropbar:extend(.uk-dark all) when (@dropbar-color-mode = dark) {}
.uk-dropbar :focus-visible when not (@dropbar-color-mode = @inverse-global-color-mode) {
outline-color: @dropbar-focus-outline ;
}
/* Size modifier
========================================================================== */
.uk-dropbar-large {
padding-top: @dropbar-large-padding-top;
padding-bottom: @dropbar-large-padding-bottom;
}
/* Direction modifier
========================================================================== */
.uk-dropbar-top {
.hook-dropbar-top();
}
.uk-dropbar-bottom {
.hook-dropbar-bottom();
}
.uk-dropbar-left {
.hook-dropbar-left();
}
.uk-dropbar-right {
.hook-dropbar-right();
}
// Hooks
// ========================================================================
.hook-dropbar-misc();
.hook-dropbar() {}
.hook-dropbar-top() {}
.hook-dropbar-bottom() {}
.hook-dropbar-left() {}
.hook-dropbar-right() {}
.hook-dropbar-misc() {}