@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../mixins' as mx; @use '../config'; @use 'include-media/dist/include-media' as media; @include iro.props-namespace('heading') { @include iro.props-store(( --dims: ( --offset: -.02em, ), --colors: ( --light: fn.global-color(--text-mute), --strong: fn.global-color(--heading), --bg: fn.global-color(--bg-l2), ), )); @include iro.bem-object(iro.props-namespace()) { @include mx.set-font(--headline); display: block; margin-block-start: fn.global-dim(--heading --margin-bs); transform: translateX(fn.dim(--offset)); letter-spacing: normal; text-transform: none; & + & { margin-block-start: fn.global-dim(--heading --margin-bs-sibling); } @include iro.bem-elem('highlight') { background-image: linear-gradient( to top, transparent .05em, fn.color(--bg) .05em, fn.color(--bg) .5em, transparent .5em ); } @include iro.bem-modifier('xxl') { @include mx.heading-strong(--lg); } @include iro.bem-modifier('xl') { @include mx.heading-medium(--md); } @include iro.bem-modifier('lg', 'md', 'sm', 'xs') { @include mx.heading-faint(--sm); } @include iro.bem-modifier('display') { @include mx.set-font(--headline); @include iro.bem-modifier('xxl') { @include mx.heading-strong(--display --xxl); @include media.media('<=md') { @include mx.heading-strong(--display-sm --xxl); } } @include iro.bem-modifier('xl') { @include mx.heading-strong(--display --xl); @include media.media('<=md') { @include mx.heading-strong(--display-sm --xl); } } @include iro.bem-modifier('lg') { @include mx.heading-strong(--display --lg); @include media.media('<=md') { @include mx.heading-strong(--display-sm --lg); } } @include iro.bem-modifier('md') { @include mx.heading-strong(--display --md); @include media.media('<=md') { @include mx.heading-strong(--display-sm --md); } } @include iro.bem-modifier('sm') { @include mx.heading-medium(--display --sm); @include media.media('<=md') { @include mx.heading-medium(--display-sm --sm); } } @include iro.bem-modifier('xs') { @include mx.heading-faint(--display --xs); @include media.media('<=md') { @include mx.heading-faint(--display-sm --xs); } } } } }