/* ------------------------------------ *\
  GENERIC - FONT STACKS
\* ------------------------------------ */

$bolt-font-stacks: (
  openSansLight: (
    fontFamily: 'Open Sans',
    style: normal,
    weight: 300,
    src: (
      woff2: '~@bolt/global/fonts/opensans-light.woff2',
      woff: '~@bolt/global/fonts/opensans-light.woff',
    ),
  ),
  openSansRegular: (
    fontFamily: 'Open Sans',
    style: normal,
    weight: 400,
    src: (
      woff2: '~@bolt/global/fonts/opensans-regular.woff2',
      woff: '~@bolt/global/fonts/opensans-regular.woff',
    ),
  ),
  openSansItalic: (
    fontFamily: 'Open Sans',
    style: italic,
    weight: 400,
    src: (
      woff2: '~@bolt/global/fonts/opensans-italic.woff2',
      woff: '~@bolt/global/fonts/opensans-italic.woff',
    ),
  ),
  openSansSemiBold: (
    fontFamily: 'Open Sans',
    style: normal,
    weight: 600,
    src: (
      woff2: '~@bolt/global/fonts/opensans-semibold.woff2',
      woff: '~@bolt/global/fonts/opensans-semibold.woff',
    ),
  ),
  openSansSemiBoldItalic: (
    fontFamily: 'Open Sans',
    style: italic,
    weight: 600,
    src: (
      woff2: '~@bolt/global/fonts/opensans-semibolditalic.woff2',
      woff: '~@bolt/global/fonts/opensans-semibolditalic.woff',
    ),
  ),
  openSansExtraBold: (
    fontFamily: 'Open Sans',
    style: normal,
    weight: 800,
    src: (
      woff2: '~@bolt/global/fonts/opensans-extrabold.woff2',
      woff: '~@bolt/global/fonts/opensans-extrabold.woff',
    ),
  ),
  openSansExtraBoldItalic: (
    fontFamily: 'Open Sans',
    style: italic,
    weight: 800,
    src: (
      woff2: '~@bolt/global/fonts/opensans-extrabolditalic.woff2',
      woff: '~@bolt/global/fonts/opensans-extrabolditalic.woff',
    ),
  ),
);

@each $fontName, $fontValue in $bolt-font-stacks {
  $fontSrc: null;
  $fontSources: map-get($fontValue, 'src');

  @each $ext, $path in $fontSources {
    $fontSrc: append($fontSrc, url('#{$path}') format(quote($ext)), comma);
  }

  @font-face {
    font-family: map-get($fontValue, 'fontFamily');
    font-style: map-get($fontValue, 'style');
    font-weight: map-get($fontValue, 'weight');
    src: $fontSrc;
    font-display: swap;
  }
}

@include export-data('typography/font-stacks.bolt.json', $bolt-font-stacks);
