@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @include iro.props-namespace('emoji') { @include iro.props-store(( --dims: ( --size: 1.4em, --pad: .3em, --rounding: 3px, --zoom: 2, --125: ( --size: 1.8em, ) ) ), 'dims'); @include iro.props-store(( --colors: ( --bg: fn.global-color(--obj-hi), ) ), 'colors'); @include iro.bem-object(iro.props-namespace()) { display: inline-flex; position: relative; align-items: center; justify-content: center; width: 1em; height: 1em; margin: calc(-.5 * fn.dim(--size)) calc(-1 * fn.dim(--pad)); padding: fn.dim(--pad); font-size: fn.dim(--size); line-height: 1; text-align: center; vertical-align: middle; @include iro.bem-modifier('125') { margin-top: calc(-.5 * fn.dim(--125 --size)); margin-bottom: calc(-.5 * fn.dim(--125 --size)); font-size: fn.dim(--125 --size); } @include iro.bem-modifier('zoomable') { transition: transform .2s ease, background-color .2s ease; border-radius: calc(fn.dim(--rounding) / fn.dim(--zoom)); &:hover { z-index: 10; transform: scale(fn.dim(--zoom)); background-color: fn.color(--bg); } } } }