// (C) 2007-2020 GoodData Corporation
$base_path: $gdc-goodstrap-basepath + "./core/styles/";

@mixin svg-icon-base {
    &::before {
        content: "";
        display: block;
        background-repeat: no-repeat;
        background-position: center;
    }

    &[class*="gd-button-"] {
        &::before {
            height: 100%;
        }
    }
}

@mixin svg-icon($filename) {
    @include svg-icon-base;

    &::before {
        background-image: url($base_path + "icons/" + $filename + ".svg");
    }
}

.icon-fact,
.icon-measure {
    @include svg-icon("measure");

    &.disabled,
    &[disabled="disabled"] {
        @include svg-icon("measure-disabled");
    }

    &.gd-button-small,
    &.gd-button-link {
        &::before {
            margin-top: -1px;
        }
    }
}

.icon-attribute {
    @include svg-icon("attribute");

    &.disabled,
    &[disabled="disabled"] {
        @include svg-icon("attribute-disabled");
    }

    &.gd-button-small,
    &.gd-button-link {
        &::before {
            margin-top: -1px;
        }
    }
}

.icon-model {
    @include svg-icon("model");

    &.is-active {
        @include svg-icon("model-active");
    }
}

.icon-sources {
    @include svg-icon("sources");

    &.is-active {
        @include svg-icon("sources-active");
    }
}

.icon-date {
    @include svg-icon("date");

    &.disabled,
    &[disabled="disabled"] {
        @include svg-icon("date-disabled");
    }

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-measure-value-filter::before {
    width: 18px;
    height: 15px;
}

.icon-all {
    @extend .icon-measure-value-filter;
    @include svg-icon("all");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-greater-than {
    @extend .icon-measure-value-filter;
    @include svg-icon("greater-than");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-greater-than-equal-to {
    @extend .icon-measure-value-filter;
    @include svg-icon("greater-than-equal-to");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-less-than {
    @extend .icon-measure-value-filter;
    @include svg-icon("less-than");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-less-than-equal-to {
    @extend .icon-measure-value-filter;
    @include svg-icon("less-than-equal-to");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-between {
    @extend .icon-measure-value-filter;
    @include svg-icon("between");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-not-between {
    @extend .icon-measure-value-filter;
    @include svg-icon("not-between");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-equal-to {
    @extend .icon-measure-value-filter;
    @include svg-icon("equal-to");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-not-equal-to {
    @extend .icon-measure-value-filter;
    @include svg-icon("not-equal-to");

    &.gd-button-small::before {
        margin-top: -1px;
    }

    &.gd-button-link::before {
        margin-top: -2px;
    }
}

.icon-label {
    @include svg-icon("label");

    &-disabled,
    &.disabled,
    &[disabled="disabled"] {
        @include svg-icon("label-disabled");
    }

    &-active {
        @include svg-icon("label-active");
    }

    &-warning {
        @include svg-icon("label-warning");
    }
}

.icon-hyperlink {
    @include svg-icon("hyperlink");

    &-disabled,
    &.disabled,
    &[disabled="disabled"] {
        @include svg-icon("hyperlink-disabled");
    }

    &-active {
        @include svg-icon("hyperlink-active");
    }

    &-warning {
        @include svg-icon("hyperlink-warning");
    }
}
