@import '../../../../sass/variables/colors';

:host {
    display: inline-block;
    white-space: nowrap;
}

label {
    display: flex;
    align-items: center;
    margin-bottom: 10px;

    > span {
        color: var(--vitamui-grey-900);
        font-size: 16px;
        font-weight: normal;
    }
}

.slide-toggle {
    width: 36px;
    height: 12px;
    margin-right: 18px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    background-color: var(--vitamui-grey);
    transition: background-color 100ms ease-in-out, box-shadow 200ms ease-out;

    &.slide-toggle-on:not(.slide-toggle-disabled) {
        background-color: var(--vitamui-secondary);
    }

    &.slide-toggle-off:not(.slide-toggle-disabled) {
        background-color: var(--vitamui-grey-800);
    }

    .slide-toggle-inner {
        display: flex;

        .slide-toggle-label {
            width: 14px;
            line-height: 22px;
            transition: margin-left 100ms ease-in-out;

            &:first-child {
                padding-left: 0px;
            }

            &:last-child {
                padding-right: 0px;
            }
        }

        .slide-toggle-thumb {
            width: 24px;
            height: 24px;
            border-radius: 12px;
            background-color: var(--vitamui-primary);
            border: 2px solid white;
            box-shadow: 0px 2px 4px rgba(46, 53, 69, 0.15);
            cursor: grab;
        }
    }

    &:not(.slide-toggle-on) {

        .slide-toggle-label:first-child {
            margin-left: -16px;
        }

    }

    &.slide-toggle-disabled {
        cursor: no-drop;
        background-color: var(--vitamui-grey);
    }
}