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


@mixin kendo-grid--theme() {

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

    .k-grid {

        .k-table-th,
        td,
        .k-table-td {
            border-inline-start-color: transparent;
        }

        .k-grid-header-locked,
        .k-grid-content-locked,
        .k-grid-header-locked .k-table-th,
        .k-grid-content-locked td,
        .k-grid-content-locked .k-table-td {
            border-block-start-color: $kendo-grid-header-border;
            border-block-end-color: $kendo-grid-header-border;

            .k-group-footer {
                &:hover td,
                &.k-hover td,
                &:hover .k-table-td,
                &.k-hover .k-table-td {
                    color: inherit;
                    @include fill( $bg: $kendo-grid-sticky-footer-hover-bg );
                }
            }
        }

        .k-master-row {
            .k-grid-content-sticky {
                border-color: $kendo-grid-sticky-border;
                border-block-end-color: $kendo-grid-header-border;
            }
            .k-grid-row-sticky {
                border-block-start-color: $kendo-grid-sticky-border;
                border-block-end-color: $kendo-grid-sticky-border;
            }
        }
    }

    .k-grid-header {
        .k-table-thead > .k-table-row:not(:only-child) > .k-table-th,
        .k-table-thead > .k-table-row:not(:only-child) > .k-table-td {
            border-inline-start-color: $kendo-grid-border;

            &.k-grid-header-sticky {
                border-inline-color: $kendo-grid-sticky-header-border;
            }
        }

        .k-grid-header-locked .k-table-thead .k-table-row .k-table-th {
            border-inline-color: $kendo-grid-sticky-header-border;
        }

    }

    .k-group-footer {
        td,
        .k-table-td,
        .k-grid-footer-sticky {
            background: $kendo-grid-sticky-footer-bg;
        }

        &:hover td,
        &.k-hover td,
        &:hover .k-table-td,
        &.k-hover .k-table-td {
            @include fill( $bg: $kendo-grid-sticky-footer-hover-bg );
        }
    }

    .k-reorder-cue {
        border-color: k-color(primary);

        &::before {
            border-color: transparent;
        }

        &::after {
            border-color: transparent;
            background-color: transparent;
        }
    }

    .k-grouping-dropclue {
        &::before {
            border-color: k-color(primary) transparent transparent;
        }

        &::after {
            background-color: k-color(primary);
        }
    }

    .k-resize-handle:hover .k-resize-handle-inner,
    .k-reorder-cue {
        background-color: k-color(primary);
    }

    .k-column-resizer:hover {
        color: k-color(primary);
    }

    .k-columnmenu-item {
        &.k-selected {
            @include fill(
                $kendo-list-item-selected-text,
                $kendo-list-item-selected-bg
            );
        }
    }
    .k-column-list-item:focus,
    .k-column-list-item.k-focus,
    .k-columnmenu-item:focus,
    .k-columnmenu-item.k-focus {
        background: $kendo-list-item-hover-bg;
    }

    .k-column-menu .k-menu:not(.k-context-menu) {

        .k-item {
            // Selected state
            &.k-selected {
                background: $kendo-list-item-hover-bg;
            }
        }
    }

    .k-grid-sticky-container {
        background-color: $kendo-grid-bg;
    }

}
