/* stylelint-disable selector-class-pattern */
@use '../mat-selectors' as ms;

@mixin datetimepicker-theme() {
  $box-shadow-width: 1px;
  #{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-087);
      }

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

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

  .mat-datetimepicker-calendar-header {
    background-color: var(--theme-primary-color);
  }

  .mat-datetimepicker-calendar-body-cell-content {
    &.mat-datetimepicker-calendar-body-selected {
      background-color: var(--theme-primary-color);
      color: white;
    }

    &.mat-datetimepicker-calendar-body-disabled > .mat-datetimepicker-calendar-body-selected {
      background-color: color-mix(in srgb, var(--theme-primary-color) 40%, transparent);
    }

    &.mat-datetimepicker-calendar-body-today {
      &:not(.mat-datetimepicker-calendar-body-selected) {
        border-color: var(--theme-primary-color);
      }

      &.mat-datetimepicker-calendar-body-selected {
        box-shadow: inset 0 0 0 $box-shadow-width white;
      }
    }
  }

  .mat-datetimepicker-clock-center {
    background-color: var(--theme-primary-color);
  }

  .mat-datetimepicker-clock-hand {
    background-color: var(--theme-primary-color);

    &::before {
      background-color: var(--theme-primary-color);
    }
  }

  .mat-datetimepicker-clock-cell {
    &.mat-datetimepicker-clock-cell-selected {
      background-color: color-mix(in srgb, var(--theme-primary-color), white 5%);
    }
  }
}
