@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @include iro.props-namespace('badge') { @include iro.props-store(( --dims: ( --pad-x: fn.global-dim(--size --75), --pad-y: fn.global-dim(--size --10), --rounding: 3px, --font-size: fn.global-dim(--font-size --75), --fixed-100: 1em, --fixed-200: 1.5em, --200: ( --pad-x: fn.global-dim(--size --100), --pad-y: fn.global-dim(--size --50), ) ), ), 'dims'); @include iro.props-store(( --colors: ( --bg: fn.global-color(--obj-hi), --label: fn.global-color(--fg-lo), --accent: ( --bg: fn.global-color(--accent --primary --bg), --label: fn.global-color(--accent --primary --fg), ) ), ), 'colors'); @include iro.bem-object(iro.props-namespace()) { display: inline-block; padding: fn.dim(--pad-y) fn.dim(--pad-x); border-radius: fn.dim(--rounding); background-color: fn.color(--bg); color: fn.color(--label); font-size: fn.dim(--font-size); text-align: center; @include iro.bem-modifier('accent') { background-color: fn.color(--accent --bg); color: fn.color(--accent --label); } @include iro.bem-modifier('fixed-100') { width: fn.dim(--fixed-100); } @include iro.bem-modifier('fixed-200') { width: fn.dim(--fixed-200); } @include iro.bem-modifier('200') { padding: fn.dim(--200 --pad-y) fn.dim(--200 --pad-x); } } }