<div class="form-builder">
    <div class="form-builder__container">
        <form class="dynamic-form" action="/some-target/" method="POST" data-validation="false" data-jump-to-error-message="true">
            <div class="dynamic-form__message--full-width">
                <div class="message--error is-hidden">
                    <div class="message__container--disabled">
                        <span class="visually-hidden">Error message</span>
                        <div class="message__content">
                            <p class="message__text"><b>Error</b>. The form is not valid! Please check the fields in this dialog</p>
                        </div>
                        <div class="message__close-button">
                            <button class="button-icon--icon-regular -icon-close" type="button" name="close-big-menu" value="yes">
                                <span class="visually-hidden">Schliessen</span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
            <fieldset class="dynamic-form__fieldset--full-width">
                <div class="dynamic-form__element">
                    <div class="select--light is-initialized with-label">
                        <div class="select__wrapper">
                            <select class="select__select" id="salutation" name="salutation" required>

                                <option value="" disabled selected>Bitte wählen</option>
                                <option value="mr">Herr</option>
                                <option value="ms">Frau</option>
                            </select>
                            <label class="select__label" for="salutation">Anrede
                                *
                            </label>
                        </div>

                    </div>

                </div>

                <div class="dynamic-form__element">
                    <div class="text-field--light is-initialized">
                        <div class="text-field__wrapper">
                            <input class="text-field__input" id="firstName" type="text" name="firstName" required />
                            <label class="text-field__label" for="firstName">Vorname
                                *
                            </label>
                        </div>

                    </div>

                </div>

                <div class="dynamic-form__element">
                    <div class="text-field--light is-initialized">
                        <div class="text-field__wrapper">
                            <input class="text-field__input" id="lastName" type="text" name="lastName" required />
                            <label class="text-field__label" for="lastName">Nachname
                                *
                            </label>
                        </div>

                    </div>

                </div>

                <div class="dynamic-form__element">
                    <div class="text-field--light is-initialized">
                        <div class="text-field__wrapper">
                            <input class="text-field__input" id="mail" type="email" name="mail" required />
                            <label class="text-field__label" for="mail">E-Mail Adresse
                                *
                            </label>
                        </div>

                    </div>

                </div>

                <div class="dynamic-form__element--zip-city">
                    <div class="text-field--light is-initialized">
                        <div class="text-field__wrapper">
                            <input class="text-field__input" id="zip" type="text" name="zip" required />
                            <label class="text-field__label" for="zip">PLZ
                                *
                            </label>
                        </div>

                    </div>

                    <div class="text-field--light is-initialized">
                        <div class="text-field__wrapper">
                            <input class="text-field__input" id="city" type="text" name="city" required />
                            <label class="text-field__label" for="city">Ort
                                *
                            </label>
                        </div>

                    </div>

                </div>
                <div class="dynamic-form__element">
                    <div class="select--light is-initialized is-filled-in with-label">
                        <div class="select__wrapper">
                            <select class="select__select" id="country" name="country" required>

                                <option value="" disabled>Bitte wählen</option>
                                <option value="ch" selected="selected">Schweiz</option>
                                <option value="de">Deutschland</option>
                                <option value="fr">Frankreich</option>
                                <option value="it">Italien</option>
                                <option value="li">Lichtenstein</option>
                            </select>
                            <label class="select__label" for="country">Land
                                *
                            </label>
                        </div>

                    </div>

                </div>

                <div class="dynamic-form__element">
                    <div class="text-area--light is-initialized">
                        <div class="text-area__wrapper">
                            <textarea class="text-area__input" id="message" name="message" required maxlength="999">
					</textarea>
                            <label class="text-area__label" for="message">Nachricht
                                *
                            </label>
                        </div>

                    </div>

                </div>

            </fieldset>
            <button class="button--primary-small" type="submit">Absenden</button>
        </form>
    </div>
</div>
{% include '@SharedComponents/modules/bricks/components/form-builder/form-builder.twig' %}
{
  "form": {
    "variant": "full-width",
    "form": {
      "method": "POST",
      "action": "/some-target/",
      "jumpToErrorMessage": true,
      "message": {
        "closeButton": {
          "variant": "icon-regular",
          "title": "Schliessen",
          "icon": "close",
          "type": "button",
          "role": "button",
          "name": "close-big-menu",
          "value": "yes"
        },
        "isHidden": true,
        "container": false,
        "labels": {
          "info": "Information message",
          "error": "Error message",
          "warning": "Warning message",
          "success": "Success message"
        },
        "variant": "error",
        "message": "<b>Error</b>. The form is not valid! Please check the fields in this dialog"
      }
    },
    "fields": [
      {
        "component": "select",
        "variant": "light",
        "id": "salutation",
        "name": "salutation",
        "label": "Anrede",
        "required": true,
        "disabled": false,
        "selected": false,
        "options": {
          "mr": "Herr",
          "ms": "Frau"
        },
        "choose": "Bitte wählen",
        "error": ""
      },
      {
        "component": "text-field",
        "variant": "light",
        "id": "firstName",
        "name": "firstName",
        "label": "Vorname",
        "required": true,
        "value": "",
        "disabled": false,
        "type": "text",
        "autocomplete": false,
        "error": ""
      },
      {
        "component": "text-field",
        "variant": "light",
        "id": "lastName",
        "name": "lastName",
        "label": "Nachname",
        "required": true,
        "value": "",
        "disabled": false,
        "type": "text",
        "autocomplete": false,
        "error": ""
      },
      {
        "component": "text-field",
        "variant": "light",
        "id": "mail",
        "name": "mail",
        "label": "E-Mail Adresse",
        "required": true,
        "value": "",
        "disabled": false,
        "type": "email",
        "autocomplete": false
      },
      {
        "component": "text-field-zip-city",
        "variant": "light",
        "id": "zip",
        "name": "zip",
        "label": "PLZ",
        "required": true,
        "value": "",
        "disabled": false,
        "type": "text",
        "autocomplete": false,
        "error": ""
      },
      {
        "component": "text-field-zip-city",
        "variant": "light",
        "id": "city",
        "name": "city",
        "label": "Ort",
        "required": true,
        "value": "",
        "disabled": false,
        "type": "text",
        "autocomplete": false,
        "error": ""
      },
      {
        "component": "select",
        "variant": "light",
        "id": "country",
        "name": "country",
        "label": "Land",
        "required": true,
        "disabled": false,
        "selected": "ch",
        "options": {
          "ch": "Schweiz",
          "de": "Deutschland",
          "fr": "Frankreich",
          "it": "Italien",
          "li": "Lichtenstein"
        },
        "choose": "Bitte wählen",
        "error": ""
      },
      {
        "component": "text-area",
        "variant": "light",
        "id": "message",
        "name": "message",
        "label": "Nachricht",
        "required": true,
        "value": "",
        "disabled": false,
        "maxlength": 999,
        "error": "",
        "helper": ""
      }
    ],
    "submitButton": {
      "variant": "primary-small",
      "type": "button",
      "title": "Absenden"
    }
  }
}
  • Content:
    import './form-builder.scss';
    import FormBuilder, {selector as sel} from 'cando-cx-components-library/components/modules/bricks/components/form-builder/form-builder';
    
    export default FormBuilder;
    export const selector = sel;
  • URL: /components/raw/form-builder/form-builder.js
  • Filesystem Path: src/components/modules/bricks/components/form-builder/form-builder.js
  • Size: 224 Bytes
  • Content:
    @import "~shared/base";
    @import "~cando-cx-components-library/components/modules/bricks/components/form-builder/form-builder";
  • URL: /components/raw/form-builder/form-builder.scss
  • Filesystem Path: src/components/modules/bricks/components/form-builder/form-builder.scss
  • Size: 126 Bytes

This component is named by the module ‘form builder’ itself