combojs
Version:
A combobox for intelligent, responsive search and filtering.
75 lines (74 loc) • 2.97 kB
CSS
.combo-container {
padding-right: 28px;
height: 18px;
position: relative;
border: 1px solid #647484;
font-size: 11px;
font-family: "Arial", "Helvetica", sans-serif;
}
.combo-container input.combo-input {
padding: 0px 6px 0px 4px;
border: 0;
outline: 0;
font-size: 11px;
width: 100%;
height: 100%;
}
.combo-container button.combo-button {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAoCAMAAADE8VquAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURWV1hWV2hWV2hmd4h2h4iGp6iWx8i219jG5+jXGBkHWEk3eGlHmHl32LmoGPnYORn4eUoYmWoomYpY6ap5Cfq5mkr5imsp6os6OttqGwu6axuqiyu6y6xbW9xba+xrfAx7bAyLjHz77FzcHP2MrP1cjU3NPY3dLZ3s3Z4NPd5Njd4tvf49ni593h5d3l6+Pp7OPp7uft8ezv8uzw8+/z9vP2+Pb3+PX4+fj6+/r7/Pz9/f39/v7//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMrUFW4AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41Ljg3O4BdAAAAp0lEQVQoU53Sx1ZCQRBF0QMSBFF5BlCQIMGEJJWnaP//d7G6qhmwriP26NSddhMER09/gl/BVvATPWEGdvBtsrhUP6zZmLc4jbz5crfQTMmnW1Z5Tsk6GXb2xUqwELwLXgUvgqlgLHgUPAjuBS3BjeBKcCk4j9r+5n07aJh5XPILa+rmOk5db2puEsIsJafuLA9ZSirJXW9flAUlwYmgKP6bCsI/1oEdszBX2yJdFcAAAAAASUVORK5CYII=");
width: 18px;
right: 0px;
top: 0px;
border: 0;
position: absolute;
height: 100%;
}
.combo-container ul.combo-list {
z-index: 2;
max-height: 300px;
position: absolute;
left: -1px;
right: -1px;
top: 19px;
overflow-x: hidden;
overflow-y: auto;
margin: 0 0 0 0;
padding: 0;
border: 1px solid #ccc;
background: #c1c7cc;
clear: both;
}
.combo-container ul.combo-list li {
background: #d6dfe5;
padding: 5px 5px;
cursor: default;
line-height: 1.1;
margin-bottom: 1px;
}
.combo-container ul.combo-list li.active {
background: #bfcdd7;
}
.combo-container ul.combo-list li:last-child {
margin-bottom: 0px;
}
.combo-container ul.combo-list li.secondary-source.first {
border-top: 1px solid #000;
}
button.combo-button:active:not([disabled]) {
background-position: 0 -20px;
}
button.combo-button:disabled {
opacity: 0.5;
}
button.combo-button:focus {
outline: 0;
}
ul.combo-list li.disabled {
color: #afafaf;
}
ul.combo-list li.unmatched-raw-value {
border-bottom-style: solid;
border-width: 1px;
border-color: #808080;
margin-bottom: 0px;
}