@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @include iro.props-namespace('popover') { @include iro.props-store(( --dims: ( --z-index: 10000, --pad-i: 0, --pad-b: fn.global-dim(--size --85), --separator: fn.global-dim(--size --85), --rounding: fn.global-dim(--rounding), --border: fn.global-dim(--border --thin), ), --colors: ( --bg: fn.global-color(--bg-l2), --border: fn.global-color(--border), --shadow: 0 .2em .5em rgba(#000, .1), ), )); @include iro.bem-object(iro.props-namespace()) { position: absolute; z-index: fn.dim(--z-index); inset-block-start: 0; inset-inline-start: 0; padding-block: fn.dim(--pad-b); padding-inline: fn.dim(--pad-i); transform: translate(var(--x), var(--y)); border: fn.dim(--border) solid fn.color(--border); border-radius: fn.dim(--rounding); background-color: fn.color(--bg); box-shadow: fn.color(--shadow); @include iro.bem-modifier('up-left') { transform: translate(var(--x), calc(var(--y) - 100%)); } @include iro.bem-modifier('up-right') { transform: translate(calc(var(--x) - 100%), calc(var(--y) - 100%)); } @include iro.bem-modifier('down-right') { transform: translate(calc(var(--x) - 100%), var(--y)); } } }