@use "../core/_index.scss" as *;
@use "./_variables.scss" as *;
@use "@progress/kendo-theme-core/scss/components/checkbox/_theme.scss" as *;

@mixin kendo-checkbox--theme() {

    @include kendo-checkbox--theme-base();

    // Focus state
    .k-checkbox:focus,
    .k-checkbox.k-focus {
        outline: $kendo-checkbox-focus-outline;
    }

    // Hover checked state
    .k-checkbox:checked:hover,
    .k-checkbox.k-checked.k-hover {
        @include fill(
            $kendo-checkbox-hover-checked-text,
            $kendo-checkbox-hover-checked-bg,
            $kendo-checkbox-hover-checked-border
        );
    }

    // Hover indeterminate state
    .k-checkbox:indeterminate:hover,
    .k-checkbox.k-indeterminate.k-hover {
        @include fill(
            $kendo-checkbox-hover-indeterminate-text,
            $kendo-checkbox-hover-indeterminate-bg,
            $kendo-checkbox-hover-indeterminate-border
        );
    }
    .k-checkbox:indeterminate:disabled,
    .k-checkbox.k-indeterminate.k-disabled {
        @include fill(
            $kendo-checkbox-disabled-indeterminate-text,
            $kendo-checkbox-disabled-indeterminate-bg,
            $kendo-checkbox-disabled-indeterminate-border
        );
    }

    .k-checkbox-label {
        @include fill( $color: $kendo-checkbox-text );
    }

    .k-checkbox-label:has(.k-invalid) {
        @include fill( $color: $kendo-checkbox-invalid-text );
    }

    .k-checkbox-label:has(.k-disabled) {
        @include fill( $color: $kendo-checkbox-disabled-text );
    }
}
