@use 'sass:meta'; @use 'iro-sass/src/bem'; @use 'iro-sass/src/props'; @use '../props' as *; @forward 'button-group.vars'; @use 'button-group.vars' as vars; @use '../objects/action-button.vars' as action-button; @mixin styles { @include materialize-at-root(meta.module-variables('vars')); @include bem.layout('button-group') { display: inline-flex; flex-wrap: wrap; gap: props.get(vars.$gap); @each $mod, $size in vars.$sizes { @include bem.modifier($mod) { gap: props.get($size); } } @include bem.modifier('align-block') { margin-inline: calc(-1 * props.get(action-button.$pad-i) - props.get(action-button.$border-width)); @include bem.modifier('pill') { margin-inline: calc(-1 * props.get(action-button.$pad-i-pill) - props.get(action-button.$border-width)); } @include bem.modifier('icon') { margin-inline: calc(-1 * props.get(action-button.$pad-b) - props.get(action-button.$border-width) - .5em * (props.get(action-button.$line-height) - 1)); } @each $mod, $pad-i, $pad-i-label, $pad-i-pill, $pad-b, $font-size in action-button.$fixed-sizes { @include bem.modifier($mod) { margin-inline: calc(-1 * props.get($pad-i) - props.get(action-button.$border-width)); @include bem.modifier('pill') { margin-inline: calc(-1 * props.get($pad-i-pill) - props.get(action-button.$border-width)); } @include bem.modifier('icon') { margin-inline: calc(-1 * props.get($pad-b) - props.get(action-button.$border-width) - .5em * (props.get(action-button.$line-height) - 1)); } } } } } }