//
// Copyright IBM Corp. 2018, 2018
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//

@import '../layout/convert';
@import 'font-family';
@import 'styles';

/// Include a type reset for a given body and mono font family
/// @param {String} $body-font-family [carbon--font-family('sans')] - The font family used on the `<body>` element
/// @param {String} $mono-font-family [carbon--font-family('mono')] - The font family used on elements that require mono fonts, like the `<code>` element
/// @access public
/// @group @carbon/type
@mixin carbon--type-reset(
  // TODO: remove in next major release. This has been replaced with 100%
  $base-font-size: $carbon--base-font-size,
  $body-font-family: carbon--font-family('sans'),
  $mono-font-family: carbon--font-family('mono')
) {
  html {
    font-size: 100%;
  }

  body {
    @include carbon--font-weight('regular');

    font-family: $body-font-family;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  code {
    font-family: $mono-font-family;
  }

  strong {
    @include carbon--font-weight('semibold');
  }
}

/// Include default type styles
/// @access public
/// @group @carbon/type
@mixin carbon--default-type {
  h1 {
    @include carbon--type-style('productive-heading-06');
  }

  h2 {
    @include carbon--type-style('productive-heading-05');
  }

  h3 {
    @include carbon--type-style('productive-heading-04');
  }

  h4 {
    @include carbon--type-style('productive-heading-03');
  }

  h5 {
    @include carbon--type-style('productive-heading-02');
  }

  h6 {
    @include carbon--type-style('productive-heading-01');
  }

  p {
    @include carbon--type-style('body-long-02');
  }

  a {
    color: #0062ff;
  }

  em {
    font-style: italic;
  }
}
