'text', 'usage' => 'collect short text descriptions', 'common_use_cases' => 'collect text.', 'conditions' => 'show-hide,validation,required', 'datatype' => 'text', 'settings' => ['label', 'placeholder', 'defaultText', 'readOnly', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'textarea', 'usage' => 'Allow users to input longer, multi-line text entries.', 'common_use_cases' => 'Collect detailed comments, enter a description, provide feedback or notes.', 'conditions' => 'show-hide,validation,required', 'datatype' => 'text', 'settings' => ['label', 'placeholder', 'defaultText', 'readOnly', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'numeric', 'usage' => 'Allow users to input only numeric values.', 'common_use_cases' => 'age, quantity, order number.', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'defaultValue', 'placeholder', 'readOnly', 'required', 'hideLabel', 'className', 'numberOfDecimals', 'minimumValue', 'maximumValue', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'dropdown', 'usage' => 'Allow users to select one option from a predefined list. Best use for long list', 'common_use_cases' => 'Choose a country, select a product, pick a category, select a payment method.', 'multiple_options' => true, 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'placeholder', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'submit_button', 'usage' => 'Button to submit the form.', 'common_use_cases' => 'Submit button', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label'] ], [ 'name' => 'checkbox', 'usage' => 'Allow users to select one or more options from a predefined list.', 'common_use_cases' => 'Agree to terms, select multiple interests, choose applicable options. Support multiple options', 'multiple_options' => true, 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'placeholder', 'readOnly', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'layout:dropDown:1||2||3||inline'] ], [ 'name' => 'radio', 'usage' => 'Allow users to select one option from a predefined list. Best used for list with less than 6 options', 'common_use_cases' => 'chose multiple products, select a subscription plan, pick a preferred contact method.', 'multiple_options' => true, 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'placeholder', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'layout:dropDown:1||2||3||inline'] ], [ 'name' => 'buttonselection', 'usage' => 'Allow users to select one or multiple options using stilized choices, sometimes even with images. Recommended for small lists (less than 6 options) for better usability. Support Images.', 'common_use_cases' => 'Select a product variant, choose a service type, pick a meal preference.', 'multiple_options' => true, 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'layout:dropDown:1||2||3||inline', 'allowMultipleSelection'] ], [ 'name' => 'divider', 'usage' => 'Used to add a header to the form.', 'common_use_cases' => 'Group related fields, divide form sections, improve readability.', 'special_considerations' => 'Use the divider only for forms bigger than 30 fields, when specifically requested by the user or when you are creating a multi steps form', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'style:dropDown:dashed||solid', 'color:color', 'title:text', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'datepicker', 'usage' => 'Allow users to select a date from a calendar picker.', 'common_use_cases' => 'Choose a birthdate, select an appointment date, pick an event date.', 'datatype' => 'date', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'format', 'enableTime', 'placeholder', 'readOnly', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'firstDayOfWeek', 'defaultDate', 'disableWeek', 'minDate', 'maxDate'] ], [ 'name' => 'slider', 'usage' => 'Allow users to select a value within a range by dragging a handle.', 'common_use_cases' => 'Set a price range, choose a rating, select a quantity.', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'sliderDefaultValue', 'valueLabel', 'minValue', 'maxValue', 'step', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'switch', 'usage' => 'Allow users to toggle between two states, typically ON/OFF or Yes/No.', 'common_use_cases' => 'accept or reject something.', 'datatype' => 'boolean', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'checked', 'checked:checkBox', 'style:dropDown:rounded||square', 'checkedText:simpleText', 'uncheckedText:simpleText', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'signature', 'usage' => 'Allow users to draw a signature directly within the form.', 'common_use_cases' => 'Sign agreements.', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'email', 'usage' => 'Allow users to input a valid email address.', 'common_use_cases' => 'Collect contact information, verify user identity, send notifications.', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'placeholder', 'readOnly'] ], [ 'name' => 'address', 'usage' => 'Allow users to enter their physical address, including street, city, state, and postal code', 'common_use_cases' => 'Collect shipping details, billing addresses, and location information', 'datatype' => 'composed', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'showAddress2:checkBox', 'showCity:checkBox', 'showState:checkBox', 'showZip:checkBox', 'showCountry:checkBox', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'address1Label:simpleText', 'address1Placeholder:simpleText', 'address1DefaultValue:simpleText', 'address2Label:simpleText', 'address2Placeholder:simpleText', 'address2DefaultValue:simpleText', 'cityLabel:simpleText', 'cityPlaceholder:simpleText', 'cityDefaultValue:simpleText', 'stateLabel:simpleText', 'statePlaceholder:simpleText', 'stateDefaultValue:simpleText', 'zipLabel:simpleText', 'zipPlaceholder:simpleText', 'zipDefaultValue:simpleText', 'countryLabel:simpleText', 'countryPlaceholder:simpleText', 'countryDefaultValue:simpleText'] ], [ 'name' => 'termofservice', 'usage' => 'Display the term of services.', 'common_use_cases' => 'User agreements, privacy policies, service terms acknowledgment', 'special_considerations' => 'This field does not require a label ', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'termOfServiceText', 'linkType:dropDown:popup||openinanothertab', 'popUpTitle:simpleText', 'popUpContent:text'] ], [ 'name' => 'name', 'usage' => 'Allow users to enter a name', 'common_use_cases' => 'Collect name information', 'datatype' => 'composed', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'format:dropDown:single||first_and_last', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'firstNameLabel:simpleText', 'firstNameDefaultText:simpleText', 'firstNamePlaceholder:simpleText', 'lastNameLabel:simpleText', 'lastNameDefaultText:simpleText', 'lastNamePlaceholder:simpleText'] ], [ 'name' => 'rank', 'usage' => 'Allow users to select a ranking value, represented with stars.', 'common_use_cases' => 'Rate a product, evaluate an experience.', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'repeater', 'usage' => 'Allow users to dynamically add multiple sets of the same group of fields.', 'common_use_cases' => 'Collect multiple addresses, add team members, input multiple product variations.', 'special_considerations' => 'Ensure the repeater is used for fields that logically repeat, avoiding unnecessary complexity. The repeater field should have a property called RepeaterFields which should contain all the fields that should be added to the repeater', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'showSubTotal:checkBox'] ], [ 'name' => 'simpletext', 'usage' => 'Display static text with simple formatting to provide users with descriptions, instructions, or informational content.', 'common_use_cases' => 'Show instructions, present a detailed explanation or disclaimer, display formatted descriptions with bold, italic, or lists.', 'special_considerations' => 'Use this field for any display-only text that needs simple formatting (bold, italic, lists, headings, links, etc.). Prefer this over the html field for descriptions and formatted text. Only use the html field for advanced layouts like tables. When creating this field, include a "content" property with the HTML string to display. Example: {"name": "simpletext", "label": "Instructions", "content": "
Please fill out the form below.
"}', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label', 'textPosition:dropDown:bottom||left||right', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'text:text'] ], [ 'name' => 'html', 'usage' => 'Display static HTML content to provide users with formatted information or descriptions.', 'common_use_cases' => 'Show formatted instructions, display a styled introduction, present embedded links or rich text disclaimers.', 'special_considerations' => 'This field is a last resort. Only use it when no other field can achieve the desired result (e.g., tables, complex formatted content). Do NOT use it for headers or section separators — use the divider field instead. Do NOT use it for plain text or descriptions — use the simpletext field instead. This field is for display purposes only, it does not accept any user input. Only basic HTML tags are supported. JavaScript is not allowed. When creating this field, include a "content" property with the HTML string to display. Example: {"name": "html", "label": "Info", "content": "Welcome
"}', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label', 'htmlContent:text', 'hideLabel', 'className'] ], [ 'name' => 'image', 'usage' => 'Display a static image to provide visual information or context to users.', 'common_use_cases' => 'Show a logo, display a product photo, present a diagram or illustration.', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'alignment:dropDown:left||center||right||stretch||banner', 'allowZoom:checkBox', 'width:number', 'height:number', 'bannerStyle:dropDown:cover||contain||auto', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'masked', 'usage' => 'Allow users to input data in a predefined format with a visual mask guiding the entry.', 'common_use_cases' => 'Collect phone numbers, credit card numbers, social security numbers', 'conditions' => 'show-hide, validation, required', 'datatype' => 'text', 'settings' => ['label', 'placeholder', 'defaultText', 'readOnly', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'maskType', 'mask'] ], [ 'name' => 'colorpicker', 'usage' => 'Allow users to select a color from a visual picker or input a color value.', 'common_use_cases' => 'Choose a theme color, select a product color.', 'conditions' => 'show-hide, validation, required', 'datatype' => 'text', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'defaultColor:color'] ], [ 'name' => 'colorswatcher', 'usage' => 'Allow users to select a color from a list of predefined available color.', 'common_use_cases' => 'Choose a theme color, select a product color.', 'conditions' => 'show-hide, validation, required', 'special_considerations' => 'the color name (blue for example) should be saved in the property called colorLabel and its hex value should be saved in the property called colorHex', 'multiple_options' => true, 'datatype' => 'multiple_options', 'settings' => ['label', 'placeholder', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'colorOptions', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'layout:dropDown:1||2||3||inline', 'allowMultipleSelection'] ], [ 'name' => 'survey', 'usage' => 'Allow users to answer a single question(like how satisfied are you with us) by rating it across multiple predefined areas(like pricing, support and shipping) with the same set of responses (like satisfied, neutral, not satisfied).', 'common_use_cases' => 'Rate satisfaction with a product across aspects like support, delivery, and pricing; evaluate a service based on quality, speed, and cost.', 'conditions' => 'show-hide, validation, required', 'special_considerations' => 'Requires a main question and a list of areas (e.g., Support, Delivery, Pricing) with shared response options (e.g., Satisfied, Neutral, Not Satisfied). The areas are saved in the property called area and the responses in the property called responses', 'datatype' => 'none', 'settings' => ['label'] ], [ 'name' => 'fileupload', 'usage' => 'Allow users to upload one or more files from their device.', 'common_use_cases' => 'upload a photo or document', 'conditions' => 'show-hide, validation, required', 'special_considerations' => 'May include restrictions like file type (e.g., PDF, JPG) or size limits; specify if multiple files are allowed.', 'datatype' => 'none', 'settings' => ['label', 'allowedExtensions:simpleText', 'allowMultipleFiles:checkBox', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'imagepicker', 'usage' => 'Allow users to select one or more images from a predefined gallery.', 'common_use_cases' => 'Choose a profile picture, select a product image, pick a design template.', 'conditions' => 'show-hide, validation, required', 'multiple_options' => true, 'datatype' => 'multiple_options', 'settings' => ['label', 'required', 'imageWidth:number', 'imageHeight:number', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'allowMultipleSelection'] ], [ 'name' => 'total', 'usage' => 'Display the calculated total price of the form.', 'common_use_cases' => 'Show the total cost of selected items, present a final order amount.', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'password', 'usage' => 'Allow users to input a secure password with masked characters for privacy.', 'common_use_cases' => 'Collect login password.', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'defaultText:simpleText', 'readOnly'] ], [ 'name' => 'googlemaps', 'usage' => 'Allow users to submit an address or calculate the distance between two addresses using Google Maps.', 'common_use_cases' => 'Enter a shipping address, select a pickup location, determine travel distance between points.', 'conditions' => 'show-hide, validation, required', 'special_considerations' => 'Use this field only when requested by the user.', 'datatype' => 'none', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'address1Label:simpleText', 'address2Label:simpleText', 'cityLabel:simpleText', 'stateLabel:simpleText', 'zipLabel:simpleText', 'countryLabel:simpleText'] ], [ 'name' => 'website', 'usage' => 'Allow users to input a website URL.', 'common_use_cases' => 'Collect a personal website, submit a business URL, provide a portfolio link.', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'defaultText:simpleText', 'readOnly'] ], [ 'name' => 'productgroup', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label', 'showSubTotal:checkBox'] ], [ 'name' => 'collapsible', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label'] ], [ 'name' => 'appointment', 'datatype' => 'date', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'number_format', 'usage' => 'Allow users to input a number with predefined formatting, such as currency.', 'common_use_cases' => 'Show a number formatted as currency, specify a discount percentage', 'conditions' => 'show-hide, validation, required', 'datatype' => 'number' ], [ 'name' => 'popup', 'datatype' => 'none', 'conditions' => 'show-hide', 'settings' => ['label', 'itemLabel:simpleText', 'noItem'] ], [ 'name' => 'rank', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'autocomplete', 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'allowMultipleSelection'] ], [ 'name' => 'customdropdown', 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'options', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'allowMultipleSelection'] ], [ 'name' => 'itable', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'richtext', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'qrscanner', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'discount', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label'] ], [ 'name' => 'buttoncounter', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'defaultValue', 'minValue', 'maxValue', 'step', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'rating', 'datatype' => 'number', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'defaultValue', 'numberOfItems:number', 'allowHalf:checkBox', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'hidden', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'value:simpleText', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip'] ], [ 'name' => 'list', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'enableMultipleColumns:checkBox', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'columns'] ], [ 'name' => 'textualimage', 'datatype' => 'none', 'conditions' => 'show-hide,validation,required', 'settings' => ['label', 'required', 'hideLabel', 'className', 'showDescription', 'description', 'tooltip', 'image:image'] ], [ 'name' => 'fontpicker', 'datatype' => 'multiple_options', 'conditions' => 'show-hide,validation,required' ], [ 'name' => 'qrscanner', 'datatype' => 'text', 'conditions' => 'show-hide,validation,required' ] ];