@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @include iro.props-namespace('bubble') { @include iro.props-store(( --colors: ( --image-bg: fn.global-color(--obj), ), ), 'colors'); @include iro.props-store(( --dims: ( --pad-x: fn.global-dim(--size --200), --pad-y: fn.global-dim(--size --150), --rounding: 3px, --arrow-size: fn.global-dim(--size --100), --spacing: fn.global-dim(--size --100), --compact: ( --pad-x: fn.global-dim(--size --150), --pad-y: fn.global-dim(--size --85), ), ) ), 'dims'); @include iro.bem-object(iro.props-namespace()) { display: flex; position: relative; flex-direction: column; gap: fn.dim(--spacing); padding: fn.dim(--pad-y) fn.dim(--pad-x); border-radius: fn.dim(--rounding); background-color: fn.global-color(--bg); color: fn.global-color(--fg); &::before { content: ''; display: none; position: absolute; top: 0; left: calc(-1 * fn.dim(--arrow-size)); border: fn.dim(--arrow-size) solid fn.global-color(--bg); border-bottom-color: transparent; border-left-color: transparent; } @include iro.bem-elem('time') { margin-left: 1em; float: right; transform: translate(.2em, .2em); } @include iro.bem-modifier('compact') { gap: 0; padding: fn.dim(--compact --pad-y) fn.dim(--compact --pad-x); } } }