/** Common weight name mapping
    @See the OpenType specification:
    https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass
    The numerical values 100 to 900 roughly correspond to the following common weight names:
    100     Thin (Hairline)
    200	    Extra Light (Ultra Light)
    300	    Light
    400	    Normal
    500	    Medium
    600	    Semi Bold (Demi Bold)
    700	    Bold
    800	    Extra Bold (Ultra Bold)
    900	    Black (Heavy)
**/

// central mixing for getting definition over ECL tokens
@mixin eui-font($size: m) {
    font: map-get($eui-base-tokens-fonts, $size);
}

// shortcut for font-families
@mixin eui-font-family() {
    @include eui-font(m);
}
@mixin eui-font-family-normal() {
    @include eui-font(m);
}
@mixin eui-font-family-s() {
    @include eui-font(s);
}
@mixin eui-font-family-xs() {
    @include eui-font(xs);
}
@mixin eui-font-family-l() {
    @include eui-font(l);
}
@mixin eui-font-family-xl() {
    @include eui-font(xl);
}
@mixin eui-font-family-2xl() {
    @include eui-font(2xl);
}
@mixin eui-font-family-3xl() {
    @include eui-font(3xl);
}
@mixin eui-font-family-4xl() {
    @include eui-font(4xl);
}

// bold
@mixin eui-font-family-bold() {
    @include eui-font(m);
    font-weight: 700;
}
@mixin eui-font-family-bold-xs() {
    @include eui-font(xs);
    font-weight: 700;
}
@mixin eui-font-family-bold-s() {
    @include eui-font(s);
    font-weight: 700;
}
@mixin eui-font-family-bold-l() {
    @include eui-font(l);
    font-weight: 700;
}
@mixin eui-font-family-bold-xl() {
    @include eui-font(xl);
    font-weight: 700;
}
@mixin eui-font-family-bold-2xl() {
    @include eui-font(2xl);
    font-weight: 700;
}
@mixin eui-font-family-bold-3xl() {
    @include eui-font(3xl);
    font-weight: 700;
}
@mixin eui-font-family-bold-4xl() {
    @include eui-font(4xl);
    font-weight: 700;
}

// light
@mixin eui-font-family-light() {
    @include eui-font(m);
    font-weight: 300;
}

// italic
@mixin eui-font-family-italic() {
    @include eui-font(m);
    font-style: italic;
}
@mixin eui-font-family-bold() {
    @include eui-font(m);
    font-weight: 700;
}

// bold italic
@mixin eui-font-family-bold-italic() {
    @include eui-font(m);
    font-style: italic;
    font-weight: 700;
}

// monospace
@mixin eui-font-family-monospace() {
    font-family: v(eui-base-font-family-monospace);
    font-style: normal;
    font-weight: 400;
}
