|
|
/* * # Semantic - Dropdown * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2014 Contributor * Released under the MIT license * http://opensource.org/licenses/MIT * */
/******************************* Theme *******************************/
@type : 'module'; @element : 'dropdown';
@import '../../semantic.config';
/******************************* Dropdown *******************************/
.ui.dropdown { cursor: pointer; position: relative; display: inline-block; line-height: @lineHeight; transition: @transition; tap-highlight-color: rgba(0, 0, 0, 0); outline: none; text-align: left; }
/******************************* Content *******************************/
/*-------------- Menu ---------------*/
.ui.dropdown .menu { cursor: auto; position: absolute; display: none; outline: none; top: 100%; transition: @menuTransition;
margin: @menuMargin; padding: @menuPadding; background: @menuBackground; min-width: 100%;
white-space: @menuWrap; font-size: 1rem; text-shadow: none; text-align: @menuTextAlign;
box-shadow: @menuBoxShadow; border: @menuBorder; border-radius: @menuBorderRadius; transition: @menuTransition; z-index: @menuZIndex; will-change: transform, opacity; }
/*-------------- Hidden Input ---------------*/
.ui.dropdown > input[type="hidden"], .ui.dropdown > select { display: none !important; }
/*-------------- Dropdown Icon ---------------*/
.ui.dropdown > .dropdown.icon { width: auto; margin: @dropdownIconMargin; } .ui.dropdown .menu > .item .dropdown.icon { width: auto; float: @dropdownSubMenuIconFloat; margin: @dropdownSubMenuIconMargin; }
/*-------------- Text ---------------*/
.ui.dropdown > .text { display: inline-block; transition: @textTransition; }
/*-------------- Menu Item ---------------*/
.ui.dropdown .menu > .item { position: relative; cursor: pointer; display: block; border: @itemBorder; height: @itemHeight;
border-top: @itemDivider; line-height: @itemLineHeight; font-size: @itemFontSize; color: @itemColor;
padding: @itemVerticalPadding @itemHorizontalPadding !important; font-size: @itemFontSize; text-transform: @itemTextTransform; font-weight: @itemFontWeight; box-shadow: @itemBoxShadow; -webkit-touch-callout: none; } .ui.dropdown .menu > .item:first-child { border-top: none; }
/*-------------- Menu Divider ---------------*/
.ui.dropdown .menu > .header { margin: @menuHeaderMargin; padding: @menuHeaderPadding; color: @menuHeaderColor; font-size: @menuHeaderFontSize; font-weight: @menuHeaderFontWeight; text-transform: @menuHeaderTextTransform; }
.ui.dropdown .menu > .divider { border-top: @menuDividerBorder; height: 0em; margin: @menuDividerMargin; }
.ui.dropdown .menu > .input { margin: @menuInputMargin; min-width: @menuInputMinWidth; } .ui.dropdown .menu > .header + .input { margin-top: 0em; } .ui.dropdown .menu > .input:not(.transparent) input { padding: @menuInputPadding; }
/*-------------- Item Image ---------------*/
.ui.dropdown .text > img, .ui.dropdown .text > .image, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > img { display: inline-block; vertical-align: middle; width: auto; max-height: @menuImageMaxHeight; margin: @itemImageMargin; }
/*-------------- Sub Menu ---------------*/
.ui.dropdown .menu .menu { top: @subMenuTop !important; left: @subMenuLeft !important; right: @subMenuRight !important; margin: @subMenuMargin !important; border-radius: @subMenuBorderRadius !important; }
/* Hide Arrow */ .ui.dropdown .menu .menu:after { display: none; }
/******************************* Coupling *******************************/
/* Icons / Flags / Labels */ .ui.dropdown > .text > .icon, .ui.dropdown .menu > .item .icon { margin: @itemIconMargin; } .ui.dropdown > .text > .label, .ui.dropdown .menu > .item .label { margin: @itemLabelMargin; } .ui.dropdown > .text > .flag, .ui.dropdown .menu > .item .flag { margin: @itemFlagMargin; }
/* Remove Menu Item Divider */ .ui.dropdown .ui.menu > .item:before, .ui.menu .ui.dropdown .menu > .item:before { display: none; }
/* Prevent Menu Item Border */ .ui.menu .ui.dropdown .menu .active.item { border-left: none; }
/* No Margin On Icon Button */ .ui.dropdown.icon.button > .dropdown.icon { margin: 0em; }
/* Automatically float dropdown menu right on last menu item */ .ui.menu .right.menu .dropdown:last-child .menu, .ui.buttons > .ui.dropdown:last-child .menu { left: auto; right: 0em; }
/******************************* Types *******************************/
/*-------------- Selection ---------------*/
/* Displays like a select box */ .ui.selection.dropdown { cursor: pointer; word-wrap: break-word; white-space: normal; outline: 0; transform: rotateZ(0deg);
min-width: @selectionMinWidth;
background: @selectionBackground; display: @selectionDisplay; padding: @selectionPadding; color: @selectionTextColor; box-shadow: @selectionBoxShadow; border: @selectionBorder; border-radius: @selectionBorderRadius; transition: @selectionTransition; } .ui.selection.dropdown.visible, .ui.selection.dropdown.active { z-index: @selectionZIndex; }
select.ui.dropdown { height: 38px; padding: 0em; margin: 0em; visibility: hidden; } .ui.selection.dropdown > .text { margin-right: @selectionTextIconDistance; } .ui.selection.dropdown > .search.icon, .ui.selection.dropdown > .delete.icon, .ui.selection.dropdown > .dropdown.icon { position: absolute; top: auto; margin: 0em; width: auto; right: @selectionHorizontalPadding; opacity: @selectionIconOpacity; transition: @selectionIconTransition; }
/* Remove Selection */ .ui.selection.dropdown > .delete.icon { opacity: 0.6; } .ui.selection.dropdown > .delete.icon:hover { opacity: 1; }
/* Search Selection Input */ .ui.selection > input.search { cursor: pointer; background: none transparent; border: none; position: absolute; top: 0em; left: 0em; width: 100%; line-height: 1.2em; padding: @selectionPadding; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); } .ui.selection.active > input.search, .ui.selection.visible > input.search { cursor: auto; } .ui.selection > input.search:focus + .text { color: @unselectedTextColor !important; }
/* Selection Menu */ .ui.selection.dropdown .menu { overflow-x: hidden; overflow-y: auto; backface-visibility: hidden; -webkit-overflow-scrolling: touch; border-top: none !important; width: auto; margin: 0px -1px; min-width: ~"calc(100% + 2px)"; outline: none;
box-shadow: @selectionMenuBoxShadow; transition: @selectionMenuTransition; } .ui.selection.dropdown .menu:after, .ui.selection.dropdown .menu:before { display: none; }
@media only screen and (max-width : @largestMobileScreen) { .ui.selection.dropdown .menu { max-height: @selectionMobileMaxMenuHeight; } } @media only screen and (min-width: @tabletBreakpoint) { .ui.selection.dropdown .menu { max-height: @selectionTabletMaxMenuHeight; } } @media only screen and (min-width: @computerBreakpoint) { .ui.selection.dropdown .menu { max-height: @selectionComputerMaxMenuHeight; } } @media only screen and (min-width: @widescreenMonitorBreakpoint) { .ui.selection.dropdown .menu { max-height: @selectionWidescreenMaxMenuHeight; } }
/* Menu Item */ .ui.selection.dropdown .menu > .item { border-top: @selectionItemDivider; padding-left: @selectionHorizontalPadding !important; /* Add in spacing for scroll bar */ padding-right: calc(@selectionHorizontalPadding + 1em) !important; white-space: normal; word-wrap: normal; }
/* Hover */ .ui.selection.dropdown:hover { border-color: @selectionHoverBorderColor; box-shadow: @selectionHoverBoxShadow; }
/* Visible Hover */ .ui.selection.visible.dropdown:hover { border-color: @selectionVisibleHoverBorderColor; box-shadow: @selectionVisibleHoverBoxShadow; } .ui.selection.visible.dropdown:hover .menu { border: @selectionVisibleHoverMenuBorder; box-shadow: @selectionVisibleHoverMenuBoxShadow; }
/* Visible */ .ui.selection.dropdown.visible { border-color: @selectionVisibleBorderColor; box-shadow: @selectionVisibleBoxShadow; } .ui.visible.selection.dropdown > .dropdown.icon { opacity: @selectionVisibleIconOpacity; }
/* Active Item */ .ui.selection.active.dropdown .text:not(.default), .ui.selection.visible.dropdown .text:not(.default) { font-weight: @selectionVisibleTextFontWeight; color: @selectionVisibleTextColor; }
/* Connecting Border */ .ui.active.selection.dropdown, .ui.visible.selection.dropdown { border-bottom-left-radius: @selectionVisibleConnectingBorder !important; border-bottom-right-radius: @selectionVisibleConnectingBorder !important; }
/*-------------- Inline ---------------*/
.ui.inline.dropdown { cursor: pointer; display: inline-block; color: @inlineTextColor; } .ui.inline.dropdown .dropdown.icon { margin: @inlineIconMargin; vertical-align: top; } .ui.inline.dropdown .text { font-weight: @inlineTextFontWeight; } .ui.inline.dropdown .menu { cursor: auto; margin-top: @inlineMenuDistance; border-radius: @inlineMenuBorderRadius; }
/******************************* States *******************************/
/*-------------------- Hover ----------------------*/
/* Menu Item Hover */ .ui.dropdown .menu > .item:hover { background: @hoveredItemBackground; color: @hoveredItemColor; z-index: 12; }
/*-------------------- Active ----------------------*/
/* Menu Item Active */ .ui.dropdown .menu .active.item { background: @activeItemBackground; font-weight: @activeItemFontWeight; color: @activeItemColor; box-shadow: @activeItemBoxShadow; z-index: @activeItemZIndex; }
/*-------------------- Default Text ----------------------*/
.ui.dropdown > .default.text, .ui.default.dropdown > .text { color: @defaultTextColor; } .ui.dropdown:hover > .default.text, .ui.default.dropdown:hover > .text { color: @defaultTextHoverColor; }
/*-------------------- Keyboard Select ----------------------*/
/* Selected Item */ .ui.dropdown.selected, .ui.dropdown .menu .selected.item { background: @selectedBackground; color: @selectedColor; }
/*-------------------- Search Filtered ----------------------*/
/* Filtered Item */ .ui.dropdown .filtered.text { visibility: hidden; } .ui.dropdown .filtered.item { display: none; }
/*-------------------- Error ----------------------*/
.ui.dropdown.error, .ui.dropdown.error > .text, .ui.dropdown.error > .default.text { color: @errorTextColor; }
.ui.selection.dropdown.error { background: @errorBackgroundColor; border-color: @errorBorderColor; }
.ui.selection.dropdown.error:hover { border-color: @errorBorderColor; }
.ui.dropdown.error > .menu, .ui.dropdown.error > .menu .menu { border-color: @errorBorderColor; }
.ui.dropdown.error > .menu > .item { color: @errorItemTextColor; }
/* Item Hover */ .ui.dropdown.error > .menu > .item:hover { background-color: @errorItemHoverBackground; }
/* Item Active */ .ui.dropdown.error > .menu .active.item { background-color: @errorItemActiveBackground; }
/******************************* Variations *******************************/
/*-------------- Direction ---------------*/
/* Flyout Direction */ .ui.dropdown .menu { left: 0px; }
/*-------------- Simple ---------------*/
/* Displays without javascript */
.ui.simple.dropdown .menu:before, .ui.simple.dropdown .menu:after { display: none; } .ui.simple.dropdown .menu { position: absolute; display: block; overflow: hidden; top: -9999px !important; opacity: 0; width: 0; height: 0; transition: @simpleTransition; }
.ui.simple.active.dropdown, .ui.simple.dropdown:hover { border-bottom-left-radius: 0em !important; border-bottom-right-radius: 0em !important; }
.ui.simple.active.dropdown > .menu, .ui.simple.dropdown:hover > .menu { overflow: visible; width: auto; height: auto; top: 100% !important; opacity: 1; } .ui.simple.dropdown > .menu > .item:active > .menu, .ui.simple.dropdown:hover > .menu > .item:hover > .menu { overflow: visible; width: auto; height: auto; top: 0% !important; left: 100% !important; opacity: 1; } .ui.simple.disabled.dropdown:hover .menu { display: none; height: 0px; width: 0px; overflow: hidden; }
/* Visible */ .ui.simple.visible.dropdown > .menu { display: block; }
/*-------------- Fluid ---------------*/
.ui.fluid.dropdown { display: block; width: 100%; min-width: 0em; } .ui.fluid.dropdown > .dropdown.icon { float: right; }
/*-------------- Floating ---------------*/
.ui.floating.dropdown .menu { left: 0; right: auto; margin-top: @floatingMenuDistance !important; box-shadow: @floatingMenuBoxShadow; border-radius: @floatingMenuBorderRadius; }
/*-------------- Pointing ---------------*/
.ui.pointing.dropdown > .menu { top: 100%; margin-top: @pointingMenuDistance; border-radius: @pointingMenuBorderRadius; }
.ui.pointing.dropdown > .menu:after { display: block; position: absolute; pointer-events: none; content: ''; visibility: visible; transform: rotate(45deg);
width: @pointingArrowSize; height: @pointingArrowSize; box-shadow: @pointingArrowBoxShadow; background: @pointingArrowBackground; z-index: @pointingArrowZIndex; }
.ui.pointing.dropdown > .menu:after { top: @pointingArrowOffset; left: 50%; margin: 0em 0em 0em @pointingArrowOffset; }
/* Top Left Pointing */ .ui.top.left.pointing.dropdown > .menu { top: 100%; bottom: auto; left: 0%; right: auto; margin: @pointingArrowDistanceFromEdge 0em 0em; } .ui.top.left.pointing.dropdown > .menu { top: 100%; bottom: auto; left: 0%; right: auto; margin: @pointingArrowDistanceFromEdge 0em 0em; } .ui.top.left.pointing.dropdown > .menu:after { top: @pointingArrowOffset; left: @pointingArrowDistanceFromEdge; right: auto; margin: 0em; transform: rotate(45deg); } /* Top Right Pointing */ .ui.top.right.pointing.dropdown > .menu { top: 100%; bottom: auto; right: 0%; left: auto; margin: @pointingArrowDistanceFromEdge 0em 0em; } .ui.top.right.pointing.dropdown > .menu:after { top: @pointingArrowOffset; left: auto; right: @pointingArrowDistanceFromEdge; margin: 0em; transform: rotate(45deg); }
/* Left Pointing */ .ui.left.pointing.dropdown > .menu { top: 0%; left: 100%; right: auto; margin: 0em 0em 0em @pointingArrowDistanceFromEdge; } .ui.left.pointing.dropdown > .menu:after { top: 1em; left: @pointingArrowOffset; margin: 0em 0em 0em 0em; transform: rotate(-45deg); }
/* Right Pointing */ .ui.right.pointing.dropdown > .menu { top: 0%; left: auto; right: 100%; margin: 0em @pointingArrowDistanceFromEdge 0em 0em; } .ui.right.pointing.dropdown > .menu:after { top: 1em; left: auto; right: @pointingArrowOffset; margin: 0em 0em 0em 0em; transform: rotate(135deg); }
/* Bottom Pointing */ .ui.bottom.pointing.dropdown > .menu { top: auto; bottom: 100%; left: 0%; right: auto; margin: 0em 0em @pointingArrowDistanceFromEdge ; } .ui.bottom.pointing.dropdown > .menu:after { top: auto; bottom: @pointingArrowOffset; right: auto; margin: 0em; transform: rotate(-135deg); } /* Reverse Sub-Menu Direction */ .ui.bottom.pointing.dropdown > .menu .menu { top: auto !important; bottom: 0px !important; }
/* Bottom Left */ .ui.bottom.left.pointing.dropdown > .menu { left: 0%; right: auto; } .ui.bottom.left.pointing.dropdown > .menu:after { left: @pointingArrowDistanceFromEdge; right: auto; }
/* Bottom Right */ .ui.bottom.right.pointing.dropdown > .menu { right: 0%; left: auto; } .ui.bottom.right.pointing.dropdown > .menu:after { left: auto; right: @pointingArrowDistanceFromEdge; }
.loadUIOverrides();
|