nextcloud/core/css/multiselect.scss

133 lines
3.1 KiB
SCSS

/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Julius Haertl <jus@bitgrid.net>
* @copyright Copyright (c) 2016, Sergio Bertolín <sbertolin@solidgear.es>
* @copyright Copyright (c) 2015, Hendrik Leppelsack <hendrik@leppelsack.de>
* @copyright Copyright (c) 2014, Vincent Petry <pvince81@owncloud.com>
* @copyright Copyright (c) 2013, Vincent Petry <pvince81@owncloud.com>
* @copyright Copyright (c) 2013, raghunayyar <me@iraghu.com>
* @copyright Copyright (c) 2013, Victor Dubiniuk <victor.dubiniuk@gmail.com>
* @copyright Copyright (c) 2013, kondou <kondou@ts.unde.re>
* @copyright Copyright (c) 2012, Thomas Tanghus <thomas@tanghus.net>
* @copyright Copyright (c) 2012, Lukas Reschke <lukas@statuscode.ch>
* @copyright Copyright (c) 2012, Jan-Christoph Borchardt <hey@jancborchardt.net>
*
* @license GNU AGPL version 3 or any later version
*
*/
ul.multiselectoptions {
background-color: var(--color-main-background);
border: 1px solid var(--color-primary);
border-top: none;
box-shadow: 0 1px 10px var(--color-box-shadow);
padding-top: 8px;
position: absolute;
max-height: 20em;
overflow-y: auto;
z-index: 149;
&.down {
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
width: 100%;
/* do not cut off group names */
box-shadow: 0 1px 10px var(--color-box-shadow);
}
&.up {
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
> li {
overflow: hidden;
white-space: nowrap;
margin-left: 7px;
input[type='checkbox'] {
+ label {
font-weight: normal;
display: inline-block;
width: 100%;
padding: 5px 27px;
margin-left: -27px;
/* to have area around checkbox clickable as well */
text-overflow: ellipsis;
overflow: hidden;
}
&:checked + label {
font-weight: bold;
}
}
}
input.new {
padding-bottom: 3px;
padding-top: 3px;
margin: 0;
}
> li.creator {
padding: 10px;
margin: 0;
font-weight: bold;
> input {
width: 95% !important;
/* do not constrain size of text input */
padding: 5px;
margin: -5px;
}
}
}
/* TODO drop old legacy multiselect! */
div.multiselect:not(.multiselect-vue),
select.multiselect:not(.multiselect-vue) {
display: inline-block;
max-width: 200px;
min-width: 150px !important;
padding-right: 10px;
min-height: 20px;
position: relative;
vertical-align: bottom;
}
select.multiselect {
height: 30px;
min-width: 113px;
}
/* To make a select look like a multiselect until it's initialized */
div.multiselect {
&.active {
background-color: var(--color-main-background);
position: relative;
z-index: 150;
}
&.up {
border-top: 0 none;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
&.down {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
> span {
&:first-child {
float: left;
margin-right: 32px;
overflow: hidden;
text-overflow: ellipsis;
width: 90%;
white-space: nowrap;
line-height: 20px;
}
&:last-child {
position: absolute;
right: 8px;
top: 8px;
padding: 0 !important;
min-width: 16px;
min-height: 16px;
background-position: center;
}
}
}