/* This styles are used to override the default primeng styles for calendar (https://www.primefaces.org/primeng/#/calendar).*/

/* $icon-margin-right: defines the margin-right of the arrow buttons.*/
$icon-margin-right: 10px;
/* $icon-margin-left: defines the margin-left of the arrow buttons.*/
$icon-margin-left: 40px;

p-calendar {

  .p-calendar {
    input::-ms-clear {
      display: none;
    }

    .icon-calendar {
      height: 100%;
    }

    .icon-clock {
      height: 100%;
    }

  }

  &.input-expand-height {
    input {
      height: 100% !important;
    }
  }

  &.warning-date {
    input {
      background-color: $danger !important;
    }

    &.input-expand-height {
      height: 100% !important;
    }

    i {
      color: black !important;
    }
  }

  &.date-error {
    input {
      color: $danger !important;
      border: 1px solid $danger !important;
    }

    &.input-expand-height {
      height: 100% !important;
    }

    i {
      color: $danger !important;
    }
  }

  &.is-disabled {
    .p-state-disabled, .p-widget:disabled {

    }

    .p-calendar {
      input {
        opacity: 1;
        cursor: not-allowed !important;
      }

      &.input-expand-height {
        height: 100% !important;
      }

      //i {
      //opacity: 0.5;
      //}
    }

    .p-datepicker-header {
      background: $medium-gray;
    }

    .p-datepicker-calendar {

      tbody {
        tr {
          td {
            a, span {
              &.p-state-active {
                background-color: $medium-gray !important;
              }
            }
          }
        }
      }
    }

  }
}

.p-datepicker-inline {
  flex-direction: column;
}

body {
  .slab-datepicker-header {
    $icon-margin-right: 10px;
    $icon-margin-left: 40px;
    background: $primary;
    padding: 15px;
    margin-bottom: 0;
    line-height: $slab-datepicker-header-navigation-line-height !important;
    color: white;

    .p-datepicker-title {
      margin: 0;
    }

    a {
      color: white;

      &:hover {
        text-decoration: none;
        background: none;
        color: white;
      }
    }

    .icon-angle-double-left {
      float: left;
      margin-left: $icon-margin-right;
      line-height: $slab-datepicker-header-navigation-line-height;
    }

    .icon-angle-double-right {
      float: right;
      margin-right: $icon-margin-right;
      line-height: $slab-datepicker-header-navigation-line-height;
    }

    .icon-angle-left {
      float: left;
      margin-left: $icon-margin-left;
      line-height: $slab-datepicker-header-navigation-line-height;
    }

    .icon-angle-right {
      float: right;
      margin-right: $icon-margin-left;
      line-height: $slab-datepicker-header-navigation-line-height;
    }
  }
}

body {
  .p-datepicker {
    z-index: 100000 !important;
    max-width: 425px;
    min-width: 420px;
    border: 1px solid $medium-gray;
    margin-top: 5px;
    border-radius: 4px !important;
    overflow: hidden;
    padding: 0 !important;
    width: auto;
    box-shadow: none;
    font: normal $slab-base-body-font-size $slab-base-body-font-family;

    .p-datepicker-title {
      line-height: $slab-datepicker-header-navigation-line-height !important;
    }

    .p-datepicker-header {
      display: none;
    }

    p-header {
      .slab-datepicker-header {
        $icon-margin-right: 10px;
        $icon-margin-left: 40px;
        background: $primary;
        padding: 15px;
        margin-bottom: 0;
        line-height: $slab-datepicker-header-navigation-line-height !important;
        color: white;

        .p-datepicker-title {
          margin: 0;
        }

        a {
          color: white;

          &:hover {
            text-decoration: none;
            background: none;
            color: white;
          }
        }

        .icon-angle-double-left {
          float: left;
          margin-left: $icon-margin-right;
          line-height: $slab-datepicker-header-navigation-line-height;
        }

        .icon-angle-double-right {
          float: right;
          margin-right: $icon-margin-right;
          line-height: $slab-datepicker-header-navigation-line-height;
        }

        .icon-angle-left {
          float: left;
          margin-left: $icon-margin-left;
          line-height: $slab-datepicker-header-navigation-line-height;
        }

        .icon-angle-right {
          float: right;
          margin-right: $icon-margin-left;
          line-height: $slab-datepicker-header-navigation-line-height;
        }
      }
    }

    /**
     * 1. Overrides default browser behaviour
     */
    .p-datepicker-calendar {
      $datepicker-max-size: 60px;
      $datepicker-height-size: 50px;
      border-spacing: 0;
      margin: 0;

      /* 1 */

      thead {
        background-color: $light-gray;
        border-bottom: 1px solid $background-secondary;
        line-height: 34px;

        tr {
          th {
            font-weight: normal;
            min-width: $datepicker-max-size;
            max-width: $datepicker-max-size;
            padding: 0 !important;

            span {
              width: 100%;
              display: flex;
              justify-content: center;
            }
          }
        }
      }

      tbody {
        tr {
          td {
            padding: 0 !important;
            border-bottom: 1px solid $background-secondary;

            a, span {
              width: 100%;
              line-height: 50px;
              min-width: $datepicker-max-size;
              max-width: $datepicker-max-size;
              min-height: $datepicker-height-size;
              max-height: $datepicker-height-size;
              padding: 0 !important;
              border-radius: 0;

              &:hover,
              &:active {
                background-color: $medium-gray;
                background: $medium-gray !important;
              }

              &.p-state-highlight {
                background-color: $slab-selected-background-color !important;
              }

              &.p-state-active,
              &.p-highlight {
                background-color: $primary !important;
              }
            }
          }
        }
      }
    }

    p-footer {
      background-color: $light-gray;
    }
  }
}

body .p-inputtext {
  padding: .25em;
  padding-top: 1px;
  padding-bottom: 1px;
  width: 100%;
  height: $form-elements-height;
  border: 1px solid #d6d6d6 !important;
  font: normal $slab-base-body-font-size $slab-base-body-font-family;

  &:focus {
    border-color: #8cc8f7 !important;
    box-shadow: 0 0 0 3px scale-color($primary, $alpha: -75%) !important;
  }

}

systelab-datepicker {
  margin-right: 5px;

  &.custom-height {
    p-calendar {
      height: 100%;

      .p-calendar {
        height: 100%;
      }

      &.input-expand-height {
        input {
          height: 100% !important;
        }
      }
    }
  }
}

systelab-date-time {
  &.custom-height {
    p-calendar {
      height: 100%;

      .p-calendar {
        height: 100%;
      }

      &.input-expand-height {
        input {
          height: 100% !important;
        }
      }
    }

    label {
      margin: auto;
      margin-left: 1px;
      margin-right: 1px;
    }
  }

  systelab-spinner {
    width: 80px;
  }
}
