@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../mixins' as mx; @use '../config'; @include iro.props-namespace('heading') { @include iro.props-store(( --colors: ( --light: fn.global-color(--fg-hi), --strong: fn.global-color(--fg-lo), --bg: fn.global-color(--bg-hi2), ), ), 'colors'); @include iro.bem-object(iro.props-namespace()) { @include mx.set-font(--headline); display: block; margin-top: fn.global-dim(--heading --margin-top); transform: translateX(-.06em); letter-spacing: normal; text-transform: none; & + & { margin-top: fn.global-dim(--heading --margin-top-sibling); } @include iro.bem-modifier('xxl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --400); } @include iro.bem-modifier('xl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --300); } @include iro.bem-modifier('lg') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --200); } @include iro.bem-modifier('md') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --150); } @include iro.bem-modifier('sm') { @include mx.set-font(--standard, ( --line-height: null, --size: fn.global-dim(--font-size --75), --weight: bold, --transform: uppercase, --spacing: 1px )); transform: none; color: fn.color(--strong); } @include iro.bem-modifier('xs') { @include mx.set-font(--standard, ( --line-height: null, --size: fn.global-dim(--font-size --50), --weight: 500, --transform: uppercase, --spacing: 1px )); transform: none; color: fn.color(--light); } @include iro.bem-modifier('display') { @include iro.bem-modifier('xxl') { color: fn.foreign-color(--heading, --strong); font-size: fn.global-dim(--font-size --900); } @include iro.bem-modifier('xl') { color: fn.foreign-color(--heading, --strong); font-size: fn.global-dim(--font-size --600); } @include iro.bem-modifier('l') { color: fn.foreign-color(--heading, --strong); font-size: fn.global-dim(--font-size --300); } } } }