@import '../_core-mixin';
@import '../button/_button-mixin';

/**
 * @stable [21.05.2020]
 */
@mixin rac-header (
  $rac-header-custom: unset,
  /**/
  $rac-header-actions-align-items: unset,                                                     /* @stable [06.02.2020] */
  $rac-header-actions-display: unset,                                                         /* @stable [06.02.2020] */
  $rac-header-actions-flex-direction: unset,                                                  /* @stable [06.02.2020] */
  $rac-header-actions-margin: unset,                                                          /* @stable [06.02.2020] */
  $rac-header-actions-neighbor-child-margin: unset,                                           /* @stable [12.12.2020] */
  $rac-header-actions-padding: unset,                                                         /* @stable [06.02.2020] */
  $rac-header-background: unset,                                                              /* @stable [06.02.2020] */
  $rac-header-chat-action-margin: unset,                                                      /* @stable [09.10.2020] */
  $rac-header-color: unset,                                                                   /* @stable [06.02.2020] */
  $rac-header-content-align-items: unset,                                                     /* @stable [10.02.2020] */
  $rac-header-content-display: unset,                                                         /* @stable [10.02.2020] */
  $rac-header-content-flex-direction: unset,                                                  /* @stable [10.02.2020] */
  $rac-header-content-flex-grow: unset,                                                       /* @stable [10.02.2020] */
  $rac-header-display: unset,                                                                 /* @stable [06.02.2020] */
  $rac-header-flex-direction: unset,                                                          /* @stable [06.02.2020] */
  $rac-header-height: unset,                                                                  /* @stable [06.02.2020] */
  $rac-header-help-action-size: unset,                                                        /* @stable [12.12.2020] */
  $rac-header-help-action-wrapper-align-items: unset,                                         /* @stable [12.12.2020] */
  $rac-header-help-action-wrapper-color: unset,                                               /* @stable [12.12.2020] */
  $rac-header-help-action-wrapper-display: unset,                                             /* @stable [12.12.2020] */
  $rac-header-help-action-wrapper-justify-content: unset,                                     /* @stable [12.12.2020] */
  $rac-header-help-action-wrapper-size: unset,                                                /* @stable [12.12.2020] */
  $rac-header-margin: unset,                                                                  /* @stable [06.02.2020] */
  $rac-header-menu-action-background: unset,                                                  /* @stable [06.02.2020] */
  $rac-header-menu-action-color: unset,                                                       /* @stable [12.02.2020] */
  $rac-header-menu-action-icon-color: unset,                                                  /* @stable [20.02.2020] */
  $rac-header-menu-action-icon-size: unset,                                                   /* @stable [13.02.2020] */
  $rac-header-menu-action-position: unset,                                                    /* @stable [06.02.2020] */
  $rac-header-menu-action-right: unset,                                                       /* @stable [06.02.2020] */
  $rac-header-navigation-action-icon-color: unset,                                            /* @stable [20.02.2020] */
  $rac-header-navigation-action-margin: unset,                                                /* @stable [10.02.2020] */
  $rac-header-padding: unset,                                                                 /* @stable [06.02.2020] */
  $rac-header-user-avatar-background-size: unset,                                             /* @stable [06.02.2020] */
  $rac-header-user-avatar-border-radius: unset,                                               /* @stable [06.02.2020] */
  $rac-header-user-avatar-height: unset,                                                      /* @stable [06.02.2020] */
  $rac-header-user-avatar-width: unset,                                                       /* @stable [06.02.2020] */
  $rac-header-user-info-color: unset,                                                         /* @stable [10.02.2020] */
  $rac-header-user-info-font-size: unset,                                                     /* @stable [10.02.2020] */
  $rac-header-user-info-font-weight: unset,                                                   /* @stable [10.02.2020] */
  $rac-header-user-info-margin: unset                                                         /* @stable [06.02.2020] */
) {
  #{rac-cls(rac-header, $rac-header-custom)} {
    @include rac-styles (
      $rac-styles-background: $rac-header-background,
      $rac-styles-color: $rac-header-color,
      $rac-styles-display: $rac-header-display,
      $rac-styles-flex-direction: $rac-header-flex-direction,
      $rac-styles-height: $rac-header-height,
      $rac-styles-margin: $rac-header-margin,
      $rac-styles-padding: $rac-header-padding
    );

    .rac-header__actions {
      @include rac-styles (
        $rac-styles-align-items: $rac-header-actions-align-items,
        $rac-styles-display: $rac-header-actions-display,
        $rac-styles-flex-direction: $rac-header-actions-flex-direction,
        $rac-styles-margin: $rac-header-actions-margin,
        $rac-styles-padding: $rac-header-actions-padding
      );

      @include rac-neighbor-child (
        $rac-neighbor-child-margin: $rac-header-actions-neighbor-child-margin
      );
    }

    @include rac-styles (
      $rac-styles-custom: rac-header__content,
      $rac-styles-align-items: $rac-header-content-align-items,
      $rac-styles-display: $rac-header-content-display,
      $rac-styles-flex-direction: $rac-header-content-flex-direction,
      $rac-styles-flex-grow: $rac-header-content-flex-grow
    );

    @include rac-styles (
      $rac-styles-custom: rac-header__user-info,
      $rac-styles-color: $rac-header-user-info-color,
      $rac-styles-font-size: $rac-header-user-info-font-size,
      $rac-styles-font-weight: $rac-header-user-info-font-weight,
      $rac-styles-margin: $rac-header-user-info-margin
    );

    @include rac-icon (
      $rac-icon-custom: rac-header__help-action,
      $rac-icon-size: $rac-header-help-action-size
    );

    @include rac-styles (
      $rac-styles-custom: rac-header__help-action-wrapper,
      $rac-styles-align-items: $rac-header-help-action-wrapper-align-items,
      $rac-styles-color: $rac-header-help-action-wrapper-color,
      $rac-styles-display: $rac-header-help-action-wrapper-display,
      $rac-styles-justify-content: $rac-header-help-action-wrapper-justify-content,
      $rac-styles-size: $rac-header-help-action-wrapper-size
    );

    @include rac-styles (
      $rac-styles-custom: rac-header__user-avatar,
      $rac-styles-background-size: $rac-header-user-avatar-background-size,
      $rac-styles-border-radius: $rac-header-user-avatar-border-radius,
      $rac-styles-height: $rac-header-user-avatar-height,
      $rac-styles-width: $rac-header-user-avatar-width
    );

    @include rac-button (
      $rac-button-custom: rac-header__navigation-action,
      $rac-button-icon-color: $rac-header-navigation-action-icon-color,
      $rac-button-margin: $rac-header-navigation-action-margin
    );

    @include rac-button (
      $rac-button-custom: rac-header__menu-action,
      $rac-button-background: $rac-header-menu-action-background,
      $rac-button-color: $rac-header-menu-action-color,
      $rac-button-icon-color: $rac-header-menu-action-icon-color,
      $rac-button-icon-size: $rac-header-menu-action-icon-size,
      $rac-button-position: $rac-header-menu-action-position,
      $rac-button-right: $rac-header-menu-action-right
    );

    @include rac-icon (
      $rac-icon-custom: rac-header__chat-action,
      $rac-icon-margin: $rac-header-chat-action-margin
    );
  }
}