aboutsummaryrefslogtreecommitdiffstats
path: root/scss/uikit/components/dropdown.scss
diff options
context:
space:
mode:
Diffstat (limited to 'scss/uikit/components/dropdown.scss')
-rw-r--r--scss/uikit/components/dropdown.scss150
1 files changed, 150 insertions, 0 deletions
diff --git a/scss/uikit/components/dropdown.scss b/scss/uikit/components/dropdown.scss
new file mode 100644
index 00000000..49bb1277
--- /dev/null
+++ b/scss/uikit/components/dropdown.scss
@@ -0,0 +1,150 @@
+// Name: Dropdown
+// Description: Component to create dropdown menus
+//
+// Component: `uk-dropdown`
+//
+// Adopted: `uk-dropdown-nav`
+//
+// Modifiers: `uk-dropdown-top-*`
+// `uk-dropdown-bottom-*`
+// `uk-dropdown-left-*`
+// `uk-dropdown-right-*`
+// `uk-dropdown-stack`
+// `uk-dropdown-grid`
+//
+// ========================================================================
+
+
+// Variables
+// ========================================================================
+
+$dropdown-z-index: $global-z-index + 20 !default;
+$dropdown-min-width: 200px !default;
+$dropdown-padding: 15px !default;
+$dropdown-background: $global-muted-background !default;
+$dropdown-color: $global-color !default;
+$dropdown-margin: $global-small-margin !default;
+
+$dropdown-nav-item-color: $global-muted-color !default;
+$dropdown-nav-item-hover-color: $global-color !default;
+$dropdown-nav-header-color: $global-emphasis-color !default;
+$dropdown-nav-divider-border-width: $global-border-width !default;
+$dropdown-nav-divider-border: $global-border !default;
+$dropdown-nav-sublist-item-color: $global-muted-color !default;
+$dropdown-nav-sublist-item-hover-color: $global-color !default;
+
+
+/* ========================================================================
+ Component: Dropdown
+ ========================================================================== */
+
+/*
+ * 1. Hide by default
+ * 2. Set position
+ * 3. Set a default width
+ * 4. Style
+ */
+
+.uk-dropdown {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ z-index: $dropdown-z-index;
+ /* 3 */
+ box-sizing: border-box;
+ min-width: $dropdown-min-width;
+ /* 4 */
+ padding: $dropdown-padding;
+ background: $dropdown-background;
+ color: $dropdown-color;
+ @if(mixin-exists(hook-dropdown)) {@include hook-dropdown();}
+}
+
+/* Show */
+.uk-dropdown.uk-open { display: block; }
+
+
+/* Nav
+ * Adopts `uk-nav`
+ ========================================================================== */
+
+.uk-dropdown-nav {
+ white-space: nowrap;
+ @if(mixin-exists(hook-dropdown-nav)) {@include hook-dropdown-nav();}
+}
+
+/*
+ * Items
+ */
+
+.uk-dropdown-nav > li > a {
+ color: $dropdown-nav-item-color;
+ @if(mixin-exists(hook-dropdown-nav-item)) {@include hook-dropdown-nav-item();}
+}
+
+/* Hover + Focus + Active */
+.uk-dropdown-nav > li > a:hover,
+.uk-dropdown-nav > li > a:focus,
+.uk-dropdown-nav > li.uk-active > a {
+ color: $dropdown-nav-item-hover-color;
+ @if(mixin-exists(hook-dropdown-nav-item-hover)) {@include hook-dropdown-nav-item-hover();}
+}
+
+/*
+ * Header
+ */
+
+.uk-dropdown-nav .uk-nav-header {
+ color: $dropdown-nav-header-color;
+ @if(mixin-exists(hook-dropdown-nav-header)) {@include hook-dropdown-nav-header();}
+}
+
+/*
+ * Divider
+ */
+
+.uk-dropdown-nav .uk-nav-divider {
+ border-top: $dropdown-nav-divider-border-width solid $dropdown-nav-divider-border;
+ @if(mixin-exists(hook-dropdown-nav-divider)) {@include hook-dropdown-nav-divider();}
+}
+
+/*
+ * Sublists
+ */
+
+.uk-dropdown-nav .uk-nav-sub a { color: $dropdown-nav-sublist-item-color; }
+
+.uk-dropdown-nav .uk-nav-sub a:hover,
+.uk-dropdown-nav .uk-nav-sub a:focus { color: $dropdown-nav-sublist-item-hover-color; }
+
+
+/* Direction / Alignment modifiers
+ ========================================================================== */
+
+/* Direction */
+[class*='uk-dropdown-top'] { margin-top: (-$dropdown-margin); }
+[class*='uk-dropdown-bottom'] { margin-top: $dropdown-margin; }
+[class*='uk-dropdown-left'] { margin-left: (-$dropdown-margin); }
+[class*='uk-dropdown-right'] { margin-left: $dropdown-margin; }
+
+
+/* Grid modifiers
+ ========================================================================== */
+
+.uk-dropdown-stack .uk-dropdown-grid > * { width: 100% !important; }
+
+
+
+// Hooks
+// ========================================================================
+
+@if(mixin-exists(hook-dropdown-misc)) {@include hook-dropdown-misc();}
+
+// @mixin hook-dropdown(){}
+// @mixin hook-dropdown-nav(){}
+// @mixin hook-dropdown-nav-item(){}
+// @mixin hook-dropdown-nav-item-hover(){}
+// @mixin hook-dropdown-nav-header(){}
+// @mixin hook-dropdown-nav-divider(){}
+// @mixin hook-dropdown-misc(){}