@use "mixins";

/**
 * 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-sidebar-config-category-disabled-icon {
    display: none;
}

.red-ui-sidebar-config-category-disabled {
    .red-ui-sidebar-config-tray-header {
        font-style: italic;
        color: var(--red-ui-tab-text-color-disabled-inactive) !important;
        .red-ui-sidebar-config-category-disabled-icon {
            display: inline;
        }
    }
    .red-ui-sidebar-node-config-list {
        .red-ui-palette-node-config {
            @extend .red-ui-palette-node-config-disabled;
        }
    }
}

.red-ui-sidebar-node-config {
    position: relative;
    background: var(--red-ui-secondary-background);
    height: 100%;
    overflow-y:auto;
    @include mixins.disable-selection;

    &:focus {
        outline: none;
    }
}

ul.red-ui-sidebar-node-config-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    li {
        padding: 0;
        margin: 0;
        text-align: center;
    }
    .red-ui-palette-node {
        // overflow: hidden;
        &.selected {
            border-color: transparent;
            box-shadow: 0 0 0 2px var(--red-ui-node-selected-color);
        }
        &.highlighted {
            border-color: transparent;
            outline: dashed var(--red-ui-node-selected-color) 4px;
        }
    }
    .red-ui-palette-label {
        margin-left: 8px;
        line-height: 24px;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        &:not(:last-child) {
            width: calc(100% - 38px);
        }
    }
    .red-ui-palette-icon-container {
        font-size: 12px;
        line-height: 30px;
        background-color: var(--red-ui-node-icon-background-color);
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        a {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            color: var(--red-ui-node-port-label-color);
            cursor: pointer;
            &:hover {
                text-decoration: none;
                background: var(--red-ui-node-port-background-hover);
            }
        }
    }
}
.red-ui-palette-node-config {
    width: 160px;
    height: 30px;
    background: var(--red-ui-node-config-background);
    color: var(--red-ui-primary-text-color);
    cursor: pointer;
    &.red-ui-palette-node-config-invalid.red-ui-palette-node-config-changed {
        .red-ui-palette-node-annotations.red-ui-flow-node-error {
            left: calc(100% - 28px);
        }
    }
}
ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
    color: var(--red-ui-secondary-text-color);
    text-align: right;
    padding-right: 3px;
    &:not(:first-child) {
        margin-top: 20px;
    }
}
.red-ui-palette-node-config-none {
    color: var(--red-ui-tertiary-text-color);
    text-align:right;
    padding-right: 3px;
}
.red-ui-palette-node-config-unused,.red-ui-palette-node-config-disabled {
    border-color: var(--red-ui-primary-border-color);
    background: var(--red-ui-node-config-background);
    border-style: dashed;
    color: var(--red-ui-node-config-icon-container-disabled);
}
.red-ui-palette-node-config-disabled {
    opacity: 0.6;
    font-style: italic;
    i {
        color: var(--red-ui-node-port-label-color);
        margin-right: 5px;
    }
}
.red-ui-palette-node-config-invalid {
    border-color: var(--red-ui-form-input-border-error-color)
}
.red-ui-sidebar-config-tray-header.red-ui-palette-header:not(.red-ui-sidebar-config-changed) .red-ui-flow-node-changed {
    display: none;
}
.red-ui-sidebar-config-tray-header.red-ui-palette-header.red-ui-sidebar-config-changed .red-ui-flow-node-changed {
    display: inline-block;
    position: absolute;
    top: 1px;
    right: 1px;
}
.red-ui-palette-node-annotations {
    position: absolute;
    left: calc(100% - 15px);
    top: -8px;
    display: block;
}
.red-ui-sidebar-node-config-filter-info {
    position: absolute;
    top: 0;
    right:0;
    height: 38px;
    line-height: 38px;
    padding: 0 8px;
    background: var(--red-ui-palette-header-background);
    font-size: 0.8em;
    color: var(--red-ui-secondary-text-color);
    font-weight: normal;
}
