@import '../_core-mixin';

/**
 * @stable [23.05.2020]
 */
@mixin rac-chart(
  $rac-chart-custom: unset,
  /**/
  $rac-chart-background: unset,
  $rac-chart-border-color: unset,
  $rac-chart-border-style: unset,
  $rac-chart-border-width: unset,
  $rac-chart-canvas-wrapper-height: unset,
  $rac-chart-canvas-wrapper-left: unset,
  $rac-chart-canvas-wrapper-margin: unset,
  $rac-chart-canvas-wrapper-padding: unset,
  $rac-chart-canvas-wrapper-position: unset,
  $rac-chart-canvas-wrapper-width: unset,
  $rac-chart-child-width: unset,
  $rac-chart-display: unset,
  $rac-chart-east-display: unset,
  $rac-chart-east-margin: unset,
  $rac-chart-flex-grow: unset,
  $rac-chart-height: unset,
  $rac-chart-margin-bottom: unset,
  $rac-chart-min-height: unset,
  $rac-chart-overflow: unset,
  $rac-chart-position: unset,
  $rac-chart-west-display: unset,
  $rac-chart-west-margin: unset,
  $rac-chart-width: unset
) {
  #{rac-cls($rac-chart-cls, $rac-chart-custom)} {
    @include rac-styles (
      $rac-styles-background: $rac-chart-background,
      $rac-styles-border-color: $rac-chart-border-color,
      $rac-styles-border-style: $rac-chart-border-style,
      $rac-styles-border-width: $rac-chart-border-width,
      $rac-styles-display: $rac-chart-display,
      $rac-styles-flex-grow: $rac-chart-flex-grow,
      $rac-styles-height: $rac-chart-height,
      $rac-styles-margin-bottom: $rac-chart-margin-bottom,
      $rac-styles-min-height: $rac-chart-min-height,
      $rac-styles-overflow: $rac-chart-overflow,
      $rac-styles-position: $rac-chart-position,
      $rac-styles-width: $rac-chart-width
    );

    @include rac-styles (
      $rac-styles-custom: rac-chart__canvas-wrapper,
      $rac-styles-height: $rac-chart-canvas-wrapper-height,
      $rac-styles-left: $rac-chart-canvas-wrapper-left,
      $rac-styles-margin: $rac-chart-canvas-wrapper-margin,
      $rac-styles-padding: $rac-chart-canvas-wrapper-padding,
      $rac-styles-position: $rac-chart-canvas-wrapper-position,
      $rac-styles-width: $rac-chart-canvas-wrapper-width
    );

    @include rac-styles (
      $rac-styles-custom: rac-chart__east,
      $rac-styles-display: $rac-chart-east-display,
      $rac-styles-margin: $rac-chart-east-margin
    );

    @include rac-styles (
      $rac-styles-custom: rac-chart__west,
      $rac-styles-display: $rac-chart-west-display,
      $rac-styles-margin: $rac-chart-west-margin
    );

    > {
      & * {
        @include rac-styles (
          $rac-styles-width: $rac-chart-child-width
        );
      }
    }
  }
}