/**
 * Copyright JS Foundation and other contributors, http://js.foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/

.red-ui-typedInput-container {
    border: 1px solid $form-input-border-color;
    border-radius: 4px;
    height: 34px;
    display: inline-block;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    box-sizing: border-box;
    overflow:hidden;
    position: relative;
    .red-ui-typedInput-input {
        position: absolute;
        left:0;
        right:0;
        top:0;
        bottom:0;
        outline: red;
    }
    input {
        width: 100%;
        padding: 0 0 0 1px;
        margin:0;
        height: 32px;
        border:none;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        box-shadow: none;
        vertical-align: middle;
    }

    &.red-ui-typedInput-focus:not(.input-error) {
        border-color: $form-input-focus-color !important;
    }

    button {
        text-align: left;
        border: none;
        position: absolute;
        box-sizing: border-box;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        padding: 0 1px 0 5px;
        display:inline-block;
        background: $typedInput-button-background;
        height: 32px;
        line-height: 32px;
        vertical-align: middle;
        color: #555;
        i {
            position:relative;
            top:-3px;
            margin-right:4px;
            margin-top: 1px;
            vertical-align: middle;
            &.fa-ellipsis-h {
                top: -1px;
            }
        }
        &.disabled {
            cursor: default;
            i {
                color: #bbb;
            }
        }
        span {
            display: inline-block;
            height: 100%;
            padding: 0 1px 0 5px;
        }

        &:not(.disabled):hover {
            text-decoration: none;
            background: $typedInput-button-background-hover;
        }
        &:focus {
            text-decoration: none;
            outline: none;
            box-shadow: inset 0 0 0 1px $form-input-focus-color;
        }
        &:not(.disabled):active {
            background: $typedInput-button-background-active;
            text-decoration: none;
        }
        &.red-ui-typedInput-full-width {
            width: 100%;
            border-top-right-radius: 4px;
            border-bottom-right-radius: 4px;
        }
    }

    button.red-ui-typedInput-option-expand {
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        right: 0;
    }

    button.red-ui-typedInput-option-trigger {
        border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        padding: 0 0 0 0;
        position:absolute;
        width: calc( 100% );

        i {
            position:absolute;
            right: 4px;
            top: 7px;
        }
        .red-ui-typedInput-option-label {
            background:#fff;
            position:absolute;
            left:0;
            right:23px;
            top: 0;
            padding: 0 5px 0 5px;
        }
        .red-ui-typedInput-option-caret {
            top: 0;
            position: absolute;
            right: 0;
            width: 17px;
        }
        &:focus {
            box-shadow: none;
        }
        &:focus .red-ui-typedInput-option-caret {
            box-shadow: inset 0 0 0 1px $form-input-focus-color;
        }
    }
}
.red-ui-typedInput-options {
    @include component-shadow;
    position: absolute;
    border: 1px solid $primary-border-color;
    background: #fff;
    z-index: 2000;
    a {
        padding: 6px 18px 6px 6px;
        display: block;
        border-bottom: 1px solid $secondary-border-color;
        color: #333;
        &:hover {
            text-decoration: none;
            background: $typedInput-button-background-hover;
        }
        &:focus {
            text-decoration: none;
            background: $typedInput-button-background-active;
            outline: none;
        }
        &:active {
            text-decoration: none;
            background: $typedInput-button-background-active;
        }
    }
}
