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