react-select-me
Version:
A highly scalable react dropdown list
213 lines (179 loc) • 10.7 kB
CSS
.dd__wrapper {
position: relative;
}
.dd__opened {
border-radius: 3px;
border-color: #373c43;
color: #373c43;
}
.dd__disabled {
border-color: #6d757b;
color: #6d757b;
}
.dd__error {
border-color: #e9596a;
}
.dd__selectControl {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-size: 14px;
padding: 8px;
border: 1px solid #373c43;
border-radius: 3px;
background-color: #fff;
color: #373c43;
line-height: 20px;
cursor: pointer;
overflow: hidden
}
.dd__error .dd__selectControl {
color: #e9596a;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.dd__disabled .dd__selectControl {
cursor: default;
}
.dd__selected {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
overflow: hidden
}
.dd__multi .dd__selected {
margin-top: -2px;
}
.dd__search {
display: inline-block;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
border: 1px solid transparent;
outline: 0;
opacity: 0;
min-height: 20px;
word-break: break-word
}
.dd__multi .dd__search {
margin-top: 2px;
}
.dd__opened .dd__search {
opacity: 1;
}
.dd__placeholder {
border: 1px solid transparent;
color: #6d757b
}
.dd__multi .dd__placeholder {
margin-top: 2px;
}
.dd__error .dd__placeholder {
color: #e9596a;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.dd__selectedItem {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border: 1px solid transparent
}
.dd__multi .dd__selectedItem {
border-color: #a9b6d2;
background-color: #e3eaf6;
border-radius: 2px;
margin-top: 2px;
margin-right: 2px;
padding: 0 4px;
}
.dd__crossIcon {
margin-left: 5px;
}
.dd__expandIcon {
width: 9px;
height: 15px;
-ms-flex-negative: 0;
flex-shrink: 0;
fill: #2d3136
}
.dd__error .dd__expandIcon {
fill: #e9596a;
}
.dd__list {
display: none;
position: absolute ;
background-color: #fff;
overflow: auto;
z-index: 1;
-webkit-overflow-scrolling: touch;
min-width: 100%;
border: 1px solid #373c43;
border-radius: 3px;
-webkit-box-shadow: 0 3px 7px 0 rgba(#000, 0.08);
box-shadow: 0 3px 7px 0 rgba(#000, 0.08);
/* Without this property, Chrome repaints the entire Grid any time a new row or column is added.
Firefox only repaints the new row or column (regardless of this property).
Safari and IE don't support the property at all.
*/
will-change: transform
}
.dd__opened .dd__list {
display: block;
}
.dd__opened .dd__list:empty {
display: none;
}
.dd__listVirtualized {
overflow-y: auto;
overflow-x: hidden;
:global(.Grid__innerScrollContainer) {
overflow: hidden;
position: relative;
}
}
.dd__openTobottom {
top: 100%;
margin-top: 5px;
}
.dd__openTotop {
bottom: 100%;
margin-bottom: 5px;
}
.dd__optionVirtualized {
position: absolute;
}
.dd__option {
padding: 10px;
line-height: 20px;
white-space: nowrap;
cursor: pointer
}
.dd__option:hover {
background-color: #f1f1f1;
}
.dd__selectedOption {
background-color: #f1f1f1;
}
.dd__optionDisabled {
cursor: default
}
.dd__optionDisabled:hover {
background-color: transparent;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9SZWFjdFNlbGVjdE1lLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBK0I7RUFDL0IsY0FBd0I7QUFDMUI7O0FBRUE7RUFDRSxxQkFBbUM7RUFDbkMsY0FBNEI7QUFDOUI7O0FBRUE7RUFDRSxxQkFBZ0M7QUFDbEM7O0FBRUE7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixZQUFZO0VBQ1oseUJBQW1DO0VBQ25DLGtCQUFrQjtFQUNsQixzQkFBb0M7RUFDcEMsY0FBd0I7RUFDeEIsaUJBQStCO0VBQy9CLGVBQWU7RUFDZjtBQVVGOztBQVJFO0VBQ0UsY0FBeUI7RUFDekIseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFHRjtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFDWixtQkFBZTtNQUFmLGVBQWU7RUFDZjtBQUtGOztBQUhFO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUdGO0VBQ0UscUJBQXFCO0VBQ3JCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osNkJBQTZCO0VBQzdCLFVBQVU7RUFDVixVQUFVO0VBQ1YsZ0JBQThCO0VBQzlCO0FBU0Y7O0FBUEU7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUdGO0VBQ0UsNkJBQTZCO0VBQzdCO0FBVUY7O0FBUkU7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsY0FBeUI7RUFDekIseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0FBQ25COztBQUdGO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYjtBQVVGOztBQVJFO0VBQ0UscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0FBQ2hCOztBQUdGO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLFlBQVk7RUFDWixvQkFBYztNQUFkLGNBQWM7RUFDZDtBQUtGOztBQUhFO0VBQ0UsYUFBd0I7QUFDMUI7O0FBR0Y7RUFDRSxhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLHNCQUFvQztFQUNwQyxjQUFjO0VBQ2QsVUFBVTtFQUNWLGlDQUFpQztFQUNqQyxlQUFlO0VBQ2YseUJBQW1DO0VBQ25DLGtCQUFrQjtFQUNsQixnREFBc0Q7VUFBdEQsd0NBQXNEOztFQUV0RDs7O0VBR0E7RUFDQTtBQVNGOztBQVBFO0VBQ0U7QUFLRjs7QUFIRTtFQUNFLGFBQWE7QUFDZjs7QUFJSjtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7O0VBRWxCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtFQUNwQjtBQUNGOztBQUVBO0VBQ0UsU0FBUztFQUNULGVBQWU7QUFDakI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGlCQUErQjtFQUMvQixtQkFBbUI7RUFDbkI7QUFLRjs7QUFIRTtFQUNFLHlCQUF1QztBQUN6Qzs7QUFHRjtFQUNFLHlCQUF1QztBQUN6Qzs7QUFFQTtFQUNFO0FBS0Y7O0FBSEU7RUFDRSw2QkFBNkI7QUFDL0IiLCJmaWxlIjoiUmVhY3RTZWxlY3RNZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC0tY29sb3ItdHVuYTogIzM3M2M0MztcbiAgLS1jb2xvci13aGl0ZTogI2ZmZjtcbiAgLS1jb2xvci1wYWxlLXNreTogIzZkNzU3YjtcbiAgLS1jb2xvci1tYW5keTogI2U5NTk2YTtcbiAgLS1jb2xvci1zaGFyazogIzJkMzEzNjtcbiAgLS1jb2xvci1ibGFjazogIzAwMDtcbiAgLS1jb2xvci1zZWFzaGVsbDogI2YxZjFmMTtcbiAgLS1saW5lLWhlaWdodDogMjBweDtcbn1cblxuLmRkX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGRfX29wZW5lZCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10dW5hKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXR1bmEpO1xufVxuXG4uZGRfX2Rpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wYWxlLXNreSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWxlLXNreSk7XG59XG5cbi5kZF9fZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW1hbmR5KTtcbn1cblxuLmRkX19zZWxlY3RDb250cm9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXR1bmEpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXR1bmEpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG5lc3QgLmRkX19lcnJvciAmIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFuZHkpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgQG5lc3QgLmRkX19kaXNhYmxlZCAmIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLmRkX19zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBuZXN0IC5kZF9fbXVsdGkgJiB7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgfVxufVxuXG4uZGRfX3NlYXJjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogMDtcbiAgb3BhY2l0eTogMDtcbiAgbWluLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIEBuZXN0IC5kZF9fbXVsdGkgJiB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICB9XG5cbiAgQG5lc3QgLmRkX19vcGVuZWQgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZGRfX3BsYWNlaG9sZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWxlLXNreSk7XG5cbiAgQG5lc3QgLmRkX19tdWx0aSAmIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cblxuICBAbmVzdCAuZGRfX2Vycm9yICYge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYW5keSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cblxuLmRkX19zZWxlY3RlZEl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICBAbmVzdCAuZGRfX211bHRpICYge1xuICAgIGJvcmRlci1jb2xvcjogI2E5YjZkMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlYWY2O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgcGFkZGluZzogMCA0cHg7XG4gIH1cbn1cblxuLmRkX19jcm9zc0ljb24ge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uZGRfX2V4cGFuZEljb24ge1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmaWxsOiB2YXIoLS1jb2xvci1zaGFyayk7XG5cbiAgQG5lc3QgLmRkX19lcnJvciAmIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1tYW5keSk7XG4gIH1cbn1cblxuLmRkX19saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10dW5hKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDNweCA3cHggMCByZ2JhKHZhcigtLWNvbG9yLWJsYWNrKSwgMC4wOCk7XG5cbiAgLyogV2l0aG91dCB0aGlzIHByb3BlcnR5LCBDaHJvbWUgcmVwYWludHMgdGhlIGVudGlyZSBHcmlkIGFueSB0aW1lIGEgbmV3IHJvdyBvciBjb2x1bW4gaXMgYWRkZWQuXG5cdEZpcmVmb3ggb25seSByZXBhaW50cyB0aGUgbmV3IHJvdyBvciBjb2x1bW4gKHJlZ2FyZGxlc3Mgb2YgdGhpcyBwcm9wZXJ0eSkuXG5cdFNhZmFyaSBhbmQgSUUgZG9uJ3Qgc3VwcG9ydCB0aGUgcHJvcGVydHkgYXQgYWxsLiBcblx0Ki9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICBAbmVzdCAuZGRfX29wZW5lZCAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRkX19saXN0VmlydHVhbGl6ZWQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgOmdsb2JhbCguR3JpZF9faW5uZXJTY3JvbGxDb250YWluZXIpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uZGRfX29wZW5Ub2JvdHRvbSB7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uZGRfX29wZW5Ub3RvcCB7XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uZGRfX29wdGlvblZpcnR1YWxpemVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uZGRfX29wdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWFzaGVsbCk7XG4gIH1cbn1cblxuLmRkX19zZWxlY3RlZE9wdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlYXNoZWxsKTtcbn1cblxuLmRkX19vcHRpb25EaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIl19 */