@import "../../css/units.css";
@import "../../css/colors.css";

/* @todo: refactor this class name, and component: `sprite-selector` to `sprite` */
.sprite-selector-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.8rem;
    color: $text-primary;
    border-width: 2px;
    border-style: solid;
    border-color: $ui-black-transparent;
    border-radius: $space;

    text-align: center;
    cursor: pointer;
    transition: 0.25s ease-out;
}

.sprite-selector-item.is-selected {
    box-shadow: 0px 0px 0px 4px $motion-transparent;
    border: 2px solid $motion-primary;
    background: $ui-white;
}

.sprite-selector-item:hover {
    border: 2px solid $motion-primary;
    background: $ui-white;
}

.sprite-selector-item:hover .sprite-image, .is-selected .sprite-image {
    filter: drop-shadow(0px 0px 2px  $ui-black-transparent);
}

.sprite-image {
    margin: auto;
    user-select: none;
}

.sprite-info {
    padding: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;

    font-size: 0.625rem;
    color: $text-primary;
    user-select: none;
}

.sprite-name, .sprite-details {
    /*
        For truncating overflowing text gracefully
        Min-width is for a bug: https://css-tricks.com/flexbox-truncated-text
    */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.sprite-details {
    margin-top: 0.125rem;
    font-size: 0.5rem;
}

.is-selected .sprite-info {
    background: $motion-primary;
    color: $ui-white;
}

.delete-button {
    position: absolute;
    top: 0.125rem;
    right: 0.125rem;
    z-index: 1;
}

.number {
    position: absolute;
    top: 0.15rem;
    left: 0.15rem;
    font-size: 0.625rem;
    font-weight: bold;
    z-index: 2;
}
