Demos
Basic FormRow
<FormRow><Input label="Default horizontal FormRow:" placeholder="Input ..." /></FormRow>
Vertical FormRow
<FormRow direction="vertical" label="Label legend for the inputs:"><Input label="Vertical direction:" placeholder="Input A ..." /><Inputlabel="Vertical direction:"placeholder="Input B ..."top="small"/></FormRow>
Vertical aligned labels
Only the labels are vertically aligned - while the input labels are still horizontal.
<FormRowlabel={<Ingress top="0" bottom="small">Custom legend:</Ingress>}label_direction="vertical"><Input label="Label A:" value="Input A" right="small" /><Input label="Label B:" value="Input B" /></FormRow>
Combine both vertical and horizontal FormRow's
// 1. In the nested FormRow we reset the layout to not be vertical// 2. So we can use a different direction ("label_direction")// 1. In the nested FormRow we reset the layout to not be vertical// 2. So we can use a different direction ("label_direction")render(<FormRowlabel={<Spaceelement="span"className="dnb-h--large"top={false}bottom="large"no_collapse={true}>Custom vertical legend:</Space>}vertical><Input label="Vertical input A" /><Input label="Vertical input B" top="medium" /><FormRow vertical={false} label_direction="horizontal" top="medium"><Input label="Horizontal input A" right="small" /><Input label="Horizontal input B" /></FormRow><Input label="Vertical input C" top="medium" /></FormRow>)
Several components inside a horizontal FormRow - not wrapping
<FormRowlabel="A long horizontal legend (FormLabel) with a lot of informative text:"direction="horizontal"><Input label="Input label A:" right="small" /><Input label="Input label B:" /></FormRow>
wrap
) horizontal FormRow
Several components inside a wrapping (<FormRowlabel="Long label labwl Adipiscing mauris dis proin nec Condimentum egestas class blandit netus non a suscipit id urna:"direction="horizontal"wrap><Input label="Input A:" top="small" right="small" /><Input label="Input B:" top="small" right="small" /><Input label="Input C:" top="small" right="small" /></FormRow>
Legend usage
<FormSet label_direction="vertical"><FormRow label="Label legend for the inputs:"><Inputlabel="Vertical label direction:"placeholder="Input A ..."right="small"/><Input label="Vertical label direction:" placeholder="Input B ..." /></FormRow><FormRow label="Checkbox legend:" top="medium"><Checkbox label="Checkbox" /></FormRow></FormSet>
Inherit context
<FormRow vertical={true} disabled={true}><Input label="Vertical input A:" placeholder="Input A ..." /><Inputlabel="Vertical input B:"placeholder="Input B ..."top="medium"/></FormRow>
Combining different components and directions
const PhoneRow = styled(FormRow)`.dnb-dropdown__shell,.dnb-dropdown__list {width: auto;min-width: 6rem;}@media screen and (max-width: 40em) {.dnb-dropdown {margin-bottom: 0.5rem;}}`render(<FormRow vertical={true}><Input label="Input" placeholder="Input ..." bottom /><PhoneRowlabel="Phone number"label_direction="vertical"vertical={false}><Dropdownright="small"title="Country code"data={['+47', '+48', '+49']}value={0}/><Input placeholder="Your phone number" /></PhoneRow></FormRow>)
Section style
The label
property can be used to set a row label as well as the section_style
is supported
<FormRowverticalsection_style="mint-green"section_spacinglabel="A long horizontal legend (FormLabel) with a lot of informative text:"><Checkbox label="Checkbox" /></FormRow>