UNPKG

zui

Version:

一个基于 Bootstrap 深度定制开源前端实践方案,帮助你快速构建现代跨屏应用。

488 lines (464 loc) 12 kB
/// ======================================================================== /// Chosen: chosen.less /// https://github.com/harvesthq/chosen/blob/master/sass/chosen.scss /// Chosen, a Select Box Enhancer for jQuery and Prototype /// by Patrick Filler for Harvest, http://getharvest.com /// /// ZUI: The file has been changed in ZUI. It will not keep update with the /// Chosen version in the future. /// http://openzui.com /// ======================================================================== /// Chosen: MIT License /// https://github.com/harvesthq/chosen/blob/master/LICENSE.md /// Full source at https://github.com/harvesthq/chosen /// Copyright (c) 2011-2016 Harvest http://getharvest.com /// ======================================================================== /*! * Chosen, a Select Box Enhancer for jQuery and Prototype * by Patrick Filler for Harvest, http://getharvest.com * * Copyright (c) 2011-2016 Harvest http://getharvest.com * MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ // Depends on the dropdown.less // @group Base // .chosen-container { position: relative; display: block; font-size: @font-size-base; zoom: 1; user-select: none; vertical-align: middle; .chosen-drop { position: absolute; top: 100%; display: none; z-index: 1010; width: 100%; border: 1px solid @dropdown-fallback-border; // IE8 fallback border: 1px solid @dropdown-border; border-top: 0; background: #fff; box-shadow: 0 6px 12px rgba(0, 0, 0, .175); &.chosen-drop-size-limited { border-top: 1px solid @dropdown-border; } &.chosen-auto-max-width { border-top: 1px solid @dropdown-border; opacity: 0; min-width: 100%; > .chosen-results > li { display: inline-block; white-space: nowrap; } &.in { opacity: 1; > .chosen-results > li { display: block; white-space: normal; } } } &.chosen-no-wrap { > .chosen-results > li { white-space: nowrap!important; overflow: hidden; text-overflow: ellipsis; } } } &.chosen-with-drop .chosen-drop { display: block; } a { cursor: pointer; } &.chosen-up { .chosen-drop { bottom: 100%; top: inherit; border-radius: @input-border-radius @input-border-radius 0 0; box-shadow: 0 -3px 5px rgba(0, 0, 0, .175); margin-top: auto; margin-bottom: -1px; } } &.chosen-highlight-selected { .result-selected { background: @color-pale; color: @color-primary; } } } // @end // @group Single Chosen // .chosen-container-single { .chosen-single { // position: relative; display: block; overflow: hidden; padding: @padding-base-vertical @padding-small-horizontal; height: @input-height-base; width: 100%; border: 1px solid @input-border; border-radius: @input-border-radius; background-color: @input-bg; background-clip: padding-box; color: @input-color; text-decoration: none; white-space: nowrap; line-height: @line-height-base; box-shadow: @input-shadow; .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); } .chosen-default { color: @input-color-placeholder; } .chosen-single > span { display: block; overflow: hidden; margin-right: 26px; text-overflow: ellipsis; white-space: nowrap; } .chosen-single-with-deselect span { margin-right: 38px; } .chosen-single abbr { position: absolute; top: (@input-height-base - 20px)/2 - 1px; right: 24px; display: block; width: 20px; height: 20px; line-height: 18px; font-size: 18px; font-weight: @close-font-weight; color: @close-color; text-shadow: @close-text-shadow; text-align: center; font-family: sans-serif; .opacity(.2); &:before { display: block;; content: '×'; } &:hover, &:focus { color: @close-color; text-decoration: none; cursor: pointer; .opacity(.5); } } // &.chosen-disabled .chosen-single abbr:hover {} .chosen-single div { position: absolute; top: 0; right: 0; display: block; height: 100%; padding: @padding-base-vertical @padding-small-horizontal; b { .caret(); // display: block; // width: 100%; // height: 100%; // background: @chosen-sprite no-repeat 0px 2px; } } .chosen-search { position: relative; z-index: 1010; margin: 0; padding: 3px 4px; white-space: nowrap; input[type="text"] { margin: 1px 0; padding: @padding-small-vertical 26px @padding-small-vertical @padding-small-horizontal; width: 100%; height: 27px; outline: 0; border: 1px solid @input-border; border-radius: @input-border-radius; background-color: @input-bg; font-size: @font-size-small; line-height: @line-height-small; &:focus { border-color: @input-border-focus; } } &:before { position: absolute; display: block; right: 10px; color: @color-gray; top: 10px; content: @icon-search; .icon-zenicon(); } } .chosen-drop { margin-top: -1px; border-radius: 0 0 @border-radius-base @border-radius-base; background-clip: padding-box; } &.chosen-container-single-nosearch .chosen-search { position: absolute; left: -9999px; } } // @end // @group Results // .chosen-container .chosen-results { position: relative; overflow-x: hidden; overflow-y: auto; margin: 0; padding: 0; max-height: 240px; -webkit-overflow-scrolling: touch; li { display: none; margin: 0; padding: 5px 10px; list-style: none; line-height: 15px; -webkit-touch-callout: none; .transition(background-color, @animation-speed-fast, @animation-type); &.active-result { display: list-item; cursor: pointer; } &.disabled-result { display: list-item; color: #ccc; cursor: default; } &.highlighted { color: @dropdown-link-hover-color; background-color: @dropdown-link-hover-bg; } &.no-results { display: list-item; background: #f4f4f4; } &.group-result { display: list-item; font-weight: bold; cursor: default; } &.group-option { padding-left: 15px; } em { font-style: normal; text-decoration: underline; } } } // @end // @group Multi Chosen // .chosen-container-multi { .chosen-choices { position: relative; overflow: hidden; margin: 0; padding: 0; width: 100%; min-height: @input-height-base; min-height: (@input-height-base - 2)~'\0'; border: 1px solid @input-border; border-radius: @input-border-radius; background-color: @input-bg; cursor: text; box-shadow: @input-shadow; .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); .clearfix-mixin(); } .chosen-choices li { display: block; float: left; list-style: none; padding: 0 6px; margin: (@input-height-base - 22px)/2 4px; &.search-field { padding: 0; white-space: nowrap; line-height: 12px; input[type="text"] { height: 20px; outline: 0; border: 0 !important; background: transparent !important; box-shadow: none; color: @input-color-placeholder; font-size: 100%; border-radius: 0; } .default { color: #999; } &:before { .icon-zenicon(); content: @icon-search; position: absolute; display: block; right: 8px; bottom: 8px; opacity: 0; color: @color-gray; .transition-fast(opacity); } } &.search-choice { position: relative; padding: 3px 20px 3px 5px; background-color: @color-gray-pale; border-radius: @border-radius-small; border: 1px solid @color-gray-light; background-clip: padding-box; box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0,0,0,.05); line-height: 12px; cursor: default; .transition(all, @animation-speed-normal, @animation-type); &:hover { border-color: darken(@color-gray-light, 10%); background-color: lighten(@color-gray-pale, 10%); box-shadow: 0 1px 0 rgba(0,0,0,.1); } .search-choice-close { position: absolute; top: 1px; right: 0px; text-align: center; display: block; width: 20px; height: 18px; line-height: 18px; text-align: center; color: @close-color; text-shadow: @close-text-shadow; .opacity(.2); &:before { content: @icon-remove; .icon-zenicon(); text-shadow: @close-text-shadow; } &:hover, &:focus { color: @close-color; text-decoration: none; cursor: pointer; .opacity(.5); } } } &.search-choice-disabled { padding-right: 5px; border: 1px solid #ccc; background-color: #e4e4e4; color: #666; } &.search-choice-focus { background: #d4d4d4; .search-choice-close { background-position: -42px -10px; } } } .chosen-results { margin: 0; padding: 5px 0; // margin-top: ~'-1px\0'; } .chosen-drop .result-selected { display: list-item; color: #ccc; cursor: default; } } // @end // @group Active // .chosen-container-active { .chosen-single { @color-rgba: rgba(red(@input-border-focus), green(@input-border-focus), blue(@input-border-focus), .6); border-color: @input-border-focus; box-shadow: @input-shadow, 0 0 8px @color-rgba; } &.chosen-with-drop { .chosen-single { border: 1px solid @dropdown-fallback-border; // IE8 fallback border: 1px solid @dropdown-border; border-bottom-right-radius: 0!important; border-bottom-left-radius: 0!important; // @include background-image(linear-gradient(#eee 20%, #fff 80%)); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .chosen-single div { border-left: none; background: transparent; b { .caret-reverse(); } } &.chosen-up { .chosen-single { border-top-right-radius: 0; border-top-left-radius: 0; border-bottom-right-radius: @input-border-radius; border-bottom-left-radius: @input-border-radius; // @include background-image(linear-gradient(#eee 20%, #fff 80%)); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } } } .chosen-choices { @color-rgba: rgba(red(@input-border-focus), green(@input-border-focus), blue(@input-border-focus), .6); border-color: @input-border-focus; box-shadow: @input-shadow, 0 0 8px @color-rgba; li.search-field input[type="text"] { color: #111 !important; } li.search-field:before { opacity: 1; } } } // @end // @group Disabled Support // .chosen-disabled { opacity: 0.5 !important; cursor: default; .chosen-single { cursor: default; } .chosen-choices .search-choice .search-choice-close { cursor: default; } } // Compact search .chosen-compact { &.chosen-container-single .chosen-single > .chosen-search { display: none; opacity: 0; padding: 3px 4px; left: 0; > input { height: 25px; padding: 2px 26px 2px 4px; font-size: inherit; } &:before {top: 9px;} } &.chosen-with-search.chosen-with-drop .chosen-single > .chosen-search { display: block; opacity: 1; } } // Fix multiple select height change during chosen load select.chosen[multiple] { height: @input-height-base; overflow: hidden; option {visibility: hidden;} }