@use "sass:meta"; @use "pkg:iro-sass/bem"; @use "pkg:iro-sass/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; } } } }