@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-info {
    height: 100%;
    overflow: hidden;
}
.red-ui-sidebar-info  hr {
    margin: 10px 0;
}
.red-ui-info-header {
    padding-left: 9px;
    line-height: 21px;
    cursor: default;
    border-bottom: 1px solid var(--red-ui-secondary-border-color);
    > * {
        vertical-align: middle
    }
    > span {
        display: inline-block;
        margin-left: 5px;
        overflow-wrap: anywhere;
    }
}
table.red-ui-info-table {
    font-size: 14px;
    margin: 0 0 10px;
    width: 100%;
}
table.red-ui-info-table tr:not(.blank) {
    border-top: 1px solid var(--red-ui-secondary-border-color);
    border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-help-property-expand  {
    font-size: 0.8em;
    text-align: right;
    line-height: 0.9em;
    a {
        padding-bottom: 5px;
    }

}
table.red-ui-info-table tr.blank {
    border: none;
    th {
        text-align: left;
        font-weight: 500;
        color: var(--red-ui-primary-text-color);
        padding: 6px 3px 3px;
    }
    >* {
        padding-top: 8px;
        border: none;
        padding-left: 0px;
    }


    a {
        display: block;
        color: var(--red-ui-primary-text-color);
        &:hover,&:focus {
            color: var(--red-ui-primary-text-color);
            text-decoration: none;
        }
        &:not(.expanded) {
            .red-ui-help-property-more {
                display: inline;
            }
            .red-ui-help-property-less {
                display: none;
            }
        }
        i {
            width: 10px;
            text-align: center;
            transition: transform 0.2s ease-in-out;
        }

        &.expanded {
            .red-ui-help-property-more {
                display: none;
            }
            .red-ui-help-property-less {
                display: inline;
            }
            i {
                transform: rotate(180deg);
            }
        }
    }
}
.red-ui-help-info-none {
    font-style: italic;
    color: var(--red-ui-tertiary-text-color);
}
table.red-ui-info-table tr:not(.blank) td:first-child{
    color: var(--red-ui-header-text-color);
    vertical-align: top;
    width: 90px;
    padding: 3px 3px 3px 6px;
    background:var(--red-ui-tertiary-background);
    border-right: 1px solid var(--red-ui-secondary-border-color);
}
table.red-ui-info-table tr:not(.blank) td:last-child{
    padding: 3px 3px 3px 6px;
    color: var(--red-ui-primary-text-color);
    overflow-y: hidden;
}
div.red-ui-info-table {
    margin: 5px;
}
.red-ui-help {
    font-size: var(--red-ui-primary-font-size);
    line-height: 1.5em;

    a {
        color: var(--red-ui-text-color-link);
        text-decoration: none;
    }

    a:hover,
    a:focus {
        color: var(--red-ui-text-color-link);
        text-decoration: underline;
    }


    h1 {
        font-weight: 500;
        font-size: 1.296em;
        line-height: 1.3em;
        margin: 8px auto;
        &.red-ui-help-title {
            border-bottom: 1px solid var(--red-ui-tertiary-border-color);
        }
    }
    h2 {
        font-weight: 500;
        font-size: 1.215em;
        margin: 8px auto;
        line-height: 1.3em;
    }
    h3 {
        font-weight: 500;
        font-size: 1.138em;
        margin: 7px auto 5px;
        line-height: 1.3em;
    }
    h4,
    h5 {
        font-weight: 500;
        font-size: 1.067em;
        line-height: 1.3em;
        margin: 8px auto 5px;
    }
    & > span > p:first-child {
    }
    dl.message-properties {
        border: 1px solid var(--red-ui-secondary-border-color);
        border-radius: 2px;

        margin: 5px auto 10px;
        &>dt {
            padding: 0px 3px 2px 3px;
            font-family: var(--red-ui-monospace-font);
            font-weight: normal;
            margin: 5px 3px 1px;
            color: var(--red-ui-text-color-code);
            white-space: nowrap;
            &.optional {
                font-style: italic;

            }
            .property-type {
                font-family: var(--red-ui-primary-font);
                color: var(--red-ui-primary-text-color);
                font-style: italic;
                font-size: 11px;
                float: right;
            }
            &:after {
                content: "";
                display: table;
                clear: both;
            }
        }
        &>dd {
            margin: 0px 8px 2px 13px;
            vertical-align: top;
        }
    }
    ol.node-ports {
        margin: 0;
        li {
            border: 1px solid var(--red-ui-secondary-border-color);
            border-radius: 2px;
            list-style-position: inside;
            padding: 3px;
            margin-bottom: 5px;
            dl.message-properties {
                border: none;
            }
        }
        p {
            display: inline;
        }
    }
    .red-ui-help-info-header {
        i {
            width: 10px;
            text-align: center;
            transition: transform 0.2s ease-in-out;
            margin-right: 4px;
        }
        color: var(--red-ui-header-text-color);
        &:hover, &:focus {
            text-decoration: none;
        }
        &.expanded {
            i {
                transform: rotate(90deg);
            }
        }
    }
    table {
        border-collapse: collapse;
        border: 1px solid var(--red-ui-secondary-border-color);
        margin         : 8px 0 8px 0;
        min-width      : 300px;
        overflow       : hidden;
    }
    table thead tr {
        background-color: var(--red-ui-primary-background); //var(--red-ui-primary-text-color);
        border-bottom: 1px solid var(--red-ui-secondary-border-color);
        color: var(--red-ui-header-text-color);
        text-align: left;
    }
    table th,
    table td {
        padding: 6px 8px;
    }
    table tbody tr:nth-of-type(even) {
        background-color: var(--red-ui-tertiary-background); //var(--red-ui-primary-background);
    }
}
.red-ui-sidebar-info-stack {
    height: 100%;
    // position: absolute;
    // top: 0;
    // bottom: 0;
    // left: 0;
    // right: 0;
    // overflow-y: scroll;
}
.red-ui-help-tips {
    display: none;
    position: absolute;
    left:0;
    right:0;
    bottom: 0;
    height: 0;
    transition: height 0.2s, padding 0.2s;
    box-sizing: border-box;
    border-top: 1px solid var(--red-ui-secondary-border-color);
    background-color: var(--red-ui-secondary-background);
    padding: 0;
    box-shadow: 0 5px 20px 0px var(--red-ui-shadow);
    overflow-y: auto;
}
.red-ui-sidebar-info.show-tips {
    .red-ui-sidebar-info-stack {
        height: calc(100% - 150px);
    }
    .red-ui-help-tips {
        display: block;
        height: 150px;
        padding: 20px;
    }
}

.red-ui-help-tips:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

.red-ui-help-tip {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    font-size: 16px;
    text-align: center;
    line-height: 1.9em;
    color : var(--red-ui-tertiary-text-color);
    @include mixins.disable-selection;
    cursor: default;
}
.red-ui-help-tips-buttons {
    position: absolute;
    top: 4px;
    right: 6px;
    a {
        color: var(--red-ui-secondary-text-color);
        border-color: var(--red-ui-secondary-border-color) !important;
        margin-left: 4px;
    }
}

.node-info-property-config-node {
    border: 1px solid var(--red-ui-secondary-border-color);
    border-radius: 4px;
    padding: 2px 4px 2px;
}

.red-ui-info-outline,.red-ui-sidebar-help-toc {
    display: flex;
    flex-direction: column;

    .red-ui-treeList {
        flex-grow: 1;
        position: relative;
    }
    .red-ui-treeList-container {
        position: absolute;
        top: 0;
        bottom: 0;
    }

    .red-ui-treeList-container,.red-ui-editableList-border {
        border: none;
        border-radius: 0;
    }

    .red-ui-info-outline-project {
        border-bottom: 1px solid var(--red-ui-secondary-border-color);
    }
}
.red-ui-info-outline,
// TODO: remove these classes for 2.0. Keeping in 1.x for backwards compatibility
// of theme generators.
.red-ui-sidebar-help-toc, #red-ui-clipboard-dialog-import-conflicts-list, #red-ui-clipboard-dialog-export-tab-clipboard-preview
 {
    .red-ui-info-outline-item {
        display: inline-flex;
        padding: 0;
        font-size: 13px;
        border: none;
        &:not(.red-ui-node-list-item) .red-ui-palette-icon-fa {
            position: relative;
            top: 1px;
            left: 0px;
        }
        &:hover {
            background: inherit
        }

        &.red-ui-info-outline-item-flow {
            .red-ui-search-result-description {
                margin-left: 4px;
            }
        }
        &.red-ui-info-outline-item-group .red-ui-search-result-node {
            background: none;
            border-color: transparent;
            .red-ui-palette-icon-container {
                background: none;
            }
            .red-ui-palette-icon-fa {
                color: var(--red-ui-secondary-text-color);
                font-size: 18px;
            }
        }
        &.red-ui-info-outline-item-empty {
            font-style: italic;
            color: var(--red-ui-form-placeholder-color);
        }
    }

    .red-ui-treeList-label {
        font-size: 13px;
        padding: 2px 0;
        overflow: hidden;
    }

    .red-ui-search-result-node {
        width: 24px;
        height: 20px;
        margin-top: 1px;
    }

    .red-ui-palette-icon-container {
        width: 24px;
    }
    .red-ui-palette-icon {
        width: 20px;
    }
    .red-ui-search-result-description {
        margin-left: 32px;
        line-height: 22px;
        white-space: nowrap;
    }
    .red-ui-search-result-node-label {
        color: var(--red-ui-secondary-text-color);
    }
}

.red-ui-info-outline-item-control-spacer {
    display: inline-block;
    width: 23px;
}
.red-ui-info-outline-gutter {
    display:none;
    button {
        position: relative;
        left: 2px;
    }
    .red-ui-treeList-label:hover & {
        display: inline;
    }
}
.red-ui-info-outline-item-controls {
    position: absolute;
    top:1px;
    bottom: 1px;
    right: 1px;
    padding: 1px 2px 0 1px;
    text-align: right;
    background: var(--red-ui-list-item-background);

    .red-ui-treeList-label:hover & {
        background: var(--red-ui-list-item-background-hover);
    }
    .red-ui-treeList-label.focus & {
        background: var(--red-ui-list-item-background-hover);
    }
    .red-ui-treeList-label.selected & {
        background: var(--red-ui-list-item-background-selected);
    }


    &.red-ui-info-outline-item-hover-controls button {
        min-width: 23px;
    }

    .red-ui-treeList-label:not(:hover) &.red-ui-info-outline-item-hover-controls {
        button {
            border: none;
            background: none;
        }
        .fa-circle-thin {
            display: none;
        }
        .fa-eye {
            display: none;
        }
        .fa-unlock-alt {
            display: none;
        }
    }
    .red-ui-info-outline-item-control-reveal,
    .red-ui-info-outline-item-control-action {
        display: none;
    }
    .red-ui-treeList-label:hover & {
        .red-ui-info-outline-item-control-reveal,
        .red-ui-info-outline-item-control-action {
            display: inline-block;
        }
    }
    .fa-eye-slash {
        display: none;
    }
    .red-ui-info-outline-item.red-ui-info-outline-item-hidden & {
        .fa-eye-slash {
            display: inline-block;
        }
        .fa-eye {
            display: none;
        }
    }
    .fa-ban {
        display: none;
    }
    .red-ui-info-outline-item.red-ui-info-outline-item-disabled & {
        .fa-ban {
            display: inline-block;
        }
        .fa-circle-thin {
            display: none;
        }
    }
    .fa-lock {
        display: none;
    }
    .red-ui-info-outline-item.red-ui-info-outline-item-locked & {
        .fa-lock {
            display: inline-block;
        }
        .fa-unlock-alt {
            display: none;
        }
    }
    // If the parent is locked, do not show the display/action buttons when
    // hovering in the outline
    .red-ui-info-outline-item-locked .red-ui-info-outline-item & {
        .red-ui-info-outline-item-control-disable,
        .red-ui-info-outline-item-control-action {
            display: none;
        }
    }
    button {
        margin-right: 3px
    }
}
.red-ui-info-outline-item-disabled {
    .red-ui-search-result-node {
        opacity: 0.4;
    }
    .red-ui-info-outline-item-label {
        font-style: italic;
        color: var(--red-ui-secondary-text-color-disabled);
    }
    .red-ui-icons-flow {
        opacity: 0.4;
    }
}

.red-ui-icons {
    display: inline-block;
    width: 18px;
    &:before {
        white-space: pre;
        content: ' '
    }

}

.red-ui-icons-flow {
    mask-image: url(images/subflow_tab.svg);
    -webkit-mask-image: url(images/subflow_tab.svg);
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-color: var(--red-ui-icons-flow-color);
    // filter: brightness(2.5);
}

.red-ui-info-toolbar {
    min-height: 39px;
    height: 39px;
    box-sizing: border-box;
    text-align: left;
    // padding-left: 9px;
    // box-sizing: border-box;
    // background: var(--red-ui-palette-header-background);
    // border-bottom: 1px solid var(--red-ui-secondary-border-color);

    .red-ui-searchBox-container {
        position: absolute;
        top: 6px;
        right: 8px;
        width: calc(100% - 130px);
        max-width: 250px;
        background: var(--red-ui-palette-header-background);
    }

}
