@use './mat-selectors' as ms;

@mixin globals() {
    #{ms.$mat-expansion-panel} {
        & #{ms.$mat-expansion-panel-header}.cdk-keyboard-focused,
        & #{ms.$mat-expansion-panel-header}.cdk-program-focused,
        &:not(#{ms.$mat-expanded}) #{ms.$mat-expansion-panel-header}:hover {
            &:not([aria-disabled='true']) {
                background-color: var(--adf-theme-background-hover-color);
            }
        }
    }

    #{ms.$mat-calendar} {
        #{ms.$mat-calendar-header} {
            button {
                color: var(--adf-theme-foreground-text-color-087);

                &:disabled {
                    color: var(--adf-theme-foreground-text-color-064);
                }
            }
        }

        #{ms.$mat-calendar-content} {
            #{ms.$mat-calendar-table-header} th {
                color: var(--adf-theme-foreground-text-color-064);
            }

            #{ms.$mat-calendar-body-disabled} > div {
                /* stylelint-disable-next-line declaration-no-important */
                color: var(--adf-theme-foreground-text-color-064) !important;
            }
        }
    }

    #{ms.$mat-datetimepicker-calendar} {
        #{ms.$mat-datetimepicker-calendar-header} {
            #{ms.$mat-datetimepicker-calendar-header-year} {
                opacity: 1;
            }

            #{ms.$mat-datetimepicker-calendar-header-date} {
                opacity: 1;
            }

            #{ms.$mat-datetimepicker-calendar-header-time} {
                opacity: 1;
            }
        }

        #{ms.$mat-datetimepicker-calendar-content} {
            #{ms.$mat-datetimepicker-calendar-table-header} th {
                color: var(--adf-theme-foreground-text-color-064);
            }

            #{ms.$mat-datetimepicker-calendar-body-disabled} > div {
                color: var(--adf-theme-foreground-text-color-064);
            }
        }
    }

    #{ms.$mat-snackbar} {
        &#{ms.$mat-snack-bar-container} {
            margin: 24px;

            #{ms.$mat-snackbar-label} {
                line-height: unset;
            }
        }
    }

    #{ms.$mat-input-element} {
        &:focus::placeholder {
            color: var(--theme-primary-color);
        }
    }

    #{ms.$mat-datetimepicker-dialog} {
        #{ms.$mat-dialog-container} {
            #{ms.$mat-dialog-surface} {
                padding: 0;
            }
        }
    }

    #{ms.$mat-button-base} {
        -webkit-font-smoothing: antialiased;
    }
}
