@import './button/_button-mixin';
@import './calendar/_calendar-mixin';
@import './card-list/_card-list-mixin';
@import './chart/_chart-mixin';
@import './dialog/_dialog-mixin';
@import './drawer/_drawer-mixin';
@import './field/_field-mixin';
@import './form/_form-mixin';
@import './grid/_grid-mixin';
@import './header/_header-mixin';
@import './icon/_icon-mixin';
@import './info/_info-mixin';
@import './inline-option/_inline-option-mixin';
@import './layout/_layout-mixin';
@import './layout/builder/_layout-builder-mixin';
@import './list/_list-mixin';
@import './main/_main-mixin';
@import './menu/_menu-mixin';
@import './navigation-list/_navigation-list-mixin';
@import './sub-header-link/_sub-header-link-mixin';
@import './sub-header/_sub-header-mixin';
@import './tab-panel/_tab-panel-mixin';
@import './thumb/_thumb-mixin';
@import './title/_title-mixin';
@import './toolbar-tools/_toolbar-tools-mixin';
@import './toolbar/_toolbar-mixin';

/**
 * @stable [27.10.2018] TODO
 */
@mixin rac-invert($value: 100%) {
  -webkit-filter: invert($value);
  filter: invert($value);
}

/**
 * @deprecated
 */
@mixin rac-size($size) {
  height: $size;
  width: $size;
}

/**
 * @stable [19.05.2019]
 */
@mixin rac-flex($rac-flex-responsive-flex-direction: unset) {

  @include rac-styles(
    $rac-styles-custom: rac-flex-responsive,
    $rac-styles-flex-direction: $rac-flex-responsive-flex-direction
  );
}

/**
 * @stable [30.10.2018]
 */
@mixin rac-flex-height($value) {
  @include rac-styles(
    $rac-styles-max-height: $value,
    $rac-styles-min-height: $value
  );
}

/**
 * @stable [30.10.2018]
 */
@mixin rac-flex-width($value) {
  @include rac-styles(
    $rac-styles-max-width: $value,
    $rac-styles-min-width: $value
  );
}

/**
 * @stable [30.10.2018]
 */
@mixin rac-flex-size($value) {
  @include rac-flex-width($value);
  @include rac-flex-height($value);
}

/**
 * @stable [20.01.2019]
 */
@mixin rac-absolute-h-center-alignment {
  @include rac-styles(
    $rac-styles-left: 50%,
    $rac-styles-transform: translateX(-50%)
  );
}

/**
 * @deprecated
 */
@mixin _rac-position-properties($rac-position-left: unset,
                                $rac-position-top: unset,
                                $rac-position-bottom: unset,
                                $rac-position-right: unset,
                                $rac-position-height: unset,
                                $rac-position-width: unset,
                                $rac-position: unset,
                                $rac-position-horizontal-align-center: unset) {
  @if $rac-position != unset {
    position: $rac-position;
  }
  @if $rac-position-right != unset {
    right: $rac-position-right;
  }
  @if $rac-position-left != unset {
    left: $rac-position-left;
  }
  @if $rac-position-top != unset {
    top: $rac-position-top;
  }
  @if $rac-position-bottom != unset {
    bottom: $rac-position-bottom;
  }
  @if $rac-position-width != unset {
    width: $rac-position-width;
  }
  @if $rac-position-height != unset {
    height: $rac-position-height;
  }
  @if $rac-position-horizontal-align-center != unset {
    left: 50%;
    transform: translateX(-50%);
  }
}

/**
 * @stable [30.10.2018]
 */
@mixin rac-circle($size,
                  $background: unset) {
  border-radius: $size / 2;
  background: $background;
  @include rac-size($size);
}

/**
 * @stable [21.02.2020]
 */
@mixin rac-circle-area (
  $rac-circle-area-custom: unset,
  /**/
  $rac-circle-area-background: unset,
  $rac-circle-area-border: unset,
  $rac-circle-area-margin: unset,
  $rac-circle-area-size: unset
) {
  @include rac-styles (
    $rac-styles-custom: $rac-circle-area-custom,
    $rac-styles-background: $rac-circle-area-background,
    $rac-styles-border: $rac-circle-area-border,
    $rac-styles-margin: $rac-circle-area-margin,
    $rac-styles-size: $rac-circle-area-size
  );
  @if $rac-circle-area-size != unset {
    @include rac-styles (
      $rac-styles-custom: $rac-circle-area-custom,
      $rac-styles-border-radius: $rac-circle-area-size / 2
    );
  }
}

// TODO deprecated
@mixin rac-shadowed($background: unset,
                    $shadow: unset,
                    $offset1: 0px,
                    $offset2: 6px,
                    $offset3: 16px,
                    $offset4: 0px) {
  @if $background != unset {
    background: $background;
  }
  @if $shadow != unset {
    box-shadow: $offset1 $offset2 $offset3 $offset4 $shadow;
  }
}

/**
 * @stable [18.03.2020]
 */
@mixin rac-viewer (
  $rac-viewer-custom: unset,
  /**/
  $rac-viewer-content-position: unset,
  $rac-viewer-right: unset,
  $rac-viewer-bottom: unset,
  $rac-viewer-left: unset,
  $rac-viewer-position: unset,
  $rac-viewer-align-items: unset,                                             /* @stable [18.03.2020] */
  $rac-viewer-content-border-radius: unset,                                   /* @stable [18.03.2020] */
  $rac-viewer-content-display: unset,                                         /* @stable [18.03.2020] */
  $rac-viewer-content-margin: unset,                                          /* @stable [18.03.2020] */
  $rac-viewer-content-max-height: unset,                                      /* @stable [18.03.2020] */
  $rac-viewer-content-max-width: unset,                                       /* @stable [18.03.2020] */
  $rac-viewer-content-size: unset,                                            /* @stable [18.03.2020] */
  $rac-viewer-content-width: unset,                                           /* @stable [18.03.2020] */
  $rac-viewer-display: unset,                                                 /* @stable [18.03.2020] */
  $rac-viewer-flex-grow: unset,                                               /* @stable [15.03.2020] */
  $rac-viewer-flex: unset,                                                    /* @stable [15.03.2020] */
  $rac-viewer-justify-content: unset,                                         /* @stable [18.03.2020] */
  $rac-viewer-margin: unset,                                                  /* @stable [18.03.2020] */
  $rac-viewer-preview-icon-color: unset,                                      /* @stable [18.03.2020] */
  $rac-viewer-preview-icon-not-hover-display: unset,                          /* @stable [18.03.2020] */
  $rac-viewer-preview-icon-size: unset                                        /* @stable [18.03.2020] */
) {

  #{rac-cls($rac-viewer-cls, $rac-viewer-custom)} {
    @include rac-styles (
      $rac-styles-align-items: $rac-viewer-align-items,
      $rac-styles-bottom: $rac-viewer-bottom,
      $rac-styles-display: $rac-viewer-display,
      $rac-styles-flex-grow: $rac-viewer-flex-grow,
      $rac-styles-flex: $rac-viewer-flex,
      $rac-styles-justify-content: $rac-viewer-justify-content,
      $rac-styles-left: $rac-viewer-left,
      $rac-styles-margin: $rac-viewer-margin,
      $rac-styles-position: $rac-viewer-position,
      $rac-styles-right: $rac-viewer-right
    );

    &:not(:hover) {
      > {
        @include rac-icon (
          $rac-icon-custom: $rac-viewer-preview-icon-cls,
          $rac-icon-display: $rac-viewer-preview-icon-not-hover-display
        );
      }
    }

    > {
      @include rac-icon (
        $rac-icon-custom: $rac-viewer-preview-icon-cls,
        $rac-icon-color: $rac-viewer-preview-icon-color,
        $rac-icon-size: $rac-viewer-preview-icon-size
      );

      @include rac-styles (
        $rac-styles-custom: $rac-viewer-content-cls,
        $rac-styles-border-radius: $rac-viewer-content-border-radius,
        $rac-styles-display: $rac-viewer-content-display,
        $rac-styles-margin: $rac-viewer-content-margin,
        $rac-styles-max-height: $rac-viewer-content-max-height,
        $rac-styles-max-width: $rac-viewer-content-max-width,
        $rac-styles-position: $rac-viewer-content-position,
        $rac-styles-size: $rac-viewer-content-size,
        $rac-styles-width: $rac-viewer-content-width
      );
    }
  }
}

/**
 * @stable [13.01.2019]
 */
@mixin rac-keyboard (
  $rac-keyboard-custom: unset,
  /**/
  $rac-keyboard-z-index: unset,
  $rac-keyboard-absolute-h-center-alignment: unset,
  $rac-keyboard-background: unset,
  $rac-keyboard-border-radius: unset,                                                     /* @stable [02.02.2020] */
  $rac-keyboard-border: unset,
  $rac-keyboard-bottom: unset,
  $rac-keyboard-close-bottom: unset,
  $rac-keyboard-close-color: unset,
  $rac-keyboard-close-display: unset,
  $rac-keyboard-close-margin: unset,
  $rac-keyboard-close-position: unset,
  $rac-keyboard-close-right: unset,
  $rac-keyboard-key-active-position: unset,                                               /* @stable [14.02.2020] */
  $rac-keyboard-key-active-top: unset,                                                    /* @stable [02.02.2020] */
  $rac-keyboard-key-active-transition: unset,                                             /* @stable [02.02.2020] */
  $rac-keyboard-key-background: unset,
  $rac-keyboard-key-border-radius: unset,
  $rac-keyboard-key-border: unset,
  $rac-keyboard-key-color: unset,
  $rac-keyboard-key-custom: unset,
  $rac-keyboard-key-font-size: unset,
  $rac-keyboard-key-font-weight: unset,
  $rac-keyboard-key-height: unset,
  $rac-keyboard-key-icon-height: unset,
  $rac-keyboard-key-icon-margin: unset,
  $rac-keyboard-key-icon-width: unset,
  $rac-keyboard-key-margin: unset,
  $rac-keyboard-key-min-width: unset,
  $rac-keyboard-key-opacity: unset,
  $rac-keyboard-key-size: unset,
  $rac-keyboard-key-width: unset,
  $rac-keyboard-margin: unset,
  $rac-keyboard-opacity: unset,
  $rac-keyboard-padding: unset,
  $rac-keyboard-position: unset
) {

  #{rac-cls(rac-keyboard, $rac-keyboard-custom)} {
    @include rac-styles (
      $rac-styles-background: $rac-keyboard-background,
      $rac-styles-z-index: $rac-keyboard-z-index,
      $rac-styles-border-radius: $rac-keyboard-border-radius,
      $rac-styles-border: $rac-keyboard-border,
      $rac-styles-bottom: $rac-keyboard-bottom,
      $rac-styles-margin: $rac-keyboard-margin,
      $rac-styles-opacity: $rac-keyboard-opacity,
      $rac-styles-padding: $rac-keyboard-padding,
      $rac-styles-position: $rac-keyboard-position
    );

    @include rac-button (
      $rac-button-custom: rac-cls2(rac-keyboard-key, $rac-keyboard-key-custom),
      $rac-button-active-position: $rac-keyboard-key-active-position,
      $rac-button-active-top: $rac-keyboard-key-active-top,
      $rac-button-active-transition: $rac-keyboard-key-active-transition,
      $rac-button-background: $rac-keyboard-key-background,
      $rac-button-border-radius: $rac-keyboard-key-border-radius,
      $rac-button-border: $rac-keyboard-key-border,
      $rac-button-color: $rac-keyboard-key-color,
      $rac-button-content-font-size: $rac-keyboard-key-font-size,
      $rac-button-content-font-weight: $rac-keyboard-key-font-weight,
      $rac-button-height: $rac-keyboard-key-height,
      $rac-button-icon-height: $rac-keyboard-key-icon-height,
      $rac-button-icon-margin: $rac-keyboard-key-icon-margin,
      $rac-button-icon-width: $rac-keyboard-key-icon-width,
      $rac-button-margin: $rac-keyboard-key-margin,
      $rac-button-min-width: $rac-keyboard-key-min-width,
      $rac-button-opacity: $rac-keyboard-key-opacity,
      $rac-button-size: $rac-keyboard-key-size,
      $rac-button-width: $rac-keyboard-key-width
    );

    @include rac-icon (
      $rac-icon-custom: rac-keyboard-close,
      $rac-icon-bottom: $rac-keyboard-close-bottom,
      $rac-icon-color: $rac-keyboard-close-color,
      $rac-icon-display: $rac-keyboard-close-display,
      $rac-icon-margin: $rac-keyboard-close-margin,
      $rac-icon-position: $rac-keyboard-close-position,
      $rac-icon-right: $rac-keyboard-close-right
    );

    @if $rac-keyboard-absolute-h-center-alignment != unset {
      @include rac-absolute-h-center-alignment;
    }
  }
}

/**
 * @stable [17.02.2019]
 */
@mixin rac-flex-row() {
  .rac-flex-row {
    @include flex-direction(row);
  }
}

/**
 * @stable [22.01.2020]
 */
@mixin rac-google-maps (
  $rac-google-maps-custom: unset,
  /**/
  $rac-google-maps-body-flex: unset,                                                          /* @stable [22.01.2020] */
  $rac-google-maps-display: unset,                                                            /* @stable [22.01.2020] */
  $rac-google-maps-flex: unset,                                                               /* @stable [22.01.2020] */
  $rac-google-maps-margin: unset,                                                             /* @stable [22.01.2020] */
  $rac-google-maps-position: unset                                                            /* @stable [22.01.2020] */
) {
  #{rac-cls(rac-google-maps, $rac-google-maps-custom)} {
    @include rac-styles (
      $rac-styles-display: $rac-google-maps-display,
      $rac-styles-flex: $rac-google-maps-flex,
      $rac-styles-margin: $rac-google-maps-margin,
      $rac-styles-position: $rac-google-maps-position
    );

    @include rac-styles (
      $rac-styles-custom: rac-google-maps__body,
      $rac-styles-flex: $rac-google-maps-body-flex
    );
  }
}

/**
 * @stable [15.03.2020]
 */
@mixin rac-preview-dialog (
  $rac-preview-dialog-custom: unset,
  /**/
  $rac-preview-dialog-body-content-padding: unset,                                            /* @stable [16.03.2020] */
  $rac-preview-dialog-body-content-wrapper-overflow: unset,                                   /* @stable [16.03.2020] */
  $rac-preview-dialog-body-content-wrapper-padding: unset,                                    /* @stable [16.03.2020] */
  $rac-preview-dialog-body-max-width: unset,                                                  /* @stable [16.03.2020] */
  $rac-preview-dialog-body-min-height: unset,                                                 /* @stable [16.03.2020] */
  $rac-preview-dialog-extra-action-background: unset,                                         /* @stable [16.03.2020] */
  $rac-preview-dialog-extra-action-border-radius: unset,                                      /* @stable [18.03.2020] */
  $rac-preview-dialog-extra-actions-neighbor-child-margin: unset,                             /* @stable [18.03.2020] */
  $rac-preview-dialog-extra-actions-position: unset,                                          /* @stable [16.03.2020] */
  $rac-preview-dialog-extra-actions-right: unset,                                             /* @stable [16.03.2020] */
  $rac-preview-dialog-extra-actions-top: unset,                                               /* @stable [16.03.2020] */
  $rac-preview-dialog-extra-actions-transform: unset,                                         /* @stable [16.03.2020] */
  $rac-preview-dialog-viewer-flex: unset                                                      /* @stable [16.03.2020] */
) {
  @include rac-dialog (
    $rac-dialog-custom: rac-cls2($rac-preview-dialog-cls, $rac-preview-dialog-custom),
    $rac-dialog-body-content-padding: $rac-preview-dialog-body-content-padding,
    $rac-dialog-body-content-wrapper-overflow: $rac-preview-dialog-body-content-wrapper-overflow,
    $rac-dialog-body-content-wrapper-padding: $rac-preview-dialog-body-content-wrapper-padding,
    $rac-dialog-body-max-width: $rac-preview-dialog-body-max-width,
    $rac-dialog-body-min-height: $rac-preview-dialog-body-min-height,
    $rac-dialog-extra-actions-action-background: $rac-preview-dialog-extra-action-background,
    $rac-dialog-extra-actions-action-border-radius: $rac-preview-dialog-extra-action-border-radius,
    $rac-dialog-extra-actions-neighbor-child-margin: $rac-preview-dialog-extra-actions-neighbor-child-margin,
    $rac-dialog-extra-actions-position: $rac-preview-dialog-extra-actions-position,
    $rac-dialog-extra-actions-right: $rac-preview-dialog-extra-actions-right,
    $rac-dialog-extra-actions-top: $rac-preview-dialog-extra-actions-top,
    $rac-dialog-extra-actions-transform: $rac-preview-dialog-extra-actions-transform
  );

  #{rac-cls($rac-preview-dialog-cls, $rac-preview-dialog-custom)} {
    @include rac-viewer (
      $rac-viewer-flex: $rac-preview-dialog-viewer-flex
    );
  }
}

/**
 * @stable [26.03.2020]
 */
@mixin rac-date-field-navigator (
  $rac-date-field-navigator-custom: unset,
  /**/
  $rac-date-field-navigator-button-decorated-not-filled-mini-icon-size: unset,               /* @stable [26.03.2020] */
  $rac-date-field-navigator-display: unset,                                                  /* @stable [26.03.2020] */
  $rac-date-field-navigator-field-margin: unset,                                             /* @stable [26.03.2020] */
  $rac-date-field-navigator-self-field-background: unset                                     /* @stable [26.03.2020] */
) {
  #{rac-cls($rac-date-field-navigator-cls, $rac-date-field-navigator-custom)} {
    @include rac-styles (
      $rac-styles-display: $rac-date-field-navigator-display
    );

    > {
      @include rac-button (
        $rac-button-custom: $rac-button-decorated-not-filled-mini-cls,
        $rac-button-icon-size: $rac-date-field-navigator-button-decorated-not-filled-mini-icon-size
      );

      @include rac-field (
        $rac-field-margin: $rac-date-field-navigator-field-margin,
        $rac-self-field-background: $rac-date-field-navigator-self-field-background
      );
    }
  }
}

/**
 * @stable [22.01.2020]
 */
@mixin rac-calendar-base-dialog (
  $rac-calendar-base-dialog-custom: unset,                                                    /* @stable [22.01.2020] */
  /**/
  $rac-calendar-base-dialog-range-explorer-align-items: unset,                                /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-date-content-flex: unset,                          /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-date-content-text-align: unset,                    /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-date-display: unset,                               /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-date-flex: unset,                                  /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-date-justify-content: unset,                       /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-display: unset,                                    /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-flex-direction: unset,                             /* @stable [22.01.2020] */
  $rac-calendar-base-dialog-range-explorer-margin: unset                                      /* @stable [22.01.2020] */
) {
  #{rac-cls($rac-calendar-base-dialog-cls, $rac-calendar-base-dialog-custom)} {
    .rac-calendar-dialog__range-explorer {
      @include rac-styles (
        $rac-styles-align-items: $rac-calendar-base-dialog-range-explorer-align-items,
        $rac-styles-display: $rac-calendar-base-dialog-range-explorer-display,
        $rac-styles-flex-direction: $rac-calendar-base-dialog-range-explorer-flex-direction,
        $rac-styles-margin: $rac-calendar-base-dialog-range-explorer-margin
      );
    }

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__range-explorer-date,
      $rac-styles-display: $rac-calendar-base-dialog-range-explorer-date-display,
      $rac-styles-flex: $rac-calendar-base-dialog-range-explorer-date-flex,
      $rac-styles-justify-content: $rac-calendar-base-dialog-range-explorer-date-justify-content
    );

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__range-explorer-date-content,
      $rac-styles-flex: $rac-calendar-base-dialog-range-explorer-date-content-flex,
      $rac-styles-text-align: $rac-calendar-base-dialog-range-explorer-date-content-text-align
    );
  }
}

/**
 * @stable [14.01.2020]
 */
@mixin rac-calendar-dialog (
  $rac-calendar-dialog-custom: unset,                                                     /* @stable [13.01.2020] */
  /**/
  $rac-calendar-dialog-body-background: unset,                                            /* @stable [13.01.2020] */
  $rac-calendar-dialog-body-content-padding: unset,                                       /* @stable [13.01.2020] */
  $rac-calendar-dialog-body-height: unset,                                                /* @stable [14.01.2020] */
  $rac-calendar-dialog-body-max-width: unset,                                             /* @stable [14.01.2020] */
  $rac-calendar-dialog-body-width: unset,                                                 /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-body-border-bottom: unset,                                /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-border-bottom: unset,                                     /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-day-border-radius: unset,                                 /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-day-color: unset,                                         /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-day-font-size: unset,                                     /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-day-size: unset,                                          /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-first-selected-day-border-radius: unset,                  /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendar-head-border-bottom: unset,                                /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-head-border-left: unset,                                  /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-head-border-right: unset,                                 /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-head-color: unset,                                        /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-head-column-content-font-size: unset,                     /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-head-padding: unset,                                      /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-last-selected-day-border-radius: unset,                   /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendar-margin: unset,                                            /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-middle-selected-day-border-radius: unset,                 /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendar-middle-selected-day-width: unset,                         /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendar-selected-day-color: unset,                                /* @stable [14.01.2020] */
  $rac-calendar-dialog-calendar-selected-day-width: unset,                                /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendars-wrapper-display: unset,                                  /* @stable [21.01.2020] */
  $rac-calendar-dialog-calendars-wrapper-flex: unset,                                     /* @stable [21.01.2020] */
  $rac-calendar-dialog-footer-action-background: unset,                                   /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-action-content-color: unset,                                /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-action-height: unset,                                       /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-action-margin: unset,                                       /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-action-width: unset,                                        /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-display: unset,                                             /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-input-self-field-background: unset,                         /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-input-self-field-input-text-align: unset,                   /* @stable [17.01.2020] */
  $rac-calendar-dialog-footer-input-width: unset,                                         /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-justify-content: unset,                                     /* @stable [14.01.2020] */
  $rac-calendar-dialog-footer-self-field-height: unset,                                   /* @stable [18.02.2020] */
  $rac-calendar-dialog-quick-actions-display: unset,                                      /* @stable [21.01.2020] */
  $rac-calendar-dialog-quick-actions-margin: unset,                                       /* @stable [21.01.2020] */
  $rac-calendar-dialog-quick-button-background: unset,                                    /* @stable [21.01.2020] */
  $rac-calendar-dialog-quick-button-content-color: unset,                                 /* @stable [21.01.2020] */
  $rac-calendar-dialog-quick-button-height: unset,                                        /* @stable [21.01.2020] */
  $rac-calendar-dialog-quick-button-neighbor-margin: unset,                               /* @stable [21.01.2020] */
  $rac-calendar-dialog-range-explorer-button-mini-background: unset,                      /* @stable [14.01.2020] */
  $rac-calendar-dialog-range-explorer-button-mini-icon-color: unset,                      /* @stable [14.01.2020] */
  $rac-calendar-dialog-range-explorer-button-mini-icon-size: unset,                       /* @stable [14.01.2020] */
  $rac-calendar-dialog-range-explorer-date-color: unset,                                  /* @stable [13.01.2020] */
  $rac-calendar-dialog-range-explorer-date-content-next-margin: unset,                    /* @stable [21.01.2020] */
  $rac-calendar-dialog-range-explorer-date-font-size: unset,                              /* @stable [13.01.2020] */
  $rac-calendar-dialog-second-calendar-margin: unset,                                     /* @stable [20.01.2020] */
  $rac-calendar-dialog-selected-quick-action-background: unset,                           /* @stable [08.03.2020] */
  $rac-calendar-dialog-selected-quick-action-content-color: unset                         /* @stable [08.03.2020] */
) {
  #{rac-cls($rac-calendar-dialog-cls, $rac-calendar-dialog-custom)} {
    .rac-calendar-dialog__range-explorer {
      @include rac-button (
        $rac-button-custom: $rac-button-mini-cls,
        $rac-button-background: $rac-calendar-dialog-range-explorer-button-mini-background,
        $rac-button-icon-color: $rac-calendar-dialog-range-explorer-button-mini-icon-color,
        $rac-button-icon-size: $rac-calendar-dialog-range-explorer-button-mini-icon-size
      );
    }

    .rac-calendar-dialog__footer {
      @include rac-styles (
        $rac-styles-display: $rac-calendar-dialog-footer-display,
        $rac-styles-justify-content: $rac-calendar-dialog-footer-justify-content
      );

      @include rac-field (
        $rac-field-custom: $rac-base-text-field-cls,
        $rac-field-width: $rac-calendar-dialog-footer-input-width,
        $rac-self-field-background: $rac-calendar-dialog-footer-input-self-field-background,
        $rac-self-field-height: $rac-calendar-dialog-footer-self-field-height,
        $rac-self-field-input-text-align: $rac-calendar-dialog-footer-input-self-field-input-text-align
      );

      @include rac-button (
        $rac-button-background: $rac-calendar-dialog-footer-action-background,
        $rac-button-content-color: $rac-calendar-dialog-footer-action-content-color,
        $rac-button-height: $rac-calendar-dialog-footer-action-height,
        $rac-button-margin: $rac-calendar-dialog-footer-action-margin,
        $rac-button-width: $rac-calendar-dialog-footer-action-width
      );
    }

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__range-explorer-date,
      $rac-styles-color: $rac-calendar-dialog-range-explorer-date-color,
      $rac-styles-font-size: $rac-calendar-dialog-range-explorer-date-font-size
    );

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__range-explorer-date-content-next,
      $rac-styles-margin: $rac-calendar-dialog-range-explorer-date-content-next-margin
    );

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__calendars-wrapper,
      $rac-styles-display: $rac-calendar-dialog-calendars-wrapper-display,
      $rac-styles-flex: $rac-calendar-dialog-calendars-wrapper-flex
    );

    @include rac-styles (
      $rac-styles-custom: rac-calendar-dialog__second-calendar,
      $rac-styles-margin: $rac-calendar-dialog-second-calendar-margin
    );

    .rac-calendar-dialog__quick-actions {
      @include rac-styles (
        $rac-styles-display: $rac-calendar-dialog-quick-actions-display,
        $rac-styles-margin: $rac-calendar-dialog-quick-actions-margin
      );

      @include rac-button (
        $rac-button-background: $rac-calendar-dialog-quick-button-background,
        $rac-button-content-color: $rac-calendar-dialog-quick-button-content-color,
        $rac-button-height: $rac-calendar-dialog-quick-button-height
      );

      @include rac-neighbor-child (
        $rac-neighbor-child-margin: $rac-calendar-dialog-quick-button-neighbor-margin
      );

      @include rac-button (
        $rac-button-custom: rac-calendar-dialog__selected-quick-action,
        $rac-button-background: $rac-calendar-dialog-selected-quick-action-background,
        $rac-button-content-color: $rac-calendar-dialog-selected-quick-action-content-color
      );
    }

    @include rac-calendar (
      $rac-calendar-body-border-bottom: $rac-calendar-dialog-calendar-body-border-bottom,
      $rac-calendar-border-bottom: $rac-calendar-dialog-calendar-border-bottom,
      $rac-calendar-cell-content-width: $rac-calendar-dialog-calendar-day-size,
      $rac-calendar-day-border-radius: $rac-calendar-dialog-calendar-day-border-radius,
      $rac-calendar-day-color: $rac-calendar-dialog-calendar-day-color,
      $rac-calendar-day-font-size: $rac-calendar-dialog-calendar-day-font-size,
      $rac-calendar-day-height: $rac-calendar-dialog-calendar-day-size,
      $rac-calendar-day-line-height: $rac-calendar-dialog-calendar-day-size,
      $rac-calendar-first-selected-day-border-radius: $rac-calendar-dialog-calendar-first-selected-day-border-radius,
      $rac-calendar-head-border-bottom: $rac-calendar-dialog-calendar-head-border-bottom,
      $rac-calendar-head-border-left: $rac-calendar-dialog-calendar-head-border-left,
      $rac-calendar-head-border-right: $rac-calendar-dialog-calendar-head-border-right,
      $rac-calendar-head-color: $rac-calendar-dialog-calendar-head-color,
      $rac-calendar-head-day-font-size: $rac-calendar-dialog-calendar-head-column-content-font-size,
      $rac-calendar-head-padding: $rac-calendar-dialog-calendar-head-padding,
      $rac-calendar-last-selected-day-border-radius: $rac-calendar-dialog-calendar-last-selected-day-border-radius,
      $rac-calendar-margin: $rac-calendar-dialog-calendar-margin,
      $rac-calendar-middle-selected-day-border-radius: $rac-calendar-dialog-calendar-middle-selected-day-border-radius,
      $rac-calendar-middle-selected-day-width: $rac-calendar-dialog-calendar-middle-selected-day-width,
      $rac-calendar-selected-day-color: $rac-calendar-dialog-calendar-selected-day-color,
      $rac-calendar-selected-day-width: $rac-calendar-dialog-calendar-selected-day-width
    );
  }

  @include rac-dialog (
    $rac-dialog-custom: rac-cls2($rac-calendar-dialog-cls, $rac-calendar-dialog-custom),
    $rac-dialog-body-background: $rac-calendar-dialog-body-background,
    $rac-dialog-body-content-padding: $rac-calendar-dialog-body-content-padding,
    $rac-dialog-body-height: $rac-calendar-dialog-body-height,
    $rac-dialog-body-max-width: $rac-calendar-dialog-body-max-width,
    $rac-dialog-body-width: $rac-calendar-dialog-body-width
  );
}

/**
 * @stable [16.03.2020]
 */
@mixin rac-place-dialog (
  $rac-place-dialog-custom: unset,
  /**/
  $rac-place-dialog-body-height: unset,                                                 /* @stable [09.01.2020] */
  $rac-place-dialog-body-min-width: unset,                                              /* @stable [10.01.2020] */
  $rac-place-dialog-title-font-size: unset,                                             /* @stable [10.01.2020] */
  $rac-place-dialog-title-margin: unset                                                 /* @stable [10.01.2020] */
) {
  #{rac-cls($rac-place-dialog-cls, $rac-place-dialog-custom)} {
    @include rac-styles (
      $rac-styles-custom: rac-place-dialog__title,
      $rac-styles-font-size: $rac-place-dialog-title-font-size,
      $rac-styles-margin: $rac-place-dialog-title-margin
    );
  }

  @include rac-dialog (
    $rac-dialog-custom: rac-cls2($rac-place-dialog-cls, $rac-place-dialog-custom),
    $rac-dialog-body-height: $rac-place-dialog-body-height,
    $rac-dialog-body-min-width: $rac-place-dialog-body-min-width
  );
}