/**
 * Copyright 2015 IBM Corp.
 *
 * 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.
 **/


#palette {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left:0px;
    background: #f3f3f3;
    width: 180px;
    text-align: center;
    @include disable-selection;
    @include component-border;
    transition: width 0.2s ease-in-out;
}

.palette-expanded {
    & #palette {
        width: 380px;
        box-shadow: 1px 0 6px rgba(0,0,0,0.1);
    }
    & #workspace { left: 379px !important; }
    & #palette-collapse-all { display: none; }
    & #palette-expand-all { display: none; }
    & #palette-container { display: none !important; }
    & #palette-search { display: none !important; }
    & #palette-edit { background: $workspace-button-background-active }
    & #palette-editor { display: block !important }
}


.palette-scroll {
    position: absolute;
    top: 35px;
    right: 0;
    bottom: 25px;
    left:0;
    padding: 0;
    overflow-y: auto;
    box-sizing:border-box;
}
#palette > .palette-spinner {
    padding-top: 80px;
}
.palette-search {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    text-align: center;
    height: 35px;
    padding: 3px;
    border-bottom: 1px solid $primary-border-color;
    box-sizing:border-box;
}

#palette-footer {
    @include component-footer;
}
.palette-button {
    @include component-footer-button;
}


.palette-category {
    border-bottom: 1px solid #ccc;
}
.palette-content {
    background: #fff;
    padding: 3px;
}

.palette-header {
    position: relative;
    background: $palette-header-background;
    cursor: pointer;
    text-align: left;
    padding: 9px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

}
.palette-header i {
    margin: 3px 10px 3px 3px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
}
.palette-header i.expanded {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.palette-header span {
    clear: both;
}
.palette_label {
    font-size: 13px;
    margin: 4px 0 4px 28px;
    line-height: 20px;
    overflow: hidden;
    text-align: center;
}
.palette_label_right {
    margin: 4px 28px 4px 0;
}

.palette_node {
    cursor:move;
    background: #ddd;
    margin: 10px auto;
    height: 25px;
    border-radius: 5px;
    border: 1px solid #999;
    background-position: 5% 50%;
    background-repeat: no-repeat;
    width: 120px;
    background-size: contain;
    position: relative;
}
.palette_node:hover {
    border-color: $node-selected-color;
    background-color: #eee;
}
.palette_port {
    position: absolute;
    top:8px;
    left: -5px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    background:#d9d9d9;
    border-radius: 3px;
    width: 10px;
    height: 10px;
    border: 1px solid #999;
}
.palette_port_output {
    left:auto;
    right: -6px;
}

.palette_node:hover .palette_port {
    border-color: #999;
    background-color: #eee;
}
.palette_icon_container {
    position: absolute;
    text-align: center;
    top:0;
    bottom:0;
    left:0;
    width: 30px;
    border-right: 1px solid rgba(0,0,0,0.1);
    background-color: rgba(0,0,0,0.05);
}
.palette_icon_container_right {
    left: auto;
    right: 0;
    border-right: none;
    border-left: 1px solid rgba(0,0,0,0.1);
}
.palette_icon {
    display: inline-block;
    width: 20px;
    height: 100%;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
}