@use 'sass:meta'; @use 'iro-sass/src/iro-sass' as iro; @use '../props'; @forward 'form.vars'; @use 'form.vars' as vars; @mixin styles { @include props.materialize(meta.module-variables('vars')); @include iro.bem-layout('form') { display: flex; flex-direction: column; gap: props.get(vars.$item-spacing-b) props.get(vars.$label-spacing-i); @include iro.bem-elem('item') { display: block; } @include iro.bem-elem('item-content') { @include iro.bem-modifier('align-start') { align-self: start; } } @include iro.bem-modifier('row') { flex-direction: row; align-items: flex-end; } @include iro.bem-modifier('labels-start', 'labels-end') { display: grid; grid-template-rows: auto; grid-template-columns: auto 1fr; align-items: baseline; @include iro.bem-elem('item') { display: contents; } @include iro.bem-elem('item-label') { grid-column: 1; padding-inline-end: 0; } @include iro.bem-elem('item-content') { grid-column: 2; margin-block-start: 0; } } @include iro.bem-modifier('labels-end') { @include iro.bem-elem('item-label') { text-align: end; } } } }