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