@use 'sass:map';

// Screen
$font-family: (
  'default': (
    arial,
    sans-serif,
  ),
) !default;
$font-weight: (
  'regular': 400,
  'bold': 700,
) !default;
$font-size: (
  'xs': 0.75rem,
  's': 0.875rem,
  'm': 1rem,
  'l': 1.25rem,
  'xl': 1.5rem,
  '2xl': 1.75rem,
  '3xl': 2.5rem,
  '4xl': 3.25rem,
) !default;
$line-height: (
  'xs': 1.125rem,
  's': 1.125rem,
  'm': 1.5rem,
  'l': 1.75rem,
  'xl': 2.25rem,
  '2xl': 2.25rem,
  '3xl': 2.75rem,
  '4xl': 3.375rem,
) !default;
$font-size-ui: (
  's': 0.875rem,
  'm': 1rem,
) !default;
$line-height-ui: (
  'xs': 1.375rem,
  's': 1.5rem,
  'm': 1.75rem,
) !default;
$font: (
  'xs': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, 'xs') + '/' + map.get($line-height, 'xs')}
    #{map.get($font-family, 'default')},
  's': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, 's') + '/' + map.get($line-height, 's')}
    #{map.get($font-family, 'default')},
  'm': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, 'm') + '/' + map.get($line-height, 'm')}
    #{map.get($font-family, 'default')},
  'l': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, 'l') + '/' + map.get($line-height, 'l')}
    #{map.get($font-family, 'default')},
  'xl': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, 'xl') + '/' + map.get($line-height, 'xl')}
    #{map.get($font-family, 'default')},
  '2xl': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, '2xl') + '/' + map.get($line-height, '2xl')}
    #{map.get($font-family, 'default')},
  '3xl': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, '3xl') + '/' + map.get($line-height, '3xl')}
    #{map.get($font-family, 'default')},
  '4xl': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size, '4xl') + '/' + map.get($line-height, '4xl')}
    #{map.get($font-family, 'default')},
) !default;
$font-ui: (
  's': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size-ui, 's') + '/' + map.get($line-height-ui, 's')}
    #{map.get($font-family, 'default')},
  'm': normal normal map.get($font-weight, 'regular')
    #{map.get($font-size-ui, 'm') + '/' + map.get($line-height-ui, 'm')}
    #{map.get($font-family, 'default')},
) !default;

// Print
$font-family-print: (
  'default': (
    verdana,
    sans-serif,
  ),
  'alt': (
    arial,
    sans-serif,
  ),
) !default;
$font-weight-print: (
  'regular': 400,
  'bold': 600,
) !default;
$font-size-print: (
  'xs': 7.9pt,
  's': 9.2pt,
  'm': 10.5pt,
  'l': 13.1pt,
  'xl': 15.75pt,
  '2xl': 18.4pt,
  '3xl': 26.25pt,
  '4xl': 34.125pt,
) !default;
$line-height-print: (
  'xs': 13.1pt,
  's': 13.1pt,
  'm': 15.75pt,
  'l': 18.4pt,
  'xl': 23.6pt,
  '2xl': 26.25pt,
  '3xl': 28.9pt,
  '4xl': 34.125pt,
) !default;
$font-size-ui-print: (
  's': 9.2pt,
  'm': 10.5pt,
) !default;
$line-height-ui-print: (
  'xs': 14.4pt,
  's': 15.75pt,
  'm': 18.4pt,
) !default;
$font-print: (
  'xs': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, 'xs') + '/' + map.get($line-height-print, 'xs')}
    #{map.get($font-family-print, 'default')},
  's': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, 's') + '/' + map.get($line-height-print, 's')}
    #{map.get($font-family-print, 'default')},
  'm': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, 'm') + '/' + map.get($line-height-print, 'm')}
    #{map.get($font-family-print, 'default')},
  'l': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, 'l') + '/' + map.get($line-height-print, 'l')}
    #{map.get($font-family-print, 'default')},
  'xl': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, 'xl') + '/' + map.get($line-height-print, 'xl')}
    #{map.get($font-family-print, 'default')},
  '2xl': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, '2xl') + '/' +
    map.get($line-height-print, '2xl')}
    #{map.get($font-family-print, 'default')},
  '3xl': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, '3xl') + '/' +
    map.get($line-height-print, '3xl')}
    #{map.get($font-family-print, 'default')},
  '4xl': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-print, '4xl') + '/' +
    map.get($line-height-print, '4xl')}
    #{map.get($font-family-print, 'default')},
) !default;
$font-ui-print: (
  's': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-ui-print, 's') + '/' +
    map.get($line-height-ui-print, 's')}
    #{map.get($font-family-print, 'default')},
  'm': normal normal map.get($font-weight-print, 'regular')
    #{map.get($font-size-ui-print, 'm') + '/' +
    map.get($line-height-ui-print, 'm')}
    #{map.get($font-family-print, 'default')},
) !default;
