@use 'sass:color';

.pat-relateditems-container {
    position: relative;
    display: inline-block;
    width: 100%;

    .select2-container {
        /* generalize from .form-control */
        border: var(--bs-border-width) solid var(--bs-border-color);
        padding: 0.325rem 0.5rem;
        min-width: 100%;
        border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
        &.select2-dropdown-open {
            border-radius:0;
            border-bottom-style:none;
        }
    }


    .toolbar {
        background-color: var(--bs-secondary-bg);
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0 ;

        .mode-selector {
            display: inline-block;
            vertical-align: middle;
        }

        .path-wrapper {
            display: inline-block;
            margin: 0.5em;
            vertical-align: middle;
        }
    }

    .pat-relateditems-result-info {
        flex-grow: 2;
        margin: 0.4em 0.4em 0.4em 1.5em;
        hyphens: auto;
    }

    .pat-relateditems-item {
        display: flex;
    }

    .pat-upload {
        min-width: 35rem;
        margin: calc(var(--bs-gutter-x) * 0.75);
    }
}

.pat-relateditems-dropdown {

    &.select2-drop-active {
        border-color: var(--bs-border-color);
        box-shadow: none;
    }

    .select2-results {
        max-height: 950px;

        .select2-result {
            background-color: transparent;
            border-left: 0.3em solid transparent;
            border-right: 0.3em solid transparent;

            &.select2-highlighted {
                border-left: 0.3em solid #007bb3;
                border-right: 0.3em solid #007bb3;
            }

            &-label {
                padding: 0;
            }
        }

        .select2-selected {
            display: list-item;
        }
    }
}

.pat-relateditems-active {
    padding: 5px;
}

.pat-relateditems-path-label {
    margin-top: 2px;
}

.pat-relateditems {
    .select2-choices {
        align-items: stretch;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        padding: 0.2em;

        > li {
            flex: 1 1 100%;
        }

        .select2-search-choice {
            &.select2-search-choice-focus {
                border-left: 0.5em solid #286090;
            }
        }
    }

    &.select2-container-multi {
        .select2-choices {
            border: none;
            background: none;

            .select2-search-field input {
                padding:0;
            }

            .select2-search-choice {
                background-image: none;
                background-color: var(--bs-gray-100);
                border-color:var(--bs-border-color);
                box-shadow: none;
                margin: 0.2em;
                padding: 0;
                // make choices list compact:
                // flex: 1 1 auto;

                .select2-search-choice-close {
                    left: 0.4rem;
                    right: auto;
                    text-decoration: none;
                    top: 0.4rem;
                }

                .pat-relateditems-item-image {
                    flex: 0 0 auto;
                }
            }
        }

        &.select2-container-active {
            .select2-choices {
                border:none;
            }
        }
    }
}

.pat-relateditems-result {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.15em;

    a {
        &:hover {
            text-decoration: none;
        }
    }

    .pat-relateditems-result-info {
        padding: 0.4em;
    }

    .pat-relateditems-result-browse-wrapper {
        display: flex;
        flex: 2 1 fill;
        justify-content: flex-start;

        a {
            text-decoration: none;
        }

        .pat-relateditems-result-select {
            &:not(.selectable) {
                &:not(.one-level-up) {
                    opacity: 0.6;
                }
            }
        }

        .pat-relateditems-result-browse {
            font-size: 1.5rem;
            line-height: 1.8em;
            padding: 0 0.15em 0 0.1em;

            &:hover {
                background-color: color.scale(#d8d8d8, $lightness: 5%);
            }

            span {
                vertical-align: middle;
            }
        }
    }
    &.one-level-up {
        .pat-relateditems-result-browse-wrapper {
            flex-direction: row-reverse;
        }
    }
}

.pat-relateditems-item-title,
.pat-relateditems-result-title {
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 0;

    &[class*="contenttype-"] {
        &::before {
            font-size: 1.46rem;
            height: 25px;
            vertical-align: middle;
            width: 14px;
        }
    }
}

.pat-relateditems-result-path {
    margin-top: -5px;
}

// Keep images at 128x128 even if thumb size is set to higher
// Global selectors are for modals and we override default from #content-core
.pat-relateditems-result-image,
.pat-relateditems-recentlyused-image,
.pat-relateditems-item-image {
    img {
        width: 100px;
        height: 100px;
        object-fit: cover;
        &,
        #content-core & {
            max-height: 128px;
            max-width: 128px;
        }
    }
}

.pat-relateditems {
    &-recentlyused-path,
    &-item-path,
    &-result-path {
        color: var(--bs-secondary-text);
        display: block;
        font-size: 0.8em;
        padding-left: 0.2em;
    }
}
