File: //home/parhudrw/saifookhan.com/wp-content/plugins/calculated-fields-form/js/schema.min.json
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Form Structure Schema","description":"A form represented as an array with exactly two items: an array of field objects, and an array containing a single object for general form settings.","type":"array","minItems":2,"maxItems":2,"items":[{"type":"array","title":"Form Fields","description":"An array of form field objects. Each field must be one of the available types.","items":{"anyOf":[{"$ref":"#/definitions/ftext"},{"$ref":"#/definitions/fcurrency"},{"$ref":"#/definitions/fnumber"},{"$ref":"#/definitions/fslider"},{"$ref":"#/definitions/fcolor"},{"$ref":"#/definitions/femail"},{"$ref":"#/definitions/fdate"},{"$ref":"#/definitions/ftimeslots"},{"$ref":"#/definitions/ftextarea"},{"$ref":"#/definitions/fcheck"},{"$ref":"#/definitions/fradio"},{"$ref":"#/definitions/fdropdown"},{"$ref":"#/definitions/ffile"},{"$ref":"#/definitions/fpassword"},{"$ref":"#/definitions/fPhone"},{"$ref":"#/definitions/fCommentArea"},{"$ref":"#/definitions/fhidden"},{"$ref":"#/definitions/fSectionBreak"},{"$ref":"#/definitions/fPageBreak"},{"$ref":"#/definitions/fsummary"},{"$ref":"#/definitions/ffieldset"},{"$ref":"#/definitions/fdiv"},{"$ref":"#/definitions/fpopup"},{"$ref":"#/definitions/fMedia"},{"$ref":"#/definitions/frecordav"},{"$ref":"#/definitions/fButton"},{"$ref":"#/definitions/fhtml"},{"$ref":"#/definitions/facceptance"},{"$ref":"#/definitions/fqrcode"},{"$ref":"#/definitions/fCalculated"}]}},{"type":"array","title":"General Form Settings","description":"An array with exactly one object containing the general settings of the form.","minItems":1,"maxItems":1,"items":{"type":"object","title":"Form Settings","properties":{"title":{"description":"The title of the form, displayed prominently at the top.","type":"string","example":"Contact form"},"description":{"description":"Subtitle or descriptive text below the title.","type":"string","example":"Basic contact form – enter your name, email, and subject."},"formlayout":{"description":"Default alignment of field labels relative to their inputs.","type":"string","enum":["top_aligned","left_aligned","right_aligned"],"default":"top_aligned"},"formtemplate":{"description":"Design template determining visual appearance.","type":"string","enum":["cp_cff_letter","cp_cff_professional","cp_cff_natural","cp_cff_elegant","cp_cff_decorative","cp_cff_clean","cp_cff_minimalist","cp_cff_dark_notebook","cp_cff_box","cp_cff_pastel","cp_cff_11","cp_cff_12","cp_cff_13","cp_cff_14"],"default":"cp_cff_13"},"request_cost":{"description":"Field name holding the final calculated cost (must match a field with name pattern 'fieldname[number]').","type":"string","pattern":"^fieldname[1-9][0-9]*$","example":"fieldname5"},"evalequations":{"description":"When 1, calculated fields re-evaluate automatically on operand changes; when 0, only on manual trigger.","type":"integer","enum":[0,1],"default":1},"customstyles":{"description":"Custom CSS class definitions to use with 'csslayout' properties. Include '!important' to override.","type":"string","example":".email-field label { font-weight: bold !important; }"},"evalequationsevent":{"description":"1 = evaluate on 'onchange' only; 2 = evaluate on 'onchange' or 'onkeyup'.","type":"integer","enum":[1,2],"default":2}},"required":["formlayout","evalequations","formtemplate","evalequationsevent"],"additionalProperties":true}}],"definitions":{"common":{"name":{"description":"Unique identifier, must follow pattern 'fieldname' followed by a positive integer (e.g., fieldname1, fieldname42).","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Overrides the global form layout for this field. Options: 'default' (use global), 'top_aligned', 'left_aligned', 'right_aligned'.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short descriptive text for the field (e.g., 'Name').","type":"string","example":"Name"},"userhelp":{"description":"Help text or instructions displayed inline or as a tooltip.","type":"string","example":"Enter your email in format [email protected]"},"userhelpTooltip":{"description":"If true, userhelp is shown as a tooltip; otherwise inline.","type":"boolean","default":false},"tooltipIcon":{"description":"If true and userhelpTooltip is true, shows an icon that triggers the tooltip.","type":"boolean","default":false},"csslayout":{"description":"Space-separated CSS class names for custom styling.","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"If true, the field is hidden from view.","type":"boolean","default":false},"advanced":{"description":"Advanced CSS styling rules for field components.","type":"object","properties":{"css":{"type":"object","properties":{"container":{"type":"object","properties":{"rules":{"type":"object","description":"CSS property-value pairs for the field container."}}},"label":{"type":"object","properties":{"rules":{"type":"object"}}},"input":{"type":"object","properties":{"rules":{"type":"object"}}},"help":{"type":"object","properties":{"rules":{"type":"object"}}}}}}},"title":{"description":"Main label for the field.","type":"string","default":""},"autocomplete":{"description":"HTML5 autocomplete attribute value. Controls browser auto-fill behavior.","type":"string","enum":["off","on","name","honorific-prefix","given-name","additional-name","family-name","honorific-suffix","nickname","email","username","new-password","current-password","one-time-code","organization-title","organization","street-address","address-line1","address-line2","address-line3","address-level4","address-level3","address-level2","address-level1","country","country-name","postal-code","cc-name","cc-given-name","cc-additional-name","cc-family-name","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc","cc-type","transaction-currency","transaction-amount","language","bday","bday-day","bday-month","bday-year","sex","tel","tel-country-code","tel-national","tel-area-code","tel-local","tel-extension","impp","url","photo"],"default":"off"},"predefined":{"description":"Initial value pre-populated in the field.","type":"string","default":""},"predefinedClick":{"description":"If true, predefined value acts as a placeholder (disappears on focus).","type":"boolean","default":false},"required":{"description":"If true, the field must be filled before submission.","type":"boolean","default":false},"exclude":{"description":"If true, the field is excluded from form submission.","type":"boolean","default":false},"accept_html":{"description":"If true, HTML tags in the field value are preserved; otherwise they are stripped (sanitized).","type":"boolean","default":false},"readonly":{"description":"If true, the field cannot be edited by the user.","type":"boolean","default":false},"size":{"description":"Relative width of the field: 'small' (25%), 'medium' (50%), 'large' (100%).","type":"string","enum":["small","medium","large"],"default":"large"},"minlength":{"description":"Minimum number of characters required.","type":"integer","default":0},"maxlength":{"description":"Maximum number of characters allowed.","type":"integer"},"equalTo":{"description":"Name of another field whose value must match this field's value.","type":"string","default":""},"regExp":{"description":"Regular expression pattern for validation.","type":"string","default":"","example":"/\\S+/"},"regExpMssg":{"description":"Error message shown when the regex validation fails.","type":"string","default":""},"numberpad":{"description":"If true, shows a numeric keypad on mobile devices.","type":"boolean","default":false},"spinner":{"description":"If true, displays spinner buttons to increment/decrement numeric values.","type":"boolean","default":false}},"ftext":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"ftext"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"autocomplete":{"$ref":"#/definitions/common/autocomplete"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"readonly":{"$ref":"#/definitions/common/readonly"},"size":{"$ref":"#/definitions/common/size"},"minlength":{"$ref":"#/definitions/common/minlength"},"maxlength":{"$ref":"#/definitions/common/maxlength"},"equalTo":{"$ref":"#/definitions/common/equalTo"},"regExp":{"$ref":"#/definitions/common/regExp"},"regExpMssg":{"$ref":"#/definitions/common/regExpMssg"}},"required":["name","ftype","title"],"additionalProperties":true},"fcurrency":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fcurrency"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"numberpad":{"$ref":"#/definitions/common/numberpad"},"spinner":{"$ref":"#/definitions/common/spinner"},"size":{"$ref":"#/definitions/common/size"},"currencySymbol":{"description":"Symbol displayed before the currency value (e.g., '$').","type":"string","default":""},"currencyText":{"description":"Currency code displayed after the value (e.g., 'USD').","type":"string","default":""},"thousandSeparator":{"description":"Symbol for thousands grouping (e.g., ',').","type":"string","default":""},"centSeparator":{"description":"Decimal separator (e.g., '.').","type":"string","default":"."},"noCents":{"description":"If true, hide cents (decimal part).","type":"boolean","default":false},"min":{"description":"Minimum allowed numeric value.","type":"number"},"max":{"description":"Maximum allowed numeric value.","type":"number"},"step":{"description":"Increment step for spinner.","type":"number"},"formatDynamically":{"description":"If true, value is formatted as currency while typing.","type":"boolean","default":false},"twoDecimals":{"description":"If true and formatDynamically is true, enforce two decimal places.","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fnumber":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fnumber"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"numberpad":{"$ref":"#/definitions/common/numberpad"},"spinner":{"$ref":"#/definitions/common/spinner"},"size":{"$ref":"#/definitions/common/size"},"prefix":{"description":"Symbol displayed before the number (e.g., '$').","type":"string","default":""},"postfix":{"description":"Text appended after the number (e.g., 'kg').","type":"string","default":""},"thousandSeparator":{"description":"Thousands grouping symbol.","type":"string","default":""},"decimalSymbol":{"description":"Decimal separator symbol.","type":"string","default":"."},"min":{"description":"Minimum allowed value.","type":"number"},"max":{"description":"Maximum allowed value.","type":"number"},"step":{"description":"Increment step.","type":"number"},"formatDynamically":{"description":"If true, format number as typed (prefix, postfix, separators).","type":"boolean","default":false},"twoDecimals":{"description":"If true and formatDynamically is true, enforce two decimals.","type":"boolean","default":false},"dformat":{"description":"Display format: 'digits' (raw), 'number' (formatted), 'percent' (percentage).","enum":["digits","number","percent"],"default":"digits"}},"required":["name","ftype","dformat","title"],"additionalProperties":true},"fslider":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fslider"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedMin":{"description":"Initial minimum value for range slider (when range=true).","type":"string","default":""},"predefinedMax":{"description":"Initial maximum value for range slider.","type":"string","default":""},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"size":{"$ref":"#/definitions/common/size"},"thousandSeparator":{"description":"Thousands grouping symbol.","type":"string","default":""},"centSeparator":{"description":"Decimal separator.","type":"string","default":"."},"typeValues":{"description":"If true, show input boxes for manual value entry alongside slider.","type":"boolean","default":false},"min":{"description":"Minimum slider value.","type":"number"},"max":{"description":"Maximum slider value.","type":"number"},"step":{"description":"Increment step (when logarithmic=false).","type":"number"},"marks":{"description":"If true, show tick marks below slider.","type":"boolean","default":false},"divisions":{"description":"Number of tick marks when marks=true.","type":"integer","default":5},"range":{"description":"If true, slider has two handles (min/max).","type":"boolean","default":false},"logarithmic":{"description":"If true, use logarithmic scale.","type":"boolean","default":false},"caption":{"description":"Dynamic caption with '{0}' placeholder for value(s).","type":"string","default":"{0}"},"minCaption":{"description":"Fixed caption for left end, with '{0}' placeholder.","type":"string","default":""},"maxCaption":{"description":"Fixed caption for right end, with '{0}' placeholder.","type":"string","default":""}},"required":["name","ftype","min","max","step","range","title"],"additionalProperties":true},"fcolor":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fcolor"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"size":{"$ref":"#/definitions/common/size"}},"required":["name","ftype","title"],"additionalProperties":true},"femail":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"femail"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"autocomplete":{"$ref":"#/definitions/common/autocomplete"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"size":{"$ref":"#/definitions/common/size"},"equalTo":{"$ref":"#/definitions/common/equalTo"},"regExp":{"$ref":"#/definitions/common/regExp"},"regExpMssg":{"$ref":"#/definitions/common/regExpMssg"}},"required":["name","ftype","title"],"additionalProperties":true},"fdate":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fdate"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"size":{"$ref":"#/definitions/common/size"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"disableKeyboardOnMobile":{"description":"If true, prevent manual typing on mobile, force date picker only.","type":"boolean","default":false},"dformat":{"description":"Date display/input format (e.g., 'mm/dd/yyyy').","type":"string","enum":["mm/dd/yyyy","dd/mm/yyyy","yyyy/mm/dd","yyyy/dd/mm"],"default":"mm/dd/yyyy"},"showFormatOnLabel":{"description":"If true, append the date format to the field label.","type":"boolean","default":true},"dseparator":{"description":"Separator character for date parts.","type":"string","enum":["/","-","."],"default":"/"},"tformat":{"description":"Time format: 12 or 24 hour.","type":"integer","enum":[12,24],"default":24},"showDropdown":{"description":"If true, show year dropdown in datepicker.","type":"boolean","default":false},"dropdownRange":{"description":"Range of years in dropdown (e.g., '-10:+10').","type":"string","default":"-10:+10"},"minDate":{"description":"Minimum allowed date (fixed, relative, or field reference).","type":"string","default":""},"maxDate":{"description":"Maximum allowed date.","type":"string","default":""},"invalidDates":{"description":"Comma-separated list of disallowed dates or ranges.","type":"string","default":""},"validDates":{"description":"Comma-separated list of allowed dates or ranges.","type":"string","default":""},"mondayFirstDay":{"description":"If true, week starts on Monday.","type":"boolean","default":false},"alwaysVisible":{"description":"If true, datepicker is always visible and input is hidden.","type":"boolean","default":false},"minHour":{"description":"Minimum selectable hour (0-23).","type":"integer","minimum":0,"maximum":23,"default":0},"maxHour":{"description":"Maximum selectable hour.","type":"integer","minimum":0,"maximum":23,"default":23},"minMinute":{"description":"Minimum selectable minute.","type":"integer","minimum":0,"maximum":59,"default":0},"maxMinute":{"description":"Maximum selectable minute.","type":"integer","minimum":0,"maximum":59,"default":59},"stepHour":{"description":"Hour increment step.","type":"integer","default":1},"stepMinute":{"description":"Minute increment step.","type":"integer","default":1},"showDatepicker":{"description":"If true, show date component.","type":"boolean","default":true},"showTimepicker":{"description":"If true, show time component.","type":"boolean","default":false},"timeErrorMssg":{"description":"Custom error message for time validation.","type":"string","default":""},"ariaHourLabel":{"description":"ARIA label for hours dropdown.","type":"string","default":"hours"},"ariaMinuteLabel":{"description":"ARIA label for minutes dropdown.","type":"string","default":"minutes"},"ariaAMPMLabel":{"description":"ARIA label for AM/PM dropdown.","type":"string","default":"am or pm"},"currentDate":{"description":"If true and defaultDate empty, use current date.","type":"boolean","default":false},"defaultDate":{"description":"Default date value (fixed, offset, or relative).","type":"string","default":""},"defaultTime":{"description":"Default time in HH:mm format.","type":"string","default":""},"working_dates":{"description":"Array of 7 booleans indicating which weekdays are enabled (starting Sunday).","type":"array","items":{"type":"boolean"},"minItems":7,"maxItems":7,"default":[true,true,true,true,true,true,true]},"errorMssg":{"description":"Custom error message for date validation.","type":"string","default":""}},"required":["name","ftype","working_dates","showDatepicker","dformat","showTimepicker","title"],"additionalProperties":true},"ftimeslots":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"ftimeslots"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"size":{"$ref":"#/definitions/common/size"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"disableKeyboardOnMobile":{"description":"If true, prevent manual typing on mobile, force date picker only.","type":"boolean","default":false},"dformat":{"description":"Date format for the date picker.","type":"string","enum":["mm/dd/yyyy","dd/mm/yyyy","yyyy/mm/dd","yyyy/dd/mm"],"default":"mm/dd/yyyy"},"showFormatOnLabel":{"description":"If true, append date format to label.","type":"boolean","default":true},"dseparator":{"description":"Date separator character.","type":"string","enum":["/","-","."],"default":"/"},"showDropdown":{"description":"If true, show year dropdown.","type":"boolean","default":false},"dropdownRange":{"description":"Year range for dropdown.","type":"string","default":"-10:+10"},"minDate":{"description":"Minimum allowed date.","type":"string","default":""},"maxDate":{"description":"Maximum allowed date.","type":"string","default":""},"invalidDates":{"description":"Disallowed dates.","type":"string","default":""},"validDates":{"description":"Allowed dates.","type":"string","default":""},"mondayFirstDay":{"description":"If true, week starts Monday.","type":"boolean","default":false},"alwaysVisible":{"description":"If true, datepicker always visible.","type":"boolean","default":false},"minHour":{"description":"Minimum hour (0-23).","type":"integer","minimum":0,"maximum":23,"default":0},"maxHour":{"description":"Maximum hour.","type":"integer","minimum":0,"maximum":23,"default":23},"minMinute":{"description":"Minimum minute.","type":"integer","minimum":0,"maximum":59,"default":0},"maxMinute":{"description":"Maximum minute.","type":"integer","minimum":0,"maximum":59,"default":59},"timeslotsDuration":{"description":"Duration of each timeslot in minutes (1-1440).","type":"integer","default":1},"sameForAllDays":{"description":"If true, same timeslots apply to every weekday.","type":"boolean","default":true},"preventEarlierSlots":{"description":"If true, disable past dates and timeslots.","type":"boolean","default":true},"maxSlotsPerSubmission":{"description":"Maximum number of slots a user can select.","type":"number"},"timeslots":{"type":"array","description":"Array of 7 weekday timeslot arrays (Sunday=0).","minItems":7,"maxItems":7,"items":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":1439},"end":{"type":"integer","minimum":0,"maximum":1440},"duration":{"type":"integer","minimum":1},"active":{"type":"boolean"}},"required":["start","end","duration","active"],"additionalProperties":false}}},"maxSlotsErrorMssg":{"description":"Custom error for exceeding max slots.","type":"string","default":""},"currentDate":{"description":"If true, use current date as default.","type":"boolean","default":false},"defaultDate":{"description":"Default date value.","type":"string","default":""},"working_dates":{"description":"Array of 7 booleans enabling weekdays.","type":"array","items":{"type":"boolean"},"minItems":7,"maxItems":7,"default":[true,true,true,true,true,true,true]},"errorMssg":{"description":"Custom date validation error.","type":"string","default":""}},"required":["name","ftype","working_dates","showDatepicker","dformat","showTimepicker","title"],"additionalProperties":true},"ftextarea":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"ftextarea"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"autocomplete":{"$ref":"#/definitions/common/autocomplete"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"readonly":{"$ref":"#/definitions/common/readonly"},"size":{"$ref":"#/definitions/common/size"},"minlength":{"$ref":"#/definitions/common/minlength"},"maxlength":{"$ref":"#/definitions/common/maxlength"},"rows":{"description":"Number of visible text rows.","type":"integer","default":4}},"required":["name","ftype","title"],"additionalProperties":true},"fcheck":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fcheck"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"layout":{"description":"Arrangement of checkboxes: one_column, two_column, three_column, side_by_side.","type":"string","enum":["one_column","two_column","three_column","side_by_side"],"default":"one_column"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"readonly":{"$ref":"#/definitions/common/readonly"},"toSubmit":{"description":"Submit 'text' or 'value' for each selected option.","type":"string","enum":["text","value"],"default":"text"},"merge":{"description":"If true, merge selected values in calculations (concatenate strings, sum numbers).","type":"boolean","default":true},"onoff":{"description":"If true, render as on/off switches instead of checkboxes.","type":"boolean","default":false},"quantity":{"description":"If true, show quantity input next to each checkbox.","type":"boolean","default":false},"quantity_when_ticked":{"description":"If true, quantity appears only when checkbox is ticked (requires quantity=true).","type":"boolean","default":false},"max":{"description":"Maximum number of checkboxes that can be selected.","type":"integer","default":-1},"min":{"description":"Minimum number of checkboxes that must be selected.","type":"integer","default":-1},"maxError":{"description":"Error message for exceeding max (use {0} placeholder).","type":"string","default":"Check no more than {0} boxes"},"minError":{"description":"Error message for not meeting min.","type":"string","default":"Check at least {0} boxes"},"choices":{"description":"Array of display texts for each checkbox.","type":"array","items":{"type":"string"},"default":[]},"choicesVal":{"description":"Array of values (string or number) corresponding to each checkbox.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[]},"choiceSelected":{"description":"Array of booleans indicating default checked state.","type":"array","items":{"type":"boolean"},"default":[]},"choicesDep":{"description":"Array of dependency arrays for each choice.","type":"array","items":{"type":"array","items":{"type":"string"}},"default":[]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"fradio":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fradio"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"layout":{"description":"Arrangement of radio buttons: one_column, two_column, three_column, side_by_side.","type":"string","enum":["one_column","two_column","three_column","side_by_side"],"default":"one_column"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"readonly":{"$ref":"#/definitions/common/readonly"},"toSubmit":{"description":"Submit 'text' or 'value' for selected option.","type":"string","enum":["text","value"],"default":"text"},"choiceSelected":{"description":"Value of the default selected radio button.","type":"string","default":""},"untickAccepted":{"description":"If true, allow all buttons to be unchecked.","type":"boolean","default":true},"onoff":{"description":"If true, render as on/off switches.","type":"boolean","default":false},"choices":{"description":"Array of display texts for each radio option.","type":"array","items":{"type":"string"},"default":[]},"choicesVal":{"description":"Array of values for each radio option.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[]},"choicesDep":{"description":"Array of dependency arrays for each choice.","type":"array","items":{"type":"array","items":{"type":"string"}},"default":[]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"fdropdown":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fdropdown"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"size":{"$ref":"#/definitions/common/size"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"toSubmit":{"description":"Submit 'text' or 'value' for selected option(s).","type":"string","enum":["text","value"],"default":"text"},"merge":{"description":"If true, merge selected values in calculations (concatenate strings, sum numbers).","type":"boolean","default":true},"choiceSelected":{"description":"Default selected value.","type":"string","default":""},"select2":{"description":"If true, use Select2 enhanced dropdown.","type":"boolean","default":false},"multiple":{"description":"If true, allow multiple selections.","type":"boolean","default":false},"first_choice":{"description":"If true, add an initial empty option.","type":"boolean","default":false},"first_choice_text":{"description":"Text for the initial empty option.","type":"string","default":""},"vChoices":{"description":"Number of visible options when multiple=true.","type":"integer","default":1},"choices":{"description":"Array of display texts.","type":"array","items":{"type":"string"},"default":[]},"choicesVal":{"description":"Array of values.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[]},"optgroup":{"description":"Array of booleans indicating if an option is an optgroup label.","type":"array","items":{"type":"boolean"},"default":[]},"choicesDep":{"description":"Array of dependency arrays.","type":"array","items":{"type":"array","items":{"type":"string"}},"default":[]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"ffile":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"ffile"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"size":{"$ref":"#/definitions/common/size"},"accept":{"description":"Comma-separated list of allowed file extensions (e.g., 'jpg,png,pdf').","type":"string","default":""},"upload_size":{"description":"Maximum file size in KB as string (e.g., '1024').","type":"string","default":""},"multiple":{"description":"If true, allow multiple file selection.","type":"boolean","default":false},"preview":{"description":"If true, show file preview.","type":"boolean","default":false},"thumb_width":{"description":"Width of preview thumbnails (CSS value, e.g., '80px').","type":"string"},"thumb_height":{"description":"Height of preview thumbnails.","type":"string"}},"required":["name","ftype","title"],"additionalProperties":true},"fpassword":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fpassword"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"$ref":"#/definitions/common/predefinedClick"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"size":{"$ref":"#/definitions/common/size"},"minlength":{"$ref":"#/definitions/common/minlength"},"maxlength":{"$ref":"#/definitions/common/maxlength"},"equalTo":{"$ref":"#/definitions/common/equalTo"},"regExp":{"$ref":"#/definitions/common/regExp"},"regExpMssg":{"$ref":"#/definitions/common/regExpMssg"}},"required":["name","ftype","title"],"additionalProperties":true},"fPhone":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fPhone"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"dformat":{"description":"Phone number format with '#' for digits (e.g., '### ### ####').","type":"string","default":"### ### ####"},"predefined":{"$ref":"#/definitions/common/predefined"},"predefinedClick":{"description":"If true, predefined acts as placeholder (default true for phone).","type":"boolean","default":true},"countryComponent":{"description":"If true, include country code dropdown.","type":"boolean","default":false},"toDisplay":{"description":"Display 'iso' or 'code' in country dropdown.","type":"string","enum":["iso","code"],"default":"iso"},"countries":{"description":"Array of ISO country codes to include (empty = all).","type":"array","items":{"type":"string"},"default":[]},"defaultCountry":{"description":"Default selected country ISO code.","type":"string","default":""},"dynamic":{"description":"If true, adapt phone format based on selected country.","type":"boolean","default":false},"size":{"$ref":"#/definitions/common/size"}},"required":["name","ftype","dformat","countryComponent","title"],"additionalProperties":true},"fCommentArea":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fCommentArea"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"}},"required":["name","ftype","title"],"additionalProperties":true},"fhidden":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fhidden"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"title":{"$ref":"#/definitions/common/title"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"predefined":{"$ref":"#/definitions/common/predefined"}},"required":["name","ftype","title"],"additionalProperties":true},"fSectionBreak":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fSectionBreak"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"}},"required":["name","ftype","title"],"additionalProperties":true},"fPageBreak":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"ftype":{"type":"string","const":"fPageBreak"}},"required":["name","ftype"],"additionalProperties":true},"fsummary":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fsummary"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"exclude_empty":{"description":"If true, omit empty fields from summary.","type":"boolean","default":false},"fields":{"description":"Comma-separated list of field names to include in summary.","type":"string","default":""},"titleClassname":{"description":"CSS class for field labels in summary.","type":"string","default":""},"valueClassname":{"description":"CSS class for field values in summary.","type":"string","default":""}},"required":["name","ftype","fields","title"],"additionalProperties":true},"ffieldset":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"ffieldset"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"fields":{"description":"Array of field names contained in this fieldset.","type":"array","items":{"type":"string","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[]},"columns":{"description":"Number of columns to arrange contained fields (1-12).","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"Vertical alignment of fields in a row: 'top' or 'bottom'.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"If true, automatically rearrange visible fields to fill gaps.","type":"boolean","default":false},"title":{"$ref":"#/definitions/common/title"},"collapsible":{"description":"If true, fieldset can be collapsed/expanded.","type":"boolean","default":false},"defaultCollapsed":{"description":"If true and collapsible, start collapsed.","type":"boolean","default":true},"selfClosing":{"description":"If true, only one sibling fieldset can be open at a time.","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fdiv":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fdiv"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"fields":{"description":"Array of field names contained in this div.","type":"array","items":{"type":"string","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[]},"columns":{"description":"Number of columns (1-12).","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"Vertical alignment: 'top' or 'bottom'.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"If true, rearrange visible fields to fill gaps.","type":"boolean","default":false}},"required":["name","ftype"],"additionalProperties":true},"fpopup":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fpopup"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"fields":{"description":"Array of field names contained in this popup.","type":"array","items":{"type":"string","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[]},"columns":{"description":"Number of columns for inner fields.","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"Vertical alignment: 'top' or 'bottom'.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"If true, rearrange visible fields.","type":"boolean","default":false},"title":{"$ref":"#/definitions/common/title"},"titletag":{"description":"HTML tag for popup title (H1-H6 or P).","type":"string","enum":["H1","H2","H3","H4","H5","H6","P"],"default":"P"},"open_onload":{"description":"If true, popup opens automatically on form load.","type":"boolean","default":false},"open_onclick":{"description":"Name of a button that opens this popup on click.","type":"string","default":""},"close_button":{"description":"If true, show a close button.","type":"boolean","default":true},"modal":{"description":"If true, popup is modal (blocks outside interaction).","type":"boolean","default":true},"dragging":{"description":"If true, popup can be dragged.","type":"boolean","default":false},"resizing":{"description":"If true, popup can be resized.","type":"boolean","default":false},"position":{"description":"Default position: center, top-left, top-right, bottom-left, bottom-right.","type":"string","enum":["center","top-left","top-right","bottom-left","bottom-right"],"default":"center"},"width":{"description":"CSS width (e.g., '360px').","type":"string","default":"360px"},"height":{"description":"CSS height (e.g., '360px').","type":"string","default":"360px"}},"required":["name","ftype","title"],"additionalProperties":true},"fMedia":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fMedia"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"sMediaType":{"description":"Type of media: 'image', 'audio', or 'video'.","type":"string","enum":["image","audio","video"],"default":"image"},"data":{"description":"Media configuration object, must contain one of image/audio/video.","type":"object","oneOf":[{"required":["image"]},{"required":["audio"]},{"required":["video"]}],"properties":{"image":{"type":"object","properties":{"sWidth":{"type":"string"},"sHeight":{"type":"string"},"sSrc":{"type":"string","format":"uri"},"sAlt":{"type":"string"},"sLink":{"type":"string","format":"uri"},"sTarget":{"type":"string","enum":["_self","_blank","_parent","_top"]},"sFigcaption":{"type":"string"},"sLazy":{"type":"boolean","default":false}},"required":["sSrc"],"additionalProperties":true},"audio":{"type":"object","properties":{"sWidth":{"type":"string"},"sSrc":{"type":"string","format":"uri"},"sSrcAlt":{"type":"string","format":"uri"},"sControls":{"type":"boolean","default":true},"sLoop":{"type":"boolean","default":false},"sAutoplay":{"type":"boolean","default":false},"sMuted":{"type":"boolean","default":false},"sPreload":{"type":"string","enum":["none","metadata","auto"],"default":"auto"},"sFallback":{"type":"string"},"sFigcaption":{"type":"string"},"sHideDownload":{"type":"boolean","default":false}},"required":["sSrc"],"additionalProperties":true},"video":{"type":"object","properties":{"sWidth":{"type":"string"},"sHeight":{"type":"string"},"sSrc":{"type":"string","format":"uri"},"sSrcAlt":{"type":"string","format":"uri"},"sPoster":{"type":"string","format":"uri"},"sControls":{"type":"boolean","default":true},"sLoop":{"type":"boolean","default":false},"sAutoplay":{"type":"boolean","default":false},"sMuted":{"type":"boolean","default":false},"sPreload":{"type":"string","enum":["none","metadata","auto"],"default":"auto"},"sFallback":{"type":"string"},"sFigcaption":{"type":"string"},"sHideDownload":{"type":"boolean","default":false}},"required":["sSrc"],"additionalProperties":true}},"additionalProperties":false}},"required":["name","ftype","sMediaType"],"additionalProperties":true},"frecordav":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"frecordav"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"size":{"$ref":"#/definitions/common/size"},"to_record":{"description":"What to record: 'audio', 'video', or 'audio-video'.","type":"string","enum":["audio","video","audio-video"],"default":"audio-video"},"max_time":{"description":"Maximum recording duration in seconds.","type":"integer","minimum":1,"default":300},"beep":{"description":"If true, play beep when recording ends.","type":"boolean","default":false},"preview":{"description":"If true, show preview after recording.","type":"boolean","default":false},"video_width":{"description":"Width of video preview in pixels.","type":"number","minimum":1,"default":320},"video_height":{"description":"Height of video preview in pixels.","type":"number","minimum":1,"default":240},"record_label":{"description":"Text for record button.","type":"string","default":"Record"},"stop_label":{"description":"Text for stop button.","type":"string","default":"Stop"},"status_message":{"description":"Message shown after recording saved.","type":"string","default":"Recording saved"}},"required":["name","ftype","title"],"additionalProperties":true},"fButton":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fButton"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"sType":{"description":"Button action: calculate, button, print, submit, reset.","type":"string","enum":["calculate","button","print","submit","reset"],"default":"button"},"sValue":{"description":"Text displayed on the button.","type":"string","default":"Click Me"},"sOnclick":{"description":"JavaScript code to execute on click.","type":"string","default":""},"sOnmousedown":{"description":"JavaScript code to execute on mousedown.","type":"string","default":""},"sLoading":{"description":"If true, show loading animation on calculate button.","type":"boolean","default":false},"sMultipage":{"description":"If true, print all pages when sType=print.","type":"boolean","default":false}},"required":["name","ftype","sType"],"additionalProperties":true},"fhtml":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fhtml"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"allowscript":{"description":"If true, allow <script> tags in fcontent.","type":"boolean","default":true},"fcontent":{"description":"Custom HTML content. May include <script> if allowscript=true.","type":"string","default":""}},"required":["name","ftype","fcontent","allowscript"],"additionalProperties":true},"facceptance":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"facceptance"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"value":{"description":"Text label for the acceptance checkbox.","type":"string","default":"I accept"},"url":{"description":"URL to terms page.","type":"string","format":"uri","default":""},"message":{"description":"Inline terms text (alternative to url).","type":"string","default":""},"required":{"description":"If true, must be checked (default true).","type":"boolean","default":true},"exclude":{"$ref":"#/definitions/common/exclude"},"onoff":{"description":"If true, render as on/off switch.","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fqrcode":{"type":"object","properties":{"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fqrcode"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"readonly":{"$ref":"#/definitions/common/readonly"},"size":{"$ref":"#/definitions/common/size"}},"required":["name","ftype","title"],"additionalProperties":true},"fCalculated":{"type":"object","properties":{"dependencies":{"description":"Array of dependency rules.","type":"array","items":{"type":"object","properties":{"rule":{"description":"JavaScript expression using 'value' to test condition.","type":"string","default":""},"fields":{"description":"Array of field names to hide if rule fails.","type":"array","items":{"type":"string"},"default":[]}}},"default":[]},"name":{"$ref":"#/definitions/common/name"},"fieldlayout":{"$ref":"#/definitions/common/fieldlayout"},"shortlabel":{"$ref":"#/definitions/common/shortlabel"},"ftype":{"type":"string","const":"fCalculated"},"userhelp":{"$ref":"#/definitions/common/userhelp"},"userhelpTooltip":{"$ref":"#/definitions/common/userhelpTooltip"},"tooltipIcon":{"$ref":"#/definitions/common/tooltipIcon"},"csslayout":{"$ref":"#/definitions/common/csslayout"},"hidefield":{"$ref":"#/definitions/common/hidefield"},"advanced":{"$ref":"#/definitions/common/advanced"},"title":{"$ref":"#/definitions/common/title"},"predefined":{"$ref":"#/definitions/common/predefined"},"required":{"$ref":"#/definitions/common/required"},"exclude":{"$ref":"#/definitions/common/exclude"},"accept_html":{"$ref":"#/definitions/common/accept_html"},"size":{"$ref":"#/definitions/common/size"},"eq":{"description":"A JavaScript expression that dynamically computes the value of a calculated field. The expression is re-evaluated when relevant events occur (onchange, keyup, or calculate button press).\n\nIMPORTANT RULES FOR STRUCTURE:\n\n1. SIMPLE EXPRESSIONS (single line, no variables, no control flow):\n - Use direct expressions WITHOUT wrapping\n - Examples: 'fieldname1 + fieldname2', 'fieldname1 * 0.15', 'Math.max(fieldname1, fieldname2)'\n - Rule: If it's a single expression with no var/let/const/if/else/for/while, DO NOT wrap it\n\n2. COMPLEX CODE (multiple statements, variables, or control flow):\n - MUST be wrapped in a self-invoking function: (function(){ ... })()\n - Required when using: var, let, const, if, else, for, while, switch, or multiple statements\n - Example:\n (function(){\n var principal = fieldname1 - fieldname2;\n var rate = fieldname3 / 100 / 12;\n if (principal <= 0) return 0;\n return principal * rate;\n })()\n - The wrapper is REQUIRED, not optional, for any code with statements\n\nField Reference Rules:\n- Reference fields by name: fieldname1, fieldname2, etc.\n- Cannot reference own field name (prevents recursion)\n- Special suffixes:\n - '|r': Raw value without preprocessing (e.g., fieldname1|r)\n - '|n': Field name as string (e.g., fieldname1|n)\n- For dates: const d = new Date(fieldname1|r);","type":"string","default":"","examples":["fieldname1 + fieldname2","fieldname1 * 1.15","(function(){ var price = fieldname1; var tax = fieldname2; if (price <= 0) return 0; return price * (1 + tax / 100); })()","(function(){ var principal = fieldname1 - fieldname2; var rate = (fieldname3 / 100) / 12; var months = fieldname4 * 12; if (principal <= 0 || rate <= 0 || months <= 0) return 0; return principal * (rate * Math.pow(1 + rate, months)) / (Math.pow(1 + rate, months) - 1); })()"],},"min":{"description":"Minimum allowed numeric value.","type":"number"},"max":{"description":"Maximum allowed numeric value.","type":"number"},"suffix":{"description":"Text appended to value (e.g., 'kg').","type":"string","default":""},"prefix":{"description":"Text prepended to value (e.g., '$').","type":"string","default":""},"decimalSymbol":{"description":"Decimal separator symbol.","type":"string","default":"."},"groupingsymbol":{"description":"Thousands grouping symbol.","type":"string","default":""},"readonly":{"description":"If true, field is not editable (default true).","type":"boolean","default":true},"currency":{"description":"If true, format as currency (two decimals).","type":"boolean","default":false},"noEvalIfManual":{"description":"If true, manual input overrides further evaluations.","type":"boolean","default":true},"formatDynamically":{"description":"If true, format value as typed (prefix, suffix, separators).","type":"boolean","default":false},"dynamicEval":{"description":"If true, re-evaluate on operand changes.","type":"boolean","default":true},"validate":{"description":"If true, validate after each evaluation.","type":"boolean","default":false}},"required":["name","ftype","eq","title"],"additionalProperties":true}}}