@use "sass:math";
@use "../../base/mixins" as *;

// adduse

$scheduler-appointment-collector-margin: 3px;
$scheduler-appointment-collector-height: 22px;
$scheduler-popup-scrollable-content-padding: 20px;

// NOTE: a11y aria-live container must be visible to allow screen readers read it
.dx-scheduler-a11y-status-container {
  position: fixed;
  left: 0;
  top: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: polygon(0 0);
}

.dx-scheduler-legacy-appointment-popup {
  .dx-popup-content {
    padding-top: 0;
    padding-bottom: 0;
  }

  .dx-scrollable-content {
    padding-top: $scheduler-popup-scrollable-content-padding;
  }

  .dx-form.dx-recurrence-editor-container {
    .dx-scrollable-content {
      padding-top: 0;
    }
  }
}

.dx-scheduler {
  .dx-empty-message {
    line-height: normal;
  }
}

.dx-scheduler-all-day-panel {
  td {
    padding: 0;
  }
}

.dx-scheduler-appointment-collector {
  position: absolute;
  display: block;
  height: $scheduler-appointment-collector-height;
  cursor: pointer;
  margin: $scheduler-appointment-collector-margin;

  .dx-scheduler-appointment-collector-content,
  .dx-button-content {
    &::after {
      display: inline-block;
      position: relative;
      height: 100%;
      content: '';
      vertical-align: text-top;
      font-size: 0;
    }

    @include dx-overflow();

    margin: 0 2 * ($scheduler-appointment-collector-margin - 1);
    padding: 0;
  }

  &.dx-button.dx-button-default {
    padding: 0;
    max-width: none;
  }
}

.dx-scheduler-adaptive .dx-scheduler-appointment-collector {
  margin: 0 3px;
}

.dx-scheduler-work-space-mouse-selection {
  .dx-scheduler-fixed-appointments,
  .dx-scheduler-scrollable-appointments,
  .dx-scheduler-all-day-appointments {
    pointer-events: none;
  }
}

.dx-scheduler-view-switcher .dx-toolbar-item-auto-hide {
  padding: 0;
}

.dx-toolbar-menu-section .dx-scheduler-view-switcher-dropdown-button,
.dx-toolbar-menu-section .dx-scheduler-view-switcher-dropdown-button .dx-button-text {
  width: 100%;
  text-align: left;
}

.dx-scheduler-adaptive {
  @media (max-width: 450px) {
    .dx-scheduler-view-switcher-label {
      display: none;
    }
  }

  .dx-scheduler-work-space-week .dx-scheduler-header-panel-cell {
    white-space: pre-wrap;
    line-height: 1.3;
  }

  .dx-scheduler-appointment-collector,
  .dx-scheduler-appointment-collector.dx-scheduler-appointment-collector-compact {
    height: 28px;
    width: 28px;
    margin: 0 3px;
  }

  .dx-scheduler-work-space.dx-scheduler-timeline {
    .dx-scheduler-appointment-collector,
    .dx-scheduler-appointment-collector.dx-scheduler-appointment-collector-compact {
      width: auto;
    }
  }
}
