@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @include iro.props-namespace('form') { @include iro.props-store(( --dims: ( --item-spacing-y: fn.global-dim(--spacing --y --md), --label-spacing-x: fn.global-dim(--spacing --x --md), --hint-font-size: fn.global-dim(--font-size --sm), ), ), 'dims'); @include iro.bem-layout(iro.props-namespace()) { display: flex; flex-direction: column; align-items: baseline; gap: fn.dim(--item-spacing-y) fn.dim(--label-spacing-x); @include iro.bem-modifier('labels-left', 'labels-right') { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto; @include iro.bem-elem('item') { display: contents; } @include iro.bem-elem('item-label') { grid-column: 1; padding-right: 0; } @include iro.bem-elem('item-content') { grid-column: 2; margin-top: 0; } } @include iro.bem-modifier('labels-right') { @include iro.bem-elem('item-label') { text-align: right; } } } }