[//]: # 'AUTO INSERT HEADER PREPUBLISH' # Form System Overview ```js script export default { title: 'Forms/System/Overview', }; ``` This page should be used as a starting point when first using the Form System. It provides an overview of its essential building blocks and provides links to detailed explanations of most of its core concepts. ## Building Blocks Our Form System is built from a set of very fundamental building blocks: `form control`s, `field`s and `fieldset`s. ### Form Controls `Form control`s are the most fundamental building blocks of our Form System. They are the fundament of both `field`s, and `fieldset`s and provide a normalized, predictable api throughout the whole form. Every form element inherits from `FormControlMixin`. `FormControlMixin` creates the default html structure and accessibility is designed to be used in conjunction with the ValidateMixin and the FormatMixin. ### Fields Fields (think of an input, texarea, select) are the actual form controls the end user interacts with. They extend `LionField`, which in turn uses the `FormControlMixin`. Fields provide a normalized api for both platform components and custom made form controls. On top of this, they offer: - [formatting/parsing/serializing](?path=/docs/forms-system-formatting-and-parsing--parser) of view values - advanced [validation](?path=/docs/forms-validation-overview--main#validate) possibilities - creation of advanced user interaction scenarios via [interaction states](?path=/docs/forms-system-interaction-states--interaction-states) - provision of labels and help texts in an easy, declarative manner - accessibility out of the box - advanced styling possibilities: map your own Design System to the internal HTML structure #### Platform fields (wrappers) Platform field wrappers add all of the functionality described above to native form elements. - [LionInput](?path=/docs/forms-input--default-story), a wrapper for `` - [LionTextarea](?path=/docs/forms-textarea--default-story), a wrapper for `