@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../vars'; @use '../mixins/typography'; @include iro.props-namespace('heading') { @include iro.props-store(( --dims: ( --in-page-margin: ( --top: fn.global-dim(--spacing --y --lg), --top-sibling: fn.global-dim(--spacing --y --md), --bottom: fn.global-dim(--spacing --y --sm), ), ), ), 'dims'); @include iro.props-store(( --colors: ( --light: fn.global-color(--fg-hi), --strong: fn.global-color(--fg-lo), ), ), 'colors'); @include iro.bem-object(iro.props-namespace()) { @include typography.set-font(vars.$font--headline); display: block; margin-top: fn.dim(--in-page-margin --top); margin-bottom: 0; & + & { margin-top: fn.dim(--in-page-margin --top-sibling); } @include iro.bem-modifier('xxl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --xxxl); } @include iro.bem-modifier('xl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --xxl); } @include iro.bem-modifier('lg') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --xl); } @include iro.bem-modifier('md') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --lg); } @include iro.bem-modifier('sm') { @include typography.set-font($font--main, (line-height: map-get(vars.$font--headline, line-height))); color: fn.color(--strong); font-size: fn.global-dim(--font-size --md); font-weight: 500; } @include iro.bem-modifier('xs') { @include typography.set-font($font--main, (line-height: map-get(vars.$font--headline, line-height))); color: fn.color(--light); font-size: fn.global-dim(--font-size --xs); font-weight: 500; text-transform: uppercase; } } }