@@ -21,6 +21,7 @@ import {
2121 CTAStart ,
2222 CheckboxField ,
2323 ForgotPassword ,
24+ FormLayout ,
2425 LayoutCenter ,
2526 List ,
2627 ListItem ,
@@ -344,6 +345,190 @@ class DemoContainer extends React.Component {
344345 </ CTA >
345346 ) }
346347 />
348+ < h3 id = "layout-components-form-layout" className = "typography-size-4 mb-6" > Form Layout</ h3 >
349+ < p >
350+ Vertical Form Layout works similar to List except that List Items are not needed.
351+ Vertical form field layout is forced.
352+ </ p >
353+ < Documentation
354+ name = "Vertical Form Layout"
355+ component = { (
356+ < FormLayout >
357+ < >
358+ < TextField
359+ id = "formLayoutVerticalFirstName"
360+ changeHandler = { logger }
361+ label = "First Name"
362+ />
363+ < TextField
364+ id = "formLayoutVerticalLastName"
365+ changeHandler = { logger }
366+ label = "Last Name"
367+ />
368+ </ >
369+ < TextField
370+ id = "formLayoutVerticalEmail"
371+ changeHandler = { logger }
372+ label = "Email address"
373+ type = "email"
374+ helperText = "Optional"
375+ />
376+ < >
377+ < TextField
378+ id = "formLayoutVerticalAddress1"
379+ changeHandler = { logger }
380+ label = "Address"
381+ placeholder = "Address line 1"
382+ />
383+ < TextField
384+ id = "formLayoutVerticalAddress2"
385+ changeHandler = { logger }
386+ isLabelVisible = { false }
387+ label = "Address 2"
388+ placeholder = "Address line 2"
389+ />
390+ < TextField
391+ id = "formLayoutVerticalZip"
392+ changeHandler = { logger }
393+ helperText = "ZIP should be 5 to 6 digits long code."
394+ label = "ZIP"
395+ inputSize = { 6 }
396+ validationState = "invalid"
397+ />
398+ < TextField
399+ id = "formLayoutVerticalCountry"
400+ changeHandler = { logger }
401+ label = "Country"
402+ />
403+ < CheckboxField
404+ id = "formLayoutVerticalDelivery"
405+ changeHandler = { logger }
406+ label = "This is my delivery address"
407+ />
408+ </ >
409+ < SelectField
410+ id = "formLayoutVerticalFruit"
411+ changeHandler = { logger }
412+ label = "Your favourite fruit"
413+ options = { this . exampleOptions }
414+ />
415+ < TextArea
416+ id = "formLayoutVerticalMessage"
417+ changeHandler = { logger }
418+ fullWidth
419+ label = "Message"
420+ rows = { 3 }
421+ />
422+ < Toggle
423+ id = "formLayoutVerticalNewsletter"
424+ changeHandler = { logger }
425+ checked
426+ description = "Only once per week!"
427+ label = "Receive weekly newsletter"
428+ required
429+ />
430+ < Radio
431+ id = "formLayoutVerticalFruit2"
432+ changeHandler = { logger }
433+ label = "And fruit again!"
434+ options = { this . exampleOptions }
435+ value = "apples"
436+ />
437+ </ FormLayout >
438+ ) }
439+ />
440+ < p >
441+ Horizontal Form Layout is designed for horizontal form fields.
442+ It is applied starting from < code > md</ code > viewport size onwards.
443+ Horizontal form field layout is forced.
444+ </ p >
445+ < Documentation
446+ name = "Horizontal Form Layout"
447+ component = { (
448+ < FormLayout fieldLayout = "horizontal" >
449+ < >
450+ < TextField
451+ id = "formLayoutHorizontalFirstName"
452+ changeHandler = { logger }
453+ label = "First Name"
454+ />
455+ < TextField
456+ id = "formLayoutHorizontalLastName"
457+ changeHandler = { logger }
458+ label = "Last Name"
459+ />
460+ </ >
461+ < TextField
462+ id = "formLayoutHorizontalEmail"
463+ changeHandler = { logger }
464+ label = "Email address"
465+ type = "email"
466+ helperText = "Optional"
467+ />
468+ < >
469+ < TextField
470+ id = "formLayoutHorizontalAddress1"
471+ changeHandler = { logger }
472+ label = "Address"
473+ placeholder = "Address line 1"
474+ />
475+ < TextField
476+ id = "formLayoutHorizontalAddress2"
477+ changeHandler = { logger }
478+ isLabelVisible = { false }
479+ label = "Address 2"
480+ placeholder = "Address line 2"
481+ />
482+ < TextField
483+ id = "formLayoutHorizontalZip"
484+ changeHandler = { logger }
485+ helperText = "ZIP should be 5 to 6 digits long code."
486+ label = "ZIP"
487+ inputSize = { 6 }
488+ validationState = "invalid"
489+ />
490+ < TextField
491+ id = "formLayoutHorizontalCountry"
492+ changeHandler = { logger }
493+ label = "Country"
494+ />
495+ < CheckboxField
496+ id = "formLayoutHorizontalDelivery"
497+ changeHandler = { logger }
498+ label = "This is my delivery address"
499+ />
500+ </ >
501+ < SelectField
502+ id = "formLayoutHorizontalFruit"
503+ changeHandler = { logger }
504+ label = "Your favourite fruit"
505+ options = { this . exampleOptions }
506+ />
507+ < TextArea
508+ id = "formLayoutHorizontalMessage"
509+ changeHandler = { logger }
510+ fullWidth
511+ label = "Message"
512+ rows = { 3 }
513+ />
514+ < Toggle
515+ id = "formLayoutHorizontalNewsletter"
516+ changeHandler = { logger }
517+ checked
518+ label = "Receive weekly newsletter"
519+ required
520+ description = "Only once per week!"
521+ />
522+ < Radio
523+ id = "formLayoutHorizontalFruit2"
524+ changeHandler = { logger }
525+ label = "And fruit again!"
526+ options = { this . exampleOptions }
527+ value = "apples"
528+ />
529+ </ FormLayout >
530+ ) }
531+ />
347532 < h3 id = "layout-components-list" className = "typography-size-4 mb-6" > List</ h3 >
348533 < Documentation
349534 name = "Default list"
0 commit comments