@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../objects/field-label'; @include iro.props-namespace('form') { @include iro.props-store(( --dims: ( --item-spacing-y: fn.global-dim(--size --325), --label-spacing-x: fn.global-dim(--size --325), --hint-font-size: fn.global-dim(--font-size --75), ), ), 'dims'); @include iro.bem-layout(iro.props-namespace()) { display: flex; flex-direction: column; gap: fn.dim(--item-spacing-y) fn.dim(--label-spacing-x); @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('labels-left', 'labels-right') { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto; align-items: baseline; @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; } } } }