react-selectize
Version:
A Stateless & Flexible Select component for React inspired by Selectize
286 lines (285 loc) • 8.19 kB
CSS
.react-selectize {
color: #000;
background-color: #fff;
-webkit-border-radius: 4px;
border-radius: 4px;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
position: relative;
}
.react-selectize.disabled {
pointer-events: none;
}
.react-selectize .react-selectize-control {
border: 1px solid;
border-color: #d9d9d9 #ccc #b3b3b3;
-webkit-border-radius: 4px;
border-radius: 4px;
cursor: pointer;
font-size: 1em;
padding: 2px 52px 2px 5px;
position: relative;
z-index: 9;
}
.react-selectize .react-selectize-control .react-selectize-placeholder {
color: #aaa;
padding: 8px 0px 8px 10px;
max-width: calc(100% - 52px);
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
position: absolute;
top: 0;
left: 0px;
}
.react-selectize .react-selectize-control input {
background: none;
border: none;
outline: none;
font-size: 1em;
margin: 2px;
padding: 4px 0px;
vertical-align: middle;
width: 0px;
}
.react-selectize .react-selectize-control .react-selectize-arrow {
border-style: solid;
content: " ";
display: block;
height: 0px;
position: absolute;
right: 10px;
top: 14px;
width: 0px;
}
.react-selectize .react-selectize-control .react-selectize-reset {
color: #999;
cursor: pointer;
display: inline-block;
font-size: 16px;
padding: 6px 10px;
position: absolute;
right: 17px;
top: 0;
}
.react-selectize .react-selectize-control .react-selectize-reset:hover {
color: #c0392b;
}
.react-selectize .react-selectize-control .value-wrapper {
display: inline-block;
}
.react-selectize.flipped .react-selectize-arrow {
border-color: transparent transparent #999;
border-width: 0 5px 5px;
}
.react-selectize.flipped.open .react-selectize-control {
border-top: none;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
.react-selectize.flipped.open .react-selectize-control .react-selectize-arrow {
border-color: #999 transparent transparent;
border-width: 5px;
}
.react-selectize:not(.flipped) .react-selectize-arrow {
border-color: #999 transparent transparent;
border-width: 5px;
}
.react-selectize:not(.flipped).open .react-selectize-control {
border-bottom: none;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.react-selectize:not(.flipped).open .react-selectize-control .react-selectize-arrow {
border-color: transparent transparent #999;
border-width: 0 5px 5px;
}
.react-selectize-dropdown-container {
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
overflow: hidden;
position: absolute;
width: 300px;
}
.react-selectize-dropdown-container .react-selectize-dropdown.slide-enter-active,
.react-selectize-dropdown-container .react-selectize-dropdown.slide-leave-active {
-webkit-transition: -webkit-transform 0.2s 0s ease;
-moz-transition: -moz-transform 0.2s 0s ease;
-o-transition: -o-transform 0.2s 0s ease;
-ms-transition: -ms-transform 0.2s 0s ease;
transition: transform 0.2s 0s ease;
}
.react-selectize-dropdown-container .react-selectize-dropdown.flipped.slide-enter {
-webkit-transform: translateY(100%);
-moz-transform: translateY(100%);
-o-transform: translateY(100%);
-ms-transform: translateY(100%);
transform: translateY(100%);
}
.react-selectize-dropdown-container .react-selectize-dropdown.flipped.slide-enter-active {
-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
-o-transform: translateY(0%);
-ms-transform: translateY(0%);
transform: translateY(0%);
}
.react-selectize-dropdown-container .react-selectize-dropdown.flipped.slide-leave {
-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
-o-transform: translateY(0%);
-ms-transform: translateY(0%);
transform: translateY(0%);
}
.react-selectize-dropdown-container .react-selectize-dropdown.flipped.slide-leave-active {
-webkit-transform: translateY(100%);
-moz-transform: translateY(100%);
-o-transform: translateY(100%);
-ms-transform: translateY(100%);
transform: translateY(100%);
}
.react-selectize-dropdown-container .react-selectize-dropdown:not(.flipped).slide-enter {
-webkit-transform: translateY(-100%);
-moz-transform: translateY(-100%);
-o-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
}
.react-selectize-dropdown-container .react-selectize-dropdown:not(.flipped).slide-enter-active {
-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
-o-transform: translateY(0%);
-ms-transform: translateY(0%);
transform: translateY(0%);
}
.react-selectize-dropdown-container .react-selectize-dropdown:not(.flipped).slide-leave {
-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
-o-transform: translateY(0%);
-ms-transform: translateY(0%);
transform: translateY(0%);
}
.react-selectize-dropdown-container .react-selectize-dropdown:not(.flipped).slide-leave-active {
-webkit-transform: translateY(-100%);
-moz-transform: translateY(-100%);
-o-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
}
.react-selectize-dropdown {
background: #fff;
border: 1px solid #ccc;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
max-height: 200px;
overflow: auto;
position: absolute;
width: 300px;
z-index: 10;
}
.react-selectize-dropdown.open.flipped {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.react-selectize-dropdown.open:not(.flipped) {
border-color: #b3b3b3 #ccc #d9d9d9;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
.react-selectize-dropdown .groups.as-columns {
display: -webkit-box;
display: -moz-box;
display: -webkit-flex;
display: -ms-flexbox;
display: box;
display: flex;
}
.react-selectize-dropdown .groups.as-columns > div {
-webkit-box-flex: 1;
-moz-box-flex: 1;
-o-box-flex: 1;
box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.react-selectize-dropdown .no-results-found {
color: #aaa ;
font-style: oblique;
padding: 8px 10px;
}
.react-selectize-dropdown .no-results-found.red {
color: #f00 ;
}
.react-selectize-dropdown .option-wrapper {
cursor: pointer;
outline: none;
}
.react-selectize-dropdown .option-wrapper.highlight {
background: #f2f9fc;
color: #333;
}
.react-selectize-dropdown .simple-group-title {
background-color: #fafafa;
padding: 8px 8px;
}
.react-selectize-dropdown .simple-option {
color: #666;
cursor: pointer;
padding: 8px 10px;
}
.react-selectize-dropdown .simple-option.not-selectable {
background-color: #f8f8f8;
color: #999;
cursor: default;
font-style: oblique;
text-shadow: 0px 1px 0px #fff;
}
.react-selectize.simple-select:not(.open) {
background-color: #f9f9f9;
background-image: -webkit-linear-gradient(top, #fefefe, #f2f2f2);
background-image: -moz-linear-gradient(top, #fefefe, #f2f2f2);
background-image: -o-linear-gradient(top, #fefefe, #f2f2f2);
background-image: -ms-linear-gradient(top, #fefefe, #f2f2f2);
background-image: linear-gradient(to bottom, #fefefe, #f2f2f2);
}
.react-selectize.simple-select .control {
padding: 2px 52px 2px 8px;
}
.react-selectize.simple-select .control .placeholder {
padding: 8px 0px 8px 12px;
}
.react-selectize.simple-select .reset {
display: none;
}
.react-selectize.simple-select .simple-value {
display: inline-block;
margin: 2px;
vertical-align: middle;
}
.react-selectize.simple-select .simple-value span {
cursor: default;
display: inline-block;
vertical-align: top;
}
.react-selectize.multi-select .simple-value {
background: #f2f9fc;
border: 1px solid #c9e6f2;
-webkit-border-radius: 2px;
border-radius: 2px;
color: #08c;
display: inline-block;
margin: 2px;
vertical-align: middle;
}
.react-selectize.multi-select .simple-value span {
cursor: pointer;
display: inline-block;
padding: 2px 5px 4px;
vertical-align: top;
}