diff --git a/FormBuilder.php b/FormBuilder.php new file mode 100644 index 0000000..38d838a --- /dev/null +++ b/FormBuilder.php @@ -0,0 +1,178 @@ +view = $this->getView(); + + if ($this->dataType == 'json') { + $this->arrayToTypeFunction = 'arrayJsonEncode'; + } else if ($this->dataType == 'xml') { + $this->arrayToTypeFunction = 'arrayXmlEncode'; + } else { + throw new InvalidConfigException('Property $dataType must be "xml" or "json".'); + } + } + + public function run() + { + FormBuilderAsset::register($this->view); + $this->view->registerJs($this->getFBJs()); + + return '<' . $this->elementType . ' id="' . $this->fBId . '">elementType . '>'; + } + + /** + * @return string unique id of form builder + */ + public function getFBId() + { + return $this->id . '-fb-element'; + } + + /** + * @return string initialize form builder javascript code + */ + private function getFBJs() + { + + $str = "var {$this->getFBJsVariableElement()} = $('#{$this->getFBId()}');\n" + . "$({$this->getFBJsVariableElement()}).formBuilder({$this->getFBOptions()});\n" + . "var {$this->accessVariableName} = $('#{$this->getFBId()}');\n"; + + return $str; + } + + private function getFBJsVariableElement() + { + return lcfirst(Inflector::id2camel($this->getFBId() . '-' . 'variable')); + } + + private function getFBOptions() + { + $this->options = array_merge( + [ + 'dataType' => $this->dataType, + 'formData' => $this->{$this->arrayToTypeFunction}($this->data), + 'messages' => $this->messages, + 'showActionButtons' => $this->showActionButtons, + ], + $this->options + ); + + return json_encode($this->options); + } + + private function arrayJsonEncode($options) + { + return json_encode($options); + } + + private function arrayXmlEncode($options, $tag = 'field', $generateHeaderAndFooter = true) + { + $xmlString = ''; + + if ($generateHeaderAndFooter) { + $xmlString .= "" + . ""; + } + + if (is_array($options)) { + if (!empty($options)) { + foreach ($options as $key => $option) { + $label = isset($option['label']) ? $option['label'] : ''; + $attributes = $this->arrayToAttribute($option); + + if (strlen($attributes)) { + $xmlString .= "<$tag" + . $attributes + . ">"; + } + + if (is_array($option)) { + $xmlString .= $this->arrayXmlEncode($option, Inflector::singularize($key), false); + } + + if ('option' == $tag) { + $xmlString .= $label; + } + + if (strlen($attributes)) { + $xmlString .= ""; + } + } + } + } else { + throw new InvalidConfigException('Property $data must be an array.'); + } + + if ($generateHeaderAndFooter) { + $xmlString .= "" + . ""; + } + + return $xmlString; + } + + private function arrayToAttribute(&$options) + { + $str = ''; + + foreach ($options as $key => $value) { + if (is_scalar($value)) { + $str .= " $key=" . (is_bool($value) ? "'" . var_export($value, 1) . "'" : var_export($value, 1)); + unset($options[$key]); + } + } + + return $str; + } +} diff --git a/FormBuilderAsset.php b/FormBuilderAsset.php new file mode 100644 index 0000000..122be7a --- /dev/null +++ b/FormBuilderAsset.php @@ -0,0 +1,25 @@ +css[] = YII_DEBUG ? 'form-builder.css' : 'form-builder.min.css'; + + // Add js file based on app environment + $this->js[] = YII_DEBUG ? 'form-builder.js' : 'form-builder.min.js'; + $this->js[] = YII_DEBUG ? 'form-render.js' : 'form-render.min.js'; + } + + public $depends = [ + 'yii\jui\JuiAsset', + ]; +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c5fa65a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Meysam GanJi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5159954 --- /dev/null +++ b/README.md @@ -0,0 +1,220 @@ +Yii2 Form Builder +================= +A drag and drop form builder with jQuery for Yii2 which built upon to [jQuery FormBuilder](https://github.com/kevinchappell/formBuilder) plugin. + +Installation +------------ + +The preferred way to install this extension is through [composer](http://getcomposer.org/download/). + +Either run + +``` +composer.phar require meysampg/yii2-formbuilder "*" +``` + +or add + +``` +"meysampg/yii2-formbuilder": "*" +``` + +to the require section of your `composer.json` file. + + +Usage +----- + +Once the extension is installed, simply use it in your code by: + +```php +use meysampg\formbuilder\FormBuilder; +``` + +and use it as a widget: + +```php + +``` + +Configurations +-------------- + +There are some properties that let you to easily control over form builder. + +| Property | Type | Description | Default Value | +|-----|--------|----------------|---------------| +|accessVariableName| string|JavaScript variable name for accessing to formbuilder contents in JS codes | `'formBuilderJsVariable'` | +|data | array | list of elements for rendering as default elements of form builder| | +|dataType| string| indicates that input and output data must be XML or JSON| `'xml'` | +|elementType| string | HTML tag for form builder constructor | `'div'` | +|messages| array | list of label strings on a desired language | | +| options | array | list of plugin options, see [FormBuilder Documentations](http://formbuilder.readthedocs.io/en/latest/) | | +|showActionButtons| boolean | indicates that control buttons be showed or not | `false` | + +Examples +------------- +```php + [ + [ + "type" => "header", + "subtype" => "h1", + "label" => "Header", + "class" => "header", + ], + [ + "type" => "button", + "label" => "Button", + "subtype" => "button", + "class" => "button-input btn btn-warning", + "name" => "button-1475845417456", + "style" => "warning", + ], + ], +]); ?> +``` +![screen shot 2016-10-08 at 13 00 02](https://cloud.githubusercontent.com/assets/1416085/19212100/2bf6c7e4-8d57-11e6-8d5d-48bea1ceb042.png) + +---- +```php + 'json' +]); ?> +``` +![screen shot 2016-10-08 at 13 04 32](https://cloud.githubusercontent.com/assets/1416085/19212123/dded3f46-8d57-11e6-9351-e47d210de710.png) + +--- +```php + [ + "autocomplete" => "Autocomplete 23", + ], +]); ?> +``` +![screen shot 2016-10-08 at 13 18 55](https://cloud.githubusercontent.com/assets/1416085/19212220/e4f1ff50-8d59-11e6-8869-fa8d516de26b.png) + + +ToDo +------ + - Implement multilingual support with `language` property (e.g. use `fa-IR` as `langauge` code). + +Appendix +------------- +### Messages +List of all strings that can be used in `messages` property of configuration. + +```php +"addOption" => "Add Option", +"allFieldsRemoved" => "All fields were removed.", +"allowSelect" => "Allow Select", +"allowMultipleFiles" => "Allow users to upload multiple files", +"autocomplete" => "Autocomplete", +"button" => "Button", +"cannotBeEmpty" => "This field cannot be empty", +"checkboxGroup" => "Checkbox Group", +"checkbox" => "Checkbox", +"checkboxes" => "Checkboxes", +"className" => "Class", +"clearAllMessage" => "Are you sure you want to clear all fields?", +"clearAll" => "Clear", +"close" => "Close", +"content" => "Content", +"copy" => "Copy To Clipboard", +"copyButton" => "+", +"copyButtonTooltip" => "Copy", +"dateField" => "Date Field", +"description" => "Help Text", +"descriptionField" => "Description", +"devMode" => "Developer Mode", +"editNames" => "Edit Names", +"editorTitle" => "Form Elements", +"editXML" => "Edit XML", +"enableOther" => "Enable "Other"", +"enableOtherMsg" => "Let users to enter an unlisted option", +"fieldVars" => "Field Variables", +"fieldNonEditable" => "This field cannot be edited.", +"fieldRemoveWarning" => "Are you sure you want to remove this field?", +"fileUpload" => "File Upload", +"formUpdated" => "Form Updated", +"getStarted" => "Drag a field from the right to this area", +"header" => "Header", +"hide" => "Edit", +"hidden" => "Hidden Input", +"label" => "Label", +"labelEmpty" => "Field Label cannot be empty", +"limitRole" => "Limit access to one or more of the following roles:", +"mandatory" => "Mandatory", +"maxlength" => "Max Length", +"minOptionMessage" => "This field requires a minimum of 2 options", +"multipleFiles" => "Multiple Files", +"name" => "Name", +"no" => "No", +"number" => "Number", +"off" => "Off", +"on" => "On", +"option" => "Option", +"optional" => "optional", +"optionLabelPlaceholder" => "Label", +"optionValuePlaceholder" => "Value", +"optionEmpty" => "Option value required", +"other" => "Other", +"paragraph" => "Paragraph", +"placeholder" => "Placeholder", +"placeholders" => [ + "value" => "Value", + "label" => "Label", + "text" => "", + "textarea" => "", + "email" => "Enter you email", + "placeholder" => "", + "className" => "space separated classes", + "password" => "Enter your password" +], +"preview" => "Preview", +"radioGroup" => "Radio Group", +"radio" => "Radio", +"removeMessage" => "Remove Element", +"remove" => "×", +"required" => "Required", +"richText" => "Rich Text Editor", +"roles" => "Access", +"save" => "Save", +"selectOptions" => "Options", +"select" => "Select", +"selectColor" => "Select Color", +"selectionsMessage" => "Allow Multiple Selections", +"size" => "Size", +"sizes" => [ + "xs" => "Extra Small", + "sm" => "Small", + "m" => "Default", + "lg" => "Large" +], +"style" => "Style", +"styles" => [ + "btn" => [ + "default" => "Default", + "danger" => "Danger", + "info" => "Info", + "primary" => "Primary", + "success" => "Success", + "warning" => "Warning" + ] +], +"subtype" => "Type", +"subtypes" => [ + "text" => ['text', 'password', 'email', 'color', 'tel'], + "button" => ['button', 'submit'], + "header" => ['h1', 'h2', 'h3'], + "paragraph" => ['p', 'address', 'blockquote', 'canvas', 'output'] +], +"text" => "Text Field", +"textArea" => "Text Area", +"toggle" => "Toggle", +"warning" => "Warning!", +"value" => "Value", +"viewJSON" => "{ }", +"viewXML" => "</>", +"yes" => "Yes' +``` \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..09ff740 --- /dev/null +++ b/composer.json @@ -0,0 +1,21 @@ +{ + "name": "meysampg/yii2-formbuilder", + "description": "A drag and drop form builder with jQuery for Yii2", + "type": "yii2-extension", + "keywords": ["yii2","extension","form-builder","js","form"], + "license": "MIT", + "authors": [ + { + "name": "Meysam P.G.", + "email": "p.g.meysam@gmail.com" + } + ], + "require": { + "yiisoft/yii2": "*" + }, + "autoload": { + "psr-4": { + "meysampg\\formbuilder\\": "" + } + } +} diff --git a/dist/form-builder.css b/dist/form-builder.css new file mode 100755 index 0000000..492f46c --- /dev/null +++ b/dist/form-builder.css @@ -0,0 +1,1271 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +@charset "UTF-8"; +@font-face { + font-family: 'form-builder-font'; + src: url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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); + src: url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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) format("embedded-opentype"), url(data:application/octet-stream;base64,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) format("woff2"), url(data:application/font-woff;base64,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) format("woff"), url(data:application/x-font-ttf;base64,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fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9ybS1idWlsZGVyLWZvbnRSZWd1bGFyZm9ybS1idWlsZGVyLWZvbnRmb3JtLWJ1aWxkZXItZm9udFZlcnNpb24gMS4wZm9ybS1idWlsZGVyLWZvbnRHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANgAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAHIAbQAtAGIAdQBpAGwAZABlAHIALQBmAG8AbgB0AFIAZQBnAHUAbABhAHIAZgBvAHIAbQAtAGIAdQBpAGwAZABlAHIALQBmAG8AbgB0AGYAbwByAG0ALQBiAHUAaQBsAGQAZQByAC0AZgBvAG4AdABWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAHIAbQAtAGIAdQBpAGwAZABlAHIALQBmAG8AbgB0AEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAAMYXV0b2NvbXBsZXRlCGNhbGVuZGFyCGNoZWNrYm94DmNoZWNrYm94LWdyb3VwC3JhZGlvLWdyb3VwCXJpY2gtdGV4dAZzZWxlY3QJdGV4dC1hcmVhCnRleHQtaW5wdXQGcGVuY2lsCmZpbGUtaW5wdXQMaGlkZGVuLWlucHV0D3Jlc2l6ZS12ZXJ0aWNhbAxidXR0b24taW5wdXQGYXR0YWNoBmhlYWRlcglwYXJhZ3JhcGgGbnVtYmVyAAAAAAABAAH//wAPAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYA1L/agNS/2qwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7ABYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7ABYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsgABACqxAAVCswoCAQgqsQAFQrMOAAEIKrEABkK6AsAAAQAJKrEAB0K6AEAAAQAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmzDAIBDCq4Af+FsASNsQIARAAA) format("truetype"), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjYWxlbmRhciIgdW5pY29kZT0iJiN4ZTgwMTsiIGQ9Ik03MS03OWgxNjF2MTYxaC0xNjF2LTE2MXogbTE5NyAwaDE3OHYxNjFoLTE3OHYtMTYxeiBtLTE5NyAxOTdoMTYxdjE3OGgtMTYxdi0xNzh6IG0xOTcgMGgxNzh2MTc4aC0xNzh2LTE3OHogbS0xOTcgMjE0aDE2MXYxNjFoLTE2MXYtMTYxeiBtNDExLTQxMWgxNzl2MTYxaC0xNzl2LTE2MXogbS0yMTQgNDExaDE3OHYxNjFoLTE3OHYtMTYxeiBtNDI4LTQxMWgxNjF2MTYxaC0xNjF2LTE2MXogbS0yMTQgMTk3aDE3OXYxNzhoLTE3OXYtMTc4eiBtLTE5NiA0ODJ2MTYxcTAgNy02IDEydC0xMiA2aC0zNnEtNyAwLTEyLTZ0LTYtMTJ2LTE2MXEwLTcgNi0xM3QxMi01aDM2cTcgMCAxMiA1dDYgMTN6IG00MTAtNDgyaDE2MXYxNzhoLTE2MXYtMTc4eiBtLTIxNCAyMTRoMTc5djE2MWgtMTc5di0xNjF6IG0yMTQgMGgxNjF2MTYxaC0xNjF2LTE2MXogbTE4IDI2OHYxNjFxMCA3LTUgMTJ0LTEzIDZoLTM1cS04IDAtMTMtNnQtNS0xMnYtMTYxcTAtNyA1LTEzdDEzLTVoMzVxOCAwIDEzIDV0NSAxM3ogbTIxNSAzNnYtNzE1cTAtMjktMjItNTB0LTUwLTIxaC03ODZxLTI5IDAtNTAgMjF0LTIxIDUwdjcxNXEwIDI5IDIxIDUwdDUwIDIxaDcydjU0cTAgMzcgMjYgNjN0NjMgMjZoMzZxMzcgMCA2My0yNnQyNi02M3YtNTRoMjE0djU0cTAgMzcgMjcgNjN0NjMgMjZoMzVxMzcgMCA2My0yNnQyNy02M3YtNTRoNzFxMjkgMCA1MC0yMXQyMi01MHoiIGhvcml6LWFkdi14PSI5MjguNiIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja2JveCIgdW5pY29kZT0iJiN4ZTgwMjsiIGQ9Ik04NDQgNTM4di01MDBjMC01MS00NC05NC05NC05NGgtNTYyYy01MCAwLTk0IDQzLTk0IDk0djU2MmMwIDUwIDQ0IDk0IDk0IDk0aDU2MmM0NCAwIDgxLTMxIDk0LTc1bDE1MCA4Ny0xNTAtMTY4eiBtLTYzLTc1bC0zMDAtMzYzLTMwNiA0MDYgMzA2LTEwMCAzMDAgMTgydjEyYzAgMTktMTIgMzEtMzEgMzFoLTU2MmMtMTkgMC0zMi0xMi0zMi0zMXYtNTYyYzAtMTkgMTMtMzIgMzItMzJoNTYyYzE5IDAgMzEgMTMgMzEgMzJ2NDI1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJyYWRpby1ncm91cCIgdW5pY29kZT0iJiN4ZTgwNDsiIGQ9Ik0wIDc4OGgxMDAwdjYyaC0xMDAwdi02MnogbTAtMTI1aDEwMDB2NjJoLTEwMDB2LTYyeiBtMzEzLTE4OGg2MjV2NjNoLTYyNXYtNjN6IG02MjUtMTg3aC02MjV2LTYzaDYyNXY2M3ogbTAtMzEzdjYzaC02MjV2LTYzaDYyNXogbS04NDQgNDM4Yy01MCAwLTk0IDQzLTk0IDkzczQ0IDk0IDk0IDk0IDk0LTQ0IDk0LTk0LTQ0LTkzLTk0LTkzeiBtMCAxMjVjLTE5IDAtMzEtMTMtMzEtMzJzMTItMzEgMzEtMzEgMzEgMTMgMzEgMzEtMTIgMzItMzEgMzJ6IG0wLTM4MmMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC0zOCA5NC05NC00NC05NC05NC05NHogbTAgMTI1Yy0xOSAwLTMxLTEyLTMxLTMxczEyLTMxIDMxLTMxIDMxIDE5IDMxIDMxLTEyIDMxLTMxIDMxeiBtMC0zNjljLTUwIDAtOTQgNDQtOTQgOTRzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTQtOTQtOTR6IG0wIDEyNmMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMiAzMSAzMS0xMiAzMi0zMSAzMnoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJpY2gtdGV4dCIgdW5pY29kZT0iJiN4ZTgwNTsiIGQ9Ik05MzggNzg4aC04NzVjLTM4IDAtNjMtMjUtNjMtNjN2LTc1MGMwLTM4IDI1LTYzIDYzLTYzaDg3NWMzNyAwIDYyIDI1IDYyIDYzdjc1MGMwIDM4LTI1IDYzLTYyIDYzeiBtLTg3NS0xMzJoNTB2LTE4aC01MHYxOHogbTAtMzFoNTB2LTE5aC01MHYxOXogbTg3NS02NTBoLTg3NXY1NTZoODc1di01NTZ6IG0wIDU2OWgtODc1djE5aDg3NXYtMTl6IG0wIDMxaC04NzV2MTloNTB2LTEzaDkzdjEzaDgydi0xM2g4N3YxM2g4MXYtMTNoOTR2MTNoNzV2LTEzaDk0djEzaDgxdi0xM2g5NHYxM2g0NHYtMTl6IG0tNjU3IDUwdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoODJ2LTE4aC04MnogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yNTAtMTN2LTE5aC03NXYxOWg3NXogbS03NSAxM3YxOGg3NXYtMThoLTc1eiBtMjUwLTEzdi0xOWgtODF2MTloODF6IG0tODEgMTN2MThoODF2LTE4aC04MXogbTIxOS0zMmgtNTB2MTloNTB2LTE5eiBtMCAzMmgtNTB2MThoNTB2LTE4eiBtMCAzMWgtNTB2NmgtOTR2LTEyaC04MXYxMmgtODh2LTEyaC03NXYxMmgtOTR2LTEyaC04MXYxMmgtOTR2LTEyaC03NXYxMmgtOTN2LTEyaC01MHYyNWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDg3NXYtMTl6IG0tNzUwLTYwMHY2M2g2MjV2LTYzaC02MjV6IG02MjUgMTI1aC02MjV2NjNoNjI1di02M3ogbS0xMjUgMTI1aC01MDB2NjNoNTAwdi02M3oiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXh0LWFyZWEiIHVuaWNvZGU9IiYjeGU4MDc7IiBkPSJNMTg4IDE2M3Y2Mmg1MDB2LTYyaC01MDBsMCAweiBtMCAyNTBoNjI1djYyaC02MjV2LTYybDAgMHogbTAtNjN2LTYyaDYyNXY2MmgtNjI1bDAgMHogbTYyNSAyNTBoLTYyNXYtNjJoNjI1djYybDAgMHogbTE4Ny02MjV2NzUwYzAgMzgtMjUgNjMtNjIgNjNoLTg3NWMtMzggMC02My0yNS02My02M3YtNzUwYzAtMzggMjUtNjMgNjMtNjNoODc1YzM3IDAgNjIgMjUgNjIgNjN6IG0tNjIgNzUwdi03NTBoLTg3NXY3NTBoODc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dC1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwODsiIGQ9Ik05MzggNjAwaC02NTd2NjNoOTR2NjJoLTk0LTYyLTk0di02Mmg5NHYtNjNoLTE1NmMtMzggMC02My0zMS02My02MnYtMzc1YzAtMzggMjUtNjMgNjMtNjNoMTU2di02MmgtOTR2LTYzaDI1MHY2M2gtOTR2NjJoNjU3YzM3IDAgNjIgMjUgNjIgNjN2Mzc1YzAgMzEtMjUgNjItNjIgNjJ6IG0tODc1LTQzN3YzNzVoMTU2di0zNzVoLTE1NnogbTg3NSAwaC02NTd2Mzc1aDY1N3YtMzc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImZpbGUtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MGE7IiBkPSJNNDY5IDE2M2gtNDY5di0yNTFoOTM4djI1MWgtNDY5eiBtNDA2LTEyNWgtMTI1djYyaDEyNXYtNjJ6IG0tNjU2IDUwMGwyNTAgMjUwIDI1MC0yNTBoLTE1NnYtMzEzaC0xODh2MzEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iaGlkZGVuLWlucHV0IiB1bmljb2RlPSImI3hlODBiOyIgZD0iTTYzIDUzOGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG02MyA0MzhsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTQzOGw2MyAwIDAgNjMtNjMgMHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImJ1dHRvbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwZDsiIGQ9Ik02MiA1MzhsODc1IDAgMCA2Mi04NzUgMHogbS02Mi0zNzVsNjMgMCAwIDM3NS02MyAweiBtNjMtNjNsODc1IDAgMCA2My04NzUgMHogbTg3NSA2M2w2MiAwIDAgMzc1LTYyIDB6IG0tNTUyIDI4MHEtMzQgMC01NC0yNS0xOS0yNS0xOS02OCAwLTQzIDE5LTY4IDIwLTI1IDU0LTI1IDMzIDAgNTMgMjUgMTkgMjUgMTkgNjggMCA0My0xOSA2OC0yMCAyNS01MyAyNXogbTAgMjVxNDggMCA3Ni0zMiAyOS0zMiAyOS04NiAwLTU0LTI5LTg2LTI4LTMyLTc2LTMyLTQ4IDAtNzcgMzItMjkgMzItMjkgODYgMCA1NCAyOSA4NiAyOSAzMiA3NyAzMnogbTE1My00bDMxIDAgMC05NiAxMDIgOTYgNDAgMC0xMTMtMTA2IDEyMS0xMjItNDEgMC0xMDkgMTEwIDAtMTEwLTMxIDAgMCAyMjh6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJhdHRhY2giIHVuaWNvZGU9IiYjeGU4MGU7IiBkPSJNNzgzIDc3cTAtNjUtNDQtMTA5dC0xMDktNDRxLTc1IDAtMTMxIDU1bC00MzQgNDM0cS02MyA2NC02MyAxNTEgMCA4OCA2MiAxNTB0MTUwIDYycTg4IDAgMTUyLTYzbDMzOC0zMzhxNS01IDUtMTIgMC05LTE3LTI2dC0yNi0xN3EtNyAwLTEzIDVsLTMzOCAzMzlxLTQ0IDQzLTEwMSA0My01OSAwLTEwMC00MnQtNDAtMTAxcTAtNTggNDItMTAxbDQzMy00MzNxMzUtMzYgODEtMzYgMzYgMCA1OSAyNHQyNCA1OXEwIDQ2LTM2IDgxbC0zMjQgMzI0cS0xNCAxNC0zMyAxNC0xNiAwLTI3LTExdC0xMS0yN3EwLTE4IDE0LTMzbDIyOS0yMjhxNi02IDYtMTMgMC05LTE4LTI2dC0yNi0xN3EtNyAwLTEyIDVsLTIyOSAyMjlxLTM1IDM0LTM1IDgzIDAgNDYgMzIgNzh0NzcgMzJxNDkgMCA4My0zNmwzMjUtMzI0cTU1LTU0IDU1LTEzMXoiIGhvcml6LWFkdi14PSI3ODUuNyIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkZXIiIHVuaWNvZGU9IiYjeGU4MGY7IiBkPSJNOTM5LTc5cS0yNSAwLTc0IDJ0LTc1IDJxLTI0IDAtNzMtMnQtNzQtMnEtMTQgMC0yMSAxMnQtNyAyNXEwIDE3IDkgMjZ0MjIgOSAyOSA0IDI1IDlxMTggMTEgMTggNzhsMCAyMThxMCAxMi0xIDE3LTcgMy0yOCAzaC0zNzZxLTIyIDAtMjktMyAwLTUgMC0xN2wtMS0yMDdxMC03OSAyMS05MiA5LTUgMjYtN3QzMi0yIDI1LTggMTEtMjZxMC0xNC03LTI2dC0yMC0xM3EtMjYgMC03OCAydC03NyAycS0yNCAwLTcxLTJ0LTcxLTJxLTEzIDAtMjAgMTJ0LTcgMjVxMCAxNyA5IDI1dDIwIDEwIDI2IDQgMjQgOXExOCAxMyAxOCA4MGwtMSAzMXY0NTRxMCAyIDEgMTR0MCAyMS0xIDIxLTIgMjQtNCAyMC02IDE4LTkgMTBxLTggNS0yNSA2dC0yOSAyLTIzIDctMTAgMjZxMCAxNCA2IDI2dDIwIDEzcTI2IDAgNzgtMnQ3Ny0ycTIzIDAgNzEgMnQ3MCAycTE0IDAgMjEtMTN0Ny0yNnEwLTE3LTktMjV0LTIyLTgtMjgtMi0yNC03cS0xOS0xMi0xOS05MGwxLTE3OHEwLTEyIDAtMTggNy0yIDIyLTJoMzkwcTE0IDAgMjEgMiAxIDYgMSAxOGwwIDE3OHEwIDc4LTE5IDkwLTEwIDYtMzMgN3QtMzcgNy0xNCAyOHEwIDE0IDcgMjZ0MjEgMTNxMjQgMCA3NC0ydDczLTJxMjQgMCA3MiAydDcyIDJxMTQgMCAyMS0xM3Q3LTI2cTAtMTctMTAtMjV0LTIyLTgtMjktMi0yNC03cS0yMC0xMy0yMC05MGwxLTUyNnEwLTY2IDE5LTc4IDktNiAyNS04dDMwLTIgMjMtOSAxMC0yNXEwLTE0LTYtMjZ0LTIwLTEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGFyYWdyYXBoIiB1bmljb2RlPSImI3hlODEwOyIgZD0iTTcxMyA3NDV2LTQxcTAtMTYtMTAtMzR0LTI0LTE4cS0yOCAwLTMwLTEtMTUtMy0xOC0xNy0yLTYtMi0zNnYtNjQzcTAtMTQtMTAtMjR0LTI0LTEwaC02MHEtMTQgMC0yNCAxMHQtMTAgMjR2NjgwaC04MHYtNjgwcTAtMTQtOS0yNHQtMjUtMTBoLTYwcS0xNCAwLTI0IDEwdC0xMCAyNHYyNzdxLTgyIDctMTM3IDMzLTcwIDMzLTEwNyAxMDAtMzYgNjUtMzYgMTQ1IDAgOTIgNTAgMTU5IDQ5IDY2IDExNiA4OSA2MiAyMSAyMzMgMjFoMjY3cTE0IDAgMjQtMTB0MTAtMjR6IiBob3Jpei1hZHYteD0iNzE0LjMiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0ibnVtYmVyIiB1bmljb2RlPSImI3hlODExOyIgZD0iTTg3NSA0NzV2MTI1aC0xNTZsMzEgMjUwaC0xMjVsLTMxLTI1MGgtMjUwbDMxIDI1MGgtMTI1bC0zMS0yNTBoLTIxOXYtMTI1aDIwM2wtMzEtMjUwaC0xNzJ2LTEyNWgxNTZsLTMxLTI1MGgxMjVsMzEgMjUwaDI1MGwtMzEtMjUwaDEyNWwzMSAyNTBoMjE5djEyNWgtMjAzbDMxIDI1MGgxNzJ6IG0tMzI4LTI1MGgtMjUwbDMxIDI1MGgyNTBsLTMxLTI1MHoiIGhvcml6LWFkdi14PSI4NzUiIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format("svg"); + font-weight: normal; + font-style: normal; } + +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'form-builder-font'; + src: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjYWxlbmRhciIgdW5pY29kZT0iJiN4ZTgwMTsiIGQ9Ik03MS03OWgxNjF2MTYxaC0xNjF2LTE2MXogbTE5NyAwaDE3OHYxNjFoLTE3OHYtMTYxeiBtLTE5NyAxOTdoMTYxdjE3OGgtMTYxdi0xNzh6IG0xOTcgMGgxNzh2MTc4aC0xNzh2LTE3OHogbS0xOTcgMjE0aDE2MXYxNjFoLTE2MXYtMTYxeiBtNDExLTQxMWgxNzl2MTYxaC0xNzl2LTE2MXogbS0yMTQgNDExaDE3OHYxNjFoLTE3OHYtMTYxeiBtNDI4LTQxMWgxNjF2MTYxaC0xNjF2LTE2MXogbS0yMTQgMTk3aDE3OXYxNzhoLTE3OXYtMTc4eiBtLTE5NiA0ODJ2MTYxcTAgNy02IDEydC0xMiA2aC0zNnEtNyAwLTEyLTZ0LTYtMTJ2LTE2MXEwLTcgNi0xM3QxMi01aDM2cTcgMCAxMiA1dDYgMTN6IG00MTAtNDgyaDE2MXYxNzhoLTE2MXYtMTc4eiBtLTIxNCAyMTRoMTc5djE2MWgtMTc5di0xNjF6IG0yMTQgMGgxNjF2MTYxaC0xNjF2LTE2MXogbTE4IDI2OHYxNjFxMCA3LTUgMTJ0LTEzIDZoLTM1cS04IDAtMTMtNnQtNS0xMnYtMTYxcTAtNyA1LTEzdDEzLTVoMzVxOCAwIDEzIDV0NSAxM3ogbTIxNSAzNnYtNzE1cTAtMjktMjItNTB0LTUwLTIxaC03ODZxLTI5IDAtNTAgMjF0LTIxIDUwdjcxNXEwIDI5IDIxIDUwdDUwIDIxaDcydjU0cTAgMzcgMjYgNjN0NjMgMjZoMzZxMzcgMCA2My0yNnQyNi02M3YtNTRoMjE0djU0cTAgMzcgMjcgNjN0NjMgMjZoMzVxMzcgMCA2My0yNnQyNy02M3YtNTRoNzFxMjkgMCA1MC0yMXQyMi01MHoiIGhvcml6LWFkdi14PSI5MjguNiIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja2JveCIgdW5pY29kZT0iJiN4ZTgwMjsiIGQ9Ik04NDQgNTM4di01MDBjMC01MS00NC05NC05NC05NGgtNTYyYy01MCAwLTk0IDQzLTk0IDk0djU2MmMwIDUwIDQ0IDk0IDk0IDk0aDU2MmM0NCAwIDgxLTMxIDk0LTc1bDE1MCA4Ny0xNTAtMTY4eiBtLTYzLTc1bC0zMDAtMzYzLTMwNiA0MDYgMzA2LTEwMCAzMDAgMTgydjEyYzAgMTktMTIgMzEtMzEgMzFoLTU2MmMtMTkgMC0zMi0xMi0zMi0zMXYtNTYyYzAtMTkgMTMtMzIgMzItMzJoNTYyYzE5IDAgMzEgMTMgMzEgMzJ2NDI1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJyYWRpby1ncm91cCIgdW5pY29kZT0iJiN4ZTgwNDsiIGQ9Ik0wIDc4OGgxMDAwdjYyaC0xMDAwdi02MnogbTAtMTI1aDEwMDB2NjJoLTEwMDB2LTYyeiBtMzEzLTE4OGg2MjV2NjNoLTYyNXYtNjN6IG02MjUtMTg3aC02MjV2LTYzaDYyNXY2M3ogbTAtMzEzdjYzaC02MjV2LTYzaDYyNXogbS04NDQgNDM4Yy01MCAwLTk0IDQzLTk0IDkzczQ0IDk0IDk0IDk0IDk0LTQ0IDk0LTk0LTQ0LTkzLTk0LTkzeiBtMCAxMjVjLTE5IDAtMzEtMTMtMzEtMzJzMTItMzEgMzEtMzEgMzEgMTMgMzEgMzEtMTIgMzItMzEgMzJ6IG0wLTM4MmMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC0zOCA5NC05NC00NC05NC05NC05NHogbTAgMTI1Yy0xOSAwLTMxLTEyLTMxLTMxczEyLTMxIDMxLTMxIDMxIDE5IDMxIDMxLTEyIDMxLTMxIDMxeiBtMC0zNjljLTUwIDAtOTQgNDQtOTQgOTRzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTQtOTQtOTR6IG0wIDEyNmMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMiAzMSAzMS0xMiAzMi0zMSAzMnoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJpY2gtdGV4dCIgdW5pY29kZT0iJiN4ZTgwNTsiIGQ9Ik05MzggNzg4aC04NzVjLTM4IDAtNjMtMjUtNjMtNjN2LTc1MGMwLTM4IDI1LTYzIDYzLTYzaDg3NWMzNyAwIDYyIDI1IDYyIDYzdjc1MGMwIDM4LTI1IDYzLTYyIDYzeiBtLTg3NS0xMzJoNTB2LTE4aC01MHYxOHogbTAtMzFoNTB2LTE5aC01MHYxOXogbTg3NS02NTBoLTg3NXY1NTZoODc1di01NTZ6IG0wIDU2OWgtODc1djE5aDg3NXYtMTl6IG0wIDMxaC04NzV2MTloNTB2LTEzaDkzdjEzaDgydi0xM2g4N3YxM2g4MXYtMTNoOTR2MTNoNzV2LTEzaDk0djEzaDgxdi0xM2g5NHYxM2g0NHYtMTl6IG0tNjU3IDUwdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoODJ2LTE4aC04MnogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yNTAtMTN2LTE5aC03NXYxOWg3NXogbS03NSAxM3YxOGg3NXYtMThoLTc1eiBtMjUwLTEzdi0xOWgtODF2MTloODF6IG0tODEgMTN2MThoODF2LTE4aC04MXogbTIxOS0zMmgtNTB2MTloNTB2LTE5eiBtMCAzMmgtNTB2MThoNTB2LTE4eiBtMCAzMWgtNTB2NmgtOTR2LTEyaC04MXYxMmgtODh2LTEyaC03NXYxMmgtOTR2LTEyaC04MXYxMmgtOTR2LTEyaC03NXYxMmgtOTN2LTEyaC01MHYyNWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDg3NXYtMTl6IG0tNzUwLTYwMHY2M2g2MjV2LTYzaC02MjV6IG02MjUgMTI1aC02MjV2NjNoNjI1di02M3ogbS0xMjUgMTI1aC01MDB2NjNoNTAwdi02M3oiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXh0LWFyZWEiIHVuaWNvZGU9IiYjeGU4MDc7IiBkPSJNMTg4IDE2M3Y2Mmg1MDB2LTYyaC01MDBsMCAweiBtMCAyNTBoNjI1djYyaC02MjV2LTYybDAgMHogbTAtNjN2LTYyaDYyNXY2MmgtNjI1bDAgMHogbTYyNSAyNTBoLTYyNXYtNjJoNjI1djYybDAgMHogbTE4Ny02MjV2NzUwYzAgMzgtMjUgNjMtNjIgNjNoLTg3NWMtMzggMC02My0yNS02My02M3YtNzUwYzAtMzggMjUtNjMgNjMtNjNoODc1YzM3IDAgNjIgMjUgNjIgNjN6IG0tNjIgNzUwdi03NTBoLTg3NXY3NTBoODc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dC1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwODsiIGQ9Ik05MzggNjAwaC02NTd2NjNoOTR2NjJoLTk0LTYyLTk0di02Mmg5NHYtNjNoLTE1NmMtMzggMC02My0zMS02My02MnYtMzc1YzAtMzggMjUtNjMgNjMtNjNoMTU2di02MmgtOTR2LTYzaDI1MHY2M2gtOTR2NjJoNjU3YzM3IDAgNjIgMjUgNjIgNjN2Mzc1YzAgMzEtMjUgNjItNjIgNjJ6IG0tODc1LTQzN3YzNzVoMTU2di0zNzVoLTE1NnogbTg3NSAwaC02NTd2Mzc1aDY1N3YtMzc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImZpbGUtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MGE7IiBkPSJNNDY5IDE2M2gtNDY5di0yNTFoOTM4djI1MWgtNDY5eiBtNDA2LTEyNWgtMTI1djYyaDEyNXYtNjJ6IG0tNjU2IDUwMGwyNTAgMjUwIDI1MC0yNTBoLTE1NnYtMzEzaC0xODh2MzEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iaGlkZGVuLWlucHV0IiB1bmljb2RlPSImI3hlODBiOyIgZD0iTTYzIDUzOGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG02MyA0MzhsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTQzOGw2MyAwIDAgNjMtNjMgMHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImJ1dHRvbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwZDsiIGQ9Ik02MiA1MzhsODc1IDAgMCA2Mi04NzUgMHogbS02Mi0zNzVsNjMgMCAwIDM3NS02MyAweiBtNjMtNjNsODc1IDAgMCA2My04NzUgMHogbTg3NSA2M2w2MiAwIDAgMzc1LTYyIDB6IG0tNTUyIDI4MHEtMzQgMC01NC0yNS0xOS0yNS0xOS02OCAwLTQzIDE5LTY4IDIwLTI1IDU0LTI1IDMzIDAgNTMgMjUgMTkgMjUgMTkgNjggMCA0My0xOSA2OC0yMCAyNS01MyAyNXogbTAgMjVxNDggMCA3Ni0zMiAyOS0zMiAyOS04NiAwLTU0LTI5LTg2LTI4LTMyLTc2LTMyLTQ4IDAtNzcgMzItMjkgMzItMjkgODYgMCA1NCAyOSA4NiAyOSAzMiA3NyAzMnogbTE1My00bDMxIDAgMC05NiAxMDIgOTYgNDAgMC0xMTMtMTA2IDEyMS0xMjItNDEgMC0xMDkgMTEwIDAtMTEwLTMxIDAgMCAyMjh6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJhdHRhY2giIHVuaWNvZGU9IiYjeGU4MGU7IiBkPSJNNzgzIDc3cTAtNjUtNDQtMTA5dC0xMDktNDRxLTc1IDAtMTMxIDU1bC00MzQgNDM0cS02MyA2NC02MyAxNTEgMCA4OCA2MiAxNTB0MTUwIDYycTg4IDAgMTUyLTYzbDMzOC0zMzhxNS01IDUtMTIgMC05LTE3LTI2dC0yNi0xN3EtNyAwLTEzIDVsLTMzOCAzMzlxLTQ0IDQzLTEwMSA0My01OSAwLTEwMC00MnQtNDAtMTAxcTAtNTggNDItMTAxbDQzMy00MzNxMzUtMzYgODEtMzYgMzYgMCA1OSAyNHQyNCA1OXEwIDQ2LTM2IDgxbC0zMjQgMzI0cS0xNCAxNC0zMyAxNC0xNiAwLTI3LTExdC0xMS0yN3EwLTE4IDE0LTMzbDIyOS0yMjhxNi02IDYtMTMgMC05LTE4LTI2dC0yNi0xN3EtNyAwLTEyIDVsLTIyOSAyMjlxLTM1IDM0LTM1IDgzIDAgNDYgMzIgNzh0NzcgMzJxNDkgMCA4My0zNmwzMjUtMzI0cTU1LTU0IDU1LTEzMXoiIGhvcml6LWFkdi14PSI3ODUuNyIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkZXIiIHVuaWNvZGU9IiYjeGU4MGY7IiBkPSJNOTM5LTc5cS0yNSAwLTc0IDJ0LTc1IDJxLTI0IDAtNzMtMnQtNzQtMnEtMTQgMC0yMSAxMnQtNyAyNXEwIDE3IDkgMjZ0MjIgOSAyOSA0IDI1IDlxMTggMTEgMTggNzhsMCAyMThxMCAxMi0xIDE3LTcgMy0yOCAzaC0zNzZxLTIyIDAtMjktMyAwLTUgMC0xN2wtMS0yMDdxMC03OSAyMS05MiA5LTUgMjYtN3QzMi0yIDI1LTggMTEtMjZxMC0xNC03LTI2dC0yMC0xM3EtMjYgMC03OCAydC03NyAycS0yNCAwLTcxLTJ0LTcxLTJxLTEzIDAtMjAgMTJ0LTcgMjVxMCAxNyA5IDI1dDIwIDEwIDI2IDQgMjQgOXExOCAxMyAxOCA4MGwtMSAzMXY0NTRxMCAyIDEgMTR0MCAyMS0xIDIxLTIgMjQtNCAyMC02IDE4LTkgMTBxLTggNS0yNSA2dC0yOSAyLTIzIDctMTAgMjZxMCAxNCA2IDI2dDIwIDEzcTI2IDAgNzgtMnQ3Ny0ycTIzIDAgNzEgMnQ3MCAycTE0IDAgMjEtMTN0Ny0yNnEwLTE3LTktMjV0LTIyLTgtMjgtMi0yNC03cS0xOS0xMi0xOS05MGwxLTE3OHEwLTEyIDAtMTggNy0yIDIyLTJoMzkwcTE0IDAgMjEgMiAxIDYgMSAxOGwwIDE3OHEwIDc4LTE5IDkwLTEwIDYtMzMgN3QtMzcgNy0xNCAyOHEwIDE0IDcgMjZ0MjEgMTNxMjQgMCA3NC0ydDczLTJxMjQgMCA3MiAydDcyIDJxMTQgMCAyMS0xM3Q3LTI2cTAtMTctMTAtMjV0LTIyLTgtMjktMi0yNC03cS0yMC0xMy0yMC05MGwxLTUyNnEwLTY2IDE5LTc4IDktNiAyNS04dDMwLTIgMjMtOSAxMC0yNXEwLTE0LTYtMjZ0LTIwLTEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGFyYWdyYXBoIiB1bmljb2RlPSImI3hlODEwOyIgZD0iTTcxMyA3NDV2LTQxcTAtMTYtMTAtMzR0LTI0LTE4cS0yOCAwLTMwLTEtMTUtMy0xOC0xNy0yLTYtMi0zNnYtNjQzcTAtMTQtMTAtMjR0LTI0LTEwaC02MHEtMTQgMC0yNCAxMHQtMTAgMjR2NjgwaC04MHYtNjgwcTAtMTQtOS0yNHQtMjUtMTBoLTYwcS0xNCAwLTI0IDEwdC0xMCAyNHYyNzdxLTgyIDctMTM3IDMzLTcwIDMzLTEwNyAxMDAtMzYgNjUtMzYgMTQ1IDAgOTIgNTAgMTU5IDQ5IDY2IDExNiA4OSA2MiAyMSAyMzMgMjFoMjY3cTE0IDAgMjQtMTB0MTAtMjR6IiBob3Jpei1hZHYteD0iNzE0LjMiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0ibnVtYmVyIiB1bmljb2RlPSImI3hlODExOyIgZD0iTTg3NSA0NzV2MTI1aC0xNTZsMzEgMjUwaC0xMjVsLTMxLTI1MGgtMjUwbDMxIDI1MGgtMTI1bC0zMS0yNTBoLTIxOXYtMTI1aDIwM2wtMzEtMjUwaC0xNzJ2LTEyNWgxNTZsLTMxLTI1MGgxMjVsMzEgMjUwaDI1MGwtMzEtMjUwaDEyNWwzMSAyNTBoMjE5djEyNWgtMjAzbDMxIDI1MGgxNzJ6IG0tMzI4LTI1MGgtMjUwbDMxIDI1MGgyNTBsLTMxLTI1MHoiIGhvcml6LWFkdi14PSI4NzUiIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format('svg'); + } +} +*/ +[class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "form-builder-font"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } + +.icon-autocomplete:before { + content: '\e800'; } + +/* '' */ +.icon-calendar:before { + content: '\e801'; } + +/* '' */ +.icon-checkbox:before { + content: '\e802'; } + +/* '' */ +.icon-checkbox-group:before { + content: '\e803'; } + +/* '' */ +.icon-radio-group:before { + content: '\e804'; } + +/* '' */ +.icon-rich-text:before { + content: '\e805'; } + +/* '' */ +.icon-select:before { + content: '\e806'; } + +/* '' */ +.icon-text-area:before { + content: '\e807'; } + +/* '' */ +.icon-text-input:before { + content: '\e808'; } + +/* '' */ +.icon-pencil:before { + content: '\e809'; } + +/* '' */ +.icon-file-input:before { + content: '\e80a'; } + +/* '' */ +.icon-hidden-input:before { + content: '\e80b'; } + +/* '' */ +.icon-resize-vertical:before { + content: '\e80c'; } + +/* '' */ +.icon-button-input:before { + content: '\e80d'; } + +/* '' */ +.icon-attach:before { + content: '\e80e'; } + +/* '' */ +.icon-header:before { + content: '\e80f'; } + +/* '' */ +.icon-paragraph:before { + content: '\e810'; } + +/* '' */ +.icon-number:before { + content: '\e811'; } + +/* '' */ +/* + Mixins +*/ +/* + Animations +*/ +@-webkit-keyframes PLACEHOLDER { + 0% { + height: 1px; } + 100% { + height: 15px; } } +@keyframes PLACEHOLDER { + 0% { + height: 1px; } + 100% { + height: 15px; } } + +.cb-wrap { + float: right; + width: 26%; + -webkit-transition: -webkit-transform 250ms; + transition: -webkit-transform 250ms; + transition: transform 250ms; + transition: transform 250ms, -webkit-transform 250ms; + /* smartphones, Android phones, landscape iPhone */ } + .cb-wrap.pull-left .form-actions { + float: left; } + .cb-wrap h4 { + margin-top: 0; + color: #666; } + .cb-wrap .save:hover { + color: #08fe00; } + @media (max-width: 481px) { + .cb-wrap { + width: 64px; } + .cb-wrap h4 { + display: none; } } + +.frmb-control.sort-enabled li.ui-state-highlight { + box-shadow: none; + height: 0; + width: 100%; + background: -webkit-radial-gradient(center ellipse, #545454 0%, transparent 75%); + background: radial-gradient(ellipse at center, #545454 0%, transparent 75%); + border: 0 none; + -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); + clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); + visibility: visible; + overflow: hidden; + margin: 1px 0 3px; + -webkit-animation: PLACEHOLDER 250ms forwards; + animation: PLACEHOLDER 250ms forwards; } + +.frmb-control li { + cursor: move; + list-style: none; + margin: -1px 0 0; + box-shadow: 0 0 1px 0 inset; + padding: 10px; + text-align: left; + background: #fff; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* smartphones, Android phones, landscape iPhone */ } + .frmb-control li:first-child { + border-radius: 5px 5px 0 0; } + .frmb-control li:last-child { + border-radius: 0 0 5px 5px; } + .frmb-control li:before { + margin-right: 10px; + font-size: 16px; } + .frmb-control li:hover { + background-color: #f2f2f2; } + .frmb-control li.ui-sortable-helper { + border-radius: 5px; + -webkit-transition: box-shadow 250ms; + transition: box-shadow 250ms; + box-shadow: 2px 2px 6px 0 #666; + border: 1px solid #fff; } + .frmb-control li.ui-state-highlight { + width: 0; + overflow: hidden; + padding: 0; + margin: 0; + border: 0 none; } + .frmb-control li.moving { + opacity: 0.6; } + @media (max-width: 481px) { + .frmb-control li:before { + font-size: 30px; } + .frmb-control li span { + display: none; } } + +.frmb-control { + margin: 0; + padding: 0; } + +.fb-mobile .form-actions { + width: 100%; } + .fb-mobile .form-actions button { + width: 100%; + font-size: .85em !important; + display: block !important; + border-radius: 0 !important; + margin-top: -1px; + margin-left: 0 !important; } + .fb-mobile .form-actions button:first-child { + border-radius: 5px 5px 0 0 !important; + margin-top: 0 !important; + border-bottom: 0 none; } + .fb-mobile .form-actions button:last-child { + border-radius: 0 0 5px 5px !important; } + +.form-actions { + float: right; + margin-top: 5px; + /* smartphones, Android phones, landscape iPhone */ } + .form-actions .clear-all:hover { + color: #fff !important; } + +[id^='frmb-'][id$='-form-wrap'] { + /* ------------ TOOLTIP ------------ */ } + [id^='frmb-'][id$='-form-wrap'] .empty .frmb { + border: 3px dashed #ccc; + margin-right: 5px; + background-color: rgba(255, 255, 255, 0.25); } + [id^='frmb-'][id$='-form-wrap'] .stage-wrap { + position: relative; + float: left; + width: 74%; + /* smartphones, Android phones, landscape iPhone */ } + [id^='frmb-'][id$='-form-wrap'] .stage-wrap.pull-right .frmb { + margin: 0 0 0 6px; } + @media (max-width: 481px) { + [id^='frmb-'][id$='-form-wrap'] .stage-wrap { + width: calc(100% - 64px); } } + [id^='frmb-'][id$='-form-wrap'] .stage-wrap .action-links { + width: calc( 100% - 141px); + display: none; + float: right; + overflow: hidden; + text-align: right; } + [id^='frmb-'][id$='-form-wrap'] .stage-wrap.empty:after { + content: attr(data-content); + position: absolute; + text-align: center; + top: 50%; + left: 0; + width: 100%; + margin-top: -1em; } + [id^='frmb-'][id$='-form-wrap'] .stage-wrap .action-links .active { + font-weight: 700; + color: #000; } + [id^='frmb-'][id$='-form-wrap'] .frmb { + list-style-type: none; + min-height: 200px; + margin: 0 6px 0 0; + padding: 0; + -webkit-transition: background-color 500ms ease-in-out; + transition: background-color 500ms ease-in-out; } + [id^='frmb-'][id$='-form-wrap'] .frmb.removing { + overflow: hidden; } + [id^='frmb-'][id$='-form-wrap'] .frmb li { + position: relative; + padding: 6px; + clear: both; + margin-left: 0; + margin-bottom: 3px; + background-color: #fff; + -webkit-transition: background-color 250ms ease-in-out, margin-top 500ms; + transition: background-color 250ms ease-in-out, margin-top 500ms; } + [id^='frmb-'][id$='-form-wrap'] .frmb li:hover .field-actions { + opacity: 1; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.hidden-field { + background-color: rgba(255, 255, 255, 0.6); } + [id^='frmb-'][id$='-form-wrap'] .frmb li:first-child { + border-top-right-radius: 5px; + border-top-left-radius: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li:first-child .field-actions .btn:last-child { + border-radius: 0 5px 0 0; } + [id^='frmb-'][id$='-form-wrap'] .frmb li:last-child { + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li:hover { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + [id^='frmb-'][id$='-form-wrap'] .frmb li:hover li :hover { + background: #fefefe; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.no-fields label { + font-weight: 400; } + +@keyframes PLACEHOLDER { + 0% { + height: 0; } + 100% { + height: 15px; } } + [id^='frmb-'][id$='-form-wrap'] .frmb li.frmb-placeholder, [id^='frmb-'][id$='-form-wrap'] .frmb li.ui-state-highlight { + height: 0; + padding: 0; + background: -webkit-radial-gradient(center ellipse, #545454 0%, transparent 75%); + background: radial-gradient(ellipse at center, #545454 0%, transparent 75%); + border: 0 none; + -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); + clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); + visibility: visible; + overflow: hidden; + margin-bottom: 3px; + -webkit-animation: PLACEHOLDER 250ms forwards; + animation: PLACEHOLDER 250ms forwards; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.moving, [id^='frmb-'][id$='-form-wrap'] .frmb li.ui-sortable-helper { + -webkit-transition: box-shadow 500ms ease-in-out; + transition: box-shadow 500ms ease-in-out; + box-shadow: 2px 2px 6px 0 #666; + border: 1px solid #fff; + border-radius: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.disabled { + z-index: 1; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.disabled [type=checkbox] { + float: left; + margin-right: 10px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.disabled h2 { + border-bottom: 0 none; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.disabled label { + font-size: 12px; + font-weight: 400; + color: #666; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.disabled .prev-holder { + cursor: default; + line-height: 28px; + padding-left: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li .close-field { + position: absolute; + color: #666; + left: 50%; + bottom: 6px; + background: #fff; + border-top: 1px solid #d7d7d7; + border-left: 1px solid #d7d7d7; + border-right: 1px solid #D7D7D7; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + padding: 0 5px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; + cursor: pointer; + -webkit-transition: background-color 250ms ease-in-out; + transition: background-color 250ms ease-in-out; } + [id^='frmb-'][id$='-form-wrap'] .frmb li .close-field:hover { + text-decoration: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h1, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h2, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h3, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field p, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field canvas, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field output, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field address, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field blockquote, + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field .prev-holder, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h1, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h2, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h3, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field p, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field canvas, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field output, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field address, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field blockquote, + [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field .prev-holder, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h1, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h2, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h3, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field p, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field canvas, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field output, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field address, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field blockquote, + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .prev-holder { + margin: 0; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .field-label { + display: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.button-field.editing .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field.editing .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field.editing .field-label { + display: block; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .fld-label { + min-height: 150px; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.deleting, + [id^='frmb-'][id$='-form-wrap'] .frmb li.delete:hover, + [id^='frmb-'][id$='-form-wrap'] .frmb li:hover li.delete:hover { + background-color: #fdd; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.deleting .close-field, + [id^='frmb-'][id$='-form-wrap'] .frmb li.delete:hover .close-field, + [id^='frmb-'][id$='-form-wrap'] .frmb li:hover li.delete:hover .close-field { + background-color: #fdd; } + [id^='frmb-'][id$='-form-wrap'] .frmb li.deleting { + z-index: 20; + pointer-events: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb.disabled { + padding: 0 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb.disabled :hover { + border-color: transparent; } + [id^='frmb-'][id$='-form-wrap'] .frmb.disabled .form-element { + float: none; + margin-bottom: 10px; + overflow: visible; + padding: 5px 0; + position: relative; } + [id^='frmb-'][id$='-form-wrap'] .frmb .frm-holder { + display: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb .tooltip { + left: 20px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder { + display: block; + margin-top: 12px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='color'] { + width: 60px; + padding: 2px; + display: inline-block; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='date'] { + width: auto; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder select[multiple] { + height: auto; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder label { + font-weight: normal; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='number'] { + width: auto; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='checkbox'], + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='radio'] { + margin-right: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='color'] { + width: 60px; + padding: 2px; + display: inline-block; } + [id^='frmb-'][id$='-form-wrap'] .frmb .required-asterisk { + display: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .legend { + color: #666; + margin-bottom: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .disabled .field-label { + display: block; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions { + position: absolute; + top: 0; + right: 0; + opacity: 0; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions a:hover { + text-decoration: none; + color: #000; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .btn { + display: inline-block; + width: 32px; + height: 32px; + padding: 0; + border-radius: 0; + border-color: #b3b3b3; + color: #b3b3b3; + line-height: 32px; + font-size: 16px; + border-width: 0 0 1px 1px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .btn:first-child { + border-bottom-left-radius: 5px; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .toggle-form { + font-size: .85em; + background-color: rgba(255, 255, 255, 0.75); } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .toggle-form:hover { + color: #000; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .del-button:hover { + background-color: #c66865; + color: #fff; } + [id^='frmb-'][id$='-form-wrap'] .frmb .option-actions { + text-align: right; } + [id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap { + width: 81.33333333%; + display: inline-block; + /* smartphones, Android phones, landscape iPhone */ } + [id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap label { + font-weight: normal; } + @media (max-width: 481px) { + [id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap { + display: block; + width: 100%; } } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options { + display: inline-block; + width: 100%; + margin-left: 2%; + background: #b3b3b3; + margin-bottom: 0; + border-radius: 5px; + list-style: none; + padding: 0; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li { + cursor: move; + margin: 1px; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li:nth-child(1) .remove, + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li:nth-child(2) .remove { + display: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li .remove { + position: absolute; + opacity: 1; + right: 14px; + height: 17px; + width: 17px; + line-height: 17px; + text-align: center; + top: 14px; + font-size: 18px; + padding: 0; + color: #C10000; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li .remove:hover { + background-color: #C10000; + text-decoration: none; + color: #fff; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type=checkbox], + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type=radio] { + margin: 0; + width: 5%; } + [id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type='text'] { + width: calc(44.5% - 17px); + margin: 0 1%; + float: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-field .form-group { + width: 100%; + clear: left; + float: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-field .form-group input[type=checkbox]:not(.option-selected) { + margin: 12px 5px 0 2%; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .field-options .add-area .add { + clear: both; } + [id^='frmb-'][id$='-form-wrap'] .frmb .col-md-6 .form-elements, + [id^='frmb-'][id$='-form-wrap'] .frmb .col-md-8 .form-elements { + width: 100%; } + [id^='frmb-'][id$='-form-wrap'] .frmb .field-options .add-area .add { + clear: both; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements { + padding: 10px 5px; + background: #f7f7f7; + border-radius: 3px; + margin: 12px 0 0; + border: 1px solid #d7d7d7; + /* smartphones, Android phones, landscape iPhone */ } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='text'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='date'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='color'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements textarea, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements select { + width: 81.33333333%; + -webkit-transition: background 250ms ease-in-out; + transition: background 250ms ease-in-out; + margin-left: 2%; + padding: 6px 12px; + border: 1px solid #AFAFAB; + background-color: #fff; + float: left; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='text'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='date'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='color'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements textarea .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements select .btn-group { + margin-left: 2%; } + @media (max-width: 481px) { + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='text'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'], + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements textarea, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements select { + width: 100%; + margin-left: 0; + float: none; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='text'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'] .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements textarea .btn-group, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements select .btn-group { + margin-left: 0; } } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'] { + width: auto; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .btn-group { + margin-left: 2%; } + .col-md-6 [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label, + .col-md-8 [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label, .col-md-6 + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label, + .col-md-8 + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label { + display: block; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child { + width: 16.66666667%; + padding-top: 7px; + margin-bottom: 0; + text-align: right; + font-weight: 700; + float: left; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-transform: capitalize; + /* smartphones, Android phones, landscape iPhone */ } + @media (max-width: 481px) { + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child { + display: block; + width: auto; + float: none; + text-align: left; } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child.empty-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child.empty-label { + display: none; } } + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.multiple, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.required-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.toggle-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.roles-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.other-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.multiple, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.required-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.toggle-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.roles-label, + [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.other-label { + text-align: left; + float: none; + margin-bottom: -3px; + font-weight: 400; + width: calc(81.3333% - 23px); } + [id^='frmb-'][id$='-form-wrap'].fb-mobile .field-actions { + opacity: 1; } + [id^='frmb-'][id$='-form-wrap'] *[tooltip] { + position: relative; } + [id^='frmb-'][id$='-form-wrap'] *[tooltip]:hover:after { + background: #262626; + background: rgba(0, 0, 0, 0.9); + border-radius: 5px 5px 5px 0; + bottom: 23px; + color: #fff; + content: attr(tooltip); + padding: 10px 5px; + position: absolute; + z-index: 98; + left: 2px; + width: 230px; + text-shadow: none; + font-size: 12px; + line-height: 1.5em; + cursor: default; } + [id^='frmb-'][id$='-form-wrap'] *[tooltip]:hover:before { + border: solid; + border-color: #222 transparent; + border-width: 6px 6px 0 6px; + bottom: 17px; + content: ''; + left: 2px; + position: absolute; + z-index: 99; + cursor: default; } + [id^='frmb-'][id$='-form-wrap'] .tooltip-element { + display: inline; + visibility: visible; + color: #fff; + background: #000; + width: 16px; + height: 16px; + border-radius: 8px; + display: inline-block; + text-align: center; + line-height: 16px; + margin: 0 5px; + font-size: 12px; + cursor: default; } + +.kc-toggle { + position: relative; + margin: 4px 0 0 2px; + width: 60px; + height: 21px; + border-radius: 3px; + cursor: pointer; + overflow: hidden; + display: inline-block; + background: #e9e9e9; + border: 1px solid #cbcbcb; + vertical-align: bottom; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .kc-toggle .kct-inner { + position: absolute; + top: 0; + left: -28px; + width: 115px; + height: 100%; + -webkit-transition: left 150ms ease; + transition: left 150ms ease; } + .kc-toggle.on .kct-inner { + background: #e2e2e2; + background: -webkit-linear-gradient(top, #e2e2e2 0%, #ffffff 100%); + background: linear-gradient(to bottom, #e2e2e2 0%, #ffffff 100%); + left: 0; } + +.kc-toggle input { + display: none; + position: absolute; + z-index: -1; + opacity: 0; + margin: 0; + padding: 0; + width: 100%; + height: 100%; } + +.kc-toggle .kct-on { + color: #12a912; } + +.kct-off { + color: #666; } + +.kct-on, .kct-off, .kct-handle { + width: 28px; + height: 100%; + font-family: Arial, Tahoma, sans-serif; + font-size: 12px; + text-align: center; + line-height: 22px; + font-weight: bold; + float: left; } + +.kct-on, .kct-off { + position: relative; } + +.kct-handle { + position: relative; + height: 17px; + background: #ffffff; + background: -webkit-linear-gradient(top, #ffffff 0%, #cecece 100%); + background: linear-gradient(to bottom, #ffffff 0%, #cecece 100%); + border: 1px solid #999; + font-weight: 100; + color: #4b4b4b; + text-shadow: none; + border-radius: 3px; + margin: 1px; } + +[id^='frmb-'][id$='-form-wrap'] * { + box-sizing: border-box; } + +[id^='frmb-'][id$='-form-wrap'] button, +[id^='frmb-'][id$='-form-wrap'] input, +[id^='frmb-'][id$='-form-wrap'] select, +[id^='frmb-'][id$='-form-wrap'] textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +[id^='frmb-'][id$='-form-wrap'] input { + line-height: normal; } + +[id^='frmb-'][id$='-form-wrap'] button, +[id^='frmb-'][id$='-form-wrap'] input, +[id^='frmb-'][id$='-form-wrap'] optgroup, +[id^='frmb-'][id$='-form-wrap'] select, +[id^='frmb-'][id$='-form-wrap'] textarea { + margin: 0; + font: inherit; + color: inherit; } + +[id^='frmb-'][id$='-form-wrap'] textarea { + overflow: auto; } + +[id^='frmb-'][id$='-form-wrap'] button, +[id^='frmb-'][id$='-form-wrap'] input, +[id^='frmb-'][id$='-form-wrap'] select, +[id^='frmb-'][id$='-form-wrap'] textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +[id^='frmb-'][id$='-form-wrap'] .btn-group { + position: relative; + display: inline-block; + vertical-align: middle; } + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn { + position: relative; + float: left; } + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } + [id^='frmb-'][id$='-form-wrap'] .btn-group .btn + .btn, + [id^='frmb-'][id$='-form-wrap'] .btn-group .btn + .btn-group, + [id^='frmb-'][id$='-form-wrap'] .btn-group .btn-group + .btn, + [id^='frmb-'][id$='-form-wrap'] .btn-group .btn-group + .btn-group { + margin-left: -1px; } + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:last-child:not(:first-child), + [id^='frmb-'][id$='-form-wrap'] .btn-group > .dropdown-toggle:not(:first-child), + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group .form-control:last-child, + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-addon:last-child, + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:first-child > .btn:not(:first-child), + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .btn, + [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .btn-group > .btn, [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .dropdown-toggle { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn.active, + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:active, + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:focus, + [id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:hover { + z-index: 2; } + +[id^='frmb-'][id$='-form-wrap'] .btn { + color: #fff; + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: 400; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } + [id^='frmb-'][id$='-form-wrap'] .btn.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; } + [id^='frmb-'][id$='-form-wrap'] .btn.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + [id^='frmb-'][id$='-form-wrap'] .btn.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + [id^='frmb-'][id$='-form-wrap'] .btn.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + [id^='frmb-'][id$='-form-wrap'] .btn.active, [id^='frmb-'][id$='-form-wrap'] .btn.btn-active, [id^='frmb-'][id$='-form-wrap'] .btn:active { + background-image: none; } + +[id^='frmb-'][id$='-form-wrap'] .btn-primary { + background-color: #337ab7; + border-color: #2e6da4; } + [id^='frmb-'][id$='-form-wrap'] .btn-primary:hover, [id^='frmb-'][id$='-form-wrap'] .btn-primary:active, [id^='frmb-'][id$='-form-wrap'] .btn-primary.active, [id^='frmb-'][id$='-form-wrap'] .btn-primary.btn-active { + background-color: #286090; + border-color: #204d74; } + +[id^='frmb-'][id$='-form-wrap'] .btn-danger { + background-color: #d9534f; + border-color: #d43f3a; } + [id^='frmb-'][id$='-form-wrap'] .btn-danger:hover, [id^='frmb-'][id$='-form-wrap'] .form-actions .clear-all:hover, .form-actions [id^='frmb-'][id$='-form-wrap'] .clear-all:hover { + background-color: #c9302c; + border-color: #ac2925; } + +[id^='frmb-'][id$='-form-wrap'] .btn-default { + background-color: #fff; + border-color: #ccc; } + +[id^='frmb-'][id$='-form-wrap'] .btn-success { + background-color: #5cb85c; + border-color: #4cae4c; } + [id^='frmb-'][id$='-form-wrap'] .btn-success:hover { + background-color: #449d44; + border-color: #398439; } + +[id^='frmb-'][id$='-form-wrap'] .btn-info { + background-color: #5bc0de; + border-color: #46b8da; } + [id^='frmb-'][id$='-form-wrap'] .btn-info:hover { + background-color: #31b0d5; + border-color: #269abc; } + +[id^='frmb-'][id$='-form-wrap'] .btn-warning { + background-color: #f0ad4e; + border-color: #eea236; } + [id^='frmb-'][id$='-form-wrap'] .btn-warning:hover { + background-color: #ec971f; + border-color: #d58512; } + +[id^='frmb-'][id$='-form-wrap'] .input-group .form-control:last-child, +[id^='frmb-'][id$='-form-wrap'] .input-group-addon:last-child, +[id^='frmb-'][id$='-form-wrap'] .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, +[id^='frmb-'][id$='-form-wrap'] .input-group-btn:first-child > .btn:not(:first-child), +[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .btn, +[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .btn-group > .btn, +[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .dropdown-toggle { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +[id^='frmb-'][id$='-form-wrap'] .input-group .form-control, +[id^='frmb-'][id$='-form-wrap'] .input-group-addon, +[id^='frmb-'][id$='-form-wrap'] .input-group-btn { + display: table-cell; } + +[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .form-control, +[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .input-group-addon, +[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + +[id^='frmb-'][id$='-form-wrap'] .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + +[id^='frmb-'][id$='-form-wrap'] .input-group { + position: relative; + display: table; + border-collapse: separate; } + +[id^='frmb-'][id$='-form-wrap'] .form-control, +[id^='frmb-'][id$='-form-wrap'] output { + font-size: 14px; + line-height: 1.42857143; + color: #555; + display: block; } + +[id^='frmb-'][id$='-form-wrap'] textarea.form-control { + height: auto; } + +[id^='frmb-'][id$='-form-wrap'] .form-control { + height: 34px; + display: block; + width: 100%; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } + [id^='frmb-'][id$='-form-wrap'] .form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + +[id^='frmb-'][id$='-form-wrap'] .form-group { + margin-bottom: 15px; } + +[id^='frmb-'][id$='-form-wrap'] .btn, +[id^='frmb-'][id$='-form-wrap'] .form-control { + background-image: none; } + +[id^='frmb-'][id$='-form-wrap'] .pull-right { + float: right !important; } + +[id^='frmb-'][id$='-form-wrap'] .pull-left { + float: left !important; } + +textarea.idea-template { + display: none; + width: 617px; + color: #fefefe; + font: 13px/19px courier; + padding-left: 40px; + height: 1055px; } + +.template-textarea-wrap { + display: none; } + +.form-wrap { + position: relative; } + +.form-wrap:after { + content: ''; + display: table; + clear: both; } + +.cb-wrap, +.stage-wrap { + vertical-align: top; } + +.action-links .action-links-inner { + overflow: hidden; + width: 0; + height: 20px; + -webkit-transition: width 250ms; + transition: width 250ms; } + +.action-links .dev-mode-link { + -webkit-transition: color 250ms; + transition: color 250ms; + color: #666; + cursor: pointer; + padding-right: 2px; } + +.stage-wrap h4 { + margin-top: 0; + color: #666; } + +.action-links a.clear-all:hover, +.del-button:hover, +ul.frmb span.required { + color: #C10000; } + +.action-links a { + color: #666; } + +.form-elements input[type=text].error { + border-radius: 0; + border: 1px solid #C10000; } + +.form-elements input[type=text].fld-maxlength { + width: 10%; } + +.form-elements input.field_error { + background: #fefefe; + border: 1px solid #afafab; } + +.form-elements label em { + display: block; + font-weight: 400; + font-size: .75em; } + +.form-elements label.maxlength-label { + line-height: 1em; } + +.form-group .available-roles { + display: none; + margin-left: 18%; + padding: 5px 10px; + margin: 5px 0 10px 133px; + background: #e6e6e6; + box-shadow: inset 0 0 2px 0 #999; + /* smartphones, Android phones, landscape iPhone */ } + @media (max-width: 481px) { + .form-group .available-roles { + margin-left: 0; } } + +.form-elements .available-roles label { + font-weight: 400; + width: auto; + float: none; + display: inline; } + +.form-elements .available-roles input { + display: inline; + top: auto; } + +.form-elements, +.form-group, +.multi-row span, +textarea { + display: block; } + +.form-elements:after, +.form-group:after { + content: '.'; + display: block; + height: 0; + clear: both; + visibility: hidden; } + +.form-elements .field-options div:hover, +.frmb .legend, +.frmb .prev-holder, +.frmb .prev-holder * { + cursor: move; } + +.frmb-tt { + position: absolute; + border: 1px solid #262626; + background-color: #666; + border-radius: 5px; + padding: 5px; + color: #fff; + z-index: 20; + text-align: left; + font-size: 12px; + pointer-events: none; } + .frmb-tt:before { + border-color: #262626 transparent; + bottom: -11px; } + .frmb-tt:before, .frmb-tt:after { + content: ''; + position: absolute; + border-style: solid; + border-width: 10px 10px 0; + border-color: #666 transparent; + display: block; + width: 0; + z-index: 1; + margin-left: -10px; + bottom: -10px; + left: 20px; } + .frmb-tt a { + text-decoration: underline; + color: #fff; } + +.frmb li:hover .del-button, +.frmb li:hover .toggle-form, +.fb-mobile .frmb li .del-button, +.fb-mobile .frmb li .toggle-form { + opacity: 1; } + +.fresh .frmb .legend .element-info { + display: inline-block; + visibility: visible; + line-height: 12px; + margin-left: 6px; } + +.frmb-xml pre.ui-dialog-content { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; + font-size: 12px; + padding: 0 30px; + margin-top: 0; } + +.action-links a.export-xml:hover, +.toggle-form.closed:hover { + color: #6fc245; } + +a.btn.toggle-form { + margin-left: 5px; + opacity: 0; } + a.btn.toggle-form:hover { + border-color: #cccccc; } + a.btn.toggle-form:before { + margin: 0; } + +.formb-field-vars .copy-var { + display: inline-block; + width: 24px; + height: 24px; + background: #999; + text-indent: -9999px; } + +.ite-warning { + box-shadow: 1px 1px 4px 0 rgba(50, 50, 50, 0.5); + border-radius: 0; + border: 1px solid #ddd; } + +.ite-warning .ui-dialog-buttonpane { + height: 27px; } + +.ite-warning button { + color: #4479B9; + margin: 0; } + +.ite-warning button:focus { + outline: 0; + font-weight: 700; } + +.ite-warning button.cancel:before { + content: '|'; + margin-right: 15px; + padding: 0; } + +.ite-warning .ui-dialog-content { + padding: 0 15px 10px; } + +.ite-warning .ui-dialog-titlebar-close { + display: none; } + +.ite-warning .ui-widget-header { + height: 15px; } + +.ite-warning { + font-size: 12px; + line-height: 1.5em; } + +.ite-warning h3 { + color: #666; + margin-bottom: 10px; } + +.ite-warning button { + background: 0 0; + padding: 2px 5px; } + +.required-asterisk { + display: none; + color: #C10000; } + +.ui-button .ui-button-text { + line-height: 0; } + +.form-builder-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: none; + z-index: 10; } + .form-builder-overlay.visible { + display: block; } + +.form-builder-dialog { + position: absolute; + border-radius: 5px; + background: #fff; + z-index: 20; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + top: 0; + left: 0; + padding: 10px; + box-shadow: 0 3px 10px #000; } + .form-builder-dialog h3 { + margin-top: 0; } + .form-builder-dialog.data-dialog { + width: 65%; + background-color: #23241f; } + .form-builder-dialog.data-dialog pre { + background: none; + border: 0 none; + box-shadow: none; + margin: 0; + color: #f2f2f2; } + .form-builder-dialog.positioned { + -webkit-transform: translate(-50%, -100%); + transform: translate(-50%, -100%); } + .form-builder-dialog.positioned .button-wrap:before { + content: ''; + width: 0; + height: 0; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-top: 10px solid #fff; + position: absolute; + left: 50%; + top: 100%; + -webkit-transform: translate(-50%, 10px); + transform: translate(-50%, 10px); } + .form-builder-dialog .button-wrap { + position: relative; + margin-top: 10px; + text-align: right; + clear: both; } + .form-builder-dialog .button-wrap .btn { + margin-left: 10px; } diff --git a/dist/form-builder.js b/dist/form-builder.js new file mode 100755 index 0000000..9dfbab9 --- /dev/null +++ b/dist/form-builder.js @@ -0,0 +1,2688 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +'use strict'; + +// Element.remove() polyfill + +if (!('remove' in Element.prototype)) { + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; +} + +// Event polyfill +if (typeof Event !== 'function') { + (function () { + window.Event = function (evt) { + var event = document.createEvent('Event'); + event.initEvent(evt, true, true); + return event; + }; + })(); +} + +// Object.assign polyfill +if (typeof Object.assign != 'function') { + Object.assign = function (target) { + 'use strict'; + + if (target == null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + target = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source != null) { + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + } + return target; + }; +} +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + +var fbUtils = {}; + +// cleaner syntax for testing indexOf element +fbUtils.inArray = function (needle, haystack) { + return haystack.indexOf(needle) !== -1; +}; + +// Remove null or undefined values +fbUtils.trimObj = function (attrs) { + var xmlRemove = [null, undefined, '', false]; + for (var i in attrs) { + if (fbUtils.inArray(attrs[i], xmlRemove)) { + delete attrs[i]; + } + } + return attrs; +}; + +/** + * Make an ID for this element using current date and tag + * + * @param {Boolean} element + * @return {String} new id for element + */ +fbUtils.makeId = function () { + var element = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0]; + + var epoch = new Date().getTime(); + + return element.tagName + '-' + epoch; +}; + +fbUtils.validAttr = function (attr) { + var invalid = ['values', 'enableOther', 'other', 'label', + // 'style', + 'subtype']; + return !fbUtils.inArray(attr, invalid); +}; + +/** + * Convert an attrs object into a string + * + * @param {Object} attrs object of attributes for markup + * @return {string} + */ +fbUtils.attrString = function (attrs) { + var attributes = []; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr) && fbUtils.validAttr(attr)) { + attr = fbUtils.safeAttr(attr, attrs[attr]); + attributes.push(attr.name + attr.value); + } + } + return attributes.join(' '); +}; + +fbUtils.safeAttr = function (name, value) { + name = fbUtils.safeAttrName(name); + + var valString = fbUtils.escapeAttr(value); + + value = value ? '="' + valString + '"' : ''; + return { + name: name, + value: value + }; +}; + +fbUtils.safeAttrName = function (name) { + var safeAttr = { + className: 'class' + }; + + return safeAttr[name] || fbUtils.hyphenCase(name); +}; + +/** + * Convert strings + into lowercase-hyphen + * + * @param {string} str + * @return {string} + */ +fbUtils.hyphenCase = function (str) { + str = str.replace(/[^\w\s\-]/gi, ''); + str = str.replace(/([A-Z])/g, function ($1) { + return '-' + $1.toLowerCase(); + }); + + return str.replace(/\s/g, '-').replace(/^-+/g, ''); +}; + +/** + * convert a hyphenated string to camelCase + * @param {String} str + * @return {String} + */ +fbUtils.camelCase = function (str) { + return str.replace(/-([a-z])/g, function (m, w) { + m = m; + return w.toUpperCase(); + }); +}; + +/** + * Generate markup wrapper where needed + * + * @param {string} tag + * @param {String|Array|Object} content we wrap this + * @param {object} attrs + * @return {String} + */ +fbUtils.markup = function (tag) { + var content = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; + var attrs = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + var contentType = void 0, + field = document.createElement(tag), + getContentType = function getContentType(content) { + return Array.isArray(content) ? 'array' : typeof content === 'undefined' ? 'undefined' : _typeof(content); + }, + appendContent = { + string: function string(content) { + field.innerHTML = content; + }, + object: function object(content) { + return field.appendChild(content); + }, + array: function array(content) { + for (var i = 0; i < content.length; i++) { + contentType = getContentType(content[i]); + appendContent[contentType](content[i]); + } + } + }; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + var name = fbUtils.safeAttrName(attr); + field.setAttribute(name, attrs[attr]); + } + } + + contentType = getContentType(content); + + if (content) { + appendContent[contentType].call(this, content); + } + + return field; +}; + +fbUtils.parseAttrs = function (elem) { + var attrs = elem.attributes; + var data = {}; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + data[attrs[attr].name] = attrs[attr].value; + } + } + + return data; +}; + +fbUtils.parseOptions = function (field) { + var options = field.getElementsByTagName('option'), + optionData = {}, + data = []; + + if (options.length) { + for (var i = 0; i < options.length; i++) { + optionData = fbUtils.parseAttrs(options[i]); + optionData.label = options[i].textContent; + data.push(optionData); + } + } + + return data; +}; + +fbUtils.parseXML = function (xmlString) { + var parser = new window.DOMParser(); + var xml = parser.parseFromString(xmlString, 'text/xml'), + formData = []; + + if (xml) { + var fields = xml.getElementsByTagName('field'); + for (var i = 0; i < fields.length; i++) { + var fieldData = fbUtils.parseAttrs(fields[i]); + fieldData.values = fbUtils.parseOptions(fields[i]); + formData.push(fieldData); + } + } + + return formData; +}; + +fbUtils.escapeHtml = function (html) { + var escapeElement = document.createElement('textarea'); + escapeElement.textContent = html; + return escapeElement.innerHTML; +}; + +fbUtils.escapeAttr = function (str) { + var match = { + '"': '"', + '&': '&', + '<': '<', + '>': '>' + }; + + function replaceTag(tag) { + return match[tag] || tag; + } + + return typeof str === 'string' ? str.replace(/["&<>]/g, replaceTag) : str; +}; + +// Remove null or undefined values +fbUtils.escapeAttrs = function (attrs) { + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + attrs[attr] = fbUtils.escapeAttr(attrs[attr]); + } + } + + return attrs; +}; +'use strict'; + +function formBuilderHelpersFn(opts, formBuilder) { + 'use strict'; + + var _helpers = { + doCancel: false + }; + var utils = fbUtils; + + formBuilder.events = formBuilderEventsFn(); + + /** + * Convert converts messy `cl#ssNames` into valid `class-names` + * + * @param {string} str + * @return {string} + */ + _helpers.makeClassName = function (str) { + str = str.replace(/[^\w\s\-]/gi, ''); + return utils.hyphenCase(str); + }; + + /** + * Add a mobile class + * + * @return {string} + */ + _helpers.mobileClass = function () { + var mobileClass = ''; + (function (a) { + if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) { + mobileClass = ' fb-mobile'; + } + })(navigator.userAgent || navigator.vendor || window.opera); + return mobileClass; + }; + + /** + * Callback for when a drag begins + * + * @param {Object} event + * @param {Object} ui + */ + _helpers.startMoving = function (event, ui) { + event = event; + ui.item.show().addClass('moving'); + _helpers.startIndex = $('li', this).index(ui.item); + }; + + /** + * Callback for when a drag ends + * + * @param {Object} event + * @param {Object} ui + */ + _helpers.stopMoving = function (event, ui) { + event = event; + ui.item.removeClass('moving'); + if (_helpers.doCancel) { + $(ui.sender).sortable('cancel'); + $(this).sortable('cancel'); + } + _helpers.save(); + _helpers.doCancel = false; + }; + + /** + * jQuery UI sortable beforeStop callback used for both lists. + * Logic for canceling the sort or drop. + */ + _helpers.beforeStop = function (event, ui) { + event = event; + + var form = document.getElementById(opts.formID), + lastIndex = form.children.length - 1, + cancelArray = []; + _helpers.stopIndex = ui.placeholder.index() - 1; + + if (!opts.sortableControls && ui.item.parent().hasClass('frmb-control')) { + cancelArray.push(true); + } + + if (opts.prepend) { + cancelArray.push(_helpers.stopIndex === 0); + } + + if (opts.append) { + cancelArray.push(_helpers.stopIndex + 1 === lastIndex); + } + + _helpers.doCancel = cancelArray.some(function (elem) { + return elem === true; + }); + }; + + /** + * Make strings safe to be used as classes + * + * @param {string} str string to be converted + * @return {string} converter string + */ + _helpers.safename = function (str) { + return str.replace(/\s/g, '-').replace(/[^a-zA-Z0-9\-]/g, '').toLowerCase(); + }; + + /** + * Strips non-numbers from a number only input + * + * @param {string} str string with possible number + * @return {string} string without numbers + */ + _helpers.forceNumber = function (str) { + return str.replace(/[^0-9]/g, ''); + }; + + /** + * hide and show mouse tracking tooltips, only used for disabled + * fields in the editor. + * + * @todo remove or refactor to make better use + * @param {Object} tt jQuery option with nexted tooltip + * @return {void} + */ + _helpers.initTooltip = function (tt) { + var tooltip = tt.find('.tooltip'); + tt.mouseenter(function () { + if (tooltip.outerWidth() > 200) { + tooltip.addClass('max-width'); + } + tooltip.css('left', tt.width() + 14); + tooltip.stop(true, true).fadeIn('fast'); + }).mouseleave(function () { + tt.find('.tooltip').stop(true, true).fadeOut('fast'); + }); + tooltip.hide(); + }; + + /** + * Attempts to get element type and subtype + * + * @param {Object} $field + * @return {Object} + */ + _helpers.getTypes = function ($field) { + var types = { + type: $field.attr('type') + }, + subtype = $('.fld-subtype', $field).val(); + + if (subtype !== types.type) { + types.subtype = subtype; + } + + return types; + }; + + /** + * Get option data for a field + * @param {Object} field jQuery field object + * @return {Array} Array of option values + */ + _helpers.fieldOptionData = function (field) { + var options = []; + + $('.sortable-options li', field).each(function () { + var $option = $(this), + attrs = { + label: $('.option-label', $option).val(), + value: $('.option-value', $option).val(), + selected: $('.option-selected', $option).is(':checked') + }; + + options.push(attrs); + }); + + return options; + }; + + /** + * XML save + * + * @param {Object} form sortableFields node + */ + _helpers.xmlSave = function (form) { + + var formData = _helpers.prepData(form), + xml = ['\n\t']; + + _helpers.forEach(formData, function (index) { + var field = formData[index], + fieldContent = null; + + // Handle options + if (field.type.match(/(select|checkbox-group|radio-group)/)) { + var optionData = field.values, + options = []; + + for (var i = 0; i < optionData.length; i++) { + var option = utils.markup('option', optionData[i].label, optionData[i]).outerHTML; + options.push('\n\t\t\t' + option); + } + options.push('\n\t\t'); + + fieldContent = options.join(''); + field.values = undefined; + } + + var xmlField = utils.markup('field', fieldContent, field); + xml.push('\n\t\t' + xmlField.outerHTML); + }); + + xml.push('\n\t\n'); + + return xml.join(''); + }; + + _helpers.prepData = function (form) { + var formData = []; + + if (form.childNodes.length !== 0) { + // build data object + _helpers.forEach(form.childNodes, function (index, field) { + index = index; + var $field = $(field); + + if (!$field.hasClass('disabled')) { + var match; + var multipleField; + + (function () { + var fieldData = _helpers.getTypes($field), + roleVals = $('.roles-field:checked', field).map(function () { + return this.value; + }).get(); + + $('[class*="fld-"]', field).each(function () { + var name = utils.camelCase(this.name); + fieldData[name] = this.type === 'checkbox' ? this.checked : this.value; + }); + + if (roleVals.length) { + fieldData.role = roleVals.join(','); + } + + if ($('[name="enable-other"]:checked', field).length) { + fieldData.enableOther = true; + } + + fieldData.className = fieldData.className || fieldData.class; // backwards compatibility + + match = /(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(fieldData.className); + + if (match) { + fieldData.style = match[1]; + } + + fieldData = utils.trimObj(fieldData); + fieldData = utils.escapeAttrs(fieldData); + + multipleField = fieldData.type.match(/(select|checkbox-group|radio-group)/); + + + if (multipleField) { + fieldData.values = _helpers.fieldOptionData($field); + } + + formData.push(fieldData); + })(); + } + }); + } + + return formData; + }; + + _helpers.jsonSave = function (form) { + return window.JSON.stringify(_helpers.prepData(form), null, '\t'); + }; + + _helpers.getData = function () { + if (!opts.formData) { + return false; + } + + var setData = { + xml: function xml(formData) { + return utils.parseXML(formData); + }, + json: function json(formData) { + return window.JSON.parse(formData); + } + }; + formBuilder.formData = setData[opts.dataType](opts.formData) || []; + + return formBuilder.formData; + }; + + /** + * Saves and returns formData + * @return {XML|JSON} + */ + _helpers.save = function () { + var form = document.getElementById(opts.formID); + + var doSave = { + xml: _helpers.xmlSave, + json: _helpers.jsonSave + }; + + // save action for current `dataType` + formBuilder.formData = doSave[opts.dataType](form); + + //trigger formSaved event + document.dispatchEvent(formBuilder.events.formSaved); + return formBuilder.formData; + }; + + /** + * increments the field ids with support for multiple editors + * @param {String} id field ID + * @return {String} incremented field ID + */ + _helpers.incrementId = function (id) { + var split = id.lastIndexOf('-'), + newFieldNumber = parseInt(id.substring(split + 1)) + 1, + baseString = id.substring(0, split); + + return baseString + '-' + newFieldNumber; + }; + + /** + * Collect field attribute values and call fieldPreview to generate preview + * @param {Object} field jQuery wrapped dom object @todo, remove jQuery dependency + */ + _helpers.updatePreview = function (field) { + var fieldClass = field.attr('class'); + if (fieldClass.indexOf('ui-sortable-handle') !== -1) { + return; + } + + var fieldType = $(field).attr('type'), + $prevHolder = $('.prev-holder', field), + previewData = { + type: fieldType + }, + preview; + + $('[class*="fld-"]', field).each(function () { + var name = utils.camelCase(this.name); + previewData[name] = this.type === 'checkbox' ? this.checked : this.value; + }); + + var style = $('.btn-style', field).val(); + if (style) { + previewData.style = style; + } + + if (fieldType.match(/(select|checkbox-group|radio-group)/)) { + previewData.values = []; + previewData.multiple = $('[name="multiple"]', field).is(':checked'); + + $('.sortable-options li', field).each(function () { + var option = {}; + option.selected = $('.option-selected', this).is(':checked'); + option.value = $('.option-value', this).val(); + option.label = $('.option-label', this).val(); + previewData.values.push(option); + }); + } + + previewData = utils.trimObj(previewData); + + previewData.className = _helpers.classNames(field, previewData); + $('.fld-className', field).val(previewData.className); + + field.data('fieldData', previewData); + preview = _helpers.fieldPreview(previewData); + + $prevHolder.html(preview); + + $('input[toggle]', $prevHolder).kcToggle(); + }; + + /** + * Generate preview markup + * + * @todo make this smarter and use tags + * @param {Object} attrs + * @return {String} preview markup for field + */ + _helpers.fieldPreview = function (attrs) { + var i, + preview = '', + epoch = new Date().getTime(); + attrs = jQuery.extend({}, attrs); + attrs.type = attrs.subtype || attrs.type; + var toggle = attrs.toggle ? 'toggle' : '', + attrsString = utils.attrString(attrs); + + switch (attrs.type) { + case 'textarea': + case 'rich-text': + var fieldVal = attrs.value || ''; + preview = ''; + break; + case 'button': + case 'submit': + preview = ''; + break; + case 'select': + var options = '', + multiple = attrs.multiple ? 'multiple' : ''; + attrs.values.reverse(); + if (attrs.placeholder) { + options += ''; + } + for (i = attrs.values.length - 1; i >= 0; i--) { + var selected = attrs.values[i].selected && !attrs.placeholder ? 'selected' : ''; + options += ''; + } + preview = '<' + attrs.type + ' class="' + attrs.className + '" ' + multiple + '>' + options + ''; + break; + case 'checkbox-group': + case 'radio-group': + var type = attrs.type.replace('-group', ''), + optionName = type + '-' + epoch; + attrs.values.reverse(); + for (i = attrs.values.length - 1; i >= 0; i--) { + var checked = attrs.values[i].selected ? 'checked' : ''; + var optionId = type + '-' + epoch + '-' + i; + preview += '
'; + } + + if (attrs.enableOther) { + var otherID = optionName + '-other', + optionAttrs = { + id: otherID, + name: optionName, + className: attrs.className + ' other-option', + type: type, + onclick: 'otherOptionCallback(\'' + otherID + '\')' + }, + otherInput = utils.markup('input', null, optionAttrs); + + window.otherOptionCallback = function (otherID) { + var option = document.getElementById(otherID), + otherLabel = option.nextElementSibling, + otherInput = otherLabel.nextElementSibling; + if (option.checked) { + otherInput.style.display = 'inline-block'; + otherLabel.style.display = 'none'; + } else { + otherInput.style.display = 'none'; + otherLabel.style.display = 'inline-block'; + } + }; + + preview += '
' + otherInput.outerHTML + '
'; + } + + break; + case 'text': + case 'password': + case 'email': + case 'date': + case 'file': + case 'number': + case 'tel': + preview = ''; + break; + case 'color': + preview = ' ' + opts.messages.selectColor; + break; + case 'hidden': + case 'checkbox': + preview = ''; + break; + case 'autocomplete': + preview = ''; + break; + default: + attrsString = utils.attrString(attrs); + preview = '<' + attrs.type + ' ' + attrsString + '>' + attrs.label + ''; + } + + return preview; + }; + + // update preview to label + _helpers.updateMultipleSelect = function () { + $(document.getElementById(opts.formID)).on('change', 'input[name="multiple"]', function () { + var options = $(this).parents('.field-options:eq(0)').find('.sortable-options input.option-selected'); + if (this.checked) { + options.each(function () { + $(this).prop('type', 'checkbox'); + }); + } else { + options.each(function () { + $(this).removeAttr('checked').prop('type', 'radio'); + }); + } + }); + }; + + _helpers.debounce = function (func) { + var wait = arguments.length <= 1 || arguments[1] === undefined ? 250 : arguments[1]; + var immediate = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; + + var timeout; + return function () { + var context = this, + args = arguments; + var later = function later() { + timeout = null; + if (!immediate) { + func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + func.apply(context, args); + } + }; + }; + + _helpers.validateForm = function () { + var $form = $(document.getElementById(opts.formID)); + + var errors = []; + // check for empty field labels + $('input[name="label"], input[type="text"].option', $form).each(function () { + if ($(this).val() === '') { + var field = $(this).parents('li.form-field'), + fieldAttr = $(this); + errors.push({ + field: field, + error: opts.messages.labelEmpty, + attribute: fieldAttr + }); + } + }); + + // @todo add error = { noVal: opts.messages.labelEmpty } + if (errors.length) { + alert('Error: ' + errors[0].error); + $('html, body').animate({ + scrollTop: errors[0].field.offset().top + }, 1000, function () { + var targetID = $('.toggle-form', errors[0].field).attr('id'); + $('.toggle-form', errors[0].field).addClass('open').parent().next('.prev-holder').slideUp(250); + $('#' + targetID + '-fld').slideDown(250, function () { + errors[0].attribute.addClass('error'); + }); + }); + } + }; + + /** + * Display a custom tooltip for disabled fields. + * + * @param {Object} field + */ + _helpers.disabledTT = { + className: 'frmb-tt', + add: function add(field) { + var title = opts.messages.fieldNonEditable; + + if (title) { + var tt = utils.markup('p', title, { className: _helpers.disabledTT.className }); + field.append(tt); + } + }, + remove: function remove(field) { + $('.frmb-tt', field).remove(); + } + }; + + _helpers.classNames = function (field, previewData) { + var i = void 0, + type = previewData.type, + style = previewData.style; + var className = field[0].querySelector('.fld-className').value; + var classes = className.split(' '); + var types = { + button: 'btn', + submit: 'btn' + }; + + var primaryType = types[type]; + + if (primaryType) { + if (style) { + for (i = 0; i < classes.length; i++) { + var re = new RegExp('(?:^|\s)' + primaryType + '-(.*?)(?:\s|$)+', 'g'); + var match = classes[i].match(re); + if (match) { + classes.splice(i, 1); + } + } + classes.push(primaryType + '-' + style); + } + classes.push(primaryType); + } + + // reverse the array to put custom classes at end, remove any duplicates, convert to string, remove whitespace + return _helpers.unique(classes).join(' ').trim(); + }; + + /** + * Closes and open dialog + * + * @param {Object} overlay Existing overlay if there is one + * @param {Object} dialog Existing dialog + * @return {Event} Triggers modalClosed event + */ + _helpers.closeConfirm = function (overlay, dialog) { + overlay = overlay || document.getElementsByClassName('form-builder-overlay')[0]; + dialog = dialog || document.getElementsByClassName('form-builder-dialog')[0]; + overlay.classList.remove('visible'); + dialog.remove(); + overlay.remove(); + document.dispatchEvent(formBuilder.events.modalClosed); + }; + + /** + * Returns the layout data based on controlPosition option + * @param {String} controlPosition 'left' or 'right' + * @return {Object} + */ + _helpers.editorLayout = function (controlPosition) { + var layoutMap = { + left: { + stage: 'pull-right', + controls: 'pull-left' + }, + right: { + stage: 'pull-left', + controls: 'pull-right' + } + }; + + return layoutMap[controlPosition] ? layoutMap[controlPosition] : ''; + }; + + /** + * Adds overlay to the page. Used for modals. + * @return {Object} + */ + _helpers.showOverlay = function () { + var overlay = utils.markup('div', null, { + className: 'form-builder-overlay' + }); + document.body.appendChild(overlay); + overlay.classList.add('visible'); + + overlay.onclick = function () { + _helpers.closeConfirm(overlay); + }; + + return overlay; + }; + + /** + * Custom confirmation dialog + * + * @param {Object} message Content to be displayed in the dialog + * @param {Func} yesAction callback to fire if they confirm + * @param {Boolean} coords location to put the dialog + * @param {String} className Custom class to be added to the dialog + * @return {Object} Reference to the modal + */ + _helpers.confirm = function (message, yesAction) { + var coords = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; + var className = arguments.length <= 3 || arguments[3] === undefined ? '' : arguments[3]; + + var overlay = _helpers.showOverlay(); + var yes = utils.markup('button', opts.messages.yes, { className: 'yes btn btn-success btn-sm' }), + no = utils.markup('button', opts.messages.no, { className: 'no btn btn-danger btn-sm' }); + + no.onclick = function () { + _helpers.closeConfirm(overlay); + }; + + yes.onclick = function () { + yesAction(); + _helpers.closeConfirm(overlay); + }; + + var btnWrap = utils.markup('div', [no, yes], { className: 'button-wrap' }); + + className = 'form-builder-dialog ' + className; + + var miniModal = utils.markup('div', [message, btnWrap], { className: className }); + if (!coords) { + coords = { + pageX: Math.max(document.documentElement.clientWidth, window.innerWidth || 0) / 2, + pageY: Math.max(document.documentElement.clientHeight, window.innerHeight || 0) / 2 + }; + miniModal.style.position = 'fixed'; + } else { + miniModal.classList.add('positioned'); + } + + miniModal.style.left = coords.pageX + 'px'; + miniModal.style.top = coords.pageY + 'px'; + + document.body.appendChild(miniModal); + + yes.focus(); + return miniModal; + }; + + /** + * Popup dialog the does not require confirmation. + * @param {String|DOM|Array} content + * @param {Boolean} coords false if no coords are provided. Without coordinates + * the popup will appear center screen. + * @param {String} className classname to be added to the dialog + * @return {Object} dom + */ + _helpers.dialog = function (content) { + var coords = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + var className = arguments.length <= 2 || arguments[2] === undefined ? '' : arguments[2]; + + _helpers.showOverlay(); + + className = 'form-builder-dialog ' + className; + + var miniModal = utils.markup('div', content, { className: className }); + if (!coords) { + coords = { + pageX: Math.max(document.documentElement.clientWidth, window.innerWidth || 0) / 2, + pageY: Math.max(document.documentElement.clientHeight, window.innerHeight || 0) / 2 + }; + miniModal.style.position = 'fixed'; + } else { + miniModal.classList.add('positioned'); + } + + miniModal.style.left = coords.pageX + 'px'; + miniModal.style.top = coords.pageY + 'px'; + + document.body.appendChild(miniModal); + + document.dispatchEvent(formBuilder.events.modalOpened); + + if (className.indexOf('data-dialog') !== -1) { + document.dispatchEvent(formBuilder.events.viewData); + } + + return miniModal; + }; + + /** + * Removes all fields from the form + */ + _helpers.removeAllfields = function () { + var form = document.getElementById(opts.formID); + var fields = form.querySelectorAll('li.form-field'); + var $fields = $(fields); + var markEmptyArray = []; + + if (!fields.length) { + return false; + } + + if (opts.prepend) { + markEmptyArray.push(true); + } + + if (opts.append) { + markEmptyArray.push(true); + } + + if (!markEmptyArray.some(function (elem) { + return elem === true; + })) { + form.parentElement.classList.add('empty'); + } + + form.classList.add('removing'); + + var outerHeight = 0; + $fields.each(function () { + outerHeight += $(this).outerHeight() + 3; + }); + + fields[0].style.marginTop = -outerHeight + 'px'; + + setTimeout(function () { + $fields.remove(); + document.getElementById(opts.formID).classList.remove('removing'); + _helpers.save(); + }, 500); + }; + + /** + * If user re-orders the elements their order should be saved. + * + * @param {Object} $cbUL our list of elements + */ + _helpers.setFieldOrder = function ($cbUL) { + if (!opts.sortableControls) { + return false; + } + var fieldOrder = {}; + $cbUL.children().each(function (index, element) { + fieldOrder[index] = $(element).data('attrs').type; + }); + if (window.sessionStorage) { + window.sessionStorage.setItem('fieldOrder', window.JSON.stringify(fieldOrder)); + } + }; + + /** + * Reorder the controls if the user has previously ordered them. + * + * @param {Array} frmbFields + * @return {Array} + */ + _helpers.orderFields = function (frmbFields) { + var fieldOrder = false; + + if (window.sessionStorage) { + if (opts.sortableControls) { + fieldOrder = window.sessionStorage.getItem('fieldOrder'); + } else { + window.sessionStorage.removeItem('fieldOrder'); + } + } + + if (!fieldOrder) { + fieldOrder = _helpers.unique(opts.controlOrder); + } else { + fieldOrder = window.JSON.parse(fieldOrder); + fieldOrder = Object.keys(fieldOrder).map(function (i) { + return fieldOrder[i]; + }); + } + + var newOrderFields = []; + + for (var i = fieldOrder.length - 1; i >= 0; i--) { + var field = frmbFields.filter(function (field) { + return field.attrs.type === fieldOrder[i]; + })[0]; + newOrderFields.push(field); + } + + return newOrderFields.filter(Boolean); + }; + + // forEach that can be used on nodeList + _helpers.forEach = function (array, callback, scope) { + for (var i = 0; i < array.length; i++) { + callback.call(scope, i, array[i]); // passes back stuff we need + } + }; + + // cleaner syntax for testing indexOf element + _helpers.inArray = function (needle, haystack) { + return haystack.indexOf(needle) !== -1; + }; + + /** + * Remove duplicates from an array of elements + * @param {array} arrArg array with possible duplicates + * @return {array} array with only unique values + */ + _helpers.unique = function (array) { + return array.filter(function (elem, pos, arr) { + return arr.indexOf(elem) === pos; + }); + }; + + /** + * Close fields being editing + * @param {Object} stage + */ + _helpers.closeAllEdit = function (stage) { + var fields = $('> li.editing', stage), + toggleBtns = $('.toggle-form', stage), + editModes = $('.frm-holder', fields); + + toggleBtns.removeClass('open'); + fields.removeClass('editing'); + editModes.hide(); + $('.prev-holder', fields).show(); + }; + + /** + * Toggles the edit mode for the given field + * @param {String} fieldId + */ + _helpers.toggleEdit = function (fieldId) { + var field = document.getElementById(fieldId), + toggleBtn = $('.toggle-form', field), + editMode = $('.frm-holder', field); + field.classList.toggle('editing'); + toggleBtn.toggleClass('open'); + $('.prev-holder', field).slideToggle(250); + editMode.slideToggle(250); + }; + + /** + * Controls follow scroll to the bottom of the editor + * @param {Object} $sortableFields + * @param {DOM Object} cbUL + */ + _helpers.stickyControls = function ($sortableFields, cbUL) { + + var $cbWrap = $(cbUL).parent(), + $stageWrap = $sortableFields.parent(), + cbWidth = $cbWrap.width(), + cbPosition = cbUL.getBoundingClientRect(); + + $(window).scroll(function () { + + var scrollTop = $(this).scrollTop(); + + if (scrollTop > $stageWrap.offset().top) { + + var cbStyle = { + position: 'fixed', + width: cbWidth, + top: 0, + bottom: 'auto', + right: 'auto', + left: cbPosition.left + }; + + var cbOffset = $cbWrap.offset(), + stageOffset = $stageWrap.offset(), + cbBottom = cbOffset.top + $cbWrap.height(), + stageBottom = stageOffset.top + $stageWrap.height(); + + if (cbBottom > stageBottom && cbOffset.top !== stageOffset.top) { + $cbWrap.css({ + position: 'absolute', + top: 'auto', + bottom: 0, + right: 0, + left: 'auto' + }); + } + + if (cbBottom < stageBottom || cbBottom === stageBottom && cbOffset.top > scrollTop) { + $cbWrap.css(cbStyle); + } + } else { + cbUL.parentElement.removeAttribute('style'); + } + }); + }; + + _helpers.showData = function () { + + var data = utils.escapeHtml(formBuilder.formData), + code = utils.markup('code', data, { className: 'formData-' + opts.dataType }), + pre = utils.markup('pre', code); + + _helpers.dialog(pre, null, 'data-dialog'); + }; + + return _helpers; +} +'use strict'; + +function formBuilderEventsFn() { + 'use strict'; + + var events = {}; + + events.loaded = new Event('loaded'); + events.viewData = new Event('viewData'); + events.userDeclined = new Event('userDeclined'); + events.modalClosed = new Event('modalClosed'); + events.modalOpened = new Event('modalOpened'); + events.formSaved = new Event('formSaved'); + + return events; +} +'use strict'; + +(function ($) { + 'use strict'; + + var Toggle = function Toggle(element, options) { + + var defaults = { + theme: 'fresh', + labels: { + off: 'Off', + on: 'On' + } + }; + + var opts = $.extend(defaults, options), + $kcToggle = $('
').insertAfter(element).append(element); + + $kcToggle.toggleClass('on', element.is(':checked')); + + var kctOn = '
' + opts.labels.on + '
', + kctOff = '
' + opts.labels.off + '
', + kctHandle = '
', + kctInner = '
' + kctOn + kctHandle + kctOff + '
'; + + $kcToggle.append(kctInner); + + $kcToggle.click(function () { + element.attr('checked', !element.attr('checked')); + $(this).toggleClass('on'); + }); + }; + + $.fn.kcToggle = function (options) { + var toggle = this; + return toggle.each(function () { + var element = $(this); + if (element.data('kcToggle')) { + return; + } + var kcToggle = new Toggle(element, options); + element.data('kcToggle', kcToggle); + }); + }; +})(jQuery); +'use strict'; + +(function ($) { + var FormBuilder = function FormBuilder(options, element) { + var formBuilder = this; + + var defaults = { + typeUserAttrs: {}, //+gimigliano + controlPosition: 'right', + controlOrder: ['autocomplete', 'button', 'checkbox', 'checkbox-group', 'date', 'file', 'header', 'hidden', 'paragraph', 'number', 'radio-group', 'select', 'text', 'textarea'], + dataType: 'xml', + // Array of fields to disable + disableFields: [], + editOnAdd: false, + // Uneditable fields or other content you would like to appear before and after regular fields: + append: false, + prepend: false, + // array of objects with fields values + // ex: + // defaultFields: [{ + // label: 'First Name', + // name: 'first-name', + // required: 'true', + // description: 'Your first name', + // type: 'text' + // }, { + // label: 'Phone', + // name: 'phone', + // description: 'How can we reach you?', + // type: 'text' + // }], + defaultFields: [], + fieldRemoveWarn: false, + roles: { + 1: 'Administrator' + }, + messages: { + addOption: 'Add Option', + allFieldsRemoved: 'All fields were removed.', + allowSelect: 'Allow Select', + allowMultipleFiles: 'Allow users to upload multiple files', + autocomplete: 'Autocomplete', + button: 'Button', + cannotBeEmpty: 'This field cannot be empty', + checkboxGroup: 'Checkbox Group', + checkbox: 'Checkbox', + checkboxes: 'Checkboxes', + className: 'Class', + clearAllMessage: 'Are you sure you want to clear all fields?', + clearAll: 'Clear', + close: 'Close', + content: 'Content', + copy: 'Copy To Clipboard', + copyButton: '+', + copyButtonTooltip: 'Copy', + dateField: 'Date Field', + description: 'Help Text', + descriptionField: 'Description', + devMode: 'Developer Mode', + editNames: 'Edit Names', + editorTitle: 'Form Elements', + editXML: 'Edit XML', + enableOther: 'Enable "Other"', + enableOtherMsg: 'Let users to enter an unlisted option', + fieldDeleteWarning: false, + fieldVars: 'Field Variables', + fieldNonEditable: 'This field cannot be edited.', + fieldRemoveWarning: 'Are you sure you want to remove this field?', + fileUpload: 'File Upload', + formUpdated: 'Form Updated', + getStarted: 'Drag a field from the right to this area', + header: 'Header', + hide: 'Edit', + hidden: 'Hidden Input', + label: 'Label', + labelEmpty: 'Field Label cannot be empty', + limitRole: 'Limit access to one or more of the following roles:', + mandatory: 'Mandatory', + maxlength: 'Max Length', + minOptionMessage: 'This field requires a minimum of 2 options', + multipleFiles: 'Multiple Files', + name: 'Name', + no: 'No', + number: 'Number', + off: 'Off', + on: 'On', + option: 'Option', + optional: 'optional', + optionLabelPlaceholder: 'Label', + optionValuePlaceholder: 'Value', + optionEmpty: 'Option value required', + other: 'Other', + paragraph: 'Paragraph', + placeholder: 'Placeholder', + placeholders: { + value: 'Value', + label: 'Label', + text: '', + textarea: '', + email: 'Enter you email', + placeholder: '', + className: 'space separated classes', + password: 'Enter your password' + }, + preview: 'Preview', + radioGroup: 'Radio Group', + radio: 'Radio', + removeMessage: 'Remove Element', + remove: '×', + required: 'Required', + richText: 'Rich Text Editor', + roles: 'Access', + save: 'Save', + selectOptions: 'Options', + select: 'Select', + selectColor: 'Select Color', + selectionsMessage: 'Allow Multiple Selections', + size: 'Size', + sizes: { + xs: 'Extra Small', + sm: 'Small', + m: 'Default', + lg: 'Large' + }, + style: 'Style', + styles: { + btn: { + 'default': 'Default', + danger: 'Danger', + info: 'Info', + primary: 'Primary', + success: 'Success', + warning: 'Warning' + } + }, + subtype: 'Type', + subtypes: { + text: ['text', 'password', 'email', 'color', 'tel'], + button: ['button', 'submit'], + header: ['h1', 'h2', 'h3'], + paragraph: ['p', 'address', 'blockquote', 'canvas', 'output'] + }, + text: 'Text Field', + textArea: 'Text Area', + toggle: 'Toggle', + warning: 'Warning!', + value: 'Value', + viewJSON: '{ }', + viewXML: '</>', + yes: 'Yes' + }, + notify: { + error: function error(message) { + return console.error(message); + }, + success: function success(message) { + return console.log(message); + }, + warning: function warning(message) { + return console.warn(message); + } + }, + sortableControls: false, + stickyControls: false, + showActionButtons: true, + prefix: 'form-builder-' + }; + + // @todo function to set parent types for subtypes + defaults.messages.subtypes.password = defaults.messages.subtypes.text; + defaults.messages.subtypes.email = defaults.messages.subtypes.text; + defaults.messages.subtypes.color = defaults.messages.subtypes.text; + defaults.messages.subtypes.submit = defaults.messages.subtypes.button; + + var opts = Object.assign({}, defaults, options), + frmbID = 'frmb-' + $('ul[id^=frmb-]').length++; + + if (options.messages) { + opts.messages = Object.assign({}, defaults.messages, options.messages); + } + + opts.formID = frmbID; + + formBuilder.element = element; + + var $sortableFields = $('
    ').attr('id', frmbID).addClass('frmb'); + var _helpers = formBuilderHelpersFn(opts, formBuilder); + var utils = fbUtils; + + formBuilder.layout = _helpers.editorLayout(opts.controlPosition); + + var lastID = frmbID + '-fld-1', + boxID = frmbID + '-control-box'; + + // create array of field objects to cycle through + var frmbFields = [{ + label: opts.messages.textArea, + attrs: { + type: 'textarea', + className: 'text-area', + name: 'textarea' + } + }, { + label: opts.messages.text, + attrs: { + type: 'text', + className: 'text-input', + name: 'text-input' + } + }, { + label: opts.messages.select, + attrs: { + type: 'select', + className: 'select', + name: 'select' + } + }, { + label: opts.messages.radioGroup, + attrs: { + type: 'radio-group', + className: 'radio-group', + name: 'radio-group' + } + }, { + label: opts.messages.paragraph, + attrs: { + type: 'paragraph', + className: 'paragraph' + } + }, { + label: opts.messages.number, + attrs: { + type: 'number', + className: 'number', + name: 'number' + } + }, { + label: opts.messages.hidden, + attrs: { + type: 'hidden', + className: 'hidden-input', + name: 'hidden-input' + } + }, { + label: opts.messages.header, + attrs: { + type: 'header', + className: 'header' + } + }, { + label: opts.messages.fileUpload, + attrs: { + type: 'file', + className: 'file-input', + name: 'file-input' + } + }, { + label: opts.messages.dateField, + attrs: { + type: 'date', + className: 'calendar', + name: 'date-input' + } + }, { + label: opts.messages.checkboxGroup, + attrs: { + type: 'checkbox-group', + className: 'checkbox-group', + name: 'checkbox-group' + } + }, { + label: opts.messages.checkbox, + attrs: { + type: 'checkbox', + className: 'checkbox', + name: 'checkbox' + } + }, { + label: opts.messages.button, + attrs: { + type: 'button', + className: 'button-input', + name: 'button' + } + }, { + label: opts.messages.autocomplete, + attrs: { + type: 'autocomplete', + className: 'autocomplete', + name: 'autocomplete' + } + }]; + + frmbFields = _helpers.orderFields(frmbFields); + + if (opts.disableFields) { + // remove disabledFields + frmbFields = frmbFields.filter(function (field) { + return !utils.inArray(field.attrs.type, opts.disableFields); + }); + } + + // Create draggable fields for formBuilder + var cbUl = utils.markup('ul', null, { id: boxID, className: 'frmb-control' }); + + if (opts.sortableControls) { + cbUl.classList.add('sort-enabled'); + } + + var $cbUL = $(cbUl); + + // Loop through + for (var i = frmbFields.length - 1; i >= 0; i--) { + + var $field = $('
  • ', { + 'class': 'icon-' + frmbFields[i].attrs.className, + 'type': frmbFields[i].type, + 'name': frmbFields[i].className, + 'label': frmbFields[i].label + }); + + $field.data('newFieldData', frmbFields[i]); + + var typeLabel = utils.markup('span', frmbFields[i].label); + $field.html(typeLabel).appendTo($cbUL); + } + + // Sortable fields + $sortableFields.sortable({ + cursor: 'move', + opacity: 0.9, + revert: 150, + beforeStop: _helpers.beforeStop, + start: _helpers.startMoving, + stop: _helpers.stopMoving, + cancel: 'input, select, .disabled, .form-group, .btn', + placeholder: 'frmb-placeholder' + }); + + // ControlBox with different fields + $cbUL.sortable({ + helper: 'clone', + opacity: 0.9, + connectWith: $sortableFields, + cursor: 'move', + scroll: false, + placeholder: 'ui-state-highlight', + start: _helpers.startMoving, + stop: _helpers.stopMoving, + revert: 150, + beforeStop: _helpers.beforeStop, + distance: 3, + update: function update(event, ui) { + if (_helpers.doCancel) { + return false; + } + event = event; + if (ui.item.parent()[0] === $sortableFields[0]) { + prepFieldVars(ui.item, true); + _helpers.doCancel = true; + } else { + _helpers.setFieldOrder($cbUL); + _helpers.doCancel = !opts.sortableControls; + } + } + }); + + var $formWrap = $('
    ', { + id: frmbID + '-form-wrap', + 'class': 'form-wrap form-builder' + _helpers.mobileClass() + }); + + var $stageWrap = $('
    ', { + id: frmbID + '-stage-wrap', + 'class': 'stage-wrap ' + formBuilder.layout.stage + }); + + var cbWrap = $('
    ', { + id: frmbID + '-cb-wrap', + 'class': 'cb-wrap ' + formBuilder.layout.controls + }).append($cbUL[0]); + + if (opts.showActionButtons) { + // Build our headers and action links + var viewDataText = opts.dataType === 'xml' ? opts.messages.viewXML : opts.messages.viewJSON, + viewData = utils.markup('button', viewDataText, { + id: frmbID + '-view-data', + type: 'button', + className: 'view-data btn btn-default' + }), + clearAll = utils.markup('button', opts.messages.clearAll, { + id: frmbID + '-clear-all', + type: 'button', + className: 'clear-all btn btn-default' + }), + saveAll = utils.markup('button', opts.messages.save, { + className: 'btn btn-primary ' + opts.prefix + 'save', + id: frmbID + '-save', + type: 'button' + }), + formActions = utils.markup('div', [clearAll, viewData, saveAll], { + className: 'form-actions btn-group' + }); + + cbWrap.append(formActions); + } + + $stageWrap.append($sortableFields, cbWrap); + $stageWrap.before($formWrap); + $formWrap.append($stageWrap, cbWrap); + $(element).append($formWrap); + + var saveAndUpdate = _helpers.debounce(function (evt) { + if (evt) { + if (evt.type === 'keyup' && this.name === 'className') { + return false; + } + } + + var $field = $(this).parents('.form-field:eq(0)'); + _helpers.updatePreview($field); + _helpers.save(); + }); + + // Save field on change + $sortableFields.on('change blur keyup', '.form-elements input, .form-elements select, .form-elements textarea', saveAndUpdate); + + $('li', $cbUL).click(function () { + _helpers.stopIndex = undefined; + prepFieldVars($(this), true); + _helpers.save(); + }); + + // Add append and prepend options if necessary + var nonEditableFields = function nonEditableFields() { + var cancelArray = []; + + if (opts.prepend && !$('.disabled.prepend', $sortableFields).length) { + var prependedField = utils.markup('li', opts.prepend, { className: 'disabled prepend' }); + cancelArray.push(true); + $sortableFields.prepend(prependedField); + } + + if (opts.append && !$('.disabled.append', $sortableFields).length) { + var appendedField = utils.markup('li', opts.append, { className: 'disabled append' }); + cancelArray.push(true); + $sortableFields.append(appendedField); + } + + if (cancelArray.some(function (elem) { + return elem === true; + })) { + $stageWrap.removeClass('empty'); + } + }; + + var prepFieldVars = function prepFieldVars($field) { + var isNew = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + + var field = {}; + if ($field instanceof jQuery) { + var fieldData = $field.data('newFieldData'); + if (fieldData) { + field = fieldData.attrs; + field.label = fieldData.label; + } else { + var attrs = $field[0].attributes; + if (!isNew) { + field.values = $field.children().map(function (index, elem) { + index = index; + return { + label: $(elem).text(), + value: $(elem).attr('value'), + selected: Boolean($(elem).attr('selected')) + }; + }); + } + + for (var i = attrs.length - 1; i >= 0; i--) { + field[attrs[i].name] = attrs[i].value; + } + } + } else { + field = $field; + } + + field.name = isNew ? nameAttr(field) : field.name; + + if (isNew && utils.inArray(field.type, ['text', 'number', 'file', 'select', 'textarea'])) { + field.className = 'form-control'; // backwards compatibility + } else { + field.className = field.class || field.className; // backwards compatibility + } + + var match = /(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(field.className); + if (match) { + field.style = match[1]; + } + + utils.escapeAttrs(field); + + appendNewField(field); + $stageWrap.removeClass('empty'); + }; + + // Parse saved XML template data + var loadFields = function loadFields() { + var formData = formBuilder.formData; + if (formData && formData.length) { + for (var _i = 0; _i < formData.length; _i++) { + prepFieldVars(formData[_i]); + } + $stageWrap.removeClass('empty'); + } else if (opts.defaultFields && opts.defaultFields.length) { + // Load default fields if none are set + opts.defaultFields.reverse(); + for (var _i2 = opts.defaultFields.length - 1; _i2 >= 0; _i2--) { + prepFieldVars(opts.defaultFields[_i2]); + } + $stageWrap.removeClass('empty'); + } else if (!opts.prepend && !opts.append) { + $stageWrap.addClass('empty').attr('data-content', opts.messages.getStarted); + } + _helpers.save(); + + $('li.form-field:not(.disabled)', $sortableFields).each(function () { + _helpers.updatePreview($(this)); + }); + + nonEditableFields(); + }; + + // callback to track disabled tooltips + $sortableFields.on('mousemove', 'li.disabled', function (e) { + $('.frmb-tt', this).css({ + left: e.offsetX - 16, + top: e.offsetY - 34 + }); + }); + + // callback to call disabled tooltips + $sortableFields.on('mouseenter', 'li.disabled', function () { + _helpers.disabledTT.add($(this)); + }); + + // callback to call disabled tooltips + $sortableFields.on('mouseleave', 'li.disabled', function () { + _helpers.disabledTT.remove($(this)); + }); + + var nameAttr = function nameAttr(field) { + var epoch = new Date().getTime(); + return field.type + '-' + epoch; + }; + + /** + * Add data for field with options [select, checkbox-group, radio-group] + * + * @todo refactor this nasty ~crap~ code, its actually painful to look at + * @param {object} values + */ + var fieldOptions = function fieldOptions(values) { + var addOption = utils.markup('a', opts.messages.addOption, { className: 'add add-opt' }), + fieldOptions = '', + isMultiple = values.multiple || values.type === 'checkbox-group'; + + if (!values.values || !values.values.length) { + values.values = [1, 2, 3].map(function (index) { + var label = opts.messages.option + ' ' + index; + var option = { + selected: false, + label: label, + value: utils.hyphenCase(label) + }; + return option; + }); + values.values[0].selected = true; + } else { + // ensure option data is has all required keys + for (var _i3 = values.values.length - 1; _i3 >= 0; _i3--) { + values.values[_i3] = Object.assign({}, { selected: false }, values.values[_i3]); + } + } + + fieldOptions += ''; + fieldOptions += '
    '; + if (values.type === 'select') { + var labels = { + second: opts.messages.selectionsMessage + }; + fieldOptions += boolAttribute('multiple', values, labels); + } + + fieldOptions += '
      '; + for (i = 0; i < values.values.length; i++) { + fieldOptions += selectFieldOptions(values.name, values.values[i], isMultiple); + } + fieldOptions += '
    '; + fieldOptions += utils.markup('div', addOption, { className: 'option-actions' }).outerHTML; + fieldOptions += '
    '; + + return utils.markup('div', fieldOptions, { className: 'form-group field-options' }).outerHTML; + }; + + /** + * Build the editable properties for the field + * @param {object} values configuration object for advanced fields + * @return {String} markup for advanced fields + */ + var advFields = function advFields(values) { + var advFields = [], + key, + checked = '', + optionFields = ['select', 'checkbox-group', 'radio-group'], + isOptionField = function () { + return optionFields.indexOf(values.type) !== -1; + }(), + valueField = function () { + var noValField = ['header', 'paragraph', 'file'].concat(optionFields, opts.messages.subtypes.header, opts.messages.subtypes.paragraph); + return noValField.indexOf(values.type) === -1; + }(), + roles = values.role !== undefined ? values.role.split(',') : []; + + advFields.push(requiredField(values)); + + if (values.type === 'checkbox') { + advFields.push(boolAttribute('toggle', values, { first: opts.messages.toggle })); + } + + advFields.push(textAttribute('label', values)); + + values.size = values.size || 'm'; + values.style = values.style || 'default'; + + //Help Text / Description Field + var noDescFields = ['header', 'paragraph', 'button'].concat(opts.messages.subtypes.header, opts.messages.subtypes.paragraph); + + noDescFields = noDescFields.concat(opts.messages.subtypes.header, opts.messages.subtypes.paragraph); + + if (noDescFields.indexOf(values.type) === -1) { + advFields.push(textAttribute('description', values)); + } + + advFields.push(subTypeField(values)); + + if (values.type === 'button') { + advFields.push(btnStyles(values.style, values.type)); + } + + if (values.type === 'number') { + advFields.push(numberAttribute('min', values)); + advFields.push(numberAttribute('max', values)); + advFields.push(numberAttribute('step', values)); + } + + // Placeholder + advFields.push(textAttribute('placeholder', values)); + + // Class + advFields.push(textAttribute('className', values)); + + advFields.push(textAttribute('name', values)); + + if (valueField) { + advFields.push(textAttribute('value', values)); + } + + if (values.type === 'file') { + var labels = { + first: opts.messages.multipleFiles, + second: opts.messages.allowMultipleFiles + }; + advFields.push(boolAttribute('multiple', values, labels)); + } + + advFields.push('
    '); + + advFields.push(' '); + advFields.push('
    '); + + for (key in opts.roles) { + if (opts.roles.hasOwnProperty(key)) { + checked = utils.inArray(key, roles) ? 'checked' : ''; + advFields.push('
    '); + } + } + + advFields.push('
    '); + + if (values.type === 'checkbox-group' || values.type === 'radio-group') { + advFields.push('
    '); + var _checked = ''; + if (values.enableOther || values['enable-other']) { + _checked = 'checked'; + } + advFields.push('
    '); + } + + if (isOptionField) { + advFields.push(fieldOptions(values)); + } + + advFields.push(textAttribute('maxlength', values)); + + // Append custom attributes as defined in typeUserAttrs option + if (opts.typeUserAttrs[values.type]) { + advFields.push(processTypeUserAttrs(opts.typeUserAttrs[values.type], values)); + } + + return advFields.join(''); + }; + + function processTypeUserAttrs(typeUserAttr, values) { + var advField = []; + + for (var attribute in typeUserAttr) { + if (typeUserAttr.hasOwnProperty(attribute)) { + var orig = opts.messages[attribute]; + var origValue = typeUserAttr[attribute].value; + typeUserAttr[attribute].value = values[attribute] || typeUserAttr[attribute].value || ''; + + if (typeUserAttr[attribute].label) { + opts.messages[attribute] = typeUserAttr[attribute].label; + } + + if (typeUserAttr[attribute].options) { + advField.push(selectUserAttrs(attribute, typeUserAttr[attribute])); + } else { + advField.push(textUserAttrs(attribute, typeUserAttr[attribute])); + } + + opts.messages[attribute] = orig; + typeUserAttr[attribute].value = origValue; + } + } + + return advField.join(''); + } + + function textUserAttrs(name, options) { + var textAttrs = { + id: name + '-' + lastID, + title: options.description || options.label || name.toUpperCase(), + name: name, + type: options.type || 'text', + className: 'fld-' + name + ' form-control' + }, + label = ''; + + textAttrs = Object.assign({}, options, textAttrs); + var textInput = ''; + return '
    ' + label + textInput + '
    '; + } + + function selectUserAttrs(name, options) { + var optis = Object.keys(options.options).map(function (val) { + var attrs = { value: val }; + if (val === options.value) { + attrs.selected = null; + } + return ''; + }), + selectAttrs = { + id: name + '-' + lastID, + title: options.description || options.label || name.toUpperCase(), + name: name, + className: 'fld-' + name + ' form-control' + }, + label = ''; + + Object.keys(options).filter(function (prop) { + return !utils.inArray(prop, ['value', 'options', 'label']); + }).forEach(function (attr) { + selectAttrs[attr] = options[attr]; + }); + + var select = ''; + return '
    ' + label + select + '
    '; + } + + var boolAttribute = function boolAttribute(name, values, labels) { + if (opts.typeUserAttrs[values.type] && opts.typeUserAttrs[values.type][name]) { + return; + } + + var label = function label(txt) { + return ''; + }, + checked = values[name] !== undefined ? 'checked' : '', + input = '', + inner = [input]; + + if (labels.first) { + inner.unshift(label(labels.first)); + } + + if (labels.second) { + inner.push(label(labels.second)); + } + + return '
    ' + inner.join('') + '
    '; + }; + + /** + * Changes a fields type + * + * @param {Object} values + * @return {String} markup for type '; + subTypes[type].forEach(function (element) { + selected = subtype === element ? 'selected' : ''; + subTypeField += ''; + }); + subTypeField += ''; + subTypeField = '
    ' + subTypeLabel + ' ' + subTypeField + '
    '; + } + + return subTypeField; + }; + + var btnStyles = function btnStyles(style, type) { + var tags = { + button: 'btn' + }, + styles = opts.messages.styles[tags[type]], + styleField = ''; + + if (styles) { + var styleLabel = ''; + styleField += ''; + styleField += '
    '; + + Object.keys(opts.messages.styles[tags[type]]).forEach(function (element) { + var active = style === element ? 'active' : ''; + styleField += ''; + }); + + styleField += '
    '; + + styleField = '
    ' + styleLabel + ' ' + styleField + '
    '; + } + + return styleField; + }; + + /** + * Add a number attribute to a field. + * @param {String} attribute + * @param {Object} values + * @return {String} + */ + var numberAttribute = function numberAttribute(attribute, values) { + if (opts.typeUserAttrs[values.type] && opts.typeUserAttrs[values.type][attribute]) { + return; + } + var attrVal = values[attribute] || ''; + var attrLabel = opts.messages[attribute] || attribute, + placeholder = opts.messages.placeholders[attribute] || '', + numberAttribute = ''; + return '
    ' + numberAttribute + '
    '; + }; + + /** + * Generate some text inputs for field attributes, **will be replaced** + * @param {String} attribute + * @param {Object} values + * @return {String} + */ + var textAttribute = function textAttribute(attribute, values) { + if (opts.typeUserAttrs[values.type] && opts.typeUserAttrs[values.type][attribute]) { + return; + } + var placeholderFields = ['text', 'textarea', 'select']; + + var noName = ['header']; + + var textArea = ['paragraph']; + + var noMaxlength = ['checkbox', 'select', 'checkbox-group', 'date', 'autocomplete', 'radio-group', 'hidden', 'button', 'header', 'number']; + + var attrVal = values[attribute] || '', + attrLabel = opts.messages[attribute]; + if (attribute === 'label' && utils.inArray(values.type, textArea)) { + attrLabel = opts.messages.content; + } + + noName = noName.concat(opts.messages.subtypes.header, textArea); + noMaxlength = noMaxlength.concat(textArea); + + var placeholders = opts.messages.placeholders, + placeholder = placeholders[attribute] || '', + attributefield = '', + noMakeAttr = []; + + // Field has placeholder attribute + if (attribute === 'placeholder' && !utils.inArray(values.type, placeholderFields)) { + noMakeAttr.push(true); + } + + // Field has name attribute + if (attribute === 'name' && utils.inArray(values.type, noName)) { + noMakeAttr.push(true); + } + + // Field has maxlength attribute + if (attribute === 'maxlength' && utils.inArray(values.type, noMaxlength)) { + noMakeAttr.push(true); + } + + if (!noMakeAttr.some(function (elem) { + return elem === true; + })) { + var attributeLabel = ''; + + if (attribute === 'label' && utils.inArray(values.type, textArea) || attribute === 'value' && values.type === 'textarea') { + attributefield += ''; + } else { + attributefield += ''; + } + + attributefield = '
    ' + attributeLabel + ' ' + attributefield + '
    '; + } + + return attributefield; + }; + + var requiredField = function requiredField(values) { + var noRequire = ['header', 'paragraph', 'button'], + noMake = [], + requireField = ''; + + if (utils.inArray(values.type, noRequire)) { + noMake.push(true); + } + if (!noMake.some(function (elem) { + return elem === true; + })) { + requireField = boolAttribute('required', values, { first: opts.messages.required }); + } + return requireField; + }; + + // Append the new field to the editor + var appendNewField = function appendNewField(values) { + var type = values.type || 'text', + label = values.label || opts.messages[type] || opts.messages.label, + delBtn = utils.markup('a', opts.messages.remove, { + id: 'del_' + lastID, + className: 'del-button btn delete-confirm', + title: opts.messages.removeMessage + }), + toggleBtn = utils.markup('a', null, { + id: lastID + '-edit', + className: 'toggle-form btn icon-pencil', + title: opts.messages.hide + }), + copyBtn = utils.markup('a', opts.messages.copyButton, { + id: lastID + '-copy', + className: 'copy-button btn icon-copy', + title: opts.messages.copyButtonTooltip + }); + + var liContents = utils.markup('div', [toggleBtn, copyBtn, delBtn], { className: 'field-actions' }).outerHTML; + + // Field preview Label + liContents += ''; + + if (values.description) { + liContents += '?'; + } + + var requiredDisplay = values.required ? 'style="display:inline"' : ''; + liContents += ' *'; + + liContents += utils.markup('div', '', { className: 'prev-holder' }).outerHTML; + liContents += '
    '; + liContents += '
    '; + + liContents += advFields(values); + liContents += utils.markup('a', opts.messages.close, { className: 'close-field' }).outerHTML; + + liContents += '
    '; + liContents += '
    '; + + var li = utils.markup('li', liContents, { + 'class': type + '-field form-field', + 'type': type, + id: lastID + }), + $li = $(li); + + $li.data('fieldData', { attrs: values }); + + if (typeof _helpers.stopIndex !== 'undefined') { + $('> li', $sortableFields).eq(_helpers.stopIndex).after($li); + } else { + $sortableFields.append($li); + } + + $('.sortable-options', $li).sortable(); // make dynamically added option fields sortable if they exist. + + _helpers.updatePreview($li); + + if (opts.editOnAdd) { + _helpers.closeAllEdit($sortableFields); + _helpers.toggleEdit(lastID); + } + + lastID = _helpers.incrementId(lastID); + }; + + // Select field html, since there may be multiple + var selectFieldOptions = function selectFieldOptions(name, optionData, multipleSelect) { + var optionInputType = { + selected: multipleSelect ? 'checkbox' : 'radio' + }, + optionDataOrder = ['value', 'label', 'selected'], + optionInputs = []; + + optionData = optionData || { + selected: false, + label: '', + value: '' + }; + + for (var i = optionDataOrder.length - 1; i >= 0; i--) { + var prop = optionDataOrder[i]; + if (optionData.hasOwnProperty(prop)) { + var attrs = { + type: optionInputType[prop] || 'text', + 'class': 'option-' + prop, + value: optionData[prop], + name: name + }; + if (opts.messages.placeholders[prop]) { + attrs.placeholder = opts.messages.placeholders[prop]; + } + + if (prop === 'selected' && optionData.selected === true) { + attrs.checked = optionData.selected; + } + + optionInputs.push(utils.markup('input', null, attrs)); + } + } + + var removeAttrs = { + className: 'remove btn', + title: opts.messages.removeMessage + }; + optionInputs.push(utils.markup('a', opts.messages.remove, removeAttrs)); + + var field = utils.markup('li', optionInputs); + + return field.outerHTML; + }; + + var cloneItem = function cloneItem(currentItem) { + var currentId = currentItem.attr('id'); + var cloneName = currentItem.attr('type'); + var ts = new Date().getTime(); + cloneName = cloneName + '-' + ts; + + var $clone = currentItem.clone(); + + $clone.find('[id]').each(function () { + this.id = this.id.replace(currentId, lastID); + }); + + $clone.find('[for]').each(function () { + this.setAttribute('for', this.getAttribute('for').replace(currentId, lastID)); + }); + + $clone.each(function () { + $('e:not(.form-elements)').each(function () { + var newName = this.getAttribute('name'); + newName = newName.substring(0, newName.lastIndexOf('-') + 1); + newName = newName + ts.toString(); + this.setAttribute('name', newName); + }); + }); + + $clone.find('.form-elements').find(':input').each(function () { + if (this.getAttribute('name') === 'name') { + var newVal = this.getAttribute('value'); + newVal = newVal.substring(0, newVal.lastIndexOf('-') + 1); + newVal = newVal + ts.toString(); + this.setAttribute('value', newVal); + } + }); + + $clone.attr('id', lastID); + $clone.attr('name', cloneName); + $clone.addClass('cloned'); + $('.sortable-options', $clone).sortable(); + lastID = _helpers.incrementId(lastID); + return $clone; + }; + + // ---------------------- UTILITIES ---------------------- // + + // delete options + $sortableFields.on('click touchstart', '.remove', function (e) { + var $field = $(this).parents('.form-field:eq(0)'); + e.preventDefault(); + var optionsCount = $(this).parents('.sortable-options:eq(0)').children('li').length; + if (optionsCount <= 2) { + opts.notify.error('Error: ' + opts.messages.minOptionMessage); + } else { + $(this).parent('li').slideUp('250', function () { + $(this).remove(); + _helpers.updatePreview($field); + _helpers.save(); + }); + } + }); + + // touch focus + $sortableFields.on('touchstart', 'input', function (e) { + if (e.handled !== true) { + if ($(this).attr('type') === 'checkbox') { + $(this).trigger('click'); + } else { + $(this).focus(); + var fieldVal = $(this).val(); + $(this).val(fieldVal); + } + } else { + return false; + } + }); + + // toggle fields + $sortableFields.on('click touchstart', '.toggle-form, .close-field', function (e) { + e.stopPropagation(); + e.preventDefault(); + if (e.handled !== true) { + var targetID = $(this).parents('.form-field:eq(0)').attr('id'); + _helpers.toggleEdit(targetID); + e.handled = true; + } else { + return false; + } + }); + + // update preview to label + $sortableFields.on('keyup change', '[name="label"]', function () { + $('.field-label', $(this).closest('li')).text($(this).val()); + }); + + // remove error styling when users tries to correct mistake + $sortableFields.delegate('input.error', 'keyup', function () { + $(this).removeClass('error'); + }); + + // update preview for description + $sortableFields.on('keyup', 'input[name="description"]', function () { + var $field = $(this).parents('.form-field:eq(0)'); + var closestToolTip = $('.tooltip-element', $field); + var ttVal = $(this).val(); + if (ttVal !== '') { + if (!closestToolTip.length) { + var tt = '?'; + $('.field-label', $field).after(tt); + } else { + closestToolTip.attr('tooltip', ttVal).css('display', 'inline-block'); + } + } else { + if (closestToolTip.length) { + closestToolTip.css('display', 'none'); + } + } + }); + + _helpers.updateMultipleSelect(); + + // format name attribute + $sortableFields.delegate('input[name="name"]', 'blur', function () { + $(this).val(_helpers.safename($(this).val())); + if ($(this).val() === '') { + $(this).addClass('field_error').attr('placeholder', opts.messages.cannotBeEmpty); + } else { + $(this).removeClass('field_error'); + } + }); + + $sortableFields.delegate('input.fld-maxlength', 'blur', function () { + $(this).val(_helpers.forceNumber($(this).val())); + }); + + // Copy field + $sortableFields.on('click touchstart', '.icon-copy', function (e) { + e.preventDefault(); + var currentItem = $(this).parent().parent('li'); + var $clone = cloneItem(currentItem); + $clone.insertAfter(currentItem); + _helpers.updatePreview($clone); + _helpers.save(); + }); + + // Delete field + $sortableFields.on('click touchstart', '.delete-confirm', function (e) { + e.preventDefault(); + + var buttonPosition = this.getBoundingClientRect(), + bodyRect = document.body.getBoundingClientRect(), + coords = { + pageX: buttonPosition.left + buttonPosition.width / 2, + pageY: buttonPosition.top - bodyRect.top - 12 + }; + + var deleteID = $(this).parents('.form-field:eq(0)').attr('id'), + $field = $(document.getElementById(deleteID)); + + var removeField = function removeField() { + $field.slideUp(250, function () { + $field.removeClass('deleting'); + $field.remove(); + _helpers.save(); + if (!$sortableFields[0].childNodes.length) { + $stageWrap.addClass('empty').attr('data-content', opts.messages.getStarted); + } + }); + }; + + document.addEventListener('modalClosed', function () { + $field.removeClass('deleting'); + }, false); + + // Check if user is sure they want to remove the field + if (opts.fieldRemoveWarn) { + var warnH3 = utils.markup('h3', opts.messages.warning), + warnMessage = utils.markup('p', opts.messages.fieldRemoveWarning); + _helpers.confirm([warnH3, warnMessage], removeField, coords); + $field.addClass('deleting'); + } else { + removeField($field); + } + }); + + // Update button style selection + $sortableFields.on('click', '.style-wrap button', function () { + var styleVal = $(this).val(), + $parent = $(this).parent(), + $btnStyle = $parent.prev('.btn-style'); + $btnStyle.val(styleVal); + $(this).siblings('.btn').removeClass('active'); + $(this).addClass('active'); + saveAndUpdate.call($parent); + }); + + // Attach a callback to toggle required asterisk + $sortableFields.on('click', 'input.fld-required', function () { + var requiredAsterisk = $(this).parents('li.form-field').find('.required-asterisk'); + requiredAsterisk.toggle(); + }); + + // Attach a callback to toggle roles visibility + $sortableFields.on('click', 'input[name="enable-roles"]', function () { + var roles = $(this).siblings('div.available-roles'), + enableRolesCB = $(this); + roles.slideToggle(250, function () { + if (!enableRolesCB.is(':checked')) { + $('input[type="checkbox"]', roles).removeAttr('checked'); + } + }); + }); + + // Attach a callback to add new options + $sortableFields.on('click', '.add-opt', function (e) { + e.preventDefault(); + var $optionWrap = $(this).parents('.field-options:eq(0)'), + $multiple = $('[name="multiple"]', $optionWrap), + $firstOption = $('.option-selected:eq(0)', $optionWrap), + isMultiple = false; + + if ($multiple.length) { + isMultiple = $multiple.prop('checked'); + } else { + isMultiple = $firstOption.attr('type') === 'checkbox'; + } + + var name = $firstOption.attr('name'); + + $('.sortable-options', $optionWrap).append(selectFieldOptions(name, false, isMultiple)); + _helpers.updateMultipleSelect(); + }); + + $sortableFields.on('mouseover mouseout', '.remove, .del-button', function () { + $(this).parents('li:eq(0)').toggleClass('delete'); + }); + + if (opts.showActionButtons) { + // View XML + var xmlButton = $(document.getElementById(frmbID + '-view-data')); + xmlButton.click(function (e) { + e.preventDefault(); + _helpers.showData(); + }); + + // Clear all fields in form editor + var clearButton = $(document.getElementById(frmbID + '-clear-all')); + clearButton.click(function () { + var fields = $('li.form-field'); + var buttonPosition = this.getBoundingClientRect(), + bodyRect = document.body.getBoundingClientRect(), + coords = { + pageX: buttonPosition.left + buttonPosition.width / 2, + pageY: buttonPosition.top - bodyRect.top - 12 + }; + + if (fields.length) { + _helpers.confirm(opts.messages.clearAllMessage, function () { + _helpers.removeAllfields(); + opts.notify.success(opts.messages.allFieldsRemoved); + _helpers.save(); + }, coords); + } else { + _helpers.dialog('There are no fields to clear', { pageX: coords.pageX, pageY: coords.pageY }); + } + }); + + // Save Idea Template + $(document.getElementById(frmbID + '-save')).click(function (e) { + e.preventDefault(); + _helpers.save(); + _helpers.validateForm(e); + }); + } + + _helpers.getData(); + loadFields(); + + $sortableFields.css('min-height', $cbUL.height()); + + // If option set, controls will remain in view in editor + if (opts.stickyControls) { + _helpers.stickyControls($sortableFields, cbUl); + } + + document.dispatchEvent(formBuilder.events.loaded); + + // Make actions accessible + formBuilder.actions = { + clearFields: _helpers.removeAllfields, + showData: _helpers.showData, + save: _helpers.save + }; + + return formBuilder; + }; + + $.fn.formBuilder = function (options) { + options = options || {}; + return this.each(function () { + var formBuilder = new FormBuilder(options, this); + $(this).data('formBuilder', formBuilder); + + return formBuilder; + }); + }; +})(jQuery); \ No newline at end of file diff --git a/dist/form-builder.min.css b/dist/form-builder.min.css new file mode 100755 index 0000000..fde27c9 --- /dev/null +++ b/dist/form-builder.min.css @@ -0,0 +1,6 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +@charset "UTF-8";@font-face{font-family:form-builder-font;src:url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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);src:url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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) format("embedded-opentype"),url(data:application/octet-stream;base64,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) format("woff2"),url(data:application/font-woff;base64,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) format("woff"),url(data:application/x-font-ttf;base64,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fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9ybS1idWlsZGVyLWZvbnRSZWd1bGFyZm9ybS1idWlsZGVyLWZvbnRmb3JtLWJ1aWxkZXItZm9udFZlcnNpb24gMS4wZm9ybS1idWlsZGVyLWZvbnRHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANgAgAGIA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) format("truetype"),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjYWxlbmRhciIgdW5pY29kZT0iJiN4ZTgwMTsiIGQ9Ik03MS03OWgxNjF2MTYxaC0xNjF2LTE2MXogbTE5NyAwaDE3OHYxNjFoLTE3OHYtMTYxeiBtLTE5NyAxOTdoMTYxdjE3OGgtMTYxdi0xNzh6IG0xOTcgMGgxNzh2MTc4aC0xNzh2LTE3OHogbS0xOTcgMjE0aDE2MXYxNjFoLTE2MXYtMTYxeiBtNDExLTQxMWgxNzl2MTYxaC0xNzl2LTE2MXogbS0yMTQgNDExaDE3OHYxNjFoLTE3OHYtMTYxeiBtNDI4LTQxMWgxNjF2MTYxaC0xNjF2LTE2MXogbS0yMTQgMTk3aDE3OXYxNzhoLTE3OXYtMTc4eiBtLTE5NiA0ODJ2MTYxcTAgNy02IDEydC0xMiA2aC0zNnEtNyAwLTEyLTZ0LTYtMTJ2LTE2MXEwLTcgNi0xM3QxMi01aDM2cTcgMCAxMiA1dDYgMTN6IG00MTAtNDgyaDE2MXYxNzhoLTE2MXYtMTc4eiBtLTIxNCAyMTRoMTc5djE2MWgtMTc5di0xNjF6IG0yMTQgMGgxNjF2MTYxaC0xNjF2LTE2MXogbTE4IDI2OHYxNjFxMCA3LTUgMTJ0LTEzIDZoLTM1cS04IDAtMTMtNnQtNS0xMnYtMTYxcTAtNyA1LTEzdDEzLTVoMzVxOCAwIDEzIDV0NSAxM3ogbTIxNSAzNnYtNzE1cTAtMjktMjItNTB0LTUwLTIxaC03ODZxLTI5IDAtNTAgMjF0LTIxIDUwdjcxNXEwIDI5IDIxIDUwdDUwIDIxaDcydjU0cTAgMzcgMjYgNjN0NjMgMjZoMzZxMzcgMCA2My0yNnQyNi02M3YtNTRoMjE0djU0cTAgMzcgMjcgNjN0NjMgMjZoMzVxMzcgMCA2My0yNnQyNy02M3YtNTRoNzFxMjkgMCA1MC0yMXQyMi01MHoiIGhvcml6LWFkdi14PSI5MjguNiIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja2JveCIgdW5pY29kZT0iJiN4ZTgwMjsiIGQ9Ik04NDQgNTM4di01MDBjMC01MS00NC05NC05NC05NGgtNTYyYy01MCAwLTk0IDQzLTk0IDk0djU2MmMwIDUwIDQ0IDk0IDk0IDk0aDU2MmM0NCAwIDgxLTMxIDk0LTc1bDE1MCA4Ny0xNTAtMTY4eiBtLTYzLTc1bC0zMDAtMzYzLTMwNiA0MDYgMzA2LTEwMCAzMDAgMTgydjEyYzAgMTktMTIgMzEtMzEgMzFoLTU2MmMtMTkgMC0zMi0xMi0zMi0zMXYtNTYyYzAtMTkgMTMtMzIgMzItMzJoNTYyYzE5IDAgMzEgMTMgMzEgMzJ2NDI1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJyYWRpby1ncm91cCIgdW5pY29kZT0iJiN4ZTgwNDsiIGQ9Ik0wIDc4OGgxMDAwdjYyaC0xMDAwdi02MnogbTAtMTI1aDEwMDB2NjJoLTEwMDB2LTYyeiBtMzEzLTE4OGg2MjV2NjNoLTYyNXYtNjN6IG02MjUtMTg3aC02MjV2LTYzaDYyNXY2M3ogbTAtMzEzdjYzaC02MjV2LTYzaDYyNXogbS04NDQgNDM4Yy01MCAwLTk0IDQzLTk0IDkzczQ0IDk0IDk0IDk0IDk0LTQ0IDk0LTk0LTQ0LTkzLTk0LTkzeiBtMCAxMjVjLTE5IDAtMzEtMTMtMzEtMzJzMTItMzEgMzEtMzEgMzEgMTMgMzEgMzEtMTIgMzItMzEgMzJ6IG0wLTM4MmMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC0zOCA5NC05NC00NC05NC05NC05NHogbTAgMTI1Yy0xOSAwLTMxLTEyLTMxLTMxczEyLTMxIDMxLTMxIDMxIDE5IDMxIDMxLTEyIDMxLTMxIDMxeiBtMC0zNjljLTUwIDAtOTQgNDQtOTQgOTRzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTQtOTQtOTR6IG0wIDEyNmMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMiAzMSAzMS0xMiAzMi0zMSAzMnoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJpY2gtdGV4dCIgdW5pY29kZT0iJiN4ZTgwNTsiIGQ9Ik05MzggNzg4aC04NzVjLTM4IDAtNjMtMjUtNjMtNjN2LTc1MGMwLTM4IDI1LTYzIDYzLTYzaDg3NWMzNyAwIDYyIDI1IDYyIDYzdjc1MGMwIDM4LTI1IDYzLTYyIDYzeiBtLTg3NS0xMzJoNTB2LTE4aC01MHYxOHogbTAtMzFoNTB2LTE5aC01MHYxOXogbTg3NS02NTBoLTg3NXY1NTZoODc1di01NTZ6IG0wIDU2OWgtODc1djE5aDg3NXYtMTl6IG0wIDMxaC04NzV2MTloNTB2LTEzaDkzdjEzaDgydi0xM2g4N3YxM2g4MXYtMTNoOTR2MTNoNzV2LTEzaDk0djEzaDgxdi0xM2g5NHYxM2g0NHYtMTl6IG0tNjU3IDUwdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoODJ2LTE4aC04MnogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yNTAtMTN2LTE5aC03NXYxOWg3NXogbS03NSAxM3YxOGg3NXYtMThoLTc1eiBtMjUwLTEzdi0xOWgtODF2MTloODF6IG0tODEgMTN2MThoODF2LTE4aC04MXogbTIxOS0zMmgtNTB2MTloNTB2LTE5eiBtMCAzMmgtNTB2MThoNTB2LTE4eiBtMCAzMWgtNTB2NmgtOTR2LTEyaC04MXYxMmgtODh2LTEyaC03NXYxMmgtOTR2LTEyaC04MXYxMmgtOTR2LTEyaC03NXYxMmgtOTN2LTEyaC01MHYyNWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDg3NXYtMTl6IG0tNzUwLTYwMHY2M2g2MjV2LTYzaC02MjV6IG02MjUgMTI1aC02MjV2NjNoNjI1di02M3ogbS0xMjUgMTI1aC01MDB2NjNoNTAwdi02M3oiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXh0LWFyZWEiIHVuaWNvZGU9IiYjeGU4MDc7IiBkPSJNMTg4IDE2M3Y2Mmg1MDB2LTYyaC01MDBsMCAweiBtMCAyNTBoNjI1djYyaC02MjV2LTYybDAgMHogbTAtNjN2LTYyaDYyNXY2MmgtNjI1bDAgMHogbTYyNSAyNTBoLTYyNXYtNjJoNjI1djYybDAgMHogbTE4Ny02MjV2NzUwYzAgMzgtMjUgNjMtNjIgNjNoLTg3NWMtMzggMC02My0yNS02My02M3YtNzUwYzAtMzggMjUtNjMgNjMtNjNoODc1YzM3IDAgNjIgMjUgNjIgNjN6IG0tNjIgNzUwdi03NTBoLTg3NXY3NTBoODc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dC1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwODsiIGQ9Ik05MzggNjAwaC02NTd2NjNoOTR2NjJoLTk0LTYyLTk0di02Mmg5NHYtNjNoLTE1NmMtMzggMC02My0zMS02My02MnYtMzc1YzAtMzggMjUtNjMgNjMtNjNoMTU2di02MmgtOTR2LTYzaDI1MHY2M2gtOTR2NjJoNjU3YzM3IDAgNjIgMjUgNjIgNjN2Mzc1YzAgMzEtMjUgNjItNjIgNjJ6IG0tODc1LTQzN3YzNzVoMTU2di0zNzVoLTE1NnogbTg3NSAwaC02NTd2Mzc1aDY1N3YtMzc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImZpbGUtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MGE7IiBkPSJNNDY5IDE2M2gtNDY5di0yNTFoOTM4djI1MWgtNDY5eiBtNDA2LTEyNWgtMTI1djYyaDEyNXYtNjJ6IG0tNjU2IDUwMGwyNTAgMjUwIDI1MC0yNTBoLTE1NnYtMzEzaC0xODh2MzEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iaGlkZGVuLWlucHV0IiB1bmljb2RlPSImI3hlODBiOyIgZD0iTTYzIDUzOGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG02MyA0MzhsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTQzOGw2MyAwIDAgNjMtNjMgMHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImJ1dHRvbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwZDsiIGQ9Ik02MiA1MzhsODc1IDAgMCA2Mi04NzUgMHogbS02Mi0zNzVsNjMgMCAwIDM3NS02MyAweiBtNjMtNjNsODc1IDAgMCA2My04NzUgMHogbTg3NSA2M2w2MiAwIDAgMzc1LTYyIDB6IG0tNTUyIDI4MHEtMzQgMC01NC0yNS0xOS0yNS0xOS02OCAwLTQzIDE5LTY4IDIwLTI1IDU0LTI1IDMzIDAgNTMgMjUgMTkgMjUgMTkgNjggMCA0My0xOSA2OC0yMCAyNS01MyAyNXogbTAgMjVxNDggMCA3Ni0zMiAyOS0zMiAyOS04NiAwLTU0LTI5LTg2LTI4LTMyLTc2LTMyLTQ4IDAtNzcgMzItMjkgMzItMjkgODYgMCA1NCAyOSA4NiAyOSAzMiA3NyAzMnogbTE1My00bDMxIDAgMC05NiAxMDIgOTYgNDAgMC0xMTMtMTA2IDEyMS0xMjItNDEgMC0xMDkgMTEwIDAtMTEwLTMxIDAgMCAyMjh6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJhdHRhY2giIHVuaWNvZGU9IiYjeGU4MGU7IiBkPSJNNzgzIDc3cTAtNjUtNDQtMTA5dC0xMDktNDRxLTc1IDAtMTMxIDU1bC00MzQgNDM0cS02MyA2NC02MyAxNTEgMCA4OCA2MiAxNTB0MTUwIDYycTg4IDAgMTUyLTYzbDMzOC0zMzhxNS01IDUtMTIgMC05LTE3LTI2dC0yNi0xN3EtNyAwLTEzIDVsLTMzOCAzMzlxLTQ0IDQzLTEwMSA0My01OSAwLTEwMC00MnQtNDAtMTAxcTAtNTggNDItMTAxbDQzMy00MzNxMzUtMzYgODEtMzYgMzYgMCA1OSAyNHQyNCA1OXEwIDQ2LTM2IDgxbC0zMjQgMzI0cS0xNCAxNC0zMyAxNC0xNiAwLTI3LTExdC0xMS0yN3EwLTE4IDE0LTMzbDIyOS0yMjhxNi02IDYtMTMgMC05LTE4LTI2dC0yNi0xN3EtNyAwLTEyIDVsLTIyOSAyMjlxLTM1IDM0LTM1IDgzIDAgNDYgMzIgNzh0NzcgMzJxNDkgMCA4My0zNmwzMjUtMzI0cTU1LTU0IDU1LTEzMXoiIGhvcml6LWFkdi14PSI3ODUuNyIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkZXIiIHVuaWNvZGU9IiYjeGU4MGY7IiBkPSJNOTM5LTc5cS0yNSAwLTc0IDJ0LTc1IDJxLTI0IDAtNzMtMnQtNzQtMnEtMTQgMC0yMSAxMnQtNyAyNXEwIDE3IDkgMjZ0MjIgOSAyOSA0IDI1IDlxMTggMTEgMTggNzhsMCAyMThxMCAxMi0xIDE3LTcgMy0yOCAzaC0zNzZxLTIyIDAtMjktMyAwLTUgMC0xN2wtMS0yMDdxMC03OSAyMS05MiA5LTUgMjYtN3QzMi0yIDI1LTggMTEtMjZxMC0xNC03LTI2dC0yMC0xM3EtMjYgMC03OCAydC03NyAycS0yNCAwLTcxLTJ0LTcxLTJxLTEzIDAtMjAgMTJ0LTcgMjVxMCAxNyA5IDI1dDIwIDEwIDI2IDQgMjQgOXExOCAxMyAxOCA4MGwtMSAzMXY0NTRxMCAyIDEgMTR0MCAyMS0xIDIxLTIgMjQtNCAyMC02IDE4LTkgMTBxLTggNS0yNSA2dC0yOSAyLTIzIDctMTAgMjZxMCAxNCA2IDI2dDIwIDEzcTI2IDAgNzgtMnQ3Ny0ycTIzIDAgNzEgMnQ3MCAycTE0IDAgMjEtMTN0Ny0yNnEwLTE3LTktMjV0LTIyLTgtMjgtMi0yNC03cS0xOS0xMi0xOS05MGwxLTE3OHEwLTEyIDAtMTggNy0yIDIyLTJoMzkwcTE0IDAgMjEgMiAxIDYgMSAxOGwwIDE3OHEwIDc4LTE5IDkwLTEwIDYtMzMgN3QtMzcgNy0xNCAyOHEwIDE0IDcgMjZ0MjEgMTNxMjQgMCA3NC0ydDczLTJxMjQgMCA3MiAydDcyIDJxMTQgMCAyMS0xM3Q3LTI2cTAtMTctMTAtMjV0LTIyLTgtMjktMi0yNC03cS0yMC0xMy0yMC05MGwxLTUyNnEwLTY2IDE5LTc4IDktNiAyNS04dDMwLTIgMjMtOSAxMC0yNXEwLTE0LTYtMjZ0LTIwLTEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGFyYWdyYXBoIiB1bmljb2RlPSImI3hlODEwOyIgZD0iTTcxMyA3NDV2LTQxcTAtMTYtMTAtMzR0LTI0LTE4cS0yOCAwLTMwLTEtMTUtMy0xOC0xNy0yLTYtMi0zNnYtNjQzcTAtMTQtMTAtMjR0LTI0LTEwaC02MHEtMTQgMC0yNCAxMHQtMTAgMjR2NjgwaC04MHYtNjgwcTAtMTQtOS0yNHQtMjUtMTBoLTYwcS0xNCAwLTI0IDEwdC0xMCAyNHYyNzdxLTgyIDctMTM3IDMzLTcwIDMzLTEwNyAxMDAtMzYgNjUtMzYgMTQ1IDAgOTIgNTAgMTU5IDQ5IDY2IDExNiA4OSA2MiAyMSAyMzMgMjFoMjY3cTE0IDAgMjQtMTB0MTAtMjR6IiBob3Jpei1hZHYteD0iNzE0LjMiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0ibnVtYmVyIiB1bmljb2RlPSImI3hlODExOyIgZD0iTTg3NSA0NzV2MTI1aC0xNTZsMzEgMjUwaC0xMjVsLTMxLTI1MGgtMjUwbDMxIDI1MGgtMTI1bC0zMS0yNTBoLTIxOXYtMTI1aDIwM2wtMzEtMjUwaC0xNzJ2LTEyNWgxNTZsLTMxLTI1MGgxMjVsMzEgMjUwaDI1MGwtMzEtMjUwaDEyNWwzMSAyNTBoMjE5djEyNWgtMjAzbDMxIDI1MGgxNzJ6IG0tMzI4LTI1MGgtMjUwbDMxIDI1MGgyNTBsLTMxLTI1MHoiIGhvcml6LWFkdi14PSI4NzUiIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:form-builder-font;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-autocomplete:before{content:'\e800'}.icon-calendar:before{content:'\e801'}.icon-checkbox:before{content:'\e802'}.icon-checkbox-group:before{content:'\e803'}.icon-radio-group:before{content:'\e804'}.icon-rich-text:before{content:'\e805'}.icon-select:before{content:'\e806'}.icon-text-area:before{content:'\e807'}.icon-text-input:before{content:'\e808'}.icon-pencil:before{content:'\e809'}.icon-file-input:before{content:'\e80a'}.icon-hidden-input:before{content:'\e80b'}.icon-resize-vertical:before{content:'\e80c'}.icon-button-input:before{content:'\e80d'}.icon-attach:before{content:'\e80e'}.icon-header:before{content:'\e80f'}.icon-paragraph:before{content:'\e810'}.icon-number:before{content:'\e811'}@-webkit-keyframes PLACEHOLDER{0%{height:1px}100%{height:15px}}@keyframes PLACEHOLDER{0%{height:1px}100%{height:15px}}.cb-wrap{float:right;width:26%;-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms,-webkit-transform 250ms}.cb-wrap.pull-left .form-actions{float:left}.cb-wrap h4{margin-top:0;color:#666}.cb-wrap .save:hover{color:#08fe00}@media (max-width:481px){.cb-wrap{width:64px}.cb-wrap h4{display:none}}.frmb-control.sort-enabled li.ui-state-highlight{box-shadow:none;height:0;width:100%;background:-webkit-radial-gradient(center ellipse,#545454 0,transparent 75%);background:radial-gradient(ellipse at center,#545454 0,transparent 75%);border:0;-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);visibility:visible;overflow:hidden;margin:1px 0 3px;-webkit-animation:PLACEHOLDER 250ms forwards;animation:PLACEHOLDER 250ms forwards}.frmb-control li{cursor:move;list-style:none;margin:-1px 0 0;box-shadow:0 0 1px 0 inset;padding:10px;text-align:left;background:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frmb-control li:first-child{border-radius:5px 5px 0 0}.frmb-control li:last-child{border-radius:0 0 5px 5px}.frmb-control li:before{margin-right:10px;font-size:16px}.frmb-control li:hover{background-color:#f2f2f2}.frmb-control li.ui-sortable-helper{border-radius:5px;-webkit-transition:box-shadow 250ms;transition:box-shadow 250ms;box-shadow:2px 2px 6px 0 #666;border:1px solid #fff}.frmb-control li.ui-state-highlight{width:0;overflow:hidden;padding:0;margin:0;border:0}.frmb-control li.moving{opacity:.6}@media (max-width:481px){.frmb-control li:before{font-size:30px}.frmb-control li span{display:none}}.frmb-control{margin:0;padding:0}.fb-mobile .form-actions{width:100%}.fb-mobile .form-actions button{width:100%;font-size:.85em!important;display:block!important;border-radius:0!important;margin-top:-1px;margin-left:0!important}.fb-mobile .form-actions button:first-child{border-radius:5px 5px 0 0!important;margin-top:0!important;border-bottom:0 none}.fb-mobile .form-actions button:last-child{border-radius:0 0 5px 5px!important}.form-actions{float:right;margin-top:5px}.form-actions .clear-all:hover{color:#fff!important}[id^=frmb-][id$='-form-wrap'] .empty .frmb{border:3px dashed #ccc;margin-right:5px;background-color:rgba(255,255,255,.25)}[id^=frmb-][id$='-form-wrap'] .stage-wrap{position:relative;float:left;width:74%}[id^=frmb-][id$='-form-wrap'] .stage-wrap.pull-right .frmb{margin:0 0 0 6px}@media (max-width:481px){[id^=frmb-][id$='-form-wrap'] .stage-wrap{width:calc(100% - 64px)}}[id^=frmb-][id$='-form-wrap'] .stage-wrap .action-links{width:calc(100% - 141px);display:none;float:right;overflow:hidden;text-align:right}[id^=frmb-][id$='-form-wrap'] .stage-wrap.empty:after{content:attr(data-content);position:absolute;text-align:center;top:50%;left:0;width:100%;margin-top:-1em}[id^=frmb-][id$='-form-wrap'] .stage-wrap .action-links .active{font-weight:700;color:#000}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder label,[id^=frmb-][id$='-form-wrap'] .frmb .sortable-options-wrap label,[id^=frmb-][id$='-form-wrap'] .frmb li.no-fields label{font-weight:400}[id^=frmb-][id$='-form-wrap'] .frmb{list-style-type:none;min-height:200px;margin:0 6px 0 0;padding:0;-webkit-transition:background-color .5s ease-in-out;transition:background-color .5s ease-in-out}[id^=frmb-][id$='-form-wrap'] .frmb.removing{overflow:hidden}[id^=frmb-][id$='-form-wrap'] .frmb li{position:relative;padding:6px;clear:both;margin-left:0;margin-bottom:3px;background-color:#fff;-webkit-transition:background-color 250ms ease-in-out,margin-top .5s;transition:background-color 250ms ease-in-out,margin-top .5s}[id^=frmb-][id$='-form-wrap'] .frmb li:hover .field-actions{opacity:1}[id^=frmb-][id$='-form-wrap'] .frmb li.hidden-field{background-color:rgba(255,255,255,.6)}[id^=frmb-][id$='-form-wrap'] .frmb li:first-child{border-top-right-radius:5px;border-top-left-radius:5px}[id^=frmb-][id$='-form-wrap'] .frmb li:first-child .field-actions .btn:last-child{border-radius:0 5px 0 0}[id^=frmb-][id$='-form-wrap'] .frmb li:last-child{border-bottom-right-radius:5px;border-bottom-left-radius:5px}[id^=frmb-][id$='-form-wrap'] .frmb li:hover{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}[id^=frmb-][id$='-form-wrap'] .frmb li:hover li :hover{background:#fefefe}@keyframes PLACEHOLDER{0%{height:0}100%{height:15px}}[id^=frmb-][id$='-form-wrap'] .frmb li.frmb-placeholder,[id^=frmb-][id$='-form-wrap'] .frmb li.ui-state-highlight{height:0;padding:0;background:-webkit-radial-gradient(center ellipse,#545454 0,transparent 75%);background:radial-gradient(ellipse at center,#545454 0,transparent 75%);border:0;-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);visibility:visible;overflow:hidden;margin-bottom:3px;-webkit-animation:PLACEHOLDER 250ms forwards;animation:PLACEHOLDER 250ms forwards}[id^=frmb-][id$='-form-wrap'] .frmb li.moving,[id^=frmb-][id$='-form-wrap'] .frmb li.ui-sortable-helper{-webkit-transition:box-shadow .5s ease-in-out;transition:box-shadow .5s ease-in-out;box-shadow:2px 2px 6px 0 #666;border:1px solid #fff;border-radius:5px}[id^=frmb-][id$='-form-wrap'] .frmb li.disabled{z-index:1}[id^=frmb-][id$='-form-wrap'] .frmb li.disabled [type=checkbox]{float:left;margin-right:10px}[id^=frmb-][id$='-form-wrap'] .frmb li.disabled h2{border-bottom:0 none}[id^=frmb-][id$='-form-wrap'] .frmb li.disabled label{font-size:12px;font-weight:400;color:#666}[id^=frmb-][id$='-form-wrap'] .frmb li.disabled .prev-holder{cursor:default;line-height:28px;padding-left:5px}[id^=frmb-][id$='-form-wrap'] .frmb li .close-field{position:absolute;color:#666;left:50%;bottom:6px;background:#fff;border-top:1px solid #d7d7d7;border-left:1px solid #d7d7d7;border-right:1px solid #D7D7D7;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:0 5px;border-top-right-radius:3px;border-top-left-radius:3px;cursor:pointer;-webkit-transition:background-color 250ms ease-in-out;transition:background-color 250ms ease-in-out}[id^=frmb-][id$='-form-wrap'] .frmb li .close-field:hover{text-decoration:none}[id^=frmb-][id$='-form-wrap'] .frmb li.button-field .prev-holder,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field address,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field blockquote,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field canvas,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field h1,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field h2,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field h3,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field output,[id^=frmb-][id$='-form-wrap'] .frmb li.button-field p,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field .prev-holder,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field address,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field blockquote,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field canvas,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field h1,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field h2,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field h3,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field output,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field p,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field .prev-holder,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field address,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field blockquote,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field canvas,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field h1,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field h2,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field h3,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field output,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field p{margin:0}[id^=frmb-][id$='-form-wrap'] .frmb li.button-field .field-label,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field .field-label,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field .field-label{display:none}[id^=frmb-][id$='-form-wrap'] .frmb li.button-field.editing .field-label,[id^=frmb-][id$='-form-wrap'] .frmb li.header-field.editing .field-label,[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field.editing .field-label{display:block}[id^=frmb-][id$='-form-wrap'] .frmb li.paragraph-field .fld-label{min-height:150px}[id^=frmb-][id$='-form-wrap'] .frmb li.delete:hover,[id^=frmb-][id$='-form-wrap'] .frmb li.delete:hover .close-field,[id^=frmb-][id$='-form-wrap'] .frmb li.deleting,[id^=frmb-][id$='-form-wrap'] .frmb li.deleting .close-field,[id^=frmb-][id$='-form-wrap'] .frmb li:hover li.delete:hover,[id^=frmb-][id$='-form-wrap'] .frmb li:hover li.delete:hover .close-field{background-color:#fdd}[id^=frmb-][id$='-form-wrap'] .frmb li.deleting{z-index:20;pointer-events:none}[id^=frmb-][id$='-form-wrap'] .frmb.disabled{padding:0 5px}[id^=frmb-][id$='-form-wrap'] .frmb.disabled :hover{border-color:transparent}[id^=frmb-][id$='-form-wrap'] .frmb.disabled .form-element{float:none;margin-bottom:10px;overflow:visible;padding:5px 0;position:relative}[id^=frmb-][id$='-form-wrap'] .frmb .frm-holder{display:none}[id^=frmb-][id$='-form-wrap'] .frmb .tooltip{left:20px}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder{display:block;margin-top:12px}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder input[type=date]{width:auto}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder select[multiple]{height:auto}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder input[type=number]{width:auto}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder input[type=checkbox],[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder input[type=radio]{margin-right:5px}[id^=frmb-][id$='-form-wrap'] .frmb .prev-holder input[type=color]{width:60px;padding:2px;display:inline-block}[id^=frmb-][id$='-form-wrap'] .frmb .required-asterisk{display:none}[id^=frmb-][id$='-form-wrap'] .frmb .field-label,[id^=frmb-][id$='-form-wrap'] .frmb .legend{color:#666;margin-bottom:5px}[id^=frmb-][id$='-form-wrap'] .frmb .disabled .field-label{display:block}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions{position:absolute;top:0;right:0;opacity:0}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions a:hover{text-decoration:none;color:#000}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions .btn{display:inline-block;width:32px;height:32px;padding:0;border-radius:0;border-color:#b3b3b3;color:#b3b3b3;line-height:32px;font-size:16px;border-width:0 0 1px 1px}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions .btn:first-child{border-bottom-left-radius:5px}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions .toggle-form{font-size:.85em;background-color:rgba(255,255,255,.75)}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions .toggle-form:hover{color:#000}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions .del-button:hover{background-color:#c66865;color:#fff}[id^=frmb-][id$='-form-wrap'] .frmb .option-actions{text-align:right}[id^=frmb-][id$='-form-wrap'] .frmb .sortable-options-wrap{width:81.33333333%;display:inline-block}@media (max-width:481px){[id^=frmb-][id$='-form-wrap'] .frmb .sortable-options-wrap{display:block;width:100%}}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options{display:inline-block;width:100%;margin-left:2%;background:#b3b3b3;margin-bottom:0;border-radius:5px;list-style:none;padding:0}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options li{cursor:move;margin:1px}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options li:nth-child(1) .remove,[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options li:nth-child(2) .remove{display:none}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options li .remove{position:absolute;opacity:1;right:14px;height:17px;width:17px;line-height:17px;text-align:center;top:14px;font-size:18px;padding:0;color:#C10000}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options li .remove:hover{background-color:#C10000;text-decoration:none;color:#fff}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options input[type=checkbox],[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options input[type=radio]{margin:0;width:5%}[id^=frmb-][id$='-form-wrap'] .frmb ol.sortable-options input[type=text]{width:calc(44.5% - 17px);margin:0 1%;float:none}[id^=frmb-][id$='-form-wrap'] .frmb .form-field .form-group{width:100%;clear:left;float:none}[id^=frmb-][id$='-form-wrap'] .frmb .form-field .form-group input[type=checkbox]:not(.option-selected){margin:12px 5px 0 2%}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .field-options .add-area .add{clear:both}[id^=frmb-][id$='-form-wrap'] .frmb .col-md-6 .form-elements,[id^=frmb-][id$='-form-wrap'] .frmb .col-md-8 .form-elements{width:100%}[id^=frmb-][id$='-form-wrap'] .frmb .field-options .add-area .add{clear:both}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements{padding:10px 5px;background:#f7f7f7;border-radius:3px;margin:12px 0 0;border:1px solid #d7d7d7}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=color],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=date],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=number],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=text],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements select,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements textarea{width:81.33333333%;-webkit-transition:background 250ms ease-in-out;transition:background 250ms ease-in-out;margin-left:2%;padding:6px 12px;border:1px solid #AFAFAB;background-color:#fff;float:left}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=color] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=date] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=number] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=text] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements select .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements textarea .btn-group{margin-left:2%}@media (max-width:481px){[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=number],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=text],[id^=frmb-][id$='-form-wrap'] .frmb .form-elements select,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements textarea{width:100%;margin-left:0;float:none}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=number] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=text] .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements select .btn-group,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements textarea .btn-group{margin-left:0}}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements input[type=number]{width:auto}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .btn-group{margin-left:2%}.col-md-6 [id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label,.col-md-6 [id^=frmb-][id$='-form-wrap'] .frmb .form-elements label,.col-md-8 [id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label,.col-md-8 [id^=frmb-][id$='-form-wrap'] .frmb .form-elements label{display:block}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label:first-child,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label:first-child{width:16.66666667%;padding-top:7px;margin-bottom:0;text-align:right;font-weight:700;float:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}@media (max-width:481px){[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label:first-child,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label:first-child{display:block;width:auto;float:none;text-align:left}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label:first-child.empty-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label:first-child.empty-label{display:none}}[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label.multiple,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label.other-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label.required-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label.roles-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements .false-label.toggle-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label.multiple,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label.other-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label.required-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label.roles-label,[id^=frmb-][id$='-form-wrap'] .frmb .form-elements label.toggle-label{text-align:left;float:none;margin-bottom:-3px;font-weight:400;width:calc(81.3333% - 23px)}[id^=frmb-][id$='-form-wrap'].fb-mobile .field-actions{opacity:1}[id^=frmb-][id$='-form-wrap'] [tooltip]{position:relative}[id^=frmb-][id$='-form-wrap'] [tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;color:#fff;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;font-size:12px;line-height:1.5em;cursor:default}[id^=frmb-][id$='-form-wrap'] [tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;content:'';left:2px;position:absolute;z-index:99;cursor:default}[id^=frmb-][id$='-form-wrap'] .tooltip-element{visibility:visible;color:#fff;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px;font-size:12px;cursor:default}.kc-toggle{position:relative;margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-off,.kct-on{position:relative}.kct-handle{position:relative;height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}[id^=frmb-][id$='-form-wrap'] .btn,[id^=frmb-][id$='-form-wrap'] .btn.active,[id^=frmb-][id$='-form-wrap'] .btn.btn-active,[id^=frmb-][id$='-form-wrap'] .btn:active,[id^=frmb-][id$='-form-wrap'] .form-control{background-image:none}[id^=frmb-][id$='-form-wrap'] *{box-sizing:border-box}[id^=frmb-][id$='-form-wrap'] button,[id^=frmb-][id$='-form-wrap'] input,[id^=frmb-][id$='-form-wrap'] optgroup,[id^=frmb-][id$='-form-wrap'] select,[id^=frmb-][id$='-form-wrap'] textarea{margin:0;font:inherit;color:inherit}[id^=frmb-][id$='-form-wrap'] textarea{overflow:auto}[id^=frmb-][id$='-form-wrap'] button,[id^=frmb-][id$='-form-wrap'] input,[id^=frmb-][id$='-form-wrap'] select,[id^=frmb-][id$='-form-wrap'] textarea{font-family:inherit;font-size:inherit;line-height:inherit}[id^=frmb-][id$='-form-wrap'] .btn-group{position:relative;display:inline-block;vertical-align:middle}[id^=frmb-][id$='-form-wrap'] .btn-group>.btn{position:relative;float:left}[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}[id^=frmb-][id$='-form-wrap'] .btn-group .btn+.btn,[id^=frmb-][id$='-form-wrap'] .btn-group .btn+.btn-group,[id^=frmb-][id$='-form-wrap'] .btn-group .btn-group+.btn,[id^=frmb-][id$='-form-wrap'] .btn-group .btn-group+.btn-group{margin-left:-1px}[id^=frmb-][id$='-form-wrap'] .btn-group .input-group .form-control:last-child,[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-addon:last-child,[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-btn:first-child>.btn:not(:first-child),[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-btn:last-child>.btn,[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-btn:last-child>.btn-group>.btn,[id^=frmb-][id$='-form-wrap'] .btn-group .input-group-btn:last-child>.dropdown-toggle,[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:last-child:not(:first-child),[id^=frmb-][id$='-form-wrap'] .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}[id^=frmb-][id$='-form-wrap'] .btn-group>.btn.active,[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:active,[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:focus,[id^=frmb-][id$='-form-wrap'] .btn-group>.btn:hover{z-index:2}[id^=frmb-][id$='-form-wrap'] .btn{color:#fff;display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}[id^=frmb-][id$='-form-wrap'] .btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}[id^=frmb-][id$='-form-wrap'] .btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}[id^=frmb-][id$='-form-wrap'] .btn.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}[id^=frmb-][id$='-form-wrap'] .btn.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}[id^=frmb-][id$='-form-wrap'] .btn-primary{background-color:#337ab7;border-color:#2e6da4}[id^=frmb-][id$='-form-wrap'] .btn-primary.active,[id^=frmb-][id$='-form-wrap'] .btn-primary.btn-active,[id^=frmb-][id$='-form-wrap'] .btn-primary:active,[id^=frmb-][id$='-form-wrap'] .btn-primary:hover{background-color:#286090;border-color:#204d74}[id^=frmb-][id$='-form-wrap'] .btn-danger{background-color:#d9534f;border-color:#d43f3a}.form-actions [id^=frmb-][id$='-form-wrap'] .clear-all:hover,[id^=frmb-][id$='-form-wrap'] .btn-danger:hover,[id^=frmb-][id$='-form-wrap'] .form-actions .clear-all:hover{background-color:#c9302c;border-color:#ac2925}[id^=frmb-][id$='-form-wrap'] .btn-default{background-color:#fff;border-color:#ccc}[id^=frmb-][id$='-form-wrap'] .btn-success{background-color:#5cb85c;border-color:#4cae4c}[id^=frmb-][id$='-form-wrap'] .btn-success:hover{background-color:#449d44;border-color:#398439}[id^=frmb-][id$='-form-wrap'] .btn-info{background-color:#5bc0de;border-color:#46b8da}[id^=frmb-][id$='-form-wrap'] .btn-info:hover{background-color:#31b0d5;border-color:#269abc}[id^=frmb-][id$='-form-wrap'] .btn-warning{background-color:#f0ad4e;border-color:#eea236}[id^=frmb-][id$='-form-wrap'] .btn-warning:hover{background-color:#ec971f;border-color:#d58512}[id^=frmb-][id$='-form-wrap'] .input-group .form-control:last-child,[id^=frmb-][id$='-form-wrap'] .input-group-addon:last-child,[id^=frmb-][id$='-form-wrap'] .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,[id^=frmb-][id$='-form-wrap'] .input-group-btn:first-child>.btn:not(:first-child),[id^=frmb-][id$='-form-wrap'] .input-group-btn:last-child>.btn,[id^=frmb-][id$='-form-wrap'] .input-group-btn:last-child>.btn-group>.btn,[id^=frmb-][id$='-form-wrap'] .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}[id^=frmb-][id$='-form-wrap'] .input-group .form-control,[id^=frmb-][id$='-form-wrap'] .input-group-addon,[id^=frmb-][id$='-form-wrap'] .input-group-btn{display:table-cell}[id^=frmb-][id$='-form-wrap'] .input-group-lg>.form-control,[id^=frmb-][id$='-form-wrap'] .input-group-lg>.input-group-addon,[id^=frmb-][id$='-form-wrap'] .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}[id^=frmb-][id$='-form-wrap'] .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}[id^=frmb-][id$='-form-wrap'] .input-group{position:relative;display:table;border-collapse:separate}[id^=frmb-][id$='-form-wrap'] .form-control,[id^=frmb-][id$='-form-wrap'] output{font-size:14px;line-height:1.42857143;color:#555;display:block}[id^=frmb-][id$='-form-wrap'] textarea.form-control{height:auto}[id^=frmb-][id$='-form-wrap'] .form-control{height:34px;display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}[id^=frmb-][id$='-form-wrap'] .form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}[id^=frmb-][id$='-form-wrap'] .form-group{margin-bottom:15px}[id^=frmb-][id$='-form-wrap'] .pull-right{float:right!important}[id^=frmb-][id$='-form-wrap'] .pull-left{float:left!important}textarea.idea-template{display:none;width:617px;color:#fefefe;font:13px/19px courier;padding-left:40px;height:1055px}.template-textarea-wrap{display:none}.form-wrap{position:relative}.form-wrap:after{content:'';display:table;clear:both}.cb-wrap,.stage-wrap{vertical-align:top}.action-links .action-links-inner{overflow:hidden;width:0;height:20px;-webkit-transition:width 250ms;transition:width 250ms}.action-links .dev-mode-link{-webkit-transition:color 250ms;transition:color 250ms;color:#666;cursor:pointer;padding-right:2px}.stage-wrap h4{margin-top:0;color:#666}.action-links a.clear-all:hover,.del-button:hover,ul.frmb span.required{color:#C10000}.action-links a{color:#666}.form-elements input[type=text].error{border-radius:0;border:1px solid #C10000}.form-elements input[type=text].fld-maxlength{width:10%}.form-elements input.field_error{background:#fefefe;border:1px solid #afafab}.form-elements label em{display:block;font-weight:400;font-size:.75em}.form-elements label.maxlength-label{line-height:1em}.form-group .available-roles{display:none;padding:5px 10px;margin:5px 0 10px 133px;background:#e6e6e6;box-shadow:inset 0 0 2px 0 #999}@media (max-width:481px){.form-group .available-roles{margin-left:0}}.form-elements .available-roles label{font-weight:400;width:auto;float:none;display:inline}.form-elements .available-roles input{display:inline;top:auto}.form-elements,.form-group,.multi-row span,textarea{display:block}.form-elements:after,.form-group:after{content:'.';display:block;height:0;clear:both;visibility:hidden}.form-elements .field-options div:hover,.frmb .legend,.frmb .prev-holder,.frmb .prev-holder *{cursor:move}.frmb-tt{position:absolute;border:1px solid #262626;background-color:#666;border-radius:5px;padding:5px;color:#fff;z-index:20;text-align:left;font-size:12px;pointer-events:none}.frmb-tt:after,.frmb-tt:before{content:'';position:absolute;border-style:solid;border-width:10px 10px 0;border-color:#666 transparent;display:block;width:0;z-index:1;margin-left:-10px;bottom:-10px;left:20px}.frmb-tt a{text-decoration:underline;color:#fff}.fb-mobile .frmb li .del-button,.fb-mobile .frmb li .toggle-form,.frmb li:hover .del-button,.frmb li:hover .toggle-form{opacity:1}.fresh .frmb .legend .element-info{display:inline-block;visibility:visible;line-height:12px;margin-left:6px}.frmb-xml pre.ui-dialog-content{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;font-size:12px;padding:0 30px;margin-top:0}.action-links a.export-xml:hover,.toggle-form.closed:hover{color:#6fc245}a.btn.toggle-form{margin-left:5px;opacity:0}a.btn.toggle-form:hover{border-color:#ccc}a.btn.toggle-form:before{margin:0}.formb-field-vars .copy-var{display:inline-block;width:24px;height:24px;background:#999;text-indent:-9999px}.ite-warning{box-shadow:1px 1px 4px 0 rgba(50,50,50,.5);border-radius:0;border:1px solid #ddd;font-size:12px;line-height:1.5em}.ite-warning .ui-dialog-buttonpane{height:27px}.ite-warning button{color:#4479B9;margin:0}.ite-warning button:focus{outline:0;font-weight:700}.ite-warning button.cancel:before{content:'|';margin-right:15px;padding:0}.ite-warning .ui-dialog-content{padding:0 15px 10px}.ite-warning .ui-dialog-titlebar-close{display:none}.ite-warning .ui-widget-header{height:15px}.ite-warning h3{color:#666;margin-bottom:10px}.ite-warning button{background:0 0;padding:2px 5px}.required-asterisk{display:none;color:#C10000}.ui-button .ui-button-text{line-height:0}.form-builder-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:none;z-index:10}.form-builder-overlay.visible{display:block}.form-builder-dialog{position:absolute;border-radius:5px;background:#fff;z-index:20;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);top:0;left:0;padding:10px;box-shadow:0 3px 10px #000}.form-builder-dialog h3{margin-top:0}.form-builder-dialog.data-dialog{width:65%;background-color:#23241f}.form-builder-dialog.data-dialog pre{background:0 0;border:0;box-shadow:none;margin:0;color:#f2f2f2}.form-builder-dialog.positioned{-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.form-builder-dialog.positioned .button-wrap:before{content:'';width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:10px solid #fff;position:absolute;left:50%;top:100%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px)}.form-builder-dialog .button-wrap{position:relative;margin-top:10px;text-align:right;clear:both}.form-builder-dialog .button-wrap .btn{margin-left:10px} \ No newline at end of file diff --git a/dist/form-builder.min.js b/dist/form-builder.min.js new file mode 100755 index 0000000..e0aac61 --- /dev/null +++ b/dist/form-builder.min.js @@ -0,0 +1,7 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1},s=fbUtils;return t.events=formBuilderEventsFn(),a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),s.hyphenCase(e)},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,s){t=t;var l=document.getElementById(e.formID),r=l.children.length-1,n=[];a.stopIndex=s.placeholder.index()-1,!e.sortableControls&&s.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===r),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.getTypes=function(e){var t={type:e.attr("type")},a=$(".fld-subtype",e).val();return a!==t.type&&(t.subtype=a),t},a.fieldOptionData=function(e){var t=[];return $(".sortable-options li",e).each(function(){var e=$(this),a={label:$(".option-label",e).val(),value:$(".option-value",e).val(),selected:$(".option-selected",e).is(":checked")};t.push(a)}),t},a.xmlSave=function(e){var t=a.prepData(e),l=["\n "];return a.forEach(t,function(e){var a=t[e],r=null;if(a.type.match(/(select|checkbox-group|radio-group)/)){for(var n=a.values,o=[],i=0;i\n"),l.join("")},a.prepData=function(e){var t=[];return 0!==e.childNodes.length&&a.forEach(e.childNodes,function(e,l){e=e;var r=$(l);if(!r.hasClass("disabled")){var n,o;!function(){var e=a.getTypes(r),i=$(".roles-field:checked",l).map(function(){return this.value}).get();$('[class*="fld-"]',l).each(function(){var t=s.camelCase(this.name);e[t]="checkbox"===this.type?this.checked:this.value}),i.length&&(e.role=i.join(",")),$('[name="enable-other"]:checked',l).length&&(e.enableOther=!0),e.className=e.className||e["class"],n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(e.className),n&&(e.style=n[1]),e=s.trimObj(e),e=s.escapeAttrs(e),o=e.type.match(/(select|checkbox-group|radio-group)/),o&&(e.values=a.fieldOptionData(r)),t.push(e)}()}}),t},a.jsonSave=function(e){return window.JSON.stringify(a.prepData(e),null," ")},a.getData=function(){if(!e.formData)return!1;var a={xml:function(e){return s.parseXML(e)},json:function(e){return window.JSON.parse(e)}};return t.formData=a[e.dataType](e.formData)||[],t.formData},a.save=function(){var s=document.getElementById(e.formID),l={xml:a.xmlSave,json:a.jsonSave};return t.formData=l[e.dataType](s),document.dispatchEvent(t.events.formSaved),t.formData},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,s=e.substring(0,t);return s+"-"+a},a.updatePreview=function(e){var t=e.attr("class");if(-1===t.indexOf("ui-sortable-handle")){var l,r=$(e).attr("type"),n=$(".prev-holder",e),o={type:r};$('[class*="fld-"]',e).each(function(){var e=s.camelCase(this.name);o[e]="checkbox"===this.type?this.checked:this.value});var i=$(".btn-style",e).val();i&&(o.style=i),r.match(/(select|checkbox-group|radio-group)/)&&(o.values=[],o.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),o.values.push(e)})),o=s.trimObj(o),o.className=a.classNames(e,o),$(".fld-className",e).val(o.className),e.data("fieldData",o),l=a.fieldPreview(o),n.html(l),$("input[toggle]",n).kcToggle()}},a.fieldPreview=function(t){var a,l="",r=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var n=t.toggle?"toggle":"",o=s.attrString(t);switch(t.type){case"textarea":case"rich-text":var i=t.value||"";l="";break;case"button":case"submit":l="";break;case"select":var c="",p=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(c+=""),a=t.values.length-1;a>=0;a--){var d=t.values[a].selected&&!t.placeholder?"selected":"";c+='"}l="<"+t.type+' class="'+t.className+'" '+p+">"+c+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),m=u+"-"+r;for(t.values.reverse(),a=t.values.length-1;a>=0;a--){var f=t.values[a].selected?"checked":"",v=u+"-"+r+"-"+a;l+='
    "}if(t.enableOther){var h=m+"-other",g={id:h,name:m,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+h+"')"},b=s.markup("input",null,g);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,s=a.nextElementSibling;t.checked?(s.style.display="inline-block",a.style.display="none"):(s.style.display="none",a.style.display="inline-block")},l+="
    "+b.outerHTML+'
    '}break;case"text":case"password":case"email":case"date":case"file":case"number":case"tel":l="";break;case"color":l=' '+e.messages.selectColor;break;case"hidden":case"checkbox":l='";break;case"autocomplete":l='';break;default:o=s.attrString(t),l="<"+t.type+" "+o+">"+t.label+""}return l},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],s=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var l=this,r=arguments,n=function(){t=null,s||e.apply(l,r)},o=s&&!t;clearTimeout(t),t=setTimeout(n,a),o&&e.apply(l,r)}},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),s=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:s})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var r=s.markup("p",l,{className:a.disabledTT.className});t.append(r)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var s=void 0,l=t.type,r=t.style,n=e[0].querySelector(".fld-className").value,o=n.split(" "),i={button:"btn",submit:"btn"},c=i[l];if(c){if(r){for(s=0;s=0;r--){var n=t.filter(function(e){return e.attrs.type===s[r]})[0];l.push(n)}return l.filter(Boolean)},a.forEach=function(e,t,a){for(var s=0;s li.editing",e),a=$(".toggle-form",e),s=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),s.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),s=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),s.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),s=e.parent(),l=a.width(),r=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>s.offset().top){var n={position:"fixed",width:l,top:0,bottom:"auto",right:"auto",left:r.left},o=a.offset(),i=s.offset(),c=o.top+a.height(),p=i.top+s.height();c>p&&o.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(p>c||c===p&&o.top>e)&&a.css(n)}else t.parentElement.removeAttribute("style")})},a.showData=function(){var l=s.escapeHtml(t.formData),r=s.markup("code",l,{className:"formData-"+e.dataType}),n=s.markup("pre",r);a.dialog(n,null,"data-dialog")},a}function formBuilderEventsFn(){var e={};return e.loaded=new Event("loaded"),e.viewData=new Event("viewData"),e.userDeclined=new Event("userDeclined"),e.modalClosed=new Event("modalClosed"),e.modalOpened=new Event("modalOpened"),e.formSaved=new Event("formSaved"),e}"remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)}),"function"!=typeof Event&&!function(){window.Event=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");e=Object(e);for(var t=1;t":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},fbUtils.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=fbUtils.escapeAttr(e[t]));return e},function(e){var t=function(t,a){var s={theme:"fresh",labels:{off:"Off",on:"On"}},l=e.extend(s,a),r=e('
    ').insertAfter(t).append(t);r.toggleClass("on",t.is(":checked"));var n='
    '+l.labels.on+"
    ",o='
    '+l.labels.off+"
    ",i='
    ',c='
    '+n+i+o+"
    ";r.append(c),r.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var s=this;return s.each(function(){var s=e(this);if(!s.data("kcToggle")){var l=new t(s,a);s.data("kcToggle",l)}})}}(jQuery),function(e){var t=function(t,a){function s(e,t){var a=[];for(var s in e)if(e.hasOwnProperty(s)){var n=i.messages[s],o=e[s].value;e[s].value=t[s]||e[s].value||"",e[s].label&&(i.messages[s]=e[s].label),e[s].options?a.push(r(s,e[s])):a.push(l(s,e[s])),i.messages[s]=n,e[s].value=o}return a.join("")}function l(e,t){var a={id:e+"-"+m,title:t.description||t.label||e.toUpperCase(),name:e,type:t.type||"text",className:"fld-"+e+" form-control"},s='";a=Object.assign({},t,a);var l="";return'
    '+s+l+"
    "}function r(e,t){var a=Object.keys(t.options).map(function(e){var a={value:e};return e===t.value&&(a.selected=null),""}),s={id:e+"-"+m,title:t.description||t.label||e.toUpperCase(),name:e,className:"fld-"+e+" form-control"},l='";Object.keys(t).filter(function(e){return!u.inArray(e,["value","options","label"])}).forEach(function(e){s[e]=t[e]});var r="";return'
    '+l+r+"
    "}var n=this,o={typeUserAttrs:{},controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:[],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",allowMultipleFiles:"Allow users to upload multiple files",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to clear all fields?",clearAll:"Clear",close:"Close",content:"Content",copy:"Copy To Clipboard",copyButton:"+",copyButtonTooltip:"Copy",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Let users to enter an unlisted option",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",header:"Header",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",multipleFiles:"Multiple Files",name:"Name",no:"No",number:"Number",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",other:"Other",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color","tel"],button:["button","submit"],header:["h1","h2","h3"],paragraph:["p","address","blockquote","canvas","output"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",value:"Value",viewJSON:"{ }",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}},sortableControls:!1,stickyControls:!1,showActionButtons:!0,prefix:"form-builder-"};o.messages.subtypes.password=o.messages.subtypes.text,o.messages.subtypes.email=o.messages.subtypes.text,o.messages.subtypes.color=o.messages.subtypes.text,o.messages.subtypes.submit=o.messages.subtypes.button;var i=Object.assign({},o,t),c="frmb-"+e("ul[id^=frmb-]").length++;t.messages&&(i.messages=Object.assign({},o.messages,t.messages)),i.formID=c,n.element=a;var p=e("
      ").attr("id",c).addClass("frmb"),d=formBuilderHelpersFn(i,n),u=fbUtils;n.layout=d.editorLayout(i.controlPosition);var m=c+"-fld-1",f=c+"-control-box",v=[{label:i.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:i.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:i.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:i.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:i.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:i.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:i.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:i.messages.header,attrs:{type:"header",className:"header"}},{label:i.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:i.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:i.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:i.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:i.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:i.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];v=d.orderFields(v),i.disableFields&&(v=v.filter(function(e){return!u.inArray(e.attrs.type,i.disableFields)}));var h=u.markup("ul",null,{id:f,className:"frmb-control"});i.sortableControls&&h.classList.add("sort-enabled");for(var g=e(h),b=v.length-1;b>=0;b--){var y=e("
    • ",{"class":"icon-"+v[b].attrs.className,type:v[b].type,name:v[b].className,label:v[b].label});y.data("newFieldData",v[b]);var k=u.markup("span",v[b].label);y.html(k).appendTo(g)}p.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:d.beforeStop,start:d.startMoving,stop:d.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),g.sortable({helper:"clone",opacity:.9,connectWith:p,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:d.startMoving,stop:d.stopMoving,revert:150,beforeStop:d.beforeStop,distance:3,update:function(e,t){return d.doCancel?!1:(e=e,void(t.item.parent()[0]===p[0]?($(t.item,!0),d.doCancel=!0):(d.setFieldOrder(g),d.doCancel=!i.sortableControls)))}});var w=e("
      ",{id:c+"-form-wrap","class":"form-wrap form-builder"+d.mobileClass()}),x=e("
      ",{id:c+"-stage-wrap","class":"stage-wrap "+n.layout.stage}),C=e("
      ",{id:c+"-cb-wrap","class":"cb-wrap "+n.layout.controls}).append(g[0]);if(i.showActionButtons){var N="xml"===i.dataType?i.messages.viewXML:i.messages.viewJSON,O=u.markup("button",N,{id:c+"-view-data",type:"button",className:"view-data btn btn-default"}),A=u.markup("button",i.messages.clearAll,{id:c+"-clear-all",type:"button",className:"clear-all btn btn-default"}),E=u.markup("button",i.messages.save,{className:"btn btn-primary "+i.prefix+"save",id:c+"-save",type:"button"}),T=u.markup("div",[A,O,E],{className:"form-actions btn-group"});C.append(T)}x.append(p,C),x.before(w),w.append(x,C),e(a).append(w);var D=d.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");d.updatePreview(a),d.save()});p.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",D),e("li",g).click(function(){d.stopIndex=void 0,$(e(this),!0),d.save()});var S=function(){var t=[];if(i.prepend&&!e(".disabled.prepend",p).length){var a=u.markup("li",i.prepend,{className:"disabled prepend"});t.push(!0),p.prepend(a)}if(i.append&&!e(".disabled.append",p).length){var s=u.markup("li",i.append,{className:"disabled append"});t.push(!0),p.append(s)}t.some(function(e){return e===!0})&&x.removeClass("empty")},$=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],s={};if(t instanceof jQuery){var l=t.data("newFieldData");if(l)s=l.attrs,s.label=l.label;else{var r=t[0].attributes;a||(s.values=t.children().map(function(t,a){return t=t,{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var n=r.length-1;n>=0;n--)s[r[n].name]=r[n].value}}else s=t;s.name=a?M(s):s.name,a&&u.inArray(s.type,["text","number","file","select","textarea"])?s.className="form-control":s.className=s["class"]||s.className;var o=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(s.className);o&&(s.style=o[1]),u.escapeAttrs(s),R(s),x.removeClass("empty")},U=function(){var t=n.formData;if(t&&t.length){for(var a=0;a=0;s--)$(i.defaultFields[s]);x.removeClass("empty")}else i.prepend||i.append||x.addClass("empty").attr("data-content",i.messages.getStarted);d.save(),e("li.form-field:not(.disabled)",p).each(function(){d.updatePreview(e(this))}),S()};p.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),p.on("mouseenter","li.disabled",function(){d.disabledTT.add(e(this))}),p.on("mouseleave","li.disabled",function(){d.disabledTT.remove(e(this))});var M=function(e){var t=(new Date).getTime();return e.type+"-"+t},F=function _(e){var t=u.markup("a",i.messages.addOption,{className:"add add-opt"}),_="",a=e.multiple||"checkbox-group"===e.type;if(e.values&&e.values.length)for(var s=e.values.length-1;s>=0;s--)e.values[s]=Object.assign({},{selected:!1},e.values[s]);else e.values=[1,2,3].map(function(e){var t=i.messages.option+" "+e,a={selected:!1,label:t,value:u.hyphenCase(t)};return a}),e.values[0].selected=!0;if(_+='",_+='
      ',"select"===e.type){var l={second:i.messages.selectionsMessage};_+=L("multiple",e,l)}for(_+='
        ',b=0;b",u.markup("div",_,{className:"form-group field-options"}).outerHTML},I=function G(e){var t,G=[],a="",l=["select","checkbox-group","radio-group"],r=function(){return-1!==l.indexOf(e.type)}(),n=function(){var t=["header","paragraph","file"].concat(l,i.messages.subtypes.header,i.messages.subtypes.paragraph);return-1===t.indexOf(e.type)}(),o=void 0!==e.role?e.role.split(","):[];G.push(H(e)),"checkbox"===e.type&&G.push(L("toggle",e,{first:i.messages.toggle})),G.push(P("label",e)),e.size=e.size||"m",e.style=e.style||"default";var c=["header","paragraph","button"].concat(i.messages.subtypes.header,i.messages.subtypes.paragraph);if(c=c.concat(i.messages.subtypes.header,i.messages.subtypes.paragraph),-1===c.indexOf(e.type)&&G.push(P("description",e)),G.push(j(e)),"button"===e.type&&G.push(B(e.style,e.type)),"number"===e.type&&(G.push(q("min",e)),G.push(q("max",e)),G.push(q("step",e))),G.push(P("placeholder",e)),G.push(P("className",e)),G.push(P("name",e)),n&&G.push(P("value",e)),"file"===e.type){var p={first:i.messages.multipleFiles,second:i.messages.allowMultipleFiles};G.push(L("multiple",e,p))}G.push('
        "),G.push(' "),G.push('
        ");for(t in i.roles)i.roles.hasOwnProperty(t)&&(a=u.inArray(t,o)?"checked":"",G.push('
        "));if(G.push("
        "),"checkbox-group"===e.type||"radio-group"===e.type){G.push('
        ");var d="";(e.enableOther||e["enable-other"])&&(d="checked"),G.push('
        ")}return r&&G.push(F(e)),G.push(P("maxlength",e)),i.typeUserAttrs[e.type]&&G.push(s(i.typeUserAttrs[e.type],e)),G.join("")},L=function(e,t,a){if(!i.typeUserAttrs[t.type]||!i.typeUserAttrs[t.type][e]){var s=function(t){return'"},l=void 0!==t[e]?"checked":"",r='',n=[r]; +return a.first&&n.unshift(s(a.first)),a.second&&n.push(s(a.second)),'
        '+n.join("")+"
        "}},j=function J(e){var t=i.messages.subtypes,a=e.type,s=e.subtype||"",J="",l=void 0;if(t[a]){var r="";J+='",J='
        '+r+" "+J+"
        "}return J},B=function(e,t){var a={button:"btn"},s=i.messages.styles[a[t]],l="";if(s){var r="";l+='',l+='
        ',Object.keys(i.messages.styles[a[t]]).forEach(function(s){var r=e===s?"active":"";l+='"}),l+="
        ",l='
        '+r+" "+l+"
        "}return l},q=function V(e,t){if(!i.typeUserAttrs[t.type]||!i.typeUserAttrs[t.type][e]){var a=t[e]||"",s=i.messages[e]||e,l=i.messages.placeholders[e]||"",V='';return'
        "+V+"
        "}},P=function(e,t){if(!i.typeUserAttrs[t.type]||!i.typeUserAttrs[t.type][e]){var a=["text","textarea","select"],s=["header"],l=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n=t[e]||"",o=i.messages[e];"label"===e&&u.inArray(t.type,l)&&(o=i.messages.content),s=s.concat(i.messages.subtypes.header,l),r=r.concat(l);var c=i.messages.placeholders,p=c[e]||"",d="",f=[];if("placeholder"!==e||u.inArray(t.type,a)||f.push(!0),"name"===e&&u.inArray(t.type,s)&&f.push(!0),"maxlength"===e&&u.inArray(t.type,r)&&f.push(!0),!f.some(function(e){return e===!0})){var v='";d+="label"===e&&u.inArray(t.type,l)||"value"===e&&"textarea"===t.type?'":'',d='
        '+v+" "+d+"
        "}return d}},H=function(e){var t=["header","paragraph","button"],a=[],s="";return u.inArray(e.type,t)&&a.push(!0),a.some(function(e){return e===!0})||(s=L("required",e,{first:i.messages.required})),s},R=function(t){var a=t.type||"text",s=t.label||i.messages[a]||i.messages.label,l=u.markup("a",i.messages.remove,{id:"del_"+m,className:"del-button btn delete-confirm",title:i.messages.removeMessage}),r=u.markup("a",null,{id:m+"-edit",className:"toggle-form btn icon-pencil",title:i.messages.hide}),n=u.markup("a",i.messages.copyButton,{id:m+"-copy",className:"copy-button btn icon-copy",title:i.messages.copyButtonTooltip}),o=u.markup("div",[r,n,l],{className:"field-actions"}).outerHTML;o+='",t.description&&(o+='?');var c=t.required?'style="display:inline"':"";o+=' *",o+=u.markup("div","",{className:"prev-holder"}).outerHTML,o+='
        ',o+='
        ',o+=I(t),o+=u.markup("a",i.messages.close,{className:"close-field"}).outerHTML,o+="
        ",o+="
        ";var f=u.markup("li",o,{"class":a+"-field form-field",type:a,id:m}),v=e(f);v.data("fieldData",{attrs:t}),"undefined"!=typeof d.stopIndex?e("> li",p).eq(d.stopIndex).after(v):p.append(v),e(".sortable-options",v).sortable(),d.updatePreview(v),i.editOnAdd&&(d.closeAllEdit(p),d.toggleEdit(m)),m=d.incrementId(m)},z=function(e,t,a){var s={selected:a?"checkbox":"radio"},l=["value","label","selected"],r=[];t=t||{selected:!1,label:"",value:""};for(var n=l.length-1;n>=0;n--){var o=l[n];if(t.hasOwnProperty(o)){var c={type:s[o]||"text","class":"option-"+o,value:t[o],name:e};i.messages.placeholders[o]&&(c.placeholder=i.messages.placeholders[o]),"selected"===o&&t.selected===!0&&(c.checked=t.selected),r.push(u.markup("input",null,c))}}var p={className:"remove btn",title:i.messages.removeMessage};r.push(u.markup("a",i.messages.remove,p));var d=u.markup("li",r);return d.outerHTML},X=function(t){var a=t.attr("id"),s=t.attr("type"),l=(new Date).getTime();s=s+"-"+l;var r=t.clone();return r.find("[id]").each(function(){this.id=this.id.replace(a,m)}),r.find("[for]").each(function(){this.setAttribute("for",this.getAttribute("for").replace(a,m))}),r.each(function(){e("e:not(.form-elements)").each(function(){var e=this.getAttribute("name");e=e.substring(0,e.lastIndexOf("-")+1),e+=l.toString(),this.setAttribute("name",e)})}),r.find(".form-elements").find(":input").each(function(){if("name"===this.getAttribute("name")){var e=this.getAttribute("value");e=e.substring(0,e.lastIndexOf("-")+1),e+=l.toString(),this.setAttribute("value",e)}}),r.attr("id",m),r.attr("name",s),r.addClass("cloned"),e(".sortable-options",r).sortable(),m=d.incrementId(m),r};if(p.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var s=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=s?i.notify.error("Error: "+i.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),d.updatePreview(a),d.save()})}),p.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),p.on("click touchstart",".toggle-form, .close-field",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).parents(".form-field:eq(0)").attr("id");d.toggleEdit(a),t.handled=!0}),p.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),p.delegate("input.error","keyup",function(){e(this).removeClass("error")}),p.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),s=e(this).val();if(""!==s)if(a.length)a.attr("tooltip",s).css("display","inline-block");else{var l='?';e(".field-label",t).after(l)}else a.length&&a.css("display","none")}),d.updateMultipleSelect(),p.delegate('input[name="name"]',"blur",function(){e(this).val(d.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",i.messages.cannotBeEmpty):e(this).removeClass("field_error")}),p.delegate("input.fld-maxlength","blur",function(){e(this).val(d.forceNumber(e(this).val()))}),p.on("click touchstart",".icon-copy",function(t){t.preventDefault();var a=e(this).parent().parent("li"),s=X(a);s.insertAfter(a),d.updatePreview(s),d.save()}),p.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),s=document.body.getBoundingClientRect(),l={pageX:a.left+a.width/2,pageY:a.top-s.top-12},r=e(this).parents(".form-field:eq(0)").attr("id"),n=e(document.getElementById(r)),o=function(){n.slideUp(250,function(){n.removeClass("deleting"),n.remove(),d.save(),p[0].childNodes.length||x.addClass("empty").attr("data-content",i.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){n.removeClass("deleting")},!1),i.fieldRemoveWarn){var c=u.markup("h3",i.messages.warning),m=u.markup("p",i.messages.fieldRemoveWarning);d.confirm([c,m],o,l),n.addClass("deleting")}else o(n)}),p.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),s=a.prev(".btn-style");s.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),D.call(a)}),p.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),p.on("click",'input[name="enable-roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),p.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),s=e('[name="multiple"]',a),l=e(".option-selected:eq(0)",a),r=!1;r=s.length?s.prop("checked"):"checkbox"===l.attr("type");var n=l.attr("name");e(".sortable-options",a).append(z(n,!1,r)),d.updateMultipleSelect()}),p.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")}),i.showActionButtons){var W=e(document.getElementById(c+"-view-data"));W.click(function(e){e.preventDefault(),d.showData()});var Y=e(document.getElementById(c+"-clear-all"));Y.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),s=document.body.getBoundingClientRect(),l={pageX:a.left+a.width/2,pageY:a.top-s.top-12};t.length?d.confirm(i.messages.clearAllMessage,function(){d.removeAllfields(),i.notify.success(i.messages.allFieldsRemoved),d.save()},l):d.dialog("There are no fields to clear",{pageX:l.pageX,pageY:l.pageY})}),e(document.getElementById(c+"-save")).click(function(e){e.preventDefault(),d.save(),d.validateForm(e)})}return d.getData(),U(),p.css("min-height",g.height()),i.stickyControls&&d.stickyControls(p,h),document.dispatchEvent(n.events.loaded),n.actions={clearFields:d.removeAllfields,showData:d.showData,save:d.save},n};e.fn.formBuilder=function(a){return a=a||{},this.each(function(){var s=new t(a,this);return e(this).data("formBuilder",s),s})}}(jQuery); \ No newline at end of file diff --git a/dist/form-render.css b/dist/form-render.css new file mode 100755 index 0000000..db79166 --- /dev/null +++ b/dist/form-render.css @@ -0,0 +1,362 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +.kc-toggle { + position: relative; + margin: 4px 0 0 2px; + width: 60px; + height: 21px; + border-radius: 3px; + cursor: pointer; + overflow: hidden; + display: inline-block; + background: #e9e9e9; + border: 1px solid #cbcbcb; + vertical-align: bottom; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .kc-toggle .kct-inner { + position: absolute; + top: 0; + left: -28px; + width: 115px; + height: 100%; + -webkit-transition: left 150ms ease; + transition: left 150ms ease; } + .kc-toggle.on .kct-inner { + background: #e2e2e2; + background: -webkit-linear-gradient(top, #e2e2e2 0%, #ffffff 100%); + background: linear-gradient(to bottom, #e2e2e2 0%, #ffffff 100%); + left: 0; } + +.kc-toggle input { + display: none; + position: absolute; + z-index: -1; + opacity: 0; + margin: 0; + padding: 0; + width: 100%; + height: 100%; } + +.kc-toggle +.kct-on { + color: #12a912; } + +.kct-off { + color: #666; } + +.kct-on, .kct-off, .kct-handle { + width: 28px; + height: 100%; + font-family: Arial, Tahoma, sans-serif; + font-size: 12px; + text-align: center; + line-height: 22px; + font-weight: bold; + float: left; } + +.kct-on, .kct-off { + position: relative; } + +.kct-handle { + position: relative; + height: 17px; + background: #ffffff; + background: -webkit-linear-gradient(top, #ffffff 0%, #cecece 100%); + background: linear-gradient(to bottom, #ffffff 0%, #cecece 100%); + border: 1px solid #999; + font-weight: 100; + color: #4b4b4b; + text-shadow: none; + border-radius: 3px; + margin: 1px; } + +.rendered-form * { + box-sizing: border-box; } + +.rendered-form button, +.rendered-form input, +.rendered-form select, +.rendered-form textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +.rendered-form input { + line-height: normal; } + +.rendered-form button, +.rendered-form input, +.rendered-form optgroup, +.rendered-form select, +.rendered-form textarea { + margin: 0; + font: inherit; + color: inherit; } + +.rendered-form textarea { + overflow: auto; } + +.rendered-form button, +.rendered-form input, +.rendered-form select, +.rendered-form textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +.rendered-form .btn-group { + position: relative; + display: inline-block; + vertical-align: middle; } + .rendered-form .btn-group > .btn { + position: relative; + float: left; } + .rendered-form .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .rendered-form .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } + .rendered-form .btn-group .btn + .btn, + .rendered-form .btn-group .btn + .btn-group, + .rendered-form .btn-group .btn-group + .btn, + .rendered-form .btn-group .btn-group + .btn-group { + margin-left: -1px; } + .rendered-form .btn-group > .btn:last-child:not(:first-child), + .rendered-form .btn-group > .dropdown-toggle:not(:first-child), + .rendered-form .btn-group .input-group .form-control:last-child, + .rendered-form .btn-group .input-group-addon:last-child, + .rendered-form .btn-group .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, + .rendered-form .btn-group .input-group-btn:first-child > .btn:not(:first-child), + .rendered-form .btn-group .input-group-btn:last-child > .btn, + .rendered-form .btn-group .input-group-btn:last-child > .btn-group > .btn, .rendered-form .btn-group .input-group-btn:last-child > .dropdown-toggle { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .rendered-form .btn-group > .btn.active, + .rendered-form .btn-group > .btn:active, + .rendered-form .btn-group > .btn:focus, + .rendered-form .btn-group > .btn:hover { + z-index: 2; } + +.rendered-form .btn { + color: #fff; + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: 400; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } + .rendered-form .btn.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; } + .rendered-form .btn.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + .rendered-form .btn.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + .rendered-form .btn.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + .rendered-form .btn.active, .rendered-form .btn.btn-active, .rendered-form .btn:active { + background-image: none; } + +.rendered-form .btn-primary { + background-color: #337ab7; + border-color: #2e6da4; } + .rendered-form .btn-primary:hover, .rendered-form .btn-primary:active, .rendered-form .btn-primary.active, .rendered-form .btn-primary.btn-active { + background-color: #286090; + border-color: #204d74; } + +.rendered-form .btn-danger { + background-color: #d9534f; + border-color: #d43f3a; } + .rendered-form .btn-danger:hover { + background-color: #c9302c; + border-color: #ac2925; } + +.rendered-form .btn-default { + background-color: #fff; + border-color: #ccc; } + +.rendered-form .btn-success { + background-color: #5cb85c; + border-color: #4cae4c; } + .rendered-form .btn-success:hover { + background-color: #449d44; + border-color: #398439; } + +.rendered-form .btn-info { + background-color: #5bc0de; + border-color: #46b8da; } + .rendered-form .btn-info:hover { + background-color: #31b0d5; + border-color: #269abc; } + +.rendered-form .btn-warning { + background-color: #f0ad4e; + border-color: #eea236; } + .rendered-form .btn-warning:hover { + background-color: #ec971f; + border-color: #d58512; } + +.rendered-form .input-group .form-control:last-child, +.rendered-form .input-group-addon:last-child, +.rendered-form .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, +.rendered-form .input-group-btn:first-child > .btn:not(:first-child), +.rendered-form .input-group-btn:last-child > .btn, +.rendered-form .input-group-btn:last-child > .btn-group > .btn, +.rendered-form .input-group-btn:last-child > .dropdown-toggle { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.rendered-form .input-group .form-control, +.rendered-form .input-group-addon, +.rendered-form .input-group-btn { + display: table-cell; } + +.rendered-form .input-group-lg > .form-control, +.rendered-form .input-group-lg > .input-group-addon, +.rendered-form .input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + +.rendered-form .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + +.rendered-form .input-group { + position: relative; + display: table; + border-collapse: separate; } + +.rendered-form .form-control, +.rendered-form output { + font-size: 14px; + line-height: 1.42857143; + color: #555; + display: block; } + +.rendered-form textarea.form-control { + height: auto; } + +.rendered-form .form-control { + height: 34px; + display: block; + width: 100%; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } + .rendered-form .form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + +.rendered-form .form-group { + margin-bottom: 15px; } + +.rendered-form .btn, +.rendered-form .form-control { + background-image: none; } + +.rendered-form .pull-right { + float: right !important; } + +.rendered-form .pull-left { + float: left !important; } + +.form-group .required { + color: #C10000; } + +.form-control.number { + width: auto; } + +/* ------------ TOOLTIP ------------ */ +*[tooltip] { + position: relative; } + +*[tooltip]:hover:after { + background: #262626; + background: rgba(0, 0, 0, 0.9); + border-radius: 5px 5px 5px 0; + bottom: 23px; + color: #fff; + content: attr(tooltip); + padding: 10px 5px; + position: absolute; + z-index: 98; + left: 2px; + width: 230px; + text-shadow: none; + font-size: 12px; + line-height: 1.5em; } + +*[tooltip]:hover:before { + border: solid; + border-color: #222 transparent; + border-width: 6px 6px 0 6px; + bottom: 17px; + content: ''; + left: 2px; + position: absolute; + z-index: 99; } + +.tooltip-element { + color: #fff; + background: #000; + width: 16px; + height: 16px; + border-radius: 8px; + display: inline-block; + text-align: center; + line-height: 16px; + margin: 0 5px; + font-size: 12px; } + +.form-control[type='color'] { + width: 60px; + padding: 2px; + display: inline-block; } + +.form-control[multiple] { + height: auto; } diff --git a/dist/form-render.js b/dist/form-render.js new file mode 100755 index 0000000..0c67fbc --- /dev/null +++ b/dist/form-render.js @@ -0,0 +1,624 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +'use strict'; + +// Element.remove() polyfill + +if (!('remove' in Element.prototype)) { + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; +} + +// Event polyfill +if (typeof Event !== 'function') { + (function () { + window.Event = function (evt) { + var event = document.createEvent('Event'); + event.initEvent(evt, true, true); + return event; + }; + })(); +} + +// Object.assign polyfill +if (typeof Object.assign != 'function') { + Object.assign = function (target) { + 'use strict'; + + if (target == null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + target = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source != null) { + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + } + return target; + }; +} +'use strict'; + +(function ($) { + 'use strict'; + + var Toggle = function Toggle(element, options) { + + var defaults = { + theme: 'fresh', + labels: { + off: 'Off', + on: 'On' + } + }; + + var opts = $.extend(defaults, options), + $kcToggle = $('
        ').insertAfter(element).append(element); + + $kcToggle.toggleClass('on', element.is(':checked')); + + var kctOn = '
        ' + opts.labels.on + '
        ', + kctOff = '
        ' + opts.labels.off + '
        ', + kctHandle = '
        ', + kctInner = '
        ' + kctOn + kctHandle + kctOff + '
        '; + + $kcToggle.append(kctInner); + + $kcToggle.click(function () { + element.attr('checked', !element.attr('checked')); + $(this).toggleClass('on'); + }); + }; + + $.fn.kcToggle = function (options) { + var toggle = this; + return toggle.each(function () { + var element = $(this); + if (element.data('kcToggle')) { + return; + } + var kcToggle = new Toggle(element, options); + element.data('kcToggle', kcToggle); + }); + }; +})(jQuery); +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + +var fbUtils = {}; + +// cleaner syntax for testing indexOf element +fbUtils.inArray = function (needle, haystack) { + return haystack.indexOf(needle) !== -1; +}; + +// Remove null or undefined values +fbUtils.trimObj = function (attrs) { + var xmlRemove = [null, undefined, '', false]; + for (var i in attrs) { + if (fbUtils.inArray(attrs[i], xmlRemove)) { + delete attrs[i]; + } + } + return attrs; +}; + +/** + * Make an ID for this element using current date and tag + * + * @param {Boolean} element + * @return {String} new id for element + */ +fbUtils.makeId = function () { + var element = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0]; + + var epoch = new Date().getTime(); + + return element.tagName + '-' + epoch; +}; + +fbUtils.validAttr = function (attr) { + var invalid = ['values', 'enableOther', 'other', 'label', + // 'style', + 'subtype']; + return !fbUtils.inArray(attr, invalid); +}; + +/** + * Convert an attrs object into a string + * + * @param {Object} attrs object of attributes for markup + * @return {string} + */ +fbUtils.attrString = function (attrs) { + var attributes = []; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr) && fbUtils.validAttr(attr)) { + attr = fbUtils.safeAttr(attr, attrs[attr]); + attributes.push(attr.name + attr.value); + } + } + return attributes.join(' '); +}; + +fbUtils.safeAttr = function (name, value) { + name = fbUtils.safeAttrName(name); + + var valString = fbUtils.escapeAttr(value); + + value = value ? '="' + valString + '"' : ''; + return { + name: name, + value: value + }; +}; + +fbUtils.safeAttrName = function (name) { + var safeAttr = { + className: 'class' + }; + + return safeAttr[name] || fbUtils.hyphenCase(name); +}; + +/** + * Convert strings + into lowercase-hyphen + * + * @param {string} str + * @return {string} + */ +fbUtils.hyphenCase = function (str) { + str = str.replace(/[^\w\s\-]/gi, ''); + str = str.replace(/([A-Z])/g, function ($1) { + return '-' + $1.toLowerCase(); + }); + + return str.replace(/\s/g, '-').replace(/^-+/g, ''); +}; + +/** + * convert a hyphenated string to camelCase + * @param {String} str + * @return {String} + */ +fbUtils.camelCase = function (str) { + return str.replace(/-([a-z])/g, function (m, w) { + m = m; + return w.toUpperCase(); + }); +}; + +/** + * Generate markup wrapper where needed + * + * @param {string} tag + * @param {String|Array|Object} content we wrap this + * @param {object} attrs + * @return {String} + */ +fbUtils.markup = function (tag) { + var content = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; + var attrs = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + var contentType = void 0, + field = document.createElement(tag), + getContentType = function getContentType(content) { + return Array.isArray(content) ? 'array' : typeof content === 'undefined' ? 'undefined' : _typeof(content); + }, + appendContent = { + string: function string(content) { + field.innerHTML = content; + }, + object: function object(content) { + return field.appendChild(content); + }, + array: function array(content) { + for (var i = 0; i < content.length; i++) { + contentType = getContentType(content[i]); + appendContent[contentType](content[i]); + } + } + }; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + var name = fbUtils.safeAttrName(attr); + field.setAttribute(name, attrs[attr]); + } + } + + contentType = getContentType(content); + + if (content) { + appendContent[contentType].call(this, content); + } + + return field; +}; + +fbUtils.parseAttrs = function (elem) { + var attrs = elem.attributes; + var data = {}; + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + data[attrs[attr].name] = attrs[attr].value; + } + } + + return data; +}; + +fbUtils.parseOptions = function (field) { + var options = field.getElementsByTagName('option'), + optionData = {}, + data = []; + + if (options.length) { + for (var i = 0; i < options.length; i++) { + optionData = fbUtils.parseAttrs(options[i]); + optionData.label = options[i].textContent; + data.push(optionData); + } + } + + return data; +}; + +fbUtils.parseXML = function (xmlString) { + var parser = new window.DOMParser(); + var xml = parser.parseFromString(xmlString, 'text/xml'), + formData = []; + + if (xml) { + var fields = xml.getElementsByTagName('field'); + for (var i = 0; i < fields.length; i++) { + var fieldData = fbUtils.parseAttrs(fields[i]); + fieldData.values = fbUtils.parseOptions(fields[i]); + formData.push(fieldData); + } + } + + return formData; +}; + +fbUtils.escapeHtml = function (html) { + var escapeElement = document.createElement('textarea'); + escapeElement.textContent = html; + return escapeElement.innerHTML; +}; + +fbUtils.escapeAttr = function (str) { + var match = { + '"': '"', + '&': '&', + '<': '<', + '>': '>' + }; + + function replaceTag(tag) { + return match[tag] || tag; + } + + return typeof str === 'string' ? str.replace(/["&<>]/g, replaceTag) : str; +}; + +// Remove null or undefined values +fbUtils.escapeAttrs = function (attrs) { + + for (var attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + attrs[attr] = fbUtils.escapeAttr(attrs[attr]); + } + } + + return attrs; +}; +'use strict'; + +// render the formBuilder XML into html + +function FormRenderFn(options, element) { + + var utils = fbUtils; + + var formRender = this, + defaults = { + destroyTemplate: true, // @todo + container: false, + dataType: 'xml', + formData: false, + label: { + formRendered: 'Form Rendered', + noFormData: 'No form data.', + other: 'Other', + selectColor: 'Select Color' + }, + render: true, + notify: { + error: function error(message) { + return console.error(message); + }, + success: function success(message) { + return console.log(message); + }, + warning: function warning(message) { + return console.warn(message); + } + } + }, + _helpers = {}; + + var opts = $.extend(true, defaults, options); + + (function () { + if (!opts.formData) { + return false; + } + + var setData = { + xml: function xml(formData) { + return utils.parseXML(formData); + }, + json: function json(formData) { + return window.JSON.parse(formData); + } + }; + + opts.formData = setData[opts.dataType](opts.formData) || false; + })(); + + /** + * Generate preview markup + * @param {object} fieldData + * @return {string} preview markup for field + */ + _helpers.fieldRender = function (fieldData) { + var fieldMarkup = '', + fieldLabel = '', + optionsMarkup = '', + fieldLabelText = fieldData.label || '', + fieldDesc = fieldData.description || '', + fieldRequired = '', + fieldOptions = fieldData.values || []; + fieldData.id = fieldData.name; + + fieldData.type = fieldData.subtype || fieldData.type; + + if (fieldData.required) { + fieldData.required = null; + fieldData['aria-required'] = 'true'; + fieldRequired = '*'; + } + + if (fieldData.type !== 'hidden') { + if (fieldDesc) { + fieldDesc = '?'; + } + fieldLabel = ''; + } + + var fieldLabelVal = fieldData.label; + + delete fieldData.label; + delete fieldData.description; + + var fieldDataString = utils.attrString(fieldData); + + switch (fieldData.type) { + case 'textarea': + case 'rich-text': + delete fieldData.type; + var fieldVal = fieldData.value || ''; + fieldMarkup = fieldLabel + ''; + break; + case 'select': + var optionAttrsString; + fieldData.type = fieldData.type.replace('-group', ''); + + if (fieldOptions) { + for (var _i = 0; _i < fieldOptions.length; _i++) { + if (!fieldOptions[_i].selected) { + delete fieldOptions[_i].selected; + } + optionAttrsString = utils.attrString(fieldOptions[_i]); + optionsMarkup += ''; + } + } + + fieldMarkup = fieldLabel + ''; + break; + case 'checkbox-group': + case 'radio-group': + var optionAttrs = void 0; + fieldData.type = fieldData.type.replace('-group', ''); + + if (fieldOptions) { + var optionName = fieldData.type === 'checkbox' ? fieldData.name + '[]' : fieldData.name, + _optionAttrsString = void 0; + + for (var _i2 = 0; _i2 < fieldOptions.length; _i2++) { + optionAttrs = Object.assign({}, fieldData, fieldOptions[_i2]); + + if (optionAttrs.selected) { + delete optionAttrs.selected; + optionAttrs.checked = null; + } + + optionAttrs.name = optionName; + optionAttrs.id = fieldData.id + '-' + _i2; + _optionAttrsString = utils.attrString(optionAttrs); + optionsMarkup += '
        '; + } + + if (fieldData.enableOther || fieldData['enable-other']) { + var otherOptionAttrs = { + id: fieldData.id + '-' + 'other', + className: (fieldData.class || fieldData.className) + ' other-option' + }; + + _optionAttrsString = utils.attrString(Object.assign({}, fieldData, otherOptionAttrs)); + + optionsMarkup += ' '; + } + } + fieldMarkup = fieldLabel + '
        ' + optionsMarkup + '
        '; + break; + case 'text': + case 'password': + case 'email': + case 'number': + case 'file': + case 'hidden': + case 'date': + case 'tel': + case 'autocomplete': + fieldMarkup = fieldLabel + ' '; + break; + case 'color': + fieldMarkup = fieldLabel + ' ' + opts.label.selectColor; + break; + case 'button': + case 'submit': + fieldMarkup = ''; + break; + case 'checkbox': + fieldMarkup = ' ' + fieldLabel; + + if (fieldData.toggle) { + setTimeout(function () { + $(document.getElementById(fieldData.id)).kcToggle(); + }, 100); + } + break; + default: + fieldMarkup = '<' + fieldData.type + ' ' + fieldDataString + '>' + fieldLabelVal + ''; + } + + if (fieldData.type !== 'hidden') { + var className = fieldData.id ? 'form-group field-' + fieldData.id : ''; + fieldMarkup = utils.markup('div', fieldMarkup, { + className: className + }); + } else { + fieldMarkup = utils.markup('input', null, fieldData); + } + + return fieldMarkup; + }; + + /** + * Extend Element prototype to allow us to append fields + * + * @param {object} fields Node elements + */ + Element.prototype.appendFormFields = function (fields) { + var element = this; + fields.reverse(); + for (var i = fields.length - 1; i >= 0; i--) { + element.appendChild(fields[i]); + } + }; + + /** + * Extend Element prototype to remove content + */ + Element.prototype.emptyContainer = function () { + var element = this; + while (element.lastChild) { + element.removeChild(element.lastChild); + } + }; + + var otherOptionCB = function otherOptionCB() { + var otherOptions = document.getElementsByClassName('other-option'); + + var _loop = function _loop() { + var otherInput = document.getElementById(otherOptions[i].id + '-value'); + otherOptions[i].onclick = function () { + var option = this; + if (this.checked) { + otherInput.style.display = 'inline-block'; + option.nextElementSibling.style.display = 'none'; + otherInput.oninput = function () { + option.value = this.value; + }; + } else { + otherInput.style.display = 'none'; + option.nextElementSibling.style.display = 'inline-block'; + otherInput.oninput = undefined; + } + }; + }; + + for (var i = 0; i < otherOptions.length; i++) { + _loop(); + } + }; + + var runCallbacks = function runCallbacks() { + otherOptionCB(); + }; + + // Begin the core plugin + var rendered = []; + + // generate field markup if we have fields + if (opts.formData) { + for (var i = 0; i < opts.formData.length; i++) { + rendered.push(_helpers.fieldRender(opts.formData[i])); + } + + if (opts.render) { + if (opts.container) { + var renderedFormWrap = utils.markup('div', rendered, { className: 'rendered-form' }); + opts.container = opts.container instanceof jQuery ? opts.container[0] : opts.container; + opts.container.emptyContainer(); + opts.container.appendChild(renderedFormWrap); + } else if (element) { + element.emptyContainer(); + element.appendFormFields(rendered); + } + + runCallbacks(); + opts.notify.success(opts.label.formRendered); + } else { + formRender.markup = rendered.map(function (elem) { + return elem.innerHTML; + }).join(''); + } + } else { + var noData = utils.markup('div', opts.label.noFormData, { + className: 'no-form-data' + }); + rendered.push(noData); + opts.notify.error(opts.label.noFormData); + } + + return formRender; +} + +(function ($) { + + $.fn.formRender = function (options) { + this.each(function () { + var formRender = new FormRenderFn(options, this); + return formRender; + }); + }; +})(jQuery); \ No newline at end of file diff --git a/dist/form-render.min.css b/dist/form-render.min.css new file mode 100755 index 0000000..6c957d0 --- /dev/null +++ b/dist/form-render.min.css @@ -0,0 +1,6 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +.kc-toggle{position:relative;margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-off,.kct-on{position:relative}.kct-handle{position:relative;height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}.rendered-form .btn,.rendered-form .btn.active,.rendered-form .btn.btn-active,.rendered-form .btn:active,.rendered-form .form-control{background-image:none}.rendered-form *{box-sizing:border-box}.rendered-form button,.rendered-form input,.rendered-form optgroup,.rendered-form select,.rendered-form textarea{margin:0;font:inherit;color:inherit}.rendered-form textarea{overflow:auto}.rendered-form button,.rendered-form input,.rendered-form select,.rendered-form textarea{font-family:inherit;font-size:inherit;line-height:inherit}.rendered-form .btn-group{position:relative;display:inline-block;vertical-align:middle}.rendered-form .btn-group>.btn{position:relative;float:left}.rendered-form .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.rendered-form .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.rendered-form .btn-group .btn+.btn,.rendered-form .btn-group .btn+.btn-group,.rendered-form .btn-group .btn-group+.btn,.rendered-form .btn-group .btn-group+.btn-group{margin-left:-1px}.rendered-form .btn-group .input-group .form-control:last-child,.rendered-form .btn-group .input-group-addon:last-child,.rendered-form .btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.rendered-form .btn-group .input-group-btn:first-child>.btn:not(:first-child),.rendered-form .btn-group .input-group-btn:last-child>.btn,.rendered-form .btn-group .input-group-btn:last-child>.btn-group>.btn,.rendered-form .btn-group .input-group-btn:last-child>.dropdown-toggle,.rendered-form .btn-group>.btn:last-child:not(:first-child),.rendered-form .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rendered-form .btn-group>.btn.active,.rendered-form .btn-group>.btn:active,.rendered-form .btn-group>.btn:focus,.rendered-form .btn-group>.btn:hover{z-index:2}.rendered-form .btn{color:#fff;display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.rendered-form .btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}.rendered-form .btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.rendered-form .btn.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.rendered-form .btn.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.rendered-form .btn-primary{background-color:#337ab7;border-color:#2e6da4}.rendered-form .btn-primary.active,.rendered-form .btn-primary.btn-active,.rendered-form .btn-primary:active,.rendered-form .btn-primary:hover{background-color:#286090;border-color:#204d74}.rendered-form .btn-danger{background-color:#d9534f;border-color:#d43f3a}.rendered-form .btn-danger:hover{background-color:#c9302c;border-color:#ac2925}.rendered-form .btn-default{background-color:#fff;border-color:#ccc}.rendered-form .btn-success{background-color:#5cb85c;border-color:#4cae4c}.rendered-form .btn-success:hover{background-color:#449d44;border-color:#398439}.rendered-form .btn-info{background-color:#5bc0de;border-color:#46b8da}.rendered-form .btn-info:hover{background-color:#31b0d5;border-color:#269abc}.rendered-form .btn-warning{background-color:#f0ad4e;border-color:#eea236}.rendered-form .btn-warning:hover{background-color:#ec971f;border-color:#d58512}.rendered-form .input-group .form-control:last-child,.rendered-form .input-group-addon:last-child,.rendered-form .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.rendered-form .input-group-btn:first-child>.btn:not(:first-child),.rendered-form .input-group-btn:last-child>.btn,.rendered-form .input-group-btn:last-child>.btn-group>.btn,.rendered-form .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.rendered-form .input-group .form-control,.rendered-form .input-group-addon,.rendered-form .input-group-btn{display:table-cell}.rendered-form .input-group-lg>.form-control,.rendered-form .input-group-lg>.input-group-addon,.rendered-form .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.rendered-form .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.rendered-form .input-group{position:relative;display:table;border-collapse:separate}.rendered-form .form-control,.rendered-form output{display:block;font-size:14px;line-height:1.42857143;color:#555}.rendered-form textarea.form-control{height:auto}.rendered-form .form-control{height:34px;width:100%;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.rendered-form .form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.rendered-form .form-group{margin-bottom:15px}.rendered-form .pull-right{float:right!important}.rendered-form .pull-left{float:left!important}.form-group .required{color:#C10000}.form-control.number{width:auto}[tooltip]{position:relative}[tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;color:#fff;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;font-size:12px;line-height:1.5em}[tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;content:'';left:2px;position:absolute;z-index:99}.tooltip-element{color:#fff;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px;font-size:12px}.form-control[type=color]{width:60px;padding:2px;display:inline-block}.form-control[multiple]{height:auto} \ No newline at end of file diff --git a/dist/form-render.min.js b/dist/form-render.min.js new file mode 100755 index 0000000..e397711 --- /dev/null +++ b/dist/form-render.min.js @@ -0,0 +1,6 @@ +/* +formBuilder - https://formbuilder.online/ +Version: 1.19.4 +Author: Kevin Chappell +*/ +"use strict";function FormRenderFn(e,t){var n=fbUtils,r=this,a={destroyTemplate:!0,container:!1,dataType:"xml",formData:!1,label:{formRendered:"Form Rendered",noFormData:"No form data.",other:"Other",selectColor:"Select Color"},render:!0,notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}},i={},o=$.extend(!0,a,e);!function(){if(!o.formData)return!1;var e={xml:function(e){return n.parseXML(e)},json:function(e){return window.JSON.parse(e)}};o.formData=e[o.dataType](o.formData)||!1}(),i.fieldRender=function(e){var t="",r="",a="",i=e.label||"",l=e.description||"",s="",c=e.values||[];e.id=e.name,e.type=e.subtype||e.type,e.required&&(e.required=null,e["aria-required"]="true",s='*'),"hidden"!==e.type&&(l&&(l='?'),r='");var f=e.label;delete e.label,delete e.description;var u=n.attrString(e);switch(e.type){case"textarea":case"rich-text":delete e.type;var d=e.value||"";t=r+"";break;case"select":var p;if(e.type=e.type.replace("-group",""),c)for(var v=0;v"+c[v].label+"";t=r+"";break;case"checkbox-group":case"radio-group":var m=void 0;if(e.type=e.type.replace("-group",""),c){for(var b="checkbox"===e.type?e.name+"[]":e.name,y=void 0,h=0;h
        ";if(e.enableOther||e["enable-other"]){var g={id:e.id+"-other",className:(e["class"]||e.className)+" other-option"};y=n.attrString(Object.assign({},e,g)),a+=" '}}t=r+'
        '+a+"
        ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"tel":case"autocomplete":t=r+" ";break;case"color":t=r+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+r,e.toggle&&setTimeout(function(){$(document.getElementById(e.id)).kcToggle()},100);break;default:t="<"+e.type+" "+u+">"+f+""}if("hidden"!==e.type){var k=e.id?"form-group field-"+e.id:"";t=n.markup("div",t,{className:k})}else t=n.markup("input",null,e);return t},Element.prototype.appendFormFields=function(e){var t=this;e.reverse();for(var n=e.length-1;n>=0;n--)t.appendChild(e[n])},Element.prototype.emptyContainer=function(){for(var e=this;e.lastChild;)e.removeChild(e.lastChild)};var l=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(){var e=this;this.checked?(t.style.display="inline-block",e.nextElementSibling.style.display="none",t.oninput=function(){e.value=this.value}):(t.style.display="none",e.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);i.toggleClass("on",t.is(":checked"));var o='
        '+a.labels.on+"
        ",l='
        '+a.labels.off+"
        ",s='
        ',c='
        '+o+s+l+"
        ";i.append(c),i.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(n){var r=this;return r.each(function(){var r=e(this);if(!r.data("kcToggle")){var a=new t(r,n);r.data("kcToggle",a)}})}}(jQuery);var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},fbUtils={};fbUtils.inArray=function(e,t){return-1!==t.indexOf(e)},fbUtils.trimObj=function(e){var t=[null,void 0,"",!1];for(var n in e)fbUtils.inArray(e[n],t)&&delete e[n];return e},fbUtils.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},fbUtils.validAttr=function(e){var t=["values","enableOther","other","label","subtype"];return!fbUtils.inArray(e,t)},fbUtils.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&fbUtils.validAttr(n)&&(n=fbUtils.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},fbUtils.safeAttr=function(e,t){e=fbUtils.safeAttrName(e);var n=fbUtils.escapeAttr(t);return t=t?'="'+n+'"':"",{name:e,value:t}},fbUtils.safeAttrName=function(e){var t={className:"class"};return t[e]||fbUtils.hyphenCase(e)},fbUtils.hyphenCase=function(e){return e=e.replace(/[^\w\s\-]/gi,""),e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},fbUtils.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return e=e,t.toUpperCase()})},fbUtils.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],r=void 0,a=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},o={string:function(e){a.innerHTML=e},object:function(e){return a.appendChild(e)},array:function(e){for(var t=0;t":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},fbUtils.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=fbUtils.escapeAttr(e[t]));return e},function(e){e.fn.formRender=function(e){this.each(function(){var t=new FormRenderFn(e,this);return t})}}(jQuery); \ No newline at end of file