From f43ff5263bb21e121282dab2e1bf6d8519d9b853 Mon Sep 17 00:00:00 2001 From: Kevin Chappell Date: Fri, 22 Jul 2016 14:08:33 +0100 Subject: [PATCH 1/3] jqui sortable distance option increased to 3 pixels for better add on click --- demo/assets/js/form-builder.min.js | 2 +- dist/form-builder.js | 1 + dist/form-builder.min.js | 2 +- src/js/form-builder.js | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index e8c33610a..e12351e79 100644 --- a/demo/assets/js/form-builder.min.js +++ b/demo/assets/js/form-builder.min.js @@ -3,5 +3,5 @@ formBuilder - https://formbuilder.online/ Version: 1.14.6 Author: Kevin Chappell */ -"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
"}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
"+g.outerHTML+'
'}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
'+s.labels.on+"
",n='
'+s.labels.off+"
",i='
',c='
'+r+i+n+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
    ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
  • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
    ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
    ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
    ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
    ',a+='",a+='
    ',"select"===t.type&&(a+='
    ',a+='",a+='",a+="
    "),a+='
      ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
    ",a+="
    ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
    "),Q.push(' "),Q.push('
    ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
    "));return Q.push("
    "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
    "),Q.push('
    ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
    '+r+" "+Y+"
    "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
    ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
    ",s='
    '+r+" "+s+"
    "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
    "+G+"
    "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; +"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
    "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
    "+g.outerHTML+'
    '}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
    ").text(e).html()},a.htmlDecode=function(e){return $("
    ").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
    ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
    '+s.labels.on+"
    ",n='
    '+s.labels.off+"
    ",i='
    ',c='
    '+r+i+n+"
    ";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
      ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
    • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
      ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
      ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
      ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
      ',a+='",a+='
      ',"select"===t.type&&(a+='
      ',a+='",a+='",a+="
      "),a+='
        ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
      ",a+="
      ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
      "),Q.push(' "),Q.push('
      ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
      "));return Q.push("
      "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
      "),Q.push('
      ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
      '+r+" "+Y+"
      "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
      ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
      ",s='
      '+r+" "+s+"
      "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
      "+G+"
      "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; "label"===e&&c.inArray(t.type,s)&&(i=o.messages.content),l=l.concat(o.messages.subtypes.header,s),r=r.concat(s);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,l)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,r)&&f.push(!0),!f.some(function(e){return e===!0})){var v="";m+="label"===e&&c.inArray(t.type,s)?'":'',m='
      '+v+" "+m+"
      "}return m},R=function(e){var t=["header","paragraph","button"],a=[],l="";if(c.inArray(e.type,t)&&a.push(!0),!a.some(function(e){return e===!0})){l+='
      ',l+='';var s=c.markup("input",null,{className:"fld-required",type:"checkbox",name:"required",id:"required-"+d,value:1});s.defaultChecked=e.required,l+=s.outerHTML,l+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,l+="
      "}return l},U=function(t,a,l){var s=e(a).find('input[name="label"]').val(),r=s?s:t,n=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),u=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),p=l.required,m=l.toggle||void 0,f=""!==l.description?'?':"",v=c.markup("div",[u,n],{className:"field-actions"}).outerHTML;v+='"+f+' *",v+=c.markup("div","",{className:"prev-holder"}).outerHTML,v+='
      ',v+='
      ',v+=R(l),"checkbox"===l.type&&(v+='
      ',v+="",v+='",v+="
      "),v+=a,v+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,v+="
      ",v+="
      ";var h=c.markup("li",v,{"class":l.type+"-field form-field",type:l.type,id:d}),g=e(h);g.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(g):i.append(g),c.updatePreview(g),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},z=function(e,t,a){var l={selected:a?"checkbox":"radio"},s=["value","label","selected"],r=[];t=t||{selected:!1,label:"",value:""};for(var n=s.length-1;n>=0;n--){var i=s[n];if(t.hasOwnProperty(i)){var d={type:l[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),r.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",r);return p.outerHTML};i.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},r=e(this).parents(".form-field:eq(0)").attr("id"),n=e(document.getElementById(r)),d=function(){n.slideUp(250,function(){n.removeClass("deleting"),n.remove(),c.save(),i[0].childNodes.length||E.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){n.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,s),n.addClass("deleting")}else d(n)}),i.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),C.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var r=s.attr("name");e(".sortable-options",a).append(z(r,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var X=e(document.getElementById(n+"-view-data"));X.click(function(e){e.preventDefault();var t=c.htmlEncode(r.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var W=e(document.getElementById(n+"-clear-all"));return W.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(n+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),r.parent().find('p[id*="ideaTemplate"]').remove(),r.wrap('
      '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)");o.before(s),o.remove(),l=new t(a,s),e(s).data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",l=function(a){var l=[];return e(".sortable-options li",a).each(function(){var a=e(this),s={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),s).outerHTML;l.push("\n "+o)}),l.join("")+"\n "};return this.each(function(){var s=this;s.childNodes.length>=1&&(a+="\n ",t.forEach(s.childNodes,function(s,o){s=s;var r=e(o),n=r.data("fieldData");if(!r.hasClass("disabled")){var i=e(".roles-field:checked",o).map(function(){return this.value}).get(),c=e('[name="enable-other"]:checked',o).length,d=t.getTypes(r),u={className:n.className,description:e("input.fld-description",r).val(),label:e(".fld-label",r).val(),maxlength:e("input.fld-maxlength",r).val(),multiple:e('input[name="multiple"]',r).is(":checked"),name:e("input.fld-name",r).val(),placeholder:e("input.fld-placeholder",r).val(),required:e("input.fld-required",r).is(":checked"),toggle:e(".toggle",r).is(":checked"),type:d.type,subtype:d.subtype,min:e("input.fld-min",r).val(),max:e("input.fld-max",r).val(),value:e("input.fld-value",r).val()};i.length&&(u.role=i.join(",")),c&&(u.other="true"),u=t.trimAttrs(u),u=t.escapeAttrs(u);var p,m=u.type.match(/(select|checkbox-group|radio-group)/),f="";m&&(f=l(r)),p=t.markup("field",f,u),a+="\n "+p.outerHTML}}),a+="\n \n")}),a}}(jQuery),"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),a=1;a */ -"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
      "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
      "+g.outerHTML+'
      '}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
      ").text(e).html()},a.htmlDecode=function(e){return $("
      ").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
      ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
      '+s.labels.on+"
      ",n='
      '+s.labels.off+"
      ",i='
      ',c='
      '+r+i+n+"
      ";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
        ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
      • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
        ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
        ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
        ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
        ',a+='",a+='
        ',"select"===t.type&&(a+='
        ',a+='",a+='",a+="
        "),a+='
          ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
        ",a+="
        ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
        "),Q.push(' "),Q.push('
        ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
        "));return Q.push("
        "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
        "),Q.push('
        ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
        '+r+" "+Y+"
        "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
        ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
        ",s='
        '+r+" "+s+"
        "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
        "+G+"
        "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; +"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
        "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
        "+g.outerHTML+'
        '}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
        ").text(e).html()},a.htmlDecode=function(e){return $("
        ").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
        ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
        '+s.labels.on+"
        ",n='
        '+s.labels.off+"
        ",i='
        ',c='
        '+r+i+n+"
        ";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
          ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
        • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
          ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
          ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
          ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
          ',a+='",a+='
          ',"select"===t.type&&(a+='
          ',a+='",a+='",a+="
          "),a+='
            ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
          ",a+="
          ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
          "),Q.push(' "),Q.push('
          ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
          "));return Q.push("
          "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
          "),Q.push('
          ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
          '+r+" "+Y+"
          "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
          ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
          ",s='
          '+r+" "+s+"
          "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
          "+G+"
          "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; "label"===e&&c.inArray(t.type,s)&&(i=o.messages.content),l=l.concat(o.messages.subtypes.header,s),r=r.concat(s);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,l)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,r)&&f.push(!0),!f.some(function(e){return e===!0})){var v="";m+="label"===e&&c.inArray(t.type,s)?'":'',m='
          '+v+" "+m+"
          "}return m},R=function(e){var t=["header","paragraph","button"],a=[],l="";if(c.inArray(e.type,t)&&a.push(!0),!a.some(function(e){return e===!0})){l+='
          ',l+='';var s=c.markup("input",null,{className:"fld-required",type:"checkbox",name:"required",id:"required-"+d,value:1});s.defaultChecked=e.required,l+=s.outerHTML,l+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,l+="
          "}return l},U=function(t,a,l){var s=e(a).find('input[name="label"]').val(),r=s?s:t,n=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),u=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),p=l.required,m=l.toggle||void 0,f=""!==l.description?'?':"",v=c.markup("div",[u,n],{className:"field-actions"}).outerHTML;v+='"+f+' *",v+=c.markup("div","",{className:"prev-holder"}).outerHTML,v+='
          ',v+='
          ',v+=R(l),"checkbox"===l.type&&(v+='
          ',v+="",v+='",v+="
          "),v+=a,v+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,v+="
          ",v+="
          ";var h=c.markup("li",v,{"class":l.type+"-field form-field",type:l.type,id:d}),g=e(h);g.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(g):i.append(g),c.updatePreview(g),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},z=function(e,t,a){var l={selected:a?"checkbox":"radio"},s=["value","label","selected"],r=[];t=t||{selected:!1,label:"",value:""};for(var n=s.length-1;n>=0;n--){var i=s[n];if(t.hasOwnProperty(i)){var d={type:l[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),r.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",r);return p.outerHTML};i.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},r=e(this).parents(".form-field:eq(0)").attr("id"),n=e(document.getElementById(r)),d=function(){n.slideUp(250,function(){n.removeClass("deleting"),n.remove(),c.save(),i[0].childNodes.length||E.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){n.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,s),n.addClass("deleting")}else d(n)}),i.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),C.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var r=s.attr("name");e(".sortable-options",a).append(z(r,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var X=e(document.getElementById(n+"-view-data"));X.click(function(e){e.preventDefault();var t=c.htmlEncode(r.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var W=e(document.getElementById(n+"-clear-all"));return W.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(n+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),r.parent().find('p[id*="ideaTemplate"]').remove(),r.wrap('
          '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)");o.before(s),o.remove(),l=new t(a,s),e(s).data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",l=function(a){var l=[];return e(".sortable-options li",a).each(function(){var a=e(this),s={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),s).outerHTML;l.push("\n "+o)}),l.join("")+"\n "};return this.each(function(){var s=this;s.childNodes.length>=1&&(a+="\n ",t.forEach(s.childNodes,function(s,o){s=s;var r=e(o),n=r.data("fieldData");if(!r.hasClass("disabled")){var i=e(".roles-field:checked",o).map(function(){return this.value}).get(),c=e('[name="enable-other"]:checked',o).length,d=t.getTypes(r),u={className:n.className,description:e("input.fld-description",r).val(),label:e(".fld-label",r).val(),maxlength:e("input.fld-maxlength",r).val(),multiple:e('input[name="multiple"]',r).is(":checked"),name:e("input.fld-name",r).val(),placeholder:e("input.fld-placeholder",r).val(),required:e("input.fld-required",r).is(":checked"),toggle:e(".toggle",r).is(":checked"),type:d.type,subtype:d.subtype,min:e("input.fld-min",r).val(),max:e("input.fld-max",r).val(),value:e("input.fld-value",r).val()};i.length&&(u.role=i.join(",")),c&&(u.other="true"),u=t.trimAttrs(u),u=t.escapeAttrs(u);var p,m=u.type.match(/(select|checkbox-group|radio-group)/),f="";m&&(f=l(r)),p=t.markup("field",f,u),a+="\n "+p.outerHTML}}),a+="\n \n")}),a}}(jQuery),"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),a=1;a Date: Sat, 23 Jul 2016 18:49:41 +0100 Subject: [PATCH 2/3] Add multiple option for file input, fix XML encoding issue for special characters --- demo/assets/js/form-builder.min.js | 4 +- demo/assets/js/form-render.min.js | 2 +- demo/assets/js/form-render.min.js.map | 2 +- demo/index.html | 7 +- dist/form-builder.js | 566 ++++++++------------------ dist/form-builder.min.js | 4 +- dist/form-render.js | 2 +- dist/form-render.min.js | 2 +- package.json | 1 - src/js/form-builder.js | 263 +++++------- src/js/form-render.js | 4 +- src/js/helpers.js | 30 +- src/js/htmlentities.js | 187 --------- src/js/polyfills.js | 24 -- src/js/to-xml.js | 27 +- 15 files changed, 315 insertions(+), 810 deletions(-) delete mode 100644 src/js/htmlentities.js diff --git a/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index e12351e79..de5c96e17 100644 --- a/demo/assets/js/form-builder.min.js +++ b/demo/assets/js/form-builder.min.js @@ -3,5 +3,5 @@ formBuilder - https://formbuilder.online/ Version: 1.14.6 Author: Kevin Chappell */ -"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
          "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
          "+g.outerHTML+'
          '}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
          ").text(e).html()},a.htmlDecode=function(e){return $("
          ").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
          ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
          '+s.labels.on+"
          ",n='
          '+s.labels.off+"
          ",i='
          ',c='
          '+r+i+n+"
          ";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
            ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
          • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
            ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
            ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
            ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
            ',a+='",a+='
            ',"select"===t.type&&(a+='
            ',a+='",a+='",a+="
            "),a+='
              ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
            ",a+="
            ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
            "),Q.push(' "),Q.push('
            ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
            "));return Q.push("
            "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
            "),Q.push('
            ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
            '+r+" "+Y+"
            "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
            ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
            ",s='
            '+r+" "+s+"
            "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
            "+G+"
            "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; -"label"===e&&c.inArray(t.type,s)&&(i=o.messages.content),l=l.concat(o.messages.subtypes.header,s),r=r.concat(s);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,l)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,r)&&f.push(!0),!f.some(function(e){return e===!0})){var v="";m+="label"===e&&c.inArray(t.type,s)?'":'',m='
            '+v+" "+m+"
            "}return m},R=function(e){var t=["header","paragraph","button"],a=[],l="";if(c.inArray(e.type,t)&&a.push(!0),!a.some(function(e){return e===!0})){l+='
            ',l+='';var s=c.markup("input",null,{className:"fld-required",type:"checkbox",name:"required",id:"required-"+d,value:1});s.defaultChecked=e.required,l+=s.outerHTML,l+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,l+="
            "}return l},U=function(t,a,l){var s=e(a).find('input[name="label"]').val(),r=s?s:t,n=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),u=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),p=l.required,m=l.toggle||void 0,f=""!==l.description?'?':"",v=c.markup("div",[u,n],{className:"field-actions"}).outerHTML;v+='"+f+' *",v+=c.markup("div","",{className:"prev-holder"}).outerHTML,v+='
            ',v+='
            ',v+=R(l),"checkbox"===l.type&&(v+='
            ',v+="",v+='",v+="
            "),v+=a,v+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,v+="
            ",v+="
            ";var h=c.markup("li",v,{"class":l.type+"-field form-field",type:l.type,id:d}),g=e(h);g.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(g):i.append(g),c.updatePreview(g),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},z=function(e,t,a){var l={selected:a?"checkbox":"radio"},s=["value","label","selected"],r=[];t=t||{selected:!1,label:"",value:""};for(var n=s.length-1;n>=0;n--){var i=s[n];if(t.hasOwnProperty(i)){var d={type:l[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),r.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",r);return p.outerHTML};i.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},r=e(this).parents(".form-field:eq(0)").attr("id"),n=e(document.getElementById(r)),d=function(){n.slideUp(250,function(){n.removeClass("deleting"),n.remove(),c.save(),i[0].childNodes.length||E.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){n.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,s),n.addClass("deleting")}else d(n)}),i.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),C.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var r=s.attr("name");e(".sortable-options",a).append(z(r,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var X=e(document.getElementById(n+"-view-data"));X.click(function(e){e.preventDefault();var t=c.htmlEncode(r.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var W=e(document.getElementById(n+"-clear-all"));return W.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(n+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),r.parent().find('p[id*="ideaTemplate"]').remove(),r.wrap('
            '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)");o.before(s),o.remove(),l=new t(a,s),e(s).data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",l=function(a){var l=[];return e(".sortable-options li",a).each(function(){var a=e(this),s={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),s).outerHTML;l.push("\n "+o)}),l.join("")+"\n "};return this.each(function(){var s=this;s.childNodes.length>=1&&(a+="\n ",t.forEach(s.childNodes,function(s,o){s=s;var r=e(o),n=r.data("fieldData");if(!r.hasClass("disabled")){var i=e(".roles-field:checked",o).map(function(){return this.value}).get(),c=e('[name="enable-other"]:checked',o).length,d=t.getTypes(r),u={className:n.className,description:e("input.fld-description",r).val(),label:e(".fld-label",r).val(),maxlength:e("input.fld-maxlength",r).val(),multiple:e('input[name="multiple"]',r).is(":checked"),name:e("input.fld-name",r).val(),placeholder:e("input.fld-placeholder",r).val(),required:e("input.fld-required",r).is(":checked"),toggle:e(".toggle",r).is(":checked"),type:d.type,subtype:d.subtype,min:e("input.fld-min",r).val(),max:e("input.fld-max",r).val(),value:e("input.fld-value",r).val()};i.length&&(u.role=i.join(",")),c&&(u.other="true"),u=t.trimAttrs(u),u=t.escapeAttrs(u);var p,m=u.type.match(/(select|checkbox-group|radio-group)/),f="";m&&(f=l(r)),p=t.markup("field",f,u),a+="\n "+p.outerHTML}}),a+="\n \n")}),a}}(jQuery),"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),a=1;a200&&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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimObj=function(e){var t=[null,void 0,"",!1];for(var s in e)a.inArray(e[s],t)&&delete e[s];return e},a.escapeAttr=function(e){function t(e){return a[e]||e}var a={'"':""","&":"&","<":"<",">":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=a.escapeAttr(e[t]));return e},a.xmlSave=function(e){var s=$(e).toXML(a);return window.JSON.stringify(s)===window.JSON.stringify(t.formData)?!1:void(t.formData=s)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var s,l=a.getElement(),o=document.getElementById(e.formID),n={xml:a.xmlSave,json:a.jsonSave};return s=n[e.dataType](o),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange()),document.dispatchEvent(t.events.formSaved),s},a.getElement=function(){var s=!1;return t.element&&(s=t.element,s.id||a.makeId(s),s.onchange||(s.onchange=function(){e.notify.success(e.messages.formUpdated)})),s},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,s=e.substring(0,t);return s+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.attr("class");if(-1===t.indexOf("ui-sortable-handle")){var s,l=$(e).attr("type"),o=$(".prev-holder",e),n={type:l};$('[class*="fld-"]',e).each(function(){var e=a.camelCase(this.name);n[e]="checkbox"===this.type?this.checked:this.value});var r=$(".btn-style",e).val();r&&(n.style=r),l.match(/(select|checkbox-group|radio-group)/)&&(n.values=[],n.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(),n.values.push(e)})),n=a.trimObj(n),n.className=a.classNames(e,n),$(".fld-className",e).val(n.className),e.data("fieldData",n),s=a.fieldPreview(n),o.html(s),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var s,l="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var n=t.toggle?"toggle":"",r=a.attrString(t);switch(t.type){case"textarea":case"rich-text":l="";break;case"button":case"submit":l="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),s=t.values.length-1;s>=0;s--){var d=t.values[s].selected&&!t.placeholder?"selected":"";i+='"}l="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),s=t.values.length-1;s>=0;s--){var m=t.values[s].selected?"checked":"",f=u+"-"+o+"-"+s;l+='
            "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);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+="
            "+g.outerHTML+'
            '}break;case"text":case"password":case"email":case"date":case"file":case"number":l="";break;case"color":l=' '+e.messages.selectColor;break;case"hidden":case"checkbox":l='";break;case"autocomplete":l='';break;default:r=a.attrString(t),l="<"+t.type+" "+r+">"+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,o=arguments,n=function(){t=null,s||e.apply(l,o)},r=s&&!t;clearTimeout(t),t=setTimeout(n,a),r&&e.apply(l,o)}},a.htmlEncode=function(e){return $("
            ").text(e).html()},a.htmlDecode=function(e){return $("
            ").html(e).text()},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 s=e.messages.fieldNonEditable;if(s){var l=a.markup("p",s,{className:a.disabledTT.className});t.append(l)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,s){var l=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],n=void 0;for(n=o.length-1;n>=0;n--)o=o.concat(e.messages.subtypes[o[n]]);l=l.concat(o);var r=s.type,i=s.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[r];if(p){if(i){for(n=d.length-1;n>=0;n--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[n].match(m);f&&d.splice(n,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(r,l)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],s=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],l=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},r={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var n=t.filter(function(e){return e.attrs.type===s[o]})[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(),o=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:o.left},r=a.offset(),i=s.offset(),c=r.top+a.height(),d=i.top+s.height();c>d&&r.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&r.top>e)&&a.css(n)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}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};!function(e){var t=function(t,a){var s={theme:"fresh",labels:{off:"Off",on:"On"}},l=e.extend(s,a),o=e('
            ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
            '+l.labels.on+"
            ",r='
            '+l.labels.off+"
            ",i='
            ',c='
            '+n+i+r+"
            ";o.append(c),o.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){var s=this,l={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],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",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"],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",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,prefix:"form-builder-"};l.messages.subtypes.password=l.messages.subtypes.text,l.messages.subtypes.email=l.messages.subtypes.text,l.messages.subtypes.color=l.messages.subtypes.text,l.messages.subtypes.submit=l.messages.subtypes.button;var o=e.extend(!0,l,t),n=e(a),r="frmb-"+e("ul[id^=frmb-]").length++;o.formID=r,s.element=a;var i=e("
              ").attr("id",r).addClass("frmb"),c=formBuilderHelpersFn(o,s);s.layout=c.editorLayout(o.controlPosition);var d=r+"-fld-1",u=r+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
            • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:r+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:r+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:r+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(A(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var C=e("
              ",{id:r+"-stage-wrap","class":"stage-wrap "+s.layout.stage}),N=e("
              ",{id:r+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});n.before(C).appendTo(C);var E=e("
              ",{id:r+"-cb-wrap","class":"cb-wrap "+s.layout.controls}).append(f[0],x);C.append(i,E),C.before(N),N.append(C,E);var O=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",O),e("li",f).click(function(t){c.stopIndex=void 0,A(e(this),!0),c.save()});var T=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var s=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(s)}t.some(function(e){return e===!0})&&C.removeClass("empty")},A=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 o=t[0].attributes;a||(s.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var n=o.length-1;n>=0;n--)s[o[n].name]=o[n].value}}else s=t;s.name=a?$(s):s.name,s.className=s.className||s["class"];var r=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(s.className);r&&(s.style=r[1]),c.escapeAttrs(s),P(s),C.removeClass("empty")},S=function(){var t="";t=s.formData?s.formData:""!==n.val()?e.parseXML(s.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)s.formData=t,a.each(function(){A(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var l=o.defaultFields.length-1;l>=0;l--)A(o.defaultFields[l]);C.removeClass("empty"),c.save()}else o.prepend||o.append||C.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),T()},M=function(){var e={xml:S,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var $=function(e){var t=(new Date).getTime();return e.type+"-"+t},D=function W(e){var t=c.markup("a",o.messages.addOption,{className:"add add-opt"}),W="";if(e.values&&e.values.length||(e.values=[{selected:!0},{selected:!1}],e.values=e.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e})),W+='",W+='
              ',"select"===e.type){var a={second:o.messages.selectionsMessage};W+=F("multiple",e,a)}for(W+='
                ',v=0;v",c.markup("div",W,{className:"form-group field-options"}).outerHTML},L=function U(e){var t,U=[],a="",s=["select","checkbox-group","radio-group"],l=function(){return-1!==s.indexOf(e.type)}(),n=function(){var t=["header","paragraph","file"].concat(s,o.messages.subtypes.header,o.messages.subtypes.paragraph);return-1===t.indexOf(e.type)},r=void 0!==e.role?e.role.split(","):[];U.push(H(e)),"checkbox"===e.type&&U.push(F("toggle",e,{first:o.messages.toggle})),U.push(j("label",e)),e.size=e.size||"m",e.style=e.style||"default";var i=["header","paragraph","button"].concat(o.messages.subtypes.header,o.messages.subtypes.paragraph);if(i=i.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===i.indexOf(e.type)&&U.push(j("description",e)),U.push(I(e)),"button"===e.type&&U.push(q(e.style,e.type)),"number"===e.type&&(U.push(B("min",e)),U.push(B("max",e)),U.push(B("step",e))),U.push(j("placeholder",e)),U.push(j("className",e)),U.push(j("name",e)),n||U.push(j("value",e)),"file"===e.type){var u={first:o.messages.multipleFiles,second:o.messages.allowMultipleFiles};U.push(F("multiple",e,u))}U.push('
                "),U.push(' "),U.push('
                ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,r)?"checked":"",U.push('
                "));return U.push("
                "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(U.push('
                "),U.push('
                ")),l&&U.push(D(e)),U.push(j("maxlength",e)),U.join("")},F=function(e,t,a){var s=function(t){return'"},l=void 0!==t[e]?"checked":"",o='',n=[o];return a.first&&n.unshift(s(a.first)),a.second&&n.push(s(a.second)),'
                '+n.join("")+"
                "},I=function Y(e){var t=o.messages.subtypes,a=e.type,s=e.subtype||"",Y="",l=void 0;if(t[a]){var n="";Y+='",Y='
                '+n+" "+Y+"
                "}return Y},q=function(e,t){var a={button:"btn"},s=o.messages.styles[a[t]],l="";if(s){var n="";l+='',l+='
                ',Object.keys(o.messages.styles[a[t]]).forEach(function(s){var n=e===s?"active":"";l+='"}),l+="
                ",l='
                '+n+" "+l+"
                "}return l},B=function _(e,t){var a=t[e]||"",s=o.messages[e]||e,l=o.messages.placeholders[e]||"",_='';return'
                "+_+"
                "},j=function(e,t){var a=["text","textarea","select"],s=["header"],l=["paragraph"],n=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],r=t[e]||"",i=o.messages[e];"label"===e&&c.inArray(t.type,l)&&(i=o.messages.content),s=s.concat(o.messages.subtypes.header,l),n=n.concat(l);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,s)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,n)&&f.push(!0),!f.some(function(e){return e===!0})){var v='";m+="label"===e&&c.inArray(t.type,l)?'":'',m='
                '+v+" "+m+"
                "}return m},H=function(e){var t=["header","paragraph","button"],a=[],s="";return c.inArray(e.type,t)&&a.push(!0),a.some(function(e){return e===!0})||(s=F("required",e,{first:o.messages.required})),s},P=function(t){var a=t.type||"text",s=t.label||o.messages[a]||o.messages.label,l=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),n=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),r=c.markup("div",[n,l],{className:"field-actions"}).outerHTML;r+='",t.description&&(r+='?');var u=t.required?'style="display:inline"':"";r+=' *",r+=c.markup("div","",{className:"prev-holder"}).outerHTML,r+='
                ',r+='
                ',r+=L(t),r+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,r+="
                ",r+="
                ";var p=c.markup("li",r,{"class":a+"-field form-field",type:a,id:d}),m=e(p);m.data("fieldData",{attrs:t}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(m):i.append(m),e(".sortable-options",m).sortable(),c.updatePreview(m),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},R=function(e,t,a){var s={selected:a?"checkbox":"radio"},l=["value","label","selected"],n=[];t=t||{selected:!1,label:"",value:""};for(var r=l.length-1;r>=0;r--){var i=l[r];if(t.hasOwnProperty(i)){var d={type:s[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),n.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};n.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",n);return p.outerHTML; +};i.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?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.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")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.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},n=e(this).parents(".form-field:eq(0)").attr("id"),r=e(document.getElementById(n)),d=function(){r.slideUp(250,function(){r.removeClass("deleting"),r.remove(),c.save(),i[0].childNodes.length||C.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){r.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,l),r.addClass("deleting")}else d(r)}),i.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"),O.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.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),o=!1;o=s.length?s.prop("checked"):"checkbox"===l.attr("type");var n=l.attr("name");e(".sortable-options",a).append(R(n,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var z=e(document.getElementById(r+"-view-data"));z.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),s=c.markup("pre",a);c.dialog(s,null,"data-dialog")});var X=e(document.getElementById(r+"-clear-all"));return X.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?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},l):c.dialog("There are no fields to clear",{pageX:l.pageX,pageY:l.pageY})}),e(document.getElementById(r+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
                '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(s.events.loaded),s};e.fn.formBuilder=function(a){return this.each(function(){var s,l=this;if(e(l).data("formBuilder")){var o=e(l).parents(".form-builder:eq(0)");o.before(l),o.remove(),s=new t(a,l),e(l).data("formBuilder",s)}else s=new t(a,l),e(l).data("formBuilder",s)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",s=function(a){var s=[];return e(".sortable-options li",a).each(function(){var a=e(this),l={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),l).outerHTML;s.push("\n "+o)}),s.join("")+"\n "};return this.each(function(){var l=this;l.childNodes.length>=1&&(a+="\n ",t.forEach(l.childNodes,function(l,o){l=l;var n=e(o);if(!n.hasClass("disabled")){var r,i,c,d,u;!function(){r=e(".roles-field:checked",o).map(function(){return this.value}).get(),i=e('[name="enable-other"]:checked',o).length;var l=t.getTypes(n);e('[class*="fld-"]',o).each(function(){var e=t.camelCase(this.name);l[e]="checkbox"===this.type?this.checked:this.value}),r.length&&(l.role=r.join(",")),i&&(l.other="true"),l=t.trimObj(l),l=t.escapeAttrs(l),c=l.type.match(/(select|checkbox-group|radio-group)/),d="",c&&(d=s(n)),u=t.markup("field",d,l),a+="\n "+u.outerHTML}()}}),a+="\n \n")}),a}}(jQuery),"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}}(); \ No newline at end of file diff --git a/demo/assets/js/form-render.min.js b/demo/assets/js/form-render.min.js index f3871fd53..a92e9b16f 100644 --- a/demo/assets/js/form-render.min.js +++ b/demo/assets/js/form-render.min.js @@ -3,4 +3,4 @@ formBuilder - https://formbuilder.online/ Version: 1.14.6 Author: Kevin Chappell */ -"use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                '+r+"
                ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                '+a.labels.on+"
                ",l='
                '+a.labels.off+"
                ",s='
                ',c='
                '+i+s+l+"
                ";o.append(c),o.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};!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 +"use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                '+r+"
                ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                '+a.labels.on+"
                ",l='
                '+a.labels.off+"
                ",s='
                ',c='
                '+i+s+l+"
                ";o.append(c),o.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};!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 diff --git a/demo/assets/js/form-render.min.js.map b/demo/assets/js/form-render.min.js.map index aa80f4642..c75d3ae62 100644 --- a/demo/assets/js/form-render.min.js.map +++ b/demo/assets/js/form-render.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["form-render.min.js","form-render.js","kc-toggle.js"],"names":["FormRenderFn","options","element","formRender","this","defaults","destroyTemplate","container","dataType","formData","label","formRendered","noFormData","other","selectColor","render","notify","error","message","console","success","log","warning","warn","_helpers","opts","$","extend","getElement","id","makeId","document","getElementById","epoch","Date","getTime","tagName","value","markup","tag","content","arguments","length","undefined","attrs","contentType","field","createElement","getContentType","Array","isArray","_typeof","appendContent","string","innerHTML","object","appendChild","array","i","attr","hasOwnProperty","name","safeAttrName","setAttribute","call","fieldRender","fieldMarkup","fieldLabel","optionsMarkup","fieldAttrs","parseAttrs","attributes","fieldLabelText","fieldDesc","description","fieldRequired","fieldOptions","type","subtype","required","fieldLabelVal","fieldAttrsString","attrString","replace","each","index","el","optionAttrs","optionAttrsString","textContent","enableOther","optionName","selected","checked","class","toggle","setTimeout","kcToggle","className","hyphenCase","str","$1","toLowerCase","safeAttr","push","join","window","JSON","stringify","attrNodes","Element","prototype","appendFormFields","fields","reverse","emptyContainer","lastChild","removeChild","otherOptionCB","otherOptions","getElementsByClassName","_loop","otherInput","onclick","evt","option","style","display","nextElementSibling","oninput","runCallbacks","rendered","parseXML","noData","renderedFormWrap","jQuery","_renderedFormWrap","querySelector","parentNode","insertBefore","nextSibling","map","elem","Toggle","theme","labels","off","on","$kcToggle","insertAfter","append","toggleClass","is","kctOn","kctOff","kctHandle","kctInner","click","fn","data","Symbol","iterator","obj","constructor"],"mappings":"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","file":"form-render.min.js","sourcesContent":["'use strict';\n\n(function ($) {\n 'use strict';\n\n var Toggle = function Toggle(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
                ').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = '
                ' + opts.labels.on + '
                ',\n kctOff = '
                ' + opts.labels.off + '
                ',\n kctHandle = '
                ',\n kctInner = '
                ' + kctOn + kctHandle + kctOff + '
                ';\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function () {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n };\n\n $.fn.kcToggle = function (options) {\n var toggle = this;\n return toggle.each(function () {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n})(jQuery);\n'use strict';\n// render the formBuilder XML into html\n\nvar _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; };\n\nfunction FormRenderFn(options, element) {\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n formRendered: 'Form Rendered',\n noFormData: 'No form data.',\n other: 'Other',\n selectColor: 'Select Color'\n },\n render: true,\n notify: {\n error: function error(message) {\n return console.error(message);\n },\n success: function success(message) {\n return console.log(message);\n },\n warning: function warning(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(true, defaults, options);\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function () {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function (element) {\n var epoch = new Date().getTime();\n\n return element.tagName + '-' + epoch;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} tag\n * @param {String|Array|Object} content we wrap this\n * @param {object} attrs\n * @return {String}\n */\n _helpers.markup = function (tag) {\n var content = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n var attrs = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var contentType = void 0,\n field = document.createElement(tag),\n getContentType = function getContentType(content) {\n return Array.isArray(content) ? 'array' : typeof content === 'undefined' ? 'undefined' : _typeof(content);\n },\n appendContent = {\n string: function string(content) {\n field.innerHTML = content;\n },\n object: function object(content) {\n return field.appendChild(content);\n },\n array: function array(content) {\n for (var i = 0; i < content.length; i++) {\n contentType = getContentType(content[i]);\n appendContent[contentType](content[i]);\n }\n }\n };\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n var name = _helpers.safeAttrName(attr);\n field.setAttribute(name, attrs[attr]);\n }\n }\n\n contentType = getContentType(content);\n\n if (content) {\n appendContent[contentType].call(this, content);\n }\n\n return field;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function (field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldLabelText = fieldAttrs.label || '',\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n fieldAttrs.type = fieldAttrs.subtype || fieldAttrs.type;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = '*';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = '?';\n }\n fieldLabel = '';\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = fieldLabel + '';\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function (index, el) {\n index = index;\n var optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += '';\n });\n }\n fieldMarkup = fieldLabel + '';\n break;\n case 'checkbox-group':\n case 'radio-group':\n var enableOther = false;\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldAttrs.other) {\n delete fieldAttrs.other;\n enableOther = true;\n }\n\n if (fieldOptions.length) {\n (function () {\n var optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name,\n optionAttrsString = void 0;\n fieldOptions.each(function (index, el) {\n var optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes));\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += '
                ';\n });\n\n if (enableOther) {\n var optionAttrs = {\n id: fieldAttrs.id + '-' + 'other',\n name: optionName,\n class: fieldAttrs.class + ' other-option'\n };\n\n optionAttrsString = _helpers.attrString($.extend({}, fieldAttrs, optionAttrs));\n optionsMarkup += ' ';\n }\n })();\n }\n fieldMarkup = fieldLabel + '
                ' + optionsMarkup + '
                ';\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'number':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = fieldLabel + ' ';\n break;\n case 'color':\n fieldMarkup = fieldLabel + ' ' + opts.label.selectColor;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = '';\n break;\n case 'checkbox':\n fieldMarkup = ' ' + fieldLabel;\n\n if (fieldAttrs.toggle) {\n setTimeout(function () {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = '<' + fieldAttrs.type + ' ' + fieldAttrsString + '>' + fieldLabelVal + '';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n var className = fieldAttrs.id ? 'form-group field-' + fieldAttrs.id : '';\n fieldMarkup = _helpers.markup('div', fieldMarkup, {\n className: className\n });\n } else {\n fieldMarkup = _helpers.markup('input', null, fieldAttrs);\n }\n\n return fieldMarkup;\n };\n\n /**\n * Convert camelCase into lowercase-hyphen\n *\n * @param {string} str\n * @return {string}\n */\n _helpers.hyphenCase = function (str) {\n str = str.replace(/[^\\w\\s\\-]/gi, '');\n str = str.replace(/([A-Z])/g, function ($1) {\n return '-' + $1.toLowerCase();\n });\n\n return str.replace(/\\s/g, '-').replace(/^-+/g, '');\n };\n\n _helpers.attrString = function (attrs) {\n var attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function (name, value) {\n var safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? '=' + value : '';\n\n return {\n name: name,\n value: value\n };\n };\n\n _helpers.safeAttrName = function (name) {\n var safeAttr = {\n className: 'class'\n };\n\n return safeAttr[name] || _helpers.hyphenCase(name);\n };\n\n _helpers.parseAttrs = function (attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].name] = attrNodes[attr].value;\n }\n }\n return fieldAttrs;\n };\n\n /**\n * Extend Element prototype to allow us to append fields\n *\n * @param {object} fields Node elements\n */\n Element.prototype.appendFormFields = function (fields) {\n var element = this;\n fields.reverse();\n for (var i = fields.length - 1; i >= 0; i--) {\n element.appendChild(fields[i]);\n }\n };\n\n /**\n * Extend Element prototype to remove content\n */\n Element.prototype.emptyContainer = function () {\n var element = this;\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n };\n\n var otherOptionCB = function otherOptionCB() {\n var otherOptions = document.getElementsByClassName('other-option');\n\n var _loop = function _loop() {\n var otherInput = document.getElementById(otherOptions[i].id + '-value');\n otherOptions[i].onclick = function (evt) {\n var option = this;\n if (this.checked) {\n otherInput.style.display = 'inline-block';\n option.nextElementSibling.style.display = 'none';\n otherInput.oninput = function (evt) {\n option.value = this.value;\n };\n } else {\n otherInput.style.display = 'none';\n option.nextElementSibling.style.display = 'inline-block';\n otherInput.oninput = undefined;\n }\n };\n };\n\n for (var i = 0; i < otherOptions.length; i++) {\n _loop();\n }\n };\n\n var runCallbacks = function runCallbacks(fields) {\n otherOptionCB();\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function (index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n } else {\n var noData = _helpers.markup('div', opts.label.noFormData, {\n className: 'no-form-data'\n });\n rendered.push(noData);\n opts.notify.error(opts.label.noFormData);\n }\n\n if (opts.render) {\n if (opts.container) {\n var renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n opts.container = opts.container instanceof jQuery ? opts.container[0] : opts.container;\n opts.container.emptyContainer();\n opts.container.appendChild(renderedFormWrap);\n } else if (element) {\n var _renderedFormWrap = document.querySelector('.rendered-form');\n if (_renderedFormWrap) {\n _renderedFormWrap.emptyContainer();\n _renderedFormWrap.appendFormFields(rendered);\n } else {\n _renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n element.parentNode.insertBefore(_renderedFormWrap, element.nextSibling);\n element.style.display = 'none';\n element.setAttribute('disabled', 'disabled');\n }\n }\n if (fields.length) {\n runCallbacks(fields);\n opts.notify.success(opts.label.formRendered);\n }\n } else {\n formRender.markup = rendered.map(function (elem) {\n return elem.innerHTML;\n }).join('');\n }\n\n return formRender;\n}\n\n(function ($) {\n\n $.fn.formRender = function (options) {\n this.each(function () {\n var formRender = new FormRenderFn(options, this);\n return formRender;\n });\n };\n})(jQuery);","'use strict';\n// render the formBuilder XML into html\nfunction FormRenderFn(options, element) {\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n formRendered: 'Form Rendered',\n noFormData: 'No form data.',\n other: 'Other',\n selectColor: 'Select Color'\n },\n render: true,\n notify: {\n error: function(message) {\n return console.error(message);\n },\n success: function(message) {\n return console.log(message);\n },\n warning: function(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(true, defaults, options);\n\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function() {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function(element) {\n let epoch = new Date().getTime();\n\n return `${element.tagName}-${epoch}`;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} tag\n * @param {String|Array|Object} content we wrap this\n * @param {object} attrs\n * @return {String}\n */\n _helpers.markup = function(tag, content = '', attrs = {}) {\n let contentType,\n field = document.createElement(tag),\n getContentType = function(content) {\n return Array.isArray(content) ? 'array' : typeof content;\n },\n appendContent = {\n string: function(content) {\n field.innerHTML = content;\n },\n object: function(content) {\n return field.appendChild(content);\n },\n array: function(content) {\n for (var i = 0; i < content.length; i++) {\n contentType = getContentType(content[i]);\n appendContent[contentType](content[i]);\n }\n }\n };\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n let name = _helpers.safeAttrName(attr);\n field.setAttribute(name, attrs[attr]);\n }\n }\n\n contentType = getContentType(content);\n\n if (content) {\n appendContent[contentType].call(this, content);\n }\n\n return field;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function(field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldLabelText = fieldAttrs.label || '',\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n fieldAttrs.type = fieldAttrs.subtype || fieldAttrs.type;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = `*`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = `?`;\n }\n fieldLabel = ``;\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function(index, el) {\n index = index;\n let optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += ``;\n });\n }\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'checkbox-group':\n case 'radio-group':\n let enableOther = false;\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n\n if (fieldAttrs.other) {\n delete fieldAttrs.other;\n enableOther = true;\n }\n\n if (fieldOptions.length) {\n let optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name,\n optionAttrsString;\n fieldOptions.each(function(index, el) {\n let optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes));\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += `
                `;\n });\n\n if (enableOther) {\n let optionAttrs = {\n id: fieldAttrs.id + '-' + 'other',\n name: optionName,\n class: fieldAttrs.class + ' other-option'\n };\n\n optionAttrsString = _helpers.attrString($.extend({}, fieldAttrs, optionAttrs));\n optionsMarkup += ` `;\n }\n\n }\n fieldMarkup = `${fieldLabel}
                ${optionsMarkup}
                `;\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'number':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = `${fieldLabel} `;\n break;\n case 'color':\n fieldMarkup = `${fieldLabel} ${opts.label.selectColor}`;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = ``;\n break;\n case 'checkbox':\n fieldMarkup = ` ${fieldLabel}`;\n\n if (fieldAttrs.toggle) {\n setTimeout(function() {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = `<${fieldAttrs.type} ${fieldAttrsString}>${fieldLabelVal}`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n let className = fieldAttrs.id ? 'form-group field-' + fieldAttrs.id : '';\n fieldMarkup = _helpers.markup('div', fieldMarkup, {\n className: className\n });\n } else {\n fieldMarkup = _helpers.markup('input', null, fieldAttrs);\n }\n\n return fieldMarkup;\n };\n\n /**\n * Convert camelCase into lowercase-hyphen\n *\n * @param {string} str\n * @return {string}\n */\n _helpers.hyphenCase = (str) => {\n str = str.replace(/[^\\w\\s\\-]/gi, '');\n str = str.replace(/([A-Z])/g, function($1) {\n return '-' + $1.toLowerCase();\n });\n\n return str.replace(/\\s/g, '-').replace(/^-+/g, '');\n };\n\n _helpers.attrString = function(attrs) {\n let attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function(name, value) {\n let safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? `=${value}` : '';\n\n return {\n name,\n value\n };\n };\n\n _helpers.safeAttrName = function(name) {\n let safeAttr = {\n className: 'class'\n };\n\n return safeAttr[name] || _helpers.hyphenCase(name);\n };\n\n _helpers.parseAttrs = function(attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].name] = attrNodes[attr].value;\n }\n }\n return fieldAttrs;\n };\n\n /**\n * Extend Element prototype to allow us to append fields\n *\n * @param {object} fields Node elements\n */\n Element.prototype.appendFormFields = function(fields) {\n var element = this;\n fields.reverse();\n for (var i = fields.length - 1; i >= 0; i--) {\n element.appendChild(fields[i]);\n }\n };\n\n /**\n * Extend Element prototype to remove content\n */\n Element.prototype.emptyContainer = function() {\n var element = this;\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n };\n\n var otherOptionCB = function() {\n var otherOptions = document.getElementsByClassName('other-option');\n for (var i = 0; i < otherOptions.length; i++) {\n let otherInput = document.getElementById(otherOptions[i].id + '-value');\n otherOptions[i].onclick = function(evt) {\n let option = this;\n if (this.checked) {\n otherInput.style.display = 'inline-block';\n option.nextElementSibling.style.display = 'none';\n otherInput.oninput = function(evt) { option.value = this.value };\n } else {\n otherInput.style.display = 'none';\n option.nextElementSibling.style.display = 'inline-block';\n otherInput.oninput = undefined;\n }\n };\n }\n };\n\n var runCallbacks = function(fields) {\n otherOptionCB();\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function(index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n } else {\n let noData = _helpers.markup('div', opts.label.noFormData, {\n className: 'no-form-data'\n });\n rendered.push(noData);\n opts.notify.error(opts.label.noFormData);\n }\n\n if (opts.render) {\n if (opts.container) {\n let renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n opts.container = (opts.container instanceof jQuery) ? opts.container[0] : opts.container;\n opts.container.emptyContainer();\n opts.container.appendChild(renderedFormWrap);\n } else if (element) {\n let renderedFormWrap = document.querySelector('.rendered-form');\n if (renderedFormWrap) {\n renderedFormWrap.emptyContainer();\n renderedFormWrap.appendFormFields(rendered);\n } else {\n renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n element.parentNode.insertBefore(renderedFormWrap, element.nextSibling);\n element.style.display = 'none';\n element.setAttribute('disabled', 'disabled');\n }\n }\n if (fields.length) {\n runCallbacks(fields);\n opts.notify.success(opts.label.formRendered);\n }\n } else {\n formRender.markup = rendered.map(function(elem) {\n return elem.innerHTML;\n }).join('');\n }\n\n return formRender;\n}\n\n(function($) {\n\n $.fn.formRender = function(options) {\n this.each(function() {\n let formRender = new FormRenderFn(options, this);\n return formRender;\n });\n };\n\n})(jQuery);\n","(function($) {\n 'use strict';\n\n var Toggle = function(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
                ').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = `
                ${opts.labels.on}
                `,\n kctOff = `
                ${opts.labels.off}
                `,\n kctHandle = `
                `,\n kctInner = `
                ${kctOn}${kctHandle}${kctOff}
                `;\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function() {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n\n };\n\n $.fn.kcToggle = function(options) {\n var toggle = this;\n return toggle.each(function() {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n\n})(jQuery);\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["form-render.min.js","form-render.js","kc-toggle.js"],"names":["FormRenderFn","options","element","formRender","this","defaults","destroyTemplate","container","dataType","formData","label","formRendered","noFormData","other","selectColor","render","notify","error","message","console","success","log","warning","warn","_helpers","opts","$","extend","getElement","id","makeId","document","getElementById","epoch","Date","getTime","tagName","value","markup","tag","content","arguments","length","undefined","attrs","contentType","field","createElement","getContentType","Array","isArray","_typeof","appendContent","string","innerHTML","object","appendChild","array","i","attr","hasOwnProperty","name","safeAttrName","setAttribute","call","fieldRender","fieldMarkup","fieldLabel","optionsMarkup","fieldAttrs","parseAttrs","attributes","fieldLabelText","fieldDesc","description","fieldRequired","fieldOptions","type","subtype","required","fieldLabelVal","fieldAttrsString","attrString","replace","each","index","el","optionAttrs","optionAttrsString","textContent","enableOther","optionName","selected","checked","class","toggle","setTimeout","kcToggle","className","hyphenCase","str","$1","toLowerCase","safeAttr","push","join","window","JSON","stringify","attrNodes","Element","prototype","appendFormFields","fields","reverse","emptyContainer","lastChild","removeChild","otherOptionCB","otherOptions","getElementsByClassName","_loop","otherInput","onclick","evt","option","style","display","nextElementSibling","oninput","runCallbacks","rendered","parseXML","noData","renderedFormWrap","jQuery","_renderedFormWrap","querySelector","parentNode","insertBefore","nextSibling","map","elem","Toggle","theme","labels","off","on","$kcToggle","insertAfter","append","toggleClass","is","kctOn","kctOff","kctHandle","kctInner","click","fn","data","Symbol","iterator","obj","constructor"],"mappings":"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","file":"form-render.min.js","sourcesContent":["'use strict';\n\n(function ($) {\n 'use strict';\n\n var Toggle = function Toggle(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
                ').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = '
                ' + opts.labels.on + '
                ',\n kctOff = '
                ' + opts.labels.off + '
                ',\n kctHandle = '
                ',\n kctInner = '
                ' + kctOn + kctHandle + kctOff + '
                ';\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function () {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n };\n\n $.fn.kcToggle = function (options) {\n var toggle = this;\n return toggle.each(function () {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n})(jQuery);\n'use strict';\n// render the formBuilder XML into html\n\nvar _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; };\n\nfunction FormRenderFn(options, element) {\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n formRendered: 'Form Rendered',\n noFormData: 'No form data.',\n other: 'Other',\n selectColor: 'Select Color'\n },\n render: true,\n notify: {\n error: function error(message) {\n return console.error(message);\n },\n success: function success(message) {\n return console.log(message);\n },\n warning: function warning(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(true, defaults, options);\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function () {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function (element) {\n var epoch = new Date().getTime();\n\n return element.tagName + '-' + epoch;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} tag\n * @param {String|Array|Object} content we wrap this\n * @param {object} attrs\n * @return {String}\n */\n _helpers.markup = function (tag) {\n var content = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n var attrs = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var contentType = void 0,\n field = document.createElement(tag),\n getContentType = function getContentType(content) {\n return Array.isArray(content) ? 'array' : typeof content === 'undefined' ? 'undefined' : _typeof(content);\n },\n appendContent = {\n string: function string(content) {\n field.innerHTML = content;\n },\n object: function object(content) {\n return field.appendChild(content);\n },\n array: function array(content) {\n for (var i = 0; i < content.length; i++) {\n contentType = getContentType(content[i]);\n appendContent[contentType](content[i]);\n }\n }\n };\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n var name = _helpers.safeAttrName(attr);\n field.setAttribute(name, attrs[attr]);\n }\n }\n\n contentType = getContentType(content);\n\n if (content) {\n appendContent[contentType].call(this, content);\n }\n\n return field;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function (field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldLabelText = fieldAttrs.label || '',\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n fieldAttrs.type = fieldAttrs.subtype || fieldAttrs.type;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = '*';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = '?';\n }\n fieldLabel = '';\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = fieldLabel + '';\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function (index, el) {\n index = index;\n var optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += '';\n });\n }\n fieldMarkup = fieldLabel + '';\n break;\n case 'checkbox-group':\n case 'radio-group':\n var enableOther = false;\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldAttrs.other) {\n delete fieldAttrs.other;\n enableOther = true;\n }\n\n if (fieldOptions.length) {\n (function () {\n var optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name,\n optionAttrsString = void 0;\n fieldOptions.each(function (index, el) {\n var optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes));\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += '
                ';\n });\n\n if (enableOther) {\n var optionAttrs = {\n id: fieldAttrs.id + '-' + 'other',\n name: optionName,\n class: fieldAttrs.class + ' other-option'\n };\n\n optionAttrsString = _helpers.attrString($.extend({}, fieldAttrs, optionAttrs));\n optionsMarkup += ' ';\n }\n })();\n }\n fieldMarkup = fieldLabel + '
                ' + optionsMarkup + '
                ';\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'number':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = fieldLabel + ' ';\n break;\n case 'color':\n fieldMarkup = fieldLabel + ' ' + opts.label.selectColor;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = '';\n break;\n case 'checkbox':\n fieldMarkup = ' ' + fieldLabel;\n\n if (fieldAttrs.toggle) {\n setTimeout(function () {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = '<' + fieldAttrs.type + ' ' + fieldAttrsString + '>' + fieldLabelVal + '';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n var className = fieldAttrs.id ? 'form-group field-' + fieldAttrs.id : '';\n fieldMarkup = _helpers.markup('div', fieldMarkup, {\n className: className\n });\n } else {\n fieldMarkup = _helpers.markup('input', null, fieldAttrs);\n }\n\n return fieldMarkup;\n };\n\n /**\n * Convert camelCase into lowercase-hyphen\n *\n * @param {string} str\n * @return {string}\n */\n _helpers.hyphenCase = function (str) {\n str = str.replace(/[^\\w\\s\\-]/gi, '');\n str = str.replace(/([A-Z])/g, function ($1) {\n return '-' + $1.toLowerCase();\n });\n\n return str.replace(/\\s/g, '-').replace(/^-+/g, '');\n };\n\n _helpers.attrString = function (attrs) {\n var attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function (name, value) {\n var safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? '=' + value : '';\n\n return {\n name: name,\n value: value\n };\n };\n\n _helpers.safeAttrName = function (name) {\n var safeAttr = {\n className: 'class'\n };\n\n return safeAttr[name] || _helpers.hyphenCase(name);\n };\n\n _helpers.parseAttrs = function (attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].name] = attrNodes[attr].value;\n }\n }\n return fieldAttrs;\n };\n\n /**\n * Extend Element prototype to allow us to append fields\n *\n * @param {object} fields Node elements\n */\n Element.prototype.appendFormFields = function (fields) {\n var element = this;\n fields.reverse();\n for (var i = fields.length - 1; i >= 0; i--) {\n element.appendChild(fields[i]);\n }\n };\n\n /**\n * Extend Element prototype to remove content\n */\n Element.prototype.emptyContainer = function () {\n var element = this;\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n };\n\n var otherOptionCB = function otherOptionCB() {\n var otherOptions = document.getElementsByClassName('other-option');\n\n var _loop = function _loop() {\n var otherInput = document.getElementById(otherOptions[i].id + '-value');\n otherOptions[i].onclick = function (evt) {\n var option = this;\n if (this.checked) {\n otherInput.style.display = 'inline-block';\n option.nextElementSibling.style.display = 'none';\n otherInput.oninput = function (evt) {\n option.value = this.value;\n };\n } else {\n otherInput.style.display = 'none';\n option.nextElementSibling.style.display = 'inline-block';\n otherInput.oninput = undefined;\n }\n };\n };\n\n for (var i = 0; i < otherOptions.length; i++) {\n _loop();\n }\n };\n\n var runCallbacks = function runCallbacks() {\n otherOptionCB();\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function (index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n } else {\n var noData = _helpers.markup('div', opts.label.noFormData, {\n className: 'no-form-data'\n });\n rendered.push(noData);\n opts.notify.error(opts.label.noFormData);\n }\n\n if (opts.render) {\n if (opts.container) {\n var renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n opts.container = opts.container instanceof jQuery ? opts.container[0] : opts.container;\n opts.container.emptyContainer();\n opts.container.appendChild(renderedFormWrap);\n } else if (element) {\n var _renderedFormWrap = document.querySelector('.rendered-form');\n if (_renderedFormWrap) {\n _renderedFormWrap.emptyContainer();\n _renderedFormWrap.appendFormFields(rendered);\n } else {\n _renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n element.parentNode.insertBefore(_renderedFormWrap, element.nextSibling);\n element.style.display = 'none';\n element.setAttribute('disabled', 'disabled');\n }\n }\n if (fields.length) {\n runCallbacks(fields);\n opts.notify.success(opts.label.formRendered);\n }\n } else {\n formRender.markup = rendered.map(function (elem) {\n return elem.innerHTML;\n }).join('');\n }\n\n return formRender;\n}\n\n(function ($) {\n\n $.fn.formRender = function (options) {\n this.each(function () {\n var formRender = new FormRenderFn(options, this);\n return formRender;\n });\n };\n})(jQuery);","'use strict';\n// render the formBuilder XML into html\nfunction FormRenderFn(options, element) {\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n formRendered: 'Form Rendered',\n noFormData: 'No form data.',\n other: 'Other',\n selectColor: 'Select Color'\n },\n render: true,\n notify: {\n error: function(message) {\n return console.error(message);\n },\n success: function(message) {\n return console.log(message);\n },\n warning: function(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(true, defaults, options);\n\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function() {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function(element) {\n let epoch = new Date().getTime();\n\n return `${element.tagName}-${epoch}`;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} tag\n * @param {String|Array|Object} content we wrap this\n * @param {object} attrs\n * @return {String}\n */\n _helpers.markup = function(tag, content = '', attrs = {}) {\n let contentType,\n field = document.createElement(tag),\n getContentType = function(content) {\n return Array.isArray(content) ? 'array' : typeof content;\n },\n appendContent = {\n string: function(content) {\n field.innerHTML = content;\n },\n object: function(content) {\n return field.appendChild(content);\n },\n array: function(content) {\n for (var i = 0; i < content.length; i++) {\n contentType = getContentType(content[i]);\n appendContent[contentType](content[i]);\n }\n }\n };\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n let name = _helpers.safeAttrName(attr);\n field.setAttribute(name, attrs[attr]);\n }\n }\n\n contentType = getContentType(content);\n\n if (content) {\n appendContent[contentType].call(this, content);\n }\n\n return field;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function(field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldLabelText = fieldAttrs.label || '',\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n fieldAttrs.type = fieldAttrs.subtype || fieldAttrs.type;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = `*`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = `?`;\n }\n fieldLabel = ``;\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function(index, el) {\n index = index;\n let optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += ``;\n });\n }\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'checkbox-group':\n case 'radio-group':\n let enableOther = false;\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n\n if (fieldAttrs.other) {\n delete fieldAttrs.other;\n enableOther = true;\n }\n\n if (fieldOptions.length) {\n let optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name,\n optionAttrsString;\n fieldOptions.each(function(index, el) {\n let optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes));\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionsMarkup += `
                `;\n });\n\n if (enableOther) {\n let optionAttrs = {\n id: fieldAttrs.id + '-' + 'other',\n name: optionName,\n class: fieldAttrs.class + ' other-option'\n };\n\n optionAttrsString = _helpers.attrString($.extend({}, fieldAttrs, optionAttrs));\n optionsMarkup += ` `;\n }\n\n }\n fieldMarkup = `${fieldLabel}
                ${optionsMarkup}
                `;\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'number':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = `${fieldLabel} `;\n break;\n case 'color':\n fieldMarkup = `${fieldLabel} ${opts.label.selectColor}`;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = ``;\n break;\n case 'checkbox':\n fieldMarkup = ` ${fieldLabel}`;\n\n if (fieldAttrs.toggle) {\n setTimeout(function() {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = `<${fieldAttrs.type} ${fieldAttrsString}>${fieldLabelVal}`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n let className = fieldAttrs.id ? 'form-group field-' + fieldAttrs.id : '';\n fieldMarkup = _helpers.markup('div', fieldMarkup, {\n className: className\n });\n } else {\n fieldMarkup = _helpers.markup('input', null, fieldAttrs);\n }\n\n return fieldMarkup;\n };\n\n /**\n * Convert camelCase into lowercase-hyphen\n *\n * @param {string} str\n * @return {string}\n */\n _helpers.hyphenCase = (str) => {\n str = str.replace(/[^\\w\\s\\-]/gi, '');\n str = str.replace(/([A-Z])/g, function($1) {\n return '-' + $1.toLowerCase();\n });\n\n return str.replace(/\\s/g, '-').replace(/^-+/g, '');\n };\n\n _helpers.attrString = function(attrs) {\n let attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function(name, value) {\n let safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? `=${value}` : '';\n\n return {\n name,\n value\n };\n };\n\n _helpers.safeAttrName = function(name) {\n let safeAttr = {\n className: 'class'\n };\n\n return safeAttr[name] || _helpers.hyphenCase(name);\n };\n\n _helpers.parseAttrs = function(attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].name] = attrNodes[attr].value;\n }\n }\n return fieldAttrs;\n };\n\n /**\n * Extend Element prototype to allow us to append fields\n *\n * @param {object} fields Node elements\n */\n Element.prototype.appendFormFields = function(fields) {\n var element = this;\n fields.reverse();\n for (var i = fields.length - 1; i >= 0; i--) {\n element.appendChild(fields[i]);\n }\n };\n\n /**\n * Extend Element prototype to remove content\n */\n Element.prototype.emptyContainer = function() {\n var element = this;\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n };\n\n var otherOptionCB = function() {\n var otherOptions = document.getElementsByClassName('other-option');\n for (var i = 0; i < otherOptions.length; i++) {\n let otherInput = document.getElementById(otherOptions[i].id + '-value');\n otherOptions[i].onclick = function(evt) {\n let option = this;\n if (this.checked) {\n otherInput.style.display = 'inline-block';\n option.nextElementSibling.style.display = 'none';\n otherInput.oninput = function(evt) { option.value = this.value; };\n } else {\n otherInput.style.display = 'none';\n option.nextElementSibling.style.display = 'inline-block';\n otherInput.oninput = undefined;\n }\n };\n }\n };\n\n var runCallbacks = function() {\n otherOptionCB();\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function(index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n } else {\n let noData = _helpers.markup('div', opts.label.noFormData, {\n className: 'no-form-data'\n });\n rendered.push(noData);\n opts.notify.error(opts.label.noFormData);\n }\n\n if (opts.render) {\n if (opts.container) {\n let renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n opts.container = (opts.container instanceof jQuery) ? opts.container[0] : opts.container;\n opts.container.emptyContainer();\n opts.container.appendChild(renderedFormWrap);\n } else if (element) {\n let renderedFormWrap = document.querySelector('.rendered-form');\n if (renderedFormWrap) {\n renderedFormWrap.emptyContainer();\n renderedFormWrap.appendFormFields(rendered);\n } else {\n renderedFormWrap = _helpers.markup('div', rendered, { className: 'rendered-form' });\n element.parentNode.insertBefore(renderedFormWrap, element.nextSibling);\n element.style.display = 'none';\n element.setAttribute('disabled', 'disabled');\n }\n }\n if (fields.length) {\n runCallbacks(fields);\n opts.notify.success(opts.label.formRendered);\n }\n } else {\n formRender.markup = rendered.map(function(elem) {\n return elem.innerHTML;\n }).join('');\n }\n\n return formRender;\n}\n\n(function($) {\n\n $.fn.formRender = function(options) {\n this.each(function() {\n let formRender = new FormRenderFn(options, this);\n return formRender;\n });\n };\n\n})(jQuery);\n","(function($) {\n 'use strict';\n\n var Toggle = function(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
                ').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = `
                ${opts.labels.on}
                `,\n kctOff = `
                ${opts.labels.off}
                `,\n kctHandle = `
                `,\n kctInner = `
                ${kctOn}${kctHandle}${kctOff}
                `;\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function() {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n\n };\n\n $.fn.kcToggle = function(options) {\n var toggle = this;\n return toggle.each(function() {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n\n})(jQuery);\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/demo/index.html b/demo/index.html index 26b735f68..3c60fc1e1 100644 --- a/demo/index.html +++ b/demo/index.html @@ -12,7 +12,12 @@

                jQuery formBuilder

                - +
                diff --git a/dist/form-builder.js b/dist/form-builder.js index 4ef05cbf9..f34bb7831 100644 --- a/dist/form-builder.js +++ b/dist/form-builder.js @@ -5,191 +5,6 @@ Author: Kevin Chappell */ 'use strict'; -/** - * PHP htmlentities recreation in JavaScript - * minor changes to match styleguide and remove unneeded functionality - * @see https://github.com/kvz/phpjs - */ -var HTML_ENTITIES = function () { - 'use strict'; - - var htmlEntities = {}; - - htmlEntities.getHtmlTranslationTable = function (table, quoteStyle) { - - var entities = {}, - hashMap = {}, - decimal; - var constMappingTable = {}, - constMappingQuoteStyle = {}; - var useTable = {}, - useQuoteStyle = {}; - - // Translate arguments - constMappingTable[0] = 'HTML_SPECIALCHARS'; - constMappingTable[1] = 'HTML_ENTITIES'; - constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; - constMappingQuoteStyle[2] = 'ENT_COMPAT'; - constMappingQuoteStyle[3] = 'ENT_QUOTES'; - - useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; - useQuoteStyle = !isNaN(quoteStyle) ? constMappingQuoteStyle[quoteStyle] : quoteStyle ? quoteStyle.toUpperCase() : 'ENT_COMPAT'; - - if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { - throw new Error('Table: ' + useTable + ' not supported'); - // return false; - } - - entities['38'] = '&'; - if (useTable === 'HTML_ENTITIES') { - entities['160'] = ' '; - entities['161'] = '¡'; - entities['162'] = '¢'; - entities['163'] = '£'; - entities['164'] = '¤'; - entities['165'] = '¥'; - entities['166'] = '¦'; - entities['167'] = '§'; - entities['168'] = '¨'; - entities['169'] = '©'; - entities['170'] = 'ª'; - entities['171'] = '«'; - entities['172'] = '¬'; - entities['173'] = '­'; - entities['174'] = '®'; - entities['175'] = '¯'; - entities['176'] = '°'; - entities['177'] = '±'; - entities['178'] = '²'; - entities['179'] = '³'; - entities['180'] = '´'; - entities['181'] = 'µ'; - entities['182'] = '¶'; - entities['183'] = '·'; - entities['184'] = '¸'; - entities['185'] = '¹'; - entities['186'] = 'º'; - entities['187'] = '»'; - entities['188'] = '¼'; - entities['189'] = '½'; - entities['190'] = '¾'; - entities['191'] = '¿'; - entities['192'] = 'À'; - entities['193'] = 'Á'; - entities['194'] = 'Â'; - entities['195'] = 'Ã'; - entities['196'] = 'Ä'; - entities['197'] = 'Å'; - entities['198'] = 'Æ'; - entities['199'] = 'Ç'; - entities['200'] = 'È'; - entities['201'] = 'É'; - entities['202'] = 'Ê'; - entities['203'] = 'Ë'; - entities['204'] = 'Ì'; - entities['205'] = 'Í'; - entities['206'] = 'Î'; - entities['207'] = 'Ï'; - entities['208'] = 'Ð'; - entities['209'] = 'Ñ'; - entities['210'] = 'Ò'; - entities['211'] = 'Ó'; - entities['212'] = 'Ô'; - entities['213'] = 'Õ'; - entities['214'] = 'Ö'; - entities['215'] = '×'; - entities['216'] = 'Ø'; - entities['217'] = 'Ù'; - entities['218'] = 'Ú'; - entities['219'] = 'Û'; - entities['220'] = 'Ü'; - entities['221'] = 'Ý'; - entities['222'] = 'Þ'; - entities['223'] = 'ß'; - entities['224'] = 'à'; - entities['225'] = 'á'; - entities['226'] = 'â'; - entities['227'] = 'ã'; - entities['228'] = 'ä'; - entities['229'] = 'å'; - entities['230'] = 'æ'; - entities['231'] = 'ç'; - entities['232'] = 'è'; - entities['233'] = 'é'; - entities['234'] = 'ê'; - entities['235'] = 'ë'; - entities['236'] = 'ì'; - entities['237'] = 'í'; - entities['238'] = 'î'; - entities['239'] = 'ï'; - entities['240'] = 'ð'; - entities['241'] = 'ñ'; - entities['242'] = 'ò'; - entities['243'] = 'ó'; - entities['244'] = 'ô'; - entities['245'] = 'õ'; - entities['246'] = 'ö'; - entities['247'] = '÷'; - entities['248'] = 'ø'; - entities['249'] = 'ù'; - entities['250'] = 'ú'; - entities['251'] = 'û'; - entities['252'] = 'ü'; - entities['253'] = 'ý'; - entities['254'] = 'þ'; - entities['255'] = 'ÿ'; - } - - if (useQuoteStyle !== 'ENT_NOQUOTES') { - entities['34'] = '"'; - } - if (useQuoteStyle === 'ENT_QUOTES') { - entities['39'] = '''; - } - entities['60'] = '<'; - entities['62'] = '>'; - - // ascii decimals to real symbols - for (decimal in entities) { - if (entities.hasOwnProperty(decimal)) { - hashMap[String.fromCharCode(decimal)] = entities[decimal]; - } - } - - return hashMap; - }; - - htmlEntities.encode = function (string, quoteStyle) { - var hashMap = this.getHtmlTranslationTable('HTML_ENTITIES', quoteStyle); - - string = string === null ? '' : string + ''; - - if (!hashMap) { - return false; - } - - if (quoteStyle && quoteStyle === 'ENT_QUOTES') { - hashMap['\''] = '''; - } - - var regex = new RegExp('&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|[' + Object.keys(hashMap).join('') - // replace regexp special chars - .replace(/([()[\]{}\-.*+?^$|\/\\])/g, '\\$1') + ']', 'g'); - - return string.replace(regex, function (ent) { - var encoded = void 0; - if (ent.length > 1) { - encoded = ent; - } - encoded = hashMap[ent]; - return encoded; - }); - }; - - return htmlEntities; -}(HTML_ENTITIES || {}); -'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; }; function formBuilderHelpersFn(opts, formBuilder) { @@ -266,7 +81,7 @@ function formBuilderHelpersFn(opts, formBuilder) { _helpers.safeAttr = function (name, value) { name = _helpers.safeAttrName(name); - var valString = window.JSON.stringify(HTML_ENTITIES.encode(value)); + var valString = window.JSON.stringify(_helpers.escapeAttr(value)); value = value ? '=' + valString : ''; return { @@ -404,7 +219,7 @@ function formBuilderHelpersFn(opts, formBuilder) { }; // Remove null or undefined values - _helpers.trimAttrs = function (attrs) { + _helpers.trimObj = function (attrs) { var xmlRemove = [null, undefined, '', false]; for (var i in attrs) { if (_helpers.inArray(attrs[i], xmlRemove)) { @@ -414,11 +229,27 @@ function formBuilderHelpersFn(opts, formBuilder) { return attrs; }; + _helpers.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 _helpers.escapeAttrs = function (attrs) { + for (var attr in attrs) { if (attrs.hasOwnProperty(attr)) { - attrs[attr] = HTML_ENTITIES.encode(attrs[attr]); + attrs[attr] = _helpers.escapeAttr(attrs[attr]); } } @@ -432,6 +263,7 @@ function formBuilderHelpersFn(opts, formBuilder) { */ _helpers.xmlSave = function (form) { var formDataNew = $(form).toXML(_helpers); + if (window.JSON.stringify(formDataNew) === window.JSON.stringify(formBuilder.formData)) { return false; } @@ -523,7 +355,6 @@ function formBuilderHelpersFn(opts, formBuilder) { * @param {Object} field jQuery wrapped dom object @todo, remove jQuery dependency */ _helpers.updatePreview = function (field) { - var fieldData = field.data('fieldData') || {}; var fieldClass = field.attr('class'); if (fieldClass.indexOf('ui-sortable-handle') !== -1) { return; @@ -537,7 +368,6 @@ function formBuilderHelpersFn(opts, formBuilder) { preview; $('[class*="fld-"]', field).each(function () { - console.log(); var name = _helpers.camelCase(this.name); previewData[name] = this.type === 'checkbox' ? this.checked : this.value; }); @@ -560,7 +390,7 @@ function formBuilderHelpersFn(opts, formBuilder) { }); } - previewData = _helpers.trimAttrs(previewData); + previewData = _helpers.trimObj(previewData); previewData.className = _helpers.classNames(field, previewData); $('.fld-className', field).val(previewData.className); @@ -632,8 +462,7 @@ function formBuilderHelpersFn(opts, formBuilder) { type: type, onclick: 'otherOptionCallback(\'' + otherID + '\')' }, - otherInput = _helpers.markup('input', null, optionAttrs), - optionAttrsString = _helpers.attrString(optionAttrs); + otherInput = _helpers.markup('input', null, optionAttrs); window.otherOptionCallback = function (otherID) { var option = document.getElementById(otherID), @@ -1305,6 +1134,7 @@ function formBuilderEventsFn() { 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', @@ -1325,7 +1155,7 @@ function formBuilderEventsFn() { editorTitle: 'Form Elements', editXML: 'Edit XML', enableOther: 'Enable "Other"', - enableOtherMsg: 'Permit users to enter an unlisted option', + enableOtherMsg: 'Let users to enter an unlisted option', fieldDeleteWarning: false, fieldVars: 'Field Variables', fieldNonEditable: 'This field cannot be edited.', @@ -1342,6 +1172,7 @@ function formBuilderEventsFn() { mandatory: 'Mandatory', maxlength: 'Max Length', minOptionMessage: 'This field requires a minimum of 2 options', + multipleFiles: 'Multiple Files', name: 'Name', no: 'No', number: 'Number', @@ -1713,7 +1544,6 @@ function formBuilderEventsFn() { var isNew = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; var field = {}; - if ($field instanceof jQuery) { var fieldData = $field.data('newFieldData'); if (fieldData) { @@ -1730,6 +1560,7 @@ function formBuilderEventsFn() { }; }); } + for (var i = attrs.length - 1; i >= 0; i--) { field[attrs[i].name] = attrs[i].value; } @@ -1738,20 +1569,16 @@ function formBuilderEventsFn() { field = $field; } - field.label = _helpers.htmlEncode(field.label); field.name = isNew ? nameAttr(field) : field.name; - field.role = field.role; - field.className = field.className || field.class; - field.required = field.required === 'true' || field.required === true; - field.maxlength = field.maxlength; - field.toggle = field.toggle; - field.description = field.description !== undefined ? _helpers.htmlEncode(field.description) : ''; + field.className = field.className || field.class; // backwards compatibility var match = /(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(field.className); if (match) { field.style = match[1]; } + _helpers.escapeAttrs(field); + appendNewField(field); $stageWrap.removeClass('empty'); }; @@ -1829,23 +1656,16 @@ function formBuilderEventsFn() { return field.type + '-' + epoch; }; - // multi-line textarea - var appendTextarea = function appendTextarea(values) { - appendFieldLi(opts.messages.textArea, advFields(values), values); - }; - - var appendInput = function appendInput(values) { - var type = values.type || 'text'; - appendFieldLi(opts.messages[type], advFields(values), values); - }; - /** * Add data for field with options [select, checkbox-group, radio-group] * - * @todo refactor this nasty crap, its actually painful to look at + * @todo refactor this nasty ~crap~ code, its actually painful to look at * @param {object} values */ - var appendSelectList = function appendSelectList(values) { + var fieldOptions = function fieldOptions(values) { + var addOption = _helpers.markup('a', opts.messages.addOption, { className: 'add add-opt' }), + fieldOptions = ''; + if (!values.values || !values.values.length) { values.values = [{ selected: true @@ -1860,50 +1680,24 @@ function formBuilderEventsFn() { }); } - var field = ''; - - field += advFields(values); - field += '
                '; - field += ''; - field += '
                '; + fieldOptions += ''; + fieldOptions += '
                '; if (values.type === 'select') { - field += '
                '; - field += ''; - field += ''; - field += '
                '; + var labels = { + second: opts.messages.selectionsMessage + }; + fieldOptions += boolAttribute('multiple', values, labels); } - field += '
                  '; + + fieldOptions += '
                    '; for (i = 0; i < values.values.length; i++) { - field += selectFieldOptions(values.name, values.values[i], values.multiple); + fieldOptions += selectFieldOptions(values.name, values.values[i], values.multiple); } - field += '
                  '; - var addOption = _helpers.markup('a', opts.messages.addOption, { className: 'add add-opt' }); - field += _helpers.markup('div', addOption, { className: 'option-actions' }).outerHTML; - field += '
                '; - field += '
                '; - appendFieldLi(opts.messages.select, field, values); - - $('.sortable-options').sortable(); // making the dynamically added option fields sortable. - }; + fieldOptions += '
              '; + fieldOptions += _helpers.markup('div', addOption, { className: 'option-actions' }).outerHTML; + fieldOptions += '
              '; - var appendNewField = function appendNewField(values) { - - // TODO: refactor to move functions into this object - var appendFieldType = { - 'select': appendSelectList, - 'rich-text': appendTextarea, - 'textarea': appendTextarea, - 'radio-group': appendSelectList, - 'checkbox-group': appendSelectList - }; - - values = values || ''; - - if (appendFieldType[values.type]) { - appendFieldType[values.type](values); - } else { - appendInput(values); - } + return _helpers.markup('div', fieldOptions, { className: 'form-group field-options' }).outerHTML; }; /** @@ -1915,26 +1709,35 @@ function formBuilderEventsFn() { var advFields = [], key, checked = '', + optionFields = ['select', 'checkbox-group', 'radio-group'], + isOptionField = function () { + return optionFields.indexOf(values.type) !== -1; + }(), + noValueField = function noValueField() { + 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(',') : []; - // var fieldLabelLabel = _helpers.markup('label', opts.messages.label); - // var fieldLabelInput = _helpers.markup('input', null, { - // type: 'text', - // name: 'label', - // value: values.label, - // className: 'fld-label form-control' - // }); - // var fieldLabel = _helpers.markup('div', [fieldLabelLabel, fieldLabelInput], { - // className: 'form-group label-wrap' - // }); - advFields.push(textAttribute('label', values)); + advFields.push(requiredField(values)); + + if (values.type === 'checkbox') { + advFields.push(boolAttribute('toggle', values, { first: opts.messages.toggle })); + } - // advFields.push(fieldLabel.outerHTML); + advFields.push(textAttribute('label', values)); values.size = values.size || 'm'; values.style = values.style || 'default'; - advFields.push(fieldDescription(values)); + //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)); @@ -1955,7 +1758,17 @@ function formBuilderEventsFn() { advFields.push(textAttribute('name', values)); - advFields.push(textAttribute('value', values)); + if (!noValueField) { + 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('
              '); @@ -1976,46 +1789,32 @@ function formBuilderEventsFn() { advFields.push('
              '); } + if (isOptionField) { + advFields.push(fieldOptions(values)); + } + advFields.push(textAttribute('maxlength', values)); return advFields.join(''); }; - /** - * Description meta for field - * - * @param {Object} values field values - * @return {String} markup for attribute, @todo change to actual Node - */ - var fieldDescription = function fieldDescription(values) { - var noDescFields = ['header', 'paragraph', 'button'], - noMakeAttr = [], - descriptionField = ''; - - noDescFields = noDescFields.concat(opts.messages.subtypes.header, opts.messages.subtypes.paragraph); + var boolAttribute = function boolAttribute(name, values, labels) { + var label = function label(txt) { + return ''; + }, + checked = values[name] !== undefined ? 'checked' : '', + input = '', + inner = [input]; - if (noDescFields.indexOf(values.type) === -1) { - noMakeAttr.push(true); + if (labels.first) { + inner.unshift(label(labels.first)); } - if (noMakeAttr.some(function (elem) { - return elem === true; - })) { - var fieldDescLabel = _helpers.markup('label', opts.messages.description, { 'for': 'description-' + lastID }), - fieldDescInput = _helpers.markup('input', null, { - type: 'text', - className: 'fld-description form-control', - name: 'description', - id: 'description-' + lastID, - value: values.description - }), - fieldDesc = _helpers.markup('div', [fieldDescLabel, fieldDescInput], { - 'class': 'form-group description-wrap' - }); - descriptionField = fieldDesc.outerHTML; + if (labels.second) { + inner.push(label(labels.second)); } - return descriptionField; + return '
              ' + inner.join('') + '
              '; }; /** @@ -2092,14 +1891,15 @@ function formBuilderEventsFn() { */ var textAttribute = function textAttribute(attribute, values) { 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 = attribute === 'label' ? values.label : values[attribute] || ''; - var attrLabel = opts.messages[attribute]; + var attrVal = values[attribute] || '', + attrLabel = opts.messages[attribute]; if (attribute === 'label' && _helpers.inArray(values.type, textArea)) { attrLabel = opts.messages.content; } @@ -2130,7 +1930,7 @@ function formBuilderEventsFn() { if (!noMakeAttr.some(function (elem) { return elem === true; })) { - var attributeLabel = ''; + var attributeLabel = ''; if (attribute === 'label' && _helpers.inArray(values.type, textArea)) { attributefield += ''; @@ -2152,39 +1952,19 @@ function formBuilderEventsFn() { if (_helpers.inArray(values.type, noRequire)) { noMake.push(true); } - if (!noMake.some(function (elem) { return elem === true; })) { - - requireField += '
              '; - requireField += ''; - var _requiredField = _helpers.markup('input', null, { - className: 'fld-required', - type: 'checkbox', - name: 'required', - id: 'required-' + lastID, - value: 1 - }); - - _requiredField.defaultChecked = values.required; - - requireField += _requiredField.outerHTML; - requireField += _helpers.markup('label', opts.messages.required, { - className: 'required-label', - 'for': 'required-' + lastID - }).outerHTML; - requireField += '
              '; + requireField = boolAttribute('required', values, { first: opts.messages.required }); } return requireField; }; // Append the new field to the editor - var appendFieldLi = function appendFieldLi(title, field, values) { - var labelVal = $(field).find('input[name="label"]').val(), - label = labelVal ? labelVal : title; - - var delBtn = _helpers.markup('a', opts.messages.remove, { + var appendNewField = function appendNewField(values) { + var type = values.type || 'text', + label = values.label || opts.messages[type] || opts.messages.label, + delBtn = _helpers.markup('a', opts.messages.remove, { id: 'del_' + lastID, className: 'del-button btn delete-confirm', title: opts.messages.removeMessage @@ -2193,35 +1973,33 @@ function formBuilderEventsFn() { id: lastID + '-edit', className: 'toggle-form btn icon-pencil', title: opts.messages.hide - }), - required = values.required, - toggle = values.toggle || undefined, - tooltip = values.description !== '' ? '?' : ''; + }); var liContents = _helpers.markup('div', [toggleBtn, delBtn], { className: 'field-actions' }).outerHTML; - liContents += '' + tooltip + ' *'; + // Field preview Label + liContents += ''; + + if (values.description) { + liContents += '?'; + } + + var requiredDisplay = values.required ? 'style="display:inline"' : ''; + liContents += ' *'; + liContents += _helpers.markup('div', '', { className: 'prev-holder' }).outerHTML; liContents += '
              '; liContents += '
              '; - liContents += requiredField(values); - - if (values.type === 'checkbox') { - liContents += '
              '; - liContents += ''; - liContents += ''; - liContents += '
              '; - } - liContents += field; + liContents += advFields(values); liContents += _helpers.markup('a', opts.messages.close, { className: 'close-field' }).outerHTML; liContents += '
              '; liContents += '
              '; var li = _helpers.markup('li', liContents, { - 'class': values.type + '-field form-field', - 'type': values.type, + 'class': type + '-field form-field', + 'type': type, id: lastID }), $li = $(li); @@ -2234,6 +2012,8 @@ function formBuilderEventsFn() { $sortableFields.append($li); } + $('.sortable-options', $li).sortable(); // make dynamically added option fields sortable if they exist. + _helpers.updatePreview($li); if (opts.editOnAdd) { @@ -2576,49 +2356,45 @@ function formBuilderEventsFn() { _helpers.forEach(sortableFields.childNodes, function (index, field) { index = index; var $field = $(field); - var fieldData = $field.data('fieldData'); if (!$field.hasClass('disabled')) { - var roleVals = $('.roles-field:checked', field).map(function () { - return this.value; - }).get(); - var enableOther = $('[name="enable-other"]:checked', field).length; - - var types = _helpers.getTypes($field); - var xmlAttrs = { - className: fieldData.className, - description: $('input.fld-description', $field).val(), - label: $('.fld-label', $field).val(), - maxlength: $('input.fld-maxlength', $field).val(), - multiple: $('input[name="multiple"]', $field).is(':checked'), - name: $('input.fld-name', $field).val(), - placeholder: $('input.fld-placeholder', $field).val(), - required: $('input.fld-required', $field).is(':checked'), - toggle: $('.toggle', $field).is(':checked'), - type: types.type, - subtype: types.subtype, - min: $('input.fld-min', $field).val(), - max: $('input.fld-max', $field).val(), - value: $('input.fld-value', $field).val() - }; - if (roleVals.length) { - xmlAttrs.role = roleVals.join(','); - } - if (enableOther) { - xmlAttrs.other = 'true'; - } - xmlAttrs = _helpers.trimAttrs(xmlAttrs); - xmlAttrs = _helpers.escapeAttrs(xmlAttrs); - var multipleField = xmlAttrs.type.match(/(select|checkbox-group|radio-group)/); - - var fieldContent = '', - xmlField; - if (multipleField) { - fieldContent = fieldOptions($field); - } - - xmlField = _helpers.markup('field', fieldContent, xmlAttrs); - serialStr += '\n\t\t' + xmlField.outerHTML; + var roleVals; + var enableOther; + var multipleField; + var fieldContent, xmlField; + + (function () { + roleVals = $('.roles-field:checked', field).map(function () { + return this.value; + }).get(); + enableOther = $('[name="enable-other"]:checked', field).length; + + + var xmlAttrs = _helpers.getTypes($field); + + $('[class*="fld-"]', field).each(function () { + var name = _helpers.camelCase(this.name); + xmlAttrs[name] = this.type === 'checkbox' ? this.checked : this.value; + }); + + if (roleVals.length) { + xmlAttrs.role = roleVals.join(','); + } + if (enableOther) { + xmlAttrs.other = 'true'; + } + xmlAttrs = _helpers.trimObj(xmlAttrs); + xmlAttrs = _helpers.escapeAttrs(xmlAttrs); + multipleField = xmlAttrs.type.match(/(select|checkbox-group|radio-group)/); + fieldContent = ''; + + if (multipleField) { + fieldContent = fieldOptions($field); + } + + xmlField = _helpers.markup('field', fieldContent, xmlAttrs); + serialStr += '\n\t\t' + xmlField.outerHTML; + })(); } }); serialStr += '\n\t\n'; @@ -2630,32 +2406,8 @@ function formBuilderEventsFn() { })(jQuery); 'use strict'; -// Polyfill for Object.assign - -if (typeof Object.assign !== 'function') { - (function () { - Object.assign = function (target) { - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; - }; - })(); -} - // Element.remove() polyfill + if (!('remove' in Element.prototype)) { Element.prototype.remove = function () { if (this.parentNode) { diff --git a/dist/form-builder.min.js b/dist/form-builder.min.js index e12351e79..de5c96e17 100644 --- a/dist/form-builder.min.js +++ b/dist/form-builder.min.js @@ -3,5 +3,5 @@ formBuilder - https://formbuilder.online/ Version: 1.14.6 Author: Kevin Chappell */ -"use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));var s=t.join(" ");return s},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var l=window.JSON.stringify(HTML_ENTITIES.encode(t));return t=t?"="+l:"",{name:e,value:t}},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,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,r=[];a.stopIndex=l.placeholder.index()-1,!e.sortableControls&&l.item.parent().hasClass("frmb-control")&&r.push(!0),e.prepend&&r.push(0===a.stopIndex),e.append&&r.push(a.stopIndex+1===o),a.doCancel=r.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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimAttrs=function(e){var t=[null,void 0,"",!1];for(var l in e)a.inArray(e[l],t)&&delete e[l];return e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=HTML_ENTITIES.encode(e[t]));return e},a.xmlSave=function(e){var l=$(e).toXML(a);return window.JSON.stringify(l)===window.JSON.stringify(t.formData)?!1:void(t.formData=l)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l,s=a.getElement(),o=document.getElementById(e.formID),r={xml:a.xmlSave,json:a.jsonSave};return l=r[e.dataType](o),s&&(s.value=t.formData,window.jQuery?$(s).trigger("change"):s.onchange()),document.dispatchEvent(t.events.formSaved),l},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,l=e.substring(0,t);return l+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=(e.data("fieldData")||{},e.attr("class"));if(-1===t.indexOf("ui-sortable-handle")){var l,s=$(e).attr("type"),o=$(".prev-holder",e),r={type:s};$('[class*="fld-"]',e).each(function(){console.log();var e=a.camelCase(this.name);r[e]="checkbox"===this.type?this.checked:this.value});var n=$(".btn-style",e).val();n&&(r.style=n),s.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.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(),r.values.push(e)})),r=a.trimAttrs(r),r.className=a.classNames(e,r),$(".fld-className",e).val(r.className),e.data("fieldData",r),l=a.fieldPreview(r),o.html(l),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var r=t.toggle?"toggle":"",n=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";i+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=u+"-"+o+"-"+l;s+='
              "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);a.attrString(h);window.otherOptionCallback=function(e){var t=document.getElementById(e),a=t.nextElementSibling,l=a.nextElementSibling;t.checked?(l.style.display="inline-block",a.style.display="none"):(l.style.display="none",a.style.display="inline-block")},s+="
              "+g.outerHTML+'
              '}break;case"text":case"password":case"email":case"date":case"file":case"number":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:n=a.attrString(t),s="<"+t.type+" "+n+">"+t.label+""}return s},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],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,r=function(){t=null,l||e.apply(s,o)},n=l&&!t;clearTimeout(t),t=setTimeout(r,a),n&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
              ").text(e).html()},a.htmlDecode=function(e){return $("
              ").html(e).text()},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"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),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 s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,l){var s=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],r=void 0;for(r=o.length-1;r>=0;r--)o=o.concat(e.messages.subtypes[o[r]]);s=s.concat(o);var n=l.type,i=l.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[n];if(p){if(i){for(r=d.length-1;r>=0;r--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[r].match(m);f&&d.splice(r,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(n,s)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),r=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},n={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var r=t.filter(function(e){return e.attrs.type===l[o]})[0];s.push(r)}return s.filter(Boolean)},a.forEach=function(e,t,a){for(var l=0;l li.editing",e),a=$(".toggle-form",e),l=$(".frm-holder",t);a.removeClass("open"),t.removeClass("editing"),l.hide(),$(".prev-holder",t).show()},a.toggleEdit=function(e){var t=document.getElementById(e),a=$(".toggle-form",t),l=$(".frm-holder",t);t.classList.toggle("editing"),a.toggleClass("open"),$(".prev-holder",t).slideToggle(250),l.slideToggle(250)},a.stickyControls=function(e,t){var a=$(t).parent(),l=e.parent(),s=a.width(),o=t.getBoundingClientRect();$(window).scroll(function(){var e=$(this).scrollTop();if(e>l.offset().top){var r={position:"fixed",width:s,top:0,bottom:"auto",right:"auto",left:o.left},n=a.offset(),i=l.offset(),c=n.top+a.height(),d=i.top+l.height();c>d&&n.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&n.top>e)&&a.css(r)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}var HTML_ENTITIES=function(){var e={};return e.getHtmlTranslationTable=function(e,t){var a,l={},s={},o={},r={},n={},i={};if(o[0]="HTML_SPECIALCHARS",o[1]="HTML_ENTITIES",r[0]="ENT_NOQUOTES",r[2]="ENT_COMPAT",r[3]="ENT_QUOTES",n=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":o[e],i=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":r[t],"HTML_SPECIALCHARS"!==n&&"HTML_ENTITIES"!==n)throw new Error("Table: "+n+" not supported");l[38]="&","HTML_ENTITIES"===n&&(l[160]=" ",l[161]="¡",l[162]="¢",l[163]="£",l[164]="¤",l[165]="¥",l[166]="¦",l[167]="§",l[168]="¨",l[169]="©",l[170]="ª",l[171]="«",l[172]="¬",l[173]="­",l[174]="®",l[175]="¯",l[176]="°",l[177]="±",l[178]="²",l[179]="³",l[180]="´",l[181]="µ",l[182]="¶",l[183]="·",l[184]="¸",l[185]="¹",l[186]="º",l[187]="»",l[188]="¼",l[189]="½",l[190]="¾",l[191]="¿",l[192]="À",l[193]="Á",l[194]="Â",l[195]="Ã",l[196]="Ä",l[197]="Å",l[198]="Æ",l[199]="Ç",l[200]="È",l[201]="É",l[202]="Ê",l[203]="Ë",l[204]="Ì",l[205]="Í",l[206]="Î",l[207]="Ï",l[208]="Ð",l[209]="Ñ",l[210]="Ò",l[211]="Ó",l[212]="Ô",l[213]="Õ",l[214]="Ö",l[215]="×",l[216]="Ø",l[217]="Ù",l[218]="Ú",l[219]="Û",l[220]="Ü",l[221]="Ý",l[222]="Þ",l[223]="ß",l[224]="à",l[225]="á",l[226]="â",l[227]="ã",l[228]="ä",l[229]="å",l[230]="æ",l[231]="ç",l[232]="è",l[233]="é",l[234]="ê",l[235]="ë",l[236]="ì",l[237]="í",l[238]="î",l[239]="ï",l[240]="ð",l[241]="ñ",l[242]="ò",l[243]="ó",l[244]="ô",l[245]="õ",l[246]="ö",l[247]="÷",l[248]="ø",l[249]="ù",l[250]="ú",l[251]="û",l[252]="ü",l[253]="ý",l[254]="þ",l[255]="ÿ"),"ENT_NOQUOTES"!==i&&(l[34]="""),"ENT_QUOTES"===i&&(l[39]="'"),l[60]="<",l[62]=">";for(a in l)l.hasOwnProperty(a)&&(s[String.fromCharCode(a)]=l[a]);return s},e.encode=function(e,t){var a=this.getHtmlTranslationTable("HTML_ENTITIES",t);if(e=null===e?"":e+"",!a)return!1;t&&"ENT_QUOTES"===t&&(a["'"]="'");var l=new RegExp("&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|["+Object.keys(a).join("").replace(/([()[\]{}\-.*+?^$|\/\\])/g,"\\$1")+"]","g");return e.replace(l,function(e){var t=void 0;return e.length>1&&(t=e),t=a[e]})},e}(HTML_ENTITIES||{}),_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};!function(e){var t=function(t,a){var l={theme:"fresh",labels:{off:"Off",on:"On"}},s=e.extend(l,a),o=e('
              ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var r='
              '+s.labels.on+"
              ",n='
              '+s.labels.off+"
              ",i='
              ',c='
              '+r+i+n+"
              ";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],editOnAdd:!1,append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",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",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",enableOther:"Enable "Other"",enableOtherMsg:"Permit 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",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"],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",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,prefix:"form-builder-"};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),r=e(a),n="frmb-"+e("ul[id^=frmb-]").length++;o.formID=n,l.element=a;var i=e("
                ").attr("id",n).addClass("frmb"),c=formBuilderHelpersFn(o,l);l.layout=c.editorLayout(o.controlPosition);var d=n+"-fld-1",u=n+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
              • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:n+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:n+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:n+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(S(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var E=e("
                ",{id:n+"-stage-wrap","class":"stage-wrap "+l.layout.stage}),N=e("
                ",{id:n+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});r.before(E).appendTo(E);var T=e("
                ",{id:n+"-cb-wrap","class":"cb-wrap "+l.layout.controls}).append(f[0],x);E.append(i,T),E.before(N),N.append(E,T);var C=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",C),e("li",f).click(function(t){c.stopIndex=void 0,S(e(this),!0),c.save()});var O=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var l=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(l)}t.some(function(e){return e===!0})&&E.removeClass("empty")},S=function(t){var a=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],l={};if(t instanceof jQuery){var s=t.data("newFieldData");if(s)l=s.attrs,l.label=s.label;else{var o=t[0].attributes;a||(l.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var r=o.length-1;r>=0;r--)l[o[r].name]=o[r].value}}else l=t;l.label=c.htmlEncode(l.label),l.name=a?I(l):l.name,l.role=l.role,l.className=l.className||l["class"],l.required="true"===l.required||l.required===!0,l.maxlength=l.maxlength,l.toggle=l.toggle,l.description=void 0!==l.description?c.htmlEncode(l.description):"";var n=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(l.className);n&&(l.style=n[1]),D(l),E.removeClass("empty")},A=function(){var t="";t=l.formData?l.formData:""!==r.val()?e.parseXML(l.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)l.formData=t,a.each(function(){S(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var s=o.defaultFields.length-1;s>=0;s--)S(o.defaultFields[s]);E.removeClass("empty"),c.save()}else o.prepend||o.append||E.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),O()},M=function(){var e={xml:A,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var I=function(e){var t=(new Date).getTime();return e.type+"-"+t},L=function(e){U(o.messages.textArea,H(e),e)},q=function(e){var t=e.type||"text";U(o.messages[t],H(e),e)},$=function(t){t.values&&t.values.length||(t.values=[{selected:!0},{selected:!1}],t.values=t.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e}));var a="";for(a+=H(t),a+='
                ',a+='",a+='
                ',"select"===t.type&&(a+='
                ',a+='",a+='",a+="
                "),a+='
                  ',v=0;v";var l=c.markup("a",o.messages.addOption,{className:"add add-opt"});a+=c.markup("div",l,{className:"option-actions"}).outerHTML,a+="
                ",a+="
                ",U(o.messages.select,a,t),e(".sortable-options").sortable()},D=function(e){var t={select:$,"rich-text":L,textarea:L,"radio-group":$,"checkbox-group":$};e=e||"",t[e.type]?t[e.type](e):q(e)},H=function Q(e){var t,Q=[],a="",l=void 0!==e.role?e.role.split(","):[];Q.push(_("label",e)),e.size=e.size||"m",e.style=e.style||"default",Q.push(F(e)),Q.push(B(e)),"button"===e.type&&Q.push(j(e.style,e.type)),"number"===e.type&&(Q.push(P("min",e)),Q.push(P("max",e)),Q.push(P("step",e))),Q.push(_("placeholder",e)),Q.push(_("className",e)),Q.push(_("name",e)),Q.push(_("value",e)),Q.push('
                "),Q.push(' "),Q.push('
                ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,l)?"checked":"",Q.push('
                "));return Q.push("
                "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(Q.push('
                "),Q.push('
                ")),Q.push(_("maxlength",e)),Q.join("")},F=function(e){var t=["header","paragraph","button"],a=[],l="";if(t=t.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===t.indexOf(e.type)&&a.push(!0),a.some(function(e){return e===!0})){var s=c.markup("label",o.messages.description,{"for":"description-"+d}),r=c.markup("input",null,{type:"text",className:"fld-description form-control",name:"description",id:"description-"+d,value:e.description}),n=c.markup("div",[s,r],{"class":"form-group description-wrap"});l=n.outerHTML}return l},B=function Y(e){var t=o.messages.subtypes,a=e.type,l=e.subtype||"",Y="",s=void 0;if(t[a]){var r="";Y+='",Y='
                '+r+" "+Y+"
                "}return Y},j=function(e,t){var a={button:"btn"},l=o.messages.styles[a[t]],s="";if(l){var r="";s+='',s+='
                ',Object.keys(o.messages.styles[a[t]]).forEach(function(l){var r=e===l?"active":"";s+='"}),s+="
                ",s='
                '+r+" "+s+"
                "}return s},P=function G(e,t){var a=t[e]||"",l=o.messages[e]||e,s=o.messages.placeholders[e]||"",G='';return'
                "+G+"
                "},_=function(e,t){var a=["text","textarea","select"],l=["header"],s=["paragraph"],r=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],n="label"===e?t.label:t[e]||"",i=o.messages[e]; -"label"===e&&c.inArray(t.type,s)&&(i=o.messages.content),l=l.concat(o.messages.subtypes.header,s),r=r.concat(s);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,l)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,r)&&f.push(!0),!f.some(function(e){return e===!0})){var v="";m+="label"===e&&c.inArray(t.type,s)?'":'',m='
                '+v+" "+m+"
                "}return m},R=function(e){var t=["header","paragraph","button"],a=[],l="";if(c.inArray(e.type,t)&&a.push(!0),!a.some(function(e){return e===!0})){l+='
                ',l+='';var s=c.markup("input",null,{className:"fld-required",type:"checkbox",name:"required",id:"required-"+d,value:1});s.defaultChecked=e.required,l+=s.outerHTML,l+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,l+="
                "}return l},U=function(t,a,l){var s=e(a).find('input[name="label"]').val(),r=s?s:t,n=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),u=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),p=l.required,m=l.toggle||void 0,f=""!==l.description?'?':"",v=c.markup("div",[u,n],{className:"field-actions"}).outerHTML;v+='"+f+' *",v+=c.markup("div","",{className:"prev-holder"}).outerHTML,v+='
                ',v+='
                ',v+=R(l),"checkbox"===l.type&&(v+='
                ',v+="",v+='",v+="
                "),v+=a,v+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,v+="
                ",v+="
                ";var h=c.markup("li",v,{"class":l.type+"-field form-field",type:l.type,id:d}),g=e(h);g.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(g):i.append(g),c.updatePreview(g),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},z=function(e,t,a){var l={selected:a?"checkbox":"radio"},s=["value","label","selected"],r=[];t=t||{selected:!1,label:"",value:""};for(var n=s.length-1;n>=0;n--){var i=s[n];if(t.hasOwnProperty(i)){var d={type:l[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),r.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",r);return p.outerHTML};i.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},r=e(this).parents(".form-field:eq(0)").attr("id"),n=e(document.getElementById(r)),d=function(){n.slideUp(250,function(){n.removeClass("deleting"),n.remove(),c.save(),i[0].childNodes.length||E.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){n.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,s),n.addClass("deleting")}else d(n)}),i.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),C.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var r=s.attr("name");e(".sortable-options",a).append(z(r,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var X=e(document.getElementById(n+"-view-data"));X.click(function(e){e.preventDefault();var t=c.htmlEncode(r.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var W=e(document.getElementById(n+"-clear-all"));return W.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(n+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),r.parent().find('p[id*="ideaTemplate"]').remove(),r.wrap('
                '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)");o.before(s),o.remove(),l=new t(a,s),e(s).data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",l=function(a){var l=[];return e(".sortable-options li",a).each(function(){var a=e(this),s={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),s).outerHTML;l.push("\n "+o)}),l.join("")+"\n "};return this.each(function(){var s=this;s.childNodes.length>=1&&(a+="\n ",t.forEach(s.childNodes,function(s,o){s=s;var r=e(o),n=r.data("fieldData");if(!r.hasClass("disabled")){var i=e(".roles-field:checked",o).map(function(){return this.value}).get(),c=e('[name="enable-other"]:checked',o).length,d=t.getTypes(r),u={className:n.className,description:e("input.fld-description",r).val(),label:e(".fld-label",r).val(),maxlength:e("input.fld-maxlength",r).val(),multiple:e('input[name="multiple"]',r).is(":checked"),name:e("input.fld-name",r).val(),placeholder:e("input.fld-placeholder",r).val(),required:e("input.fld-required",r).is(":checked"),toggle:e(".toggle",r).is(":checked"),type:d.type,subtype:d.subtype,min:e("input.fld-min",r).val(),max:e("input.fld-max",r).val(),value:e("input.fld-value",r).val()};i.length&&(u.role=i.join(",")),c&&(u.other="true"),u=t.trimAttrs(u),u=t.escapeAttrs(u);var p,m=u.type.match(/(select|checkbox-group|radio-group)/),f="";m&&(f=l(r)),p=t.markup("field",f,u),a+="\n "+p.outerHTML}}),a+="\n \n")}),a}}(jQuery),"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),a=1;a200&&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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimObj=function(e){var t=[null,void 0,"",!1];for(var s in e)a.inArray(e[s],t)&&delete e[s];return e},a.escapeAttr=function(e){function t(e){return a[e]||e}var a={'"':""","&":"&","<":"<",">":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=a.escapeAttr(e[t]));return e},a.xmlSave=function(e){var s=$(e).toXML(a);return window.JSON.stringify(s)===window.JSON.stringify(t.formData)?!1:void(t.formData=s)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var s,l=a.getElement(),o=document.getElementById(e.formID),n={xml:a.xmlSave,json:a.jsonSave};return s=n[e.dataType](o),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange()),document.dispatchEvent(t.events.formSaved),s},a.getElement=function(){var s=!1;return t.element&&(s=t.element,s.id||a.makeId(s),s.onchange||(s.onchange=function(){e.notify.success(e.messages.formUpdated)})),s},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,s=e.substring(0,t);return s+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.attr("class");if(-1===t.indexOf("ui-sortable-handle")){var s,l=$(e).attr("type"),o=$(".prev-holder",e),n={type:l};$('[class*="fld-"]',e).each(function(){var e=a.camelCase(this.name);n[e]="checkbox"===this.type?this.checked:this.value});var r=$(".btn-style",e).val();r&&(n.style=r),l.match(/(select|checkbox-group|radio-group)/)&&(n.values=[],n.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(),n.values.push(e)})),n=a.trimObj(n),n.className=a.classNames(e,n),$(".fld-className",e).val(n.className),e.data("fieldData",n),s=a.fieldPreview(n),o.html(s),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var s,l="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var n=t.toggle?"toggle":"",r=a.attrString(t);switch(t.type){case"textarea":case"rich-text":l="";break;case"button":case"submit":l="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),s=t.values.length-1;s>=0;s--){var d=t.values[s].selected&&!t.placeholder?"selected":"";i+='"}l="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),s=t.values.length-1;s>=0;s--){var m=t.values[s].selected?"checked":"",f=u+"-"+o+"-"+s;l+='
                "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);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+="
                "+g.outerHTML+'
                '}break;case"text":case"password":case"email":case"date":case"file":case"number":l="";break;case"color":l=' '+e.messages.selectColor;break;case"hidden":case"checkbox":l='";break;case"autocomplete":l='';break;default:r=a.attrString(t),l="<"+t.type+" "+r+">"+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,o=arguments,n=function(){t=null,s||e.apply(l,o)},r=s&&!t;clearTimeout(t),t=setTimeout(n,a),r&&e.apply(l,o)}},a.htmlEncode=function(e){return $("
                ").text(e).html()},a.htmlDecode=function(e){return $("
                ").html(e).text()},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 s=e.messages.fieldNonEditable;if(s){var l=a.markup("p",s,{className:a.disabledTT.className});t.append(l)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,s){var l=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],n=void 0;for(n=o.length-1;n>=0;n--)o=o.concat(e.messages.subtypes[o[n]]);l=l.concat(o);var r=s.type,i=s.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[r];if(p){if(i){for(n=d.length-1;n>=0;n--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[n].match(m);f&&d.splice(n,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(r,l)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],s=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],l=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},r={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var n=t.filter(function(e){return e.attrs.type===s[o]})[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(),o=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:o.left},r=a.offset(),i=s.offset(),c=r.top+a.height(),d=i.top+s.height();c>d&&r.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&r.top>e)&&a.css(n)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}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};!function(e){var t=function(t,a){var s={theme:"fresh",labels:{off:"Off",on:"On"}},l=e.extend(s,a),o=e('
                ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
                '+l.labels.on+"
                ",r='
                '+l.labels.off+"
                ",i='
                ',c='
                '+n+i+r+"
                ";o.append(c),o.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){var s=this,l={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],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",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"],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",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,prefix:"form-builder-"};l.messages.subtypes.password=l.messages.subtypes.text,l.messages.subtypes.email=l.messages.subtypes.text,l.messages.subtypes.color=l.messages.subtypes.text,l.messages.subtypes.submit=l.messages.subtypes.button;var o=e.extend(!0,l,t),n=e(a),r="frmb-"+e("ul[id^=frmb-]").length++;o.formID=r,s.element=a;var i=e("
                  ").attr("id",r).addClass("frmb"),c=formBuilderHelpersFn(o,s);s.layout=c.editorLayout(o.controlPosition);var d=r+"-fld-1",u=r+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
                • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:r+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:r+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:r+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(A(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var C=e("
                  ",{id:r+"-stage-wrap","class":"stage-wrap "+s.layout.stage}),N=e("
                  ",{id:r+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});n.before(C).appendTo(C);var E=e("
                  ",{id:r+"-cb-wrap","class":"cb-wrap "+s.layout.controls}).append(f[0],x);C.append(i,E),C.before(N),N.append(C,E);var O=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",O),e("li",f).click(function(t){c.stopIndex=void 0,A(e(this),!0),c.save()});var T=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var s=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(s)}t.some(function(e){return e===!0})&&C.removeClass("empty")},A=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 o=t[0].attributes;a||(s.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var n=o.length-1;n>=0;n--)s[o[n].name]=o[n].value}}else s=t;s.name=a?$(s):s.name,s.className=s.className||s["class"];var r=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(s.className);r&&(s.style=r[1]),c.escapeAttrs(s),P(s),C.removeClass("empty")},S=function(){var t="";t=s.formData?s.formData:""!==n.val()?e.parseXML(s.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)s.formData=t,a.each(function(){A(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var l=o.defaultFields.length-1;l>=0;l--)A(o.defaultFields[l]);C.removeClass("empty"),c.save()}else o.prepend||o.append||C.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),T()},M=function(){var e={xml:S,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var $=function(e){var t=(new Date).getTime();return e.type+"-"+t},D=function W(e){var t=c.markup("a",o.messages.addOption,{className:"add add-opt"}),W="";if(e.values&&e.values.length||(e.values=[{selected:!0},{selected:!1}],e.values=e.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e})),W+='",W+='
                  ',"select"===e.type){var a={second:o.messages.selectionsMessage};W+=F("multiple",e,a)}for(W+='
                    ',v=0;v",c.markup("div",W,{className:"form-group field-options"}).outerHTML},L=function U(e){var t,U=[],a="",s=["select","checkbox-group","radio-group"],l=function(){return-1!==s.indexOf(e.type)}(),n=function(){var t=["header","paragraph","file"].concat(s,o.messages.subtypes.header,o.messages.subtypes.paragraph);return-1===t.indexOf(e.type)},r=void 0!==e.role?e.role.split(","):[];U.push(H(e)),"checkbox"===e.type&&U.push(F("toggle",e,{first:o.messages.toggle})),U.push(j("label",e)),e.size=e.size||"m",e.style=e.style||"default";var i=["header","paragraph","button"].concat(o.messages.subtypes.header,o.messages.subtypes.paragraph);if(i=i.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===i.indexOf(e.type)&&U.push(j("description",e)),U.push(I(e)),"button"===e.type&&U.push(q(e.style,e.type)),"number"===e.type&&(U.push(B("min",e)),U.push(B("max",e)),U.push(B("step",e))),U.push(j("placeholder",e)),U.push(j("className",e)),U.push(j("name",e)),n||U.push(j("value",e)),"file"===e.type){var u={first:o.messages.multipleFiles,second:o.messages.allowMultipleFiles};U.push(F("multiple",e,u))}U.push('
                    "),U.push(' "),U.push('
                    ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,r)?"checked":"",U.push('
                    "));return U.push("
                    "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(U.push('
                    "),U.push('
                    ")),l&&U.push(D(e)),U.push(j("maxlength",e)),U.join("")},F=function(e,t,a){var s=function(t){return'"},l=void 0!==t[e]?"checked":"",o='',n=[o];return a.first&&n.unshift(s(a.first)),a.second&&n.push(s(a.second)),'
                    '+n.join("")+"
                    "},I=function Y(e){var t=o.messages.subtypes,a=e.type,s=e.subtype||"",Y="",l=void 0;if(t[a]){var n="";Y+='",Y='
                    '+n+" "+Y+"
                    "}return Y},q=function(e,t){var a={button:"btn"},s=o.messages.styles[a[t]],l="";if(s){var n="";l+='',l+='
                    ',Object.keys(o.messages.styles[a[t]]).forEach(function(s){var n=e===s?"active":"";l+='"}),l+="
                    ",l='
                    '+n+" "+l+"
                    "}return l},B=function _(e,t){var a=t[e]||"",s=o.messages[e]||e,l=o.messages.placeholders[e]||"",_='';return'
                    "+_+"
                    "},j=function(e,t){var a=["text","textarea","select"],s=["header"],l=["paragraph"],n=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],r=t[e]||"",i=o.messages[e];"label"===e&&c.inArray(t.type,l)&&(i=o.messages.content),s=s.concat(o.messages.subtypes.header,l),n=n.concat(l);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,s)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,n)&&f.push(!0),!f.some(function(e){return e===!0})){var v='";m+="label"===e&&c.inArray(t.type,l)?'":'',m='
                    '+v+" "+m+"
                    "}return m},H=function(e){var t=["header","paragraph","button"],a=[],s="";return c.inArray(e.type,t)&&a.push(!0),a.some(function(e){return e===!0})||(s=F("required",e,{first:o.messages.required})),s},P=function(t){var a=t.type||"text",s=t.label||o.messages[a]||o.messages.label,l=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),n=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),r=c.markup("div",[n,l],{className:"field-actions"}).outerHTML;r+='",t.description&&(r+='?');var u=t.required?'style="display:inline"':"";r+=' *",r+=c.markup("div","",{className:"prev-holder"}).outerHTML,r+='
                    ',r+='
                    ',r+=L(t),r+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,r+="
                    ",r+="
                    ";var p=c.markup("li",r,{"class":a+"-field form-field",type:a,id:d}),m=e(p);m.data("fieldData",{attrs:t}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(m):i.append(m),e(".sortable-options",m).sortable(),c.updatePreview(m),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},R=function(e,t,a){var s={selected:a?"checkbox":"radio"},l=["value","label","selected"],n=[];t=t||{selected:!1,label:"",value:""};for(var r=l.length-1;r>=0;r--){var i=l[r];if(t.hasOwnProperty(i)){var d={type:s[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),n.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};n.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",n);return p.outerHTML; +};i.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?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove(),c.updatePreview(a),c.save()})}),i.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)}}),i.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");c.toggleEdit(a),t.handled=!0}),i.on("keyup change",'[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),i.delegate("input.error","keyup",function(){e(this).removeClass("error")}),i.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")}),c.updateMultipleSelect(),i.delegate('input[name="name"]',"blur",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),i.delegate("input.fld-maxlength","blur",function(){e(this).val(c.forceNumber(e(this).val()))}),i.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},n=e(this).parents(".form-field:eq(0)").attr("id"),r=e(document.getElementById(n)),d=function(){r.slideUp(250,function(){r.removeClass("deleting"),r.remove(),c.save(),i[0].childNodes.length||C.addClass("empty").attr("data-content",o.messages.getStarted)})};if(document.addEventListener("modalClosed",function(){r.removeClass("deleting")},!1),o.fieldRemoveWarn){var u=c.markup("h3",o.messages.warning),p=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([u,p],d,l),r.addClass("deleting")}else d(r)}),i.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"),O.call(a)}),i.on("click","input.fld-required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),i.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")})}),i.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),o=!1;o=s.length?s.prop("checked"):"checkbox"===l.attr("type");var n=l.attr("name");e(".sortable-options",a).append(R(n,!1,o)),c.updateMultipleSelect()}),i.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var z=e(document.getElementById(r+"-view-data"));z.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),s=c.markup("pre",a);c.dialog(s,null,"data-dialog")});var X=e(document.getElementById(r+"-clear-all"));return X.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?c.confirm(o.messages.clearAllMessage,function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},l):c.dialog("There are no fields to clear",{pageX:l.pageX,pageY:l.pageY})}),e(document.getElementById(r+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
                    '),M(),i.css("min-height",f.height()),o.stickyControls&&c.stickyControls(i,m),document.dispatchEvent(s.events.loaded),s};e.fn.formBuilder=function(a){return this.each(function(){var s,l=this;if(e(l).data("formBuilder")){var o=e(l).parents(".form-builder:eq(0)");o.before(l),o.remove(),s=new t(a,l),e(l).data("formBuilder",s)}else s=new t(a,l),e(l).data("formBuilder",s)})}}(jQuery),function(e){e.fn.toXML=function(t){var a="",s=function(a){var s=[];return e(".sortable-options li",a).each(function(){var a=e(this),l={value:e(".option-value",a).val(),selected:e(".option-selected",a).is(":checked")},o=t.markup("option",e(".option-label",a).val(),l).outerHTML;s.push("\n "+o)}),s.join("")+"\n "};return this.each(function(){var l=this;l.childNodes.length>=1&&(a+="\n ",t.forEach(l.childNodes,function(l,o){l=l;var n=e(o);if(!n.hasClass("disabled")){var r,i,c,d,u;!function(){r=e(".roles-field:checked",o).map(function(){return this.value}).get(),i=e('[name="enable-other"]:checked',o).length;var l=t.getTypes(n);e('[class*="fld-"]',o).each(function(){var e=t.camelCase(this.name);l[e]="checkbox"===this.type?this.checked:this.value}),r.length&&(l.role=r.join(",")),i&&(l.other="true"),l=t.trimObj(l),l=t.escapeAttrs(l),c=l.type.match(/(select|checkbox-group|radio-group)/),d="",c&&(d=s(n)),u=t.markup("field",d,l),a+="\n "+u.outerHTML}()}}),a+="\n \n")}),a}}(jQuery),"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}}(); \ No newline at end of file diff --git a/dist/form-render.js b/dist/form-render.js index 3f2684d86..8360bd4c4 100644 --- a/dist/form-render.js +++ b/dist/form-render.js @@ -414,7 +414,7 @@ function FormRenderFn(options, element) { } }; - var runCallbacks = function runCallbacks(fields) { + var runCallbacks = function runCallbacks() { otherOptionCB(); }; diff --git a/dist/form-render.min.js b/dist/form-render.min.js index f3871fd53..a92e9b16f 100644 --- a/dist/form-render.min.js +++ b/dist/form-render.min.js @@ -3,4 +3,4 @@ formBuilder - https://formbuilder.online/ Version: 1.14.6 Author: Kevin Chappell */ -"use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                    "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                    '+r+"
                    ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                    '+a.labels.on+"
                    ",l='
                    '+a.labels.off+"
                    ",s='
                    ',c='
                    '+i+s+l+"
                    ";o.append(c),o.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};!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 +"use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                    "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                    '+r+"
                    ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                    '+a.labels.on+"
                    ",l='
                    '+a.labels.off+"
                    ",s='
                    ',c='
                    '+i+s+l+"
                    ";o.append(c),o.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};!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 diff --git a/package.json b/package.json index 6e503667f..7ee1bcc7d 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ "js": [ "src/js/fields.js", "src/js/field.js", - "src/js/htmlentities.js", "src/js/helpers.js", "src/js/events.js", "src/js/kc-toggle.js", diff --git a/src/js/form-builder.js b/src/js/form-builder.js index eb705a008..186c505a1 100644 --- a/src/js/form-builder.js +++ b/src/js/form-builder.js @@ -59,6 +59,7 @@ 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', @@ -79,7 +80,7 @@ editorTitle: 'Form Elements', editXML: 'Edit XML', enableOther: 'Enable "Other"', - enableOtherMsg: 'Permit users to enter an unlisted option', + enableOtherMsg: 'Let users to enter an unlisted option', fieldDeleteWarning: false, fieldVars: 'Field Variables', fieldNonEditable: 'This field cannot be edited.', @@ -96,6 +97,7 @@ mandatory: 'Mandatory', maxlength: 'Max Length', minOptionMessage: 'This field requires a minimum of 2 options', + multipleFiles: 'Multiple Files', name: 'Name', no: 'No', number: 'Number', @@ -481,7 +483,6 @@ var prepFieldVars = function($field, isNew = false) { var field = {}; - if ($field instanceof jQuery) { let fieldData = $field.data('newFieldData'); if (fieldData) { @@ -498,6 +499,7 @@ }; }); } + for (var i = attrs.length - 1; i >= 0; i--) { field[attrs[i].name] = attrs[i].value; } @@ -506,20 +508,16 @@ field = $field; } - field.label = _helpers.htmlEncode(field.label); field.name = isNew ? nameAttr(field) : field.name; - field.role = field.role; - field.className = field.className || field.class; - field.required = (field.required === 'true' || field.required === true); - field.maxlength = field.maxlength; - field.toggle = field.toggle; - field.description = (field.description !== undefined ? _helpers.htmlEncode(field.description) : ''); + field.className = field.className || field.class; // backwards compatibility var match = /(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(field.className); if (match) { field.style = match[1]; } + _helpers.escapeAttrs(field); + appendNewField(field); $stageWrap.removeClass('empty'); }; @@ -597,23 +595,16 @@ return field.type + '-' + epoch; }; - // multi-line textarea - var appendTextarea = function(values) { - appendFieldLi(opts.messages.textArea, advFields(values), values); - }; - - var appendInput = function(values) { - let type = values.type || 'text'; - appendFieldLi(opts.messages[type], advFields(values), values); - }; - /** * Add data for field with options [select, checkbox-group, radio-group] * - * @todo refactor this nasty crap, its actually painful to look at + * @todo refactor this nasty ~crap~ code, its actually painful to look at * @param {object} values */ - var appendSelectList = function(values) { + var fieldOptions = function(values) { + let addOption = _helpers.markup('a', opts.messages.addOption, { className: 'add add-opt' }), + fieldOptions = ''; + if (!values.values || !values.values.length) { values.values = [{ selected: true @@ -628,51 +619,24 @@ }); } - var field = ''; - - field += advFields(values); - field += '
                    '; - field += ''; - field += `
                    `; + fieldOptions += ''; + fieldOptions += '
                    '; if (values.type === 'select') { - field += '
                    '; - field += ''; - field += ''; - field += '
                    '; - } - field += '
                      '; - for (i = 0; i < values.values.length; i++) { - field += selectFieldOptions(values.name, values.values[i], values.multiple); + let labels = { + second: opts.messages.selectionsMessage + }; + fieldOptions += boolAttribute('multiple', values, labels); } - field += '
                    '; - let addOption = _helpers.markup('a', opts.messages.addOption, { className: 'add add-opt' }); - field += _helpers.markup('div', addOption, { className: 'option-actions' }).outerHTML; - field += '
                    '; - field += '
                    '; - appendFieldLi(opts.messages.select, field, values); - - $('.sortable-options').sortable(); // making the dynamically added option fields sortable. - }; - - var appendNewField = function(values) { - // TODO: refactor to move functions into this object - var appendFieldType = { - 'select': appendSelectList, - 'rich-text': appendTextarea, - 'textarea': appendTextarea, - 'radio-group': appendSelectList, - 'checkbox-group': appendSelectList - }; - - values = values || ''; - - if (appendFieldType[values.type]) { - appendFieldType[values.type](values); - } else { - appendInput(values); + fieldOptions += '
                      '; + for (i = 0; i < values.values.length; i++) { + fieldOptions += selectFieldOptions(values.name, values.values[i], values.multiple); } + fieldOptions += '
                    '; + fieldOptions += _helpers.markup('div', addOption, { className: 'option-actions' }).outerHTML; + fieldOptions += '
                    '; + return _helpers.markup('div', fieldOptions, { className: 'form-group field-options' }).outerHTML; }; /** @@ -684,26 +648,43 @@ var advFields = [], key, checked = '', + optionFields = [ + 'select', + 'checkbox-group', + 'radio-group' + ], + isOptionField = (function() { + return (optionFields.indexOf(values.type) !== -1); + })(), + noValueField = function() { + let 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(',') : []; - // var fieldLabelLabel = _helpers.markup('label', opts.messages.label); - // var fieldLabelInput = _helpers.markup('input', null, { - // type: 'text', - // name: 'label', - // value: values.label, - // className: 'fld-label form-control' - // }); - // var fieldLabel = _helpers.markup('div', [fieldLabelLabel, fieldLabelInput], { - // className: 'form-group label-wrap' - // }); - advFields.push(textAttribute('label', values)); + advFields.push(requiredField(values)); - // advFields.push(fieldLabel.outerHTML); + 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'; - advFields.push(fieldDescription(values)); + //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)); @@ -724,7 +705,17 @@ advFields.push(textAttribute('name', values)); - advFields.push(textAttribute('value', values)); + if (!noValueField) { + advFields.push(textAttribute('value', values)); + } + + if (values.type === 'file') { + let labels = { + first: opts.messages.multipleFiles, + second: opts.messages.allowMultipleFiles + }; + advFields.push(boolAttribute('multiple', values, labels)); + } advFields.push('
                    '); @@ -745,48 +736,34 @@ advFields.push('
                    '); } + if (isOptionField) { + advFields.push(fieldOptions(values)); + } + advFields.push(textAttribute('maxlength', values)); return advFields.join(''); }; - /** - * Description meta for field - * - * @param {Object} values field values - * @return {String} markup for attribute, @todo change to actual Node - */ - var fieldDescription = function(values) { - var noDescFields = [ - 'header', - 'paragraph', - 'button' - ], - noMakeAttr = [], - descriptionField = ''; - - noDescFields = noDescFields.concat(opts.messages.subtypes.header, opts.messages.subtypes.paragraph); - - if (noDescFields.indexOf(values.type) === -1) { - noMakeAttr.push(true); + var boolAttribute = function(name, values, labels) { + let label = (txt) => { + return ``; + }, + checked = (values[name] !== undefined ? 'checked' : ''), + input = ``, + inner = [ + input + ]; + + if (labels.first) { + inner.unshift(label(labels.first)); } - if (noMakeAttr.some(elem => elem === true)) { - let fieldDescLabel = _helpers.markup('label', opts.messages.description, { 'for': 'description-' + lastID }), - fieldDescInput = _helpers.markup('input', null, { - type: 'text', - className: 'fld-description form-control', - name: 'description', - id: 'description-' + lastID, - value: values.description - }), - fieldDesc = _helpers.markup('div', [fieldDescLabel, fieldDescInput], { - 'class': 'form-group description-wrap' - }); - descriptionField = fieldDesc.outerHTML; + if (labels.second) { + inner.push(label(labels.second)); } - return descriptionField; + return `
                    ${inner.join('')}
                    `; }; /** @@ -867,6 +844,7 @@ 'textarea', 'select' ]; + var noName = [ 'header' ]; @@ -886,8 +864,8 @@ 'number' ]; - var attrVal = (attribute === 'label') ? values.label : (values[attribute] || ''); - var attrLabel = opts.messages[attribute]; + var attrVal = values[attribute] || '', + attrLabel = opts.messages[attribute]; if (attribute === 'label' && _helpers.inArray(values.type, textArea)) { attrLabel = opts.messages.content; } @@ -916,7 +894,7 @@ } if (!noMakeAttr.some(elem => elem === true)) { - let attributeLabel = ``; + let attributeLabel = ``; if (attribute === 'label' && _helpers.inArray(values.type, textArea)) { attributefield += ``; @@ -942,38 +920,17 @@ if (_helpers.inArray(values.type, noRequire)) { noMake.push(true); } - if (!noMake.some(elem => elem === true)) { - - requireField += '
                    '; - requireField += ''; - let requiredField = _helpers.markup('input', null, { - className: 'fld-required', - type: 'checkbox', - name: 'required', - id: 'required-' + lastID, - value: 1 - }); - - requiredField.defaultChecked = values.required; - - requireField += requiredField.outerHTML; - requireField += _helpers.markup('label', opts.messages.required, { - className: 'required-label', - 'for': 'required-' + lastID - }).outerHTML; - requireField += '
                    '; - + requireField = boolAttribute('required', values, { first: opts.messages.required }); } return requireField; }; // Append the new field to the editor - var appendFieldLi = function(title, field, values) { - var labelVal = $(field).find('input[name="label"]').val(), - label = (labelVal ? labelVal : title); - - var delBtn = _helpers.markup('a', opts.messages.remove, { + var appendNewField = function(values) { + let type = values.type || 'text', + label = values.label || opts.messages[type] || opts.messages.label, + delBtn = _helpers.markup('a', opts.messages.remove, { id: 'del_' + lastID, className: 'del-button btn delete-confirm', title: opts.messages.removeMessage @@ -982,37 +939,35 @@ id: lastID + '-edit', className: 'toggle-form btn icon-pencil', title: opts.messages.hide - }), - required = values.required, - toggle = values.toggle || undefined, - tooltip = values.description !== '' ? '?' : ''; + }); var liContents = _helpers.markup( 'div', [toggleBtn, delBtn], { className: 'field-actions' } ).outerHTML; - liContents += '' + tooltip + ' *'; + // Field preview Label + liContents += ``; + + if (values.description) { + liContents += `?`; + } + + let requiredDisplay = values.required ? 'style="display:inline"' : ''; + liContents += ` *`; + liContents += _helpers.markup('div', '', { className: 'prev-holder' }).outerHTML; liContents += '
                    '; liContents += '
                    '; - liContents += requiredField(values); - - if (values.type === 'checkbox') { - liContents += '
                    '; - liContents += ''; - liContents += ''; - liContents += '
                    '; - } - liContents += field; + liContents += advFields(values); liContents += _helpers.markup('a', opts.messages.close, { className: 'close-field' }).outerHTML; liContents += '
                    '; liContents += '
                    '; let li = _helpers.markup('li', liContents, { - 'class': values.type + '-field form-field', - 'type': values.type, + 'class': type + '-field form-field', + 'type': type, id: lastID }), $li = $(li); @@ -1025,6 +980,8 @@ $sortableFields.append($li); } + $('.sortable-options', $li).sortable(); // make dynamically added option fields sortable if they exist. + _helpers.updatePreview($li); if (opts.editOnAdd) { diff --git a/src/js/form-render.js b/src/js/form-render.js index 4182d92f4..b201b3321 100644 --- a/src/js/form-render.js +++ b/src/js/form-render.js @@ -342,7 +342,7 @@ function FormRenderFn(options, element) { if (this.checked) { otherInput.style.display = 'inline-block'; option.nextElementSibling.style.display = 'none'; - otherInput.oninput = function(evt) { option.value = this.value }; + otherInput.oninput = function(evt) { option.value = this.value; }; } else { otherInput.style.display = 'none'; option.nextElementSibling.style.display = 'inline-block'; @@ -352,7 +352,7 @@ function FormRenderFn(options, element) { } }; - var runCallbacks = function(fields) { + var runCallbacks = function() { otherOptionCB(); }; diff --git a/src/js/helpers.js b/src/js/helpers.js index f2729afe8..1a4ae8352 100644 --- a/src/js/helpers.js +++ b/src/js/helpers.js @@ -72,7 +72,7 @@ function formBuilderHelpersFn(opts, formBuilder) { _helpers.safeAttr = function(name, value) { name = _helpers.safeAttrName(name); - let valString = window.JSON.stringify(HTML_ENTITIES.encode(value)); + let valString = window.JSON.stringify(_helpers.escapeAttr(value)); value = value ? `=${valString}` : ''; return { @@ -208,7 +208,7 @@ function formBuilderHelpersFn(opts, formBuilder) { }; // Remove null or undefined values - _helpers.trimAttrs = function(attrs) { + _helpers.trimObj = function(attrs) { let xmlRemove = [ null, undefined, @@ -223,11 +223,27 @@ function formBuilderHelpersFn(opts, formBuilder) { return attrs; }; + _helpers.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 _helpers.escapeAttrs = function(attrs) { + for (var attr in attrs) { if (attrs.hasOwnProperty(attr)) { - attrs[attr] = HTML_ENTITIES.encode(attrs[attr]); + attrs[attr] = _helpers.escapeAttr(attrs[attr]); } } @@ -241,6 +257,7 @@ function formBuilderHelpersFn(opts, formBuilder) { */ _helpers.xmlSave = function(form) { let formDataNew = $(form).toXML(_helpers); + if (window.JSON.stringify(formDataNew) === window.JSON.stringify(formBuilder.formData)) { return false; } @@ -330,7 +347,6 @@ function formBuilderHelpersFn(opts, formBuilder) { * @param {Object} field jQuery wrapped dom object @todo, remove jQuery dependency */ _helpers.updatePreview = function(field) { - var fieldData = field.data('fieldData') || {}; var fieldClass = field.attr('class'); if (fieldClass.indexOf('ui-sortable-handle') !== -1) { return; @@ -344,7 +360,6 @@ function formBuilderHelpersFn(opts, formBuilder) { preview; $('[class*="fld-"]', field).each(function() { - console.log(); let name = _helpers.camelCase(this.name); previewData[name] = this.type === 'checkbox' ? this.checked : this.value; }); @@ -367,7 +382,7 @@ function formBuilderHelpersFn(opts, formBuilder) { }); } - previewData = _helpers.trimAttrs(previewData); + previewData = _helpers.trimObj(previewData); previewData.className = _helpers.classNames(field, previewData); $('.fld-className', field).val(previewData.className); @@ -439,8 +454,7 @@ function formBuilderHelpersFn(opts, formBuilder) { type: type, onclick: 'otherOptionCallback(\'' + otherID + '\')' }, - otherInput = _helpers.markup('input', null, optionAttrs), - optionAttrsString = _helpers.attrString(optionAttrs); + otherInput = _helpers.markup('input', null, optionAttrs); window.otherOptionCallback = function(otherID) { var option = document.getElementById(otherID), diff --git a/src/js/htmlentities.js b/src/js/htmlentities.js deleted file mode 100644 index cb9901f5e..000000000 --- a/src/js/htmlentities.js +++ /dev/null @@ -1,187 +0,0 @@ -/** - * PHP htmlentities recreation in JavaScript - * minor changes to match styleguide and remove unneeded functionality - * @see https://github.com/kvz/phpjs - */ -var HTML_ENTITIES = (function() { - 'use strict'; - - var htmlEntities = {}; - - htmlEntities.getHtmlTranslationTable = function(table, quoteStyle) { - - var entities = {}, - hashMap = {}, - decimal; - var constMappingTable = {}, - constMappingQuoteStyle = {}; - var useTable = {}, - useQuoteStyle = {}; - - // Translate arguments - constMappingTable[0] = 'HTML_SPECIALCHARS'; - constMappingTable[1] = 'HTML_ENTITIES'; - constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; - constMappingQuoteStyle[2] = 'ENT_COMPAT'; - constMappingQuoteStyle[3] = 'ENT_QUOTES'; - - useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; - useQuoteStyle = !isNaN(quoteStyle) ? constMappingQuoteStyle[quoteStyle] : quoteStyle ? quoteStyle.toUpperCase() : - 'ENT_COMPAT'; - - if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { - throw new Error('Table: ' + useTable + ' not supported'); - // return false; - } - - entities['38'] = '&'; - if (useTable === 'HTML_ENTITIES') { - entities['160'] = ' '; - entities['161'] = '¡'; - entities['162'] = '¢'; - entities['163'] = '£'; - entities['164'] = '¤'; - entities['165'] = '¥'; - entities['166'] = '¦'; - entities['167'] = '§'; - entities['168'] = '¨'; - entities['169'] = '©'; - entities['170'] = 'ª'; - entities['171'] = '«'; - entities['172'] = '¬'; - entities['173'] = '­'; - entities['174'] = '®'; - entities['175'] = '¯'; - entities['176'] = '°'; - entities['177'] = '±'; - entities['178'] = '²'; - entities['179'] = '³'; - entities['180'] = '´'; - entities['181'] = 'µ'; - entities['182'] = '¶'; - entities['183'] = '·'; - entities['184'] = '¸'; - entities['185'] = '¹'; - entities['186'] = 'º'; - entities['187'] = '»'; - entities['188'] = '¼'; - entities['189'] = '½'; - entities['190'] = '¾'; - entities['191'] = '¿'; - entities['192'] = 'À'; - entities['193'] = 'Á'; - entities['194'] = 'Â'; - entities['195'] = 'Ã'; - entities['196'] = 'Ä'; - entities['197'] = 'Å'; - entities['198'] = 'Æ'; - entities['199'] = 'Ç'; - entities['200'] = 'È'; - entities['201'] = 'É'; - entities['202'] = 'Ê'; - entities['203'] = 'Ë'; - entities['204'] = 'Ì'; - entities['205'] = 'Í'; - entities['206'] = 'Î'; - entities['207'] = 'Ï'; - entities['208'] = 'Ð'; - entities['209'] = 'Ñ'; - entities['210'] = 'Ò'; - entities['211'] = 'Ó'; - entities['212'] = 'Ô'; - entities['213'] = 'Õ'; - entities['214'] = 'Ö'; - entities['215'] = '×'; - entities['216'] = 'Ø'; - entities['217'] = 'Ù'; - entities['218'] = 'Ú'; - entities['219'] = 'Û'; - entities['220'] = 'Ü'; - entities['221'] = 'Ý'; - entities['222'] = 'Þ'; - entities['223'] = 'ß'; - entities['224'] = 'à'; - entities['225'] = 'á'; - entities['226'] = 'â'; - entities['227'] = 'ã'; - entities['228'] = 'ä'; - entities['229'] = 'å'; - entities['230'] = 'æ'; - entities['231'] = 'ç'; - entities['232'] = 'è'; - entities['233'] = 'é'; - entities['234'] = 'ê'; - entities['235'] = 'ë'; - entities['236'] = 'ì'; - entities['237'] = 'í'; - entities['238'] = 'î'; - entities['239'] = 'ï'; - entities['240'] = 'ð'; - entities['241'] = 'ñ'; - entities['242'] = 'ò'; - entities['243'] = 'ó'; - entities['244'] = 'ô'; - entities['245'] = 'õ'; - entities['246'] = 'ö'; - entities['247'] = '÷'; - entities['248'] = 'ø'; - entities['249'] = 'ù'; - entities['250'] = 'ú'; - entities['251'] = 'û'; - entities['252'] = 'ü'; - entities['253'] = 'ý'; - entities['254'] = 'þ'; - entities['255'] = 'ÿ'; - } - - if (useQuoteStyle !== 'ENT_NOQUOTES') { - entities['34'] = '"'; - } - if (useQuoteStyle === 'ENT_QUOTES') { - entities['39'] = '''; - } - entities['60'] = '<'; - entities['62'] = '>'; - - // ascii decimals to real symbols - for (decimal in entities) { - if (entities.hasOwnProperty(decimal)) { - hashMap[String.fromCharCode(decimal)] = entities[decimal]; - } - } - - return hashMap; - }; - - htmlEntities.encode = function(string, quoteStyle) { - var hashMap = this.getHtmlTranslationTable('HTML_ENTITIES', quoteStyle); - - string = string === null ? '' : string + ''; - - if (!hashMap) { - return false; - } - - if (quoteStyle && quoteStyle === 'ENT_QUOTES') { - hashMap['\''] = '''; - } - - var regex = new RegExp('&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|[' + - Object.keys(hashMap) - .join('') - // replace regexp special chars - .replace(/([()[\]{}\-.*+?^$|\/\\])/g, '\\$1') + ']', - 'g'); - - return string.replace(regex, function(ent) { - let encoded; - if (ent.length > 1) { - encoded = ent; - } - encoded = hashMap[ent]; - return encoded; - }); - }; - - return htmlEntities; -}(HTML_ENTITIES || {})); diff --git a/src/js/polyfills.js b/src/js/polyfills.js index 2e99d551b..ae6c8caf6 100644 --- a/src/js/polyfills.js +++ b/src/js/polyfills.js @@ -1,29 +1,5 @@ 'use strict'; -// Polyfill for Object.assign -if (typeof Object.assign !== 'function') { - (function() { - Object.assign = function(target) { - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; - }; - })(); -} - // Element.remove() polyfill if (!('remove' in Element.prototype)) { Element.prototype.remove = function() { diff --git a/src/js/to-xml.js b/src/js/to-xml.js index d0216055e..623a9a922 100644 --- a/src/js/to-xml.js +++ b/src/js/to-xml.js @@ -29,7 +29,6 @@ _helpers.forEach(sortableFields.childNodes, function(index, field) { index = index; var $field = $(field); - var fieldData = $field.data('fieldData'); if (!($field.hasClass('disabled'))) { var roleVals = $('.roles-field:checked', field).map(function() { @@ -37,30 +36,20 @@ }).get(); var enableOther = $('[name="enable-other"]:checked', field).length; - let types = _helpers.getTypes($field); - var xmlAttrs = { - className: fieldData.className, - description: $('input.fld-description', $field).val(), - label: $('.fld-label', $field).val(), - maxlength: $('input.fld-maxlength', $field).val(), - multiple: $('input[name="multiple"]', $field).is(':checked'), - name: $('input.fld-name', $field).val(), - placeholder: $('input.fld-placeholder', $field).val(), - required: $('input.fld-required', $field).is(':checked'), - toggle: $('.toggle', $field).is(':checked'), - type: types.type, - subtype: types.subtype, - min: $('input.fld-min', $field).val(), - max: $('input.fld-max', $field).val(), - value: $('input.fld-value', $field).val() - }; + let xmlAttrs = _helpers.getTypes($field); + + $('[class*="fld-"]', field).each(function() { + let name = _helpers.camelCase(this.name); + xmlAttrs[name] = this.type === 'checkbox' ? this.checked : this.value; + }); + if (roleVals.length) { xmlAttrs.role = roleVals.join(','); } if (enableOther) { xmlAttrs.other = 'true'; } - xmlAttrs = _helpers.trimAttrs(xmlAttrs); + xmlAttrs = _helpers.trimObj(xmlAttrs); xmlAttrs = _helpers.escapeAttrs(xmlAttrs); var multipleField = xmlAttrs.type.match(/(select|checkbox-group|radio-group)/); From 2780631ae92c484ec9e7088ae4027f75f69f2360 Mon Sep 17 00:00:00 2001 From: Kevin Chappell Date: Sat, 23 Jul 2016 18:53:29 +0100 Subject: [PATCH 3/3] v1.15.0 --- CHANGELOG.md | 1 + README.md | 2 +- bower.json | 2 +- demo/assets/css/form-builder.min.css | 2 +- demo/assets/css/form-render.min.css | 2 +- demo/assets/js/form-builder.min.js | 2 +- demo/assets/js/form-render.min.js | 2 +- dist/form-builder.css | 2 +- dist/form-builder.js | 2 +- dist/form-builder.min.css | 2 +- dist/form-builder.min.js | 2 +- dist/form-render.css | 2 +- dist/form-render.js | 2 +- dist/form-render.min.css | 2 +- dist/form-render.min.js | 2 +- package.json | 2 +- 16 files changed, 16 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 198712234..1f0b5c239 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog +- v1.15.0 - Feature/Bugfix: Allow multiple files, bigfixes [#211](https://github.com/kevinchappell/formBuilder/pull/211) - v1.14.6 - Hotfix: set Sortable `scroll` to `false` [#206](https://github.com/kevinchappell/formBuilder/pull/206) - v1.14.5 - Chore: Add composer.json [#207](https://github.com/kevinchappell/formBuilder/pull/207) - v1.14.4 - Bugfix: Form not saving when fields added by click [#203](https://github.com/kevinchappell/formBuilder/pull/203) diff --git a/README.md b/README.md index b728b549f..581b0c6e9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -formBuilder v1.14.6 +formBuilder v1.15.0 =========== [![Join the chat at https://gitter.im/kevinchappell/formBuilder](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kevinchappell/formBuilder?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/bower.json b/bower.json index ef852b5c1..afd7d8eed 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "formBuilder", - "version": "1.14.6", + "version": "1.15.0", "main": [ "dist/*" ], diff --git a/demo/assets/css/form-builder.min.css b/demo/assets/css/form-builder.min.css index 60ed9ba88..5068a4074 100644 --- a/demo/assets/css/form-builder.min.css +++ b/demo/assets/css/form-builder.min.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 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}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions a:hover,[id^=frmb-][id$='-form-wrap'] .frmb li .close-field:hover{text-decoration:none}.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}[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.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 .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=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=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/demo/assets/css/form-render.min.css b/demo/assets/css/form-render.min.css index 9a7c3785d..ca37192c4 100644 --- a/demo/assets/css/form-render.min.css +++ b/demo/assets/css/form-render.min.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 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/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index de5c96e17..e1a08fe0e 100644 --- a/demo/assets/js/form-builder.min.js +++ b/demo/assets/js/form-builder.min.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ "use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var s in e)e.hasOwnProperty(s)&&(s=a.safeAttr(s,e[s]),t.push(s.name+s.value));var l=t.join(" ");return l},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var s=window.JSON.stringify(a.escapeAttr(t));return t=t?"="+s:"",{name:e,value:t}},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),o=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===o),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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimObj=function(e){var t=[null,void 0,"",!1];for(var s in e)a.inArray(e[s],t)&&delete e[s];return e},a.escapeAttr=function(e){function t(e){return a[e]||e}var a={'"':""","&":"&","<":"<",">":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=a.escapeAttr(e[t]));return e},a.xmlSave=function(e){var s=$(e).toXML(a);return window.JSON.stringify(s)===window.JSON.stringify(t.formData)?!1:void(t.formData=s)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var s,l=a.getElement(),o=document.getElementById(e.formID),n={xml:a.xmlSave,json:a.jsonSave};return s=n[e.dataType](o),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange()),document.dispatchEvent(t.events.formSaved),s},a.getElement=function(){var s=!1;return t.element&&(s=t.element,s.id||a.makeId(s),s.onchange||(s.onchange=function(){e.notify.success(e.messages.formUpdated)})),s},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,s=e.substring(0,t);return s+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.attr("class");if(-1===t.indexOf("ui-sortable-handle")){var s,l=$(e).attr("type"),o=$(".prev-holder",e),n={type:l};$('[class*="fld-"]',e).each(function(){var e=a.camelCase(this.name);n[e]="checkbox"===this.type?this.checked:this.value});var r=$(".btn-style",e).val();r&&(n.style=r),l.match(/(select|checkbox-group|radio-group)/)&&(n.values=[],n.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(),n.values.push(e)})),n=a.trimObj(n),n.className=a.classNames(e,n),$(".fld-className",e).val(n.className),e.data("fieldData",n),s=a.fieldPreview(n),o.html(s),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var s,l="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var n=t.toggle?"toggle":"",r=a.attrString(t);switch(t.type){case"textarea":case"rich-text":l="";break;case"button":case"submit":l="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),s=t.values.length-1;s>=0;s--){var d=t.values[s].selected&&!t.placeholder?"selected":"";i+='"}l="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),s=t.values.length-1;s>=0;s--){var m=t.values[s].selected?"checked":"",f=u+"-"+o+"-"+s;l+='
                    "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);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+="
                    "+g.outerHTML+'
                    '}break;case"text":case"password":case"email":case"date":case"file":case"number":l="";break;case"color":l=' '+e.messages.selectColor;break;case"hidden":case"checkbox":l='";break;case"autocomplete":l='';break;default:r=a.attrString(t),l="<"+t.type+" "+r+">"+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,o=arguments,n=function(){t=null,s||e.apply(l,o)},r=s&&!t;clearTimeout(t),t=setTimeout(n,a),r&&e.apply(l,o)}},a.htmlEncode=function(e){return $("
                    ").text(e).html()},a.htmlDecode=function(e){return $("
                    ").html(e).text()},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 s=e.messages.fieldNonEditable;if(s){var l=a.markup("p",s,{className:a.disabledTT.className});t.append(l)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,s){var l=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],n=void 0;for(n=o.length-1;n>=0;n--)o=o.concat(e.messages.subtypes[o[n]]);l=l.concat(o);var r=s.type,i=s.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[r];if(p){if(i){for(n=d.length-1;n>=0;n--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[n].match(m);f&&d.splice(n,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(r,l)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],s=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],l=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},r={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var n=t.filter(function(e){return e.attrs.type===s[o]})[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(),o=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:o.left},r=a.offset(),i=s.offset(),c=r.top+a.height(),d=i.top+s.height();c>d&&r.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&r.top>e)&&a.css(n)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}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};!function(e){var t=function(t,a){var s={theme:"fresh",labels:{off:"Off",on:"On"}},l=e.extend(s,a),o=e('
                    ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
                    '+l.labels.on+"
                    ",r='
                    '+l.labels.off+"
                    ",i='
                    ',c='
                    '+n+i+r+"
                    ";o.append(c),o.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){var s=this,l={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],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",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"],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",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,prefix:"form-builder-"};l.messages.subtypes.password=l.messages.subtypes.text,l.messages.subtypes.email=l.messages.subtypes.text,l.messages.subtypes.color=l.messages.subtypes.text,l.messages.subtypes.submit=l.messages.subtypes.button;var o=e.extend(!0,l,t),n=e(a),r="frmb-"+e("ul[id^=frmb-]").length++;o.formID=r,s.element=a;var i=e("
                      ").attr("id",r).addClass("frmb"),c=formBuilderHelpersFn(o,s);s.layout=c.editorLayout(o.controlPosition);var d=r+"-fld-1",u=r+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
                    • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:r+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:r+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:r+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(A(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var C=e("
                      ",{id:r+"-stage-wrap","class":"stage-wrap "+s.layout.stage}),N=e("
                      ",{id:r+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});n.before(C).appendTo(C);var E=e("
                      ",{id:r+"-cb-wrap","class":"cb-wrap "+s.layout.controls}).append(f[0],x);C.append(i,E),C.before(N),N.append(C,E);var O=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",O),e("li",f).click(function(t){c.stopIndex=void 0,A(e(this),!0),c.save()});var T=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var s=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(s)}t.some(function(e){return e===!0})&&C.removeClass("empty")},A=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 o=t[0].attributes;a||(s.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var n=o.length-1;n>=0;n--)s[o[n].name]=o[n].value}}else s=t;s.name=a?$(s):s.name,s.className=s.className||s["class"];var r=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(s.className);r&&(s.style=r[1]),c.escapeAttrs(s),P(s),C.removeClass("empty")},S=function(){var t="";t=s.formData?s.formData:""!==n.val()?e.parseXML(s.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)s.formData=t,a.each(function(){A(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var l=o.defaultFields.length-1;l>=0;l--)A(o.defaultFields[l]);C.removeClass("empty"),c.save()}else o.prepend||o.append||C.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),T()},M=function(){var e={xml:S,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var $=function(e){var t=(new Date).getTime();return e.type+"-"+t},D=function W(e){var t=c.markup("a",o.messages.addOption,{className:"add add-opt"}),W="";if(e.values&&e.values.length||(e.values=[{selected:!0},{selected:!1}],e.values=e.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e})),W+='",W+='
                      ',"select"===e.type){var a={second:o.messages.selectionsMessage};W+=F("multiple",e,a)}for(W+='
                        ',v=0;v",c.markup("div",W,{className:"form-group field-options"}).outerHTML},L=function U(e){var t,U=[],a="",s=["select","checkbox-group","radio-group"],l=function(){return-1!==s.indexOf(e.type)}(),n=function(){var t=["header","paragraph","file"].concat(s,o.messages.subtypes.header,o.messages.subtypes.paragraph);return-1===t.indexOf(e.type)},r=void 0!==e.role?e.role.split(","):[];U.push(H(e)),"checkbox"===e.type&&U.push(F("toggle",e,{first:o.messages.toggle})),U.push(j("label",e)),e.size=e.size||"m",e.style=e.style||"default";var i=["header","paragraph","button"].concat(o.messages.subtypes.header,o.messages.subtypes.paragraph);if(i=i.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===i.indexOf(e.type)&&U.push(j("description",e)),U.push(I(e)),"button"===e.type&&U.push(q(e.style,e.type)),"number"===e.type&&(U.push(B("min",e)),U.push(B("max",e)),U.push(B("step",e))),U.push(j("placeholder",e)),U.push(j("className",e)),U.push(j("name",e)),n||U.push(j("value",e)),"file"===e.type){var u={first:o.messages.multipleFiles,second:o.messages.allowMultipleFiles};U.push(F("multiple",e,u))}U.push('
                        "),U.push(' "),U.push('
                        ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,r)?"checked":"",U.push('
                        "));return U.push("
                        "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(U.push('
                        "),U.push('
                        ")),l&&U.push(D(e)),U.push(j("maxlength",e)),U.join("")},F=function(e,t,a){var s=function(t){return'"},l=void 0!==t[e]?"checked":"",o='',n=[o];return a.first&&n.unshift(s(a.first)),a.second&&n.push(s(a.second)),'
                        '+n.join("")+"
                        "},I=function Y(e){var t=o.messages.subtypes,a=e.type,s=e.subtype||"",Y="",l=void 0;if(t[a]){var n="";Y+='",Y='
                        '+n+" "+Y+"
                        "}return Y},q=function(e,t){var a={button:"btn"},s=o.messages.styles[a[t]],l="";if(s){var n="";l+='',l+='
                        ',Object.keys(o.messages.styles[a[t]]).forEach(function(s){var n=e===s?"active":"";l+='"}),l+="
                        ",l='
                        '+n+" "+l+"
                        "}return l},B=function _(e,t){var a=t[e]||"",s=o.messages[e]||e,l=o.messages.placeholders[e]||"",_='';return'
                        "+_+"
                        "},j=function(e,t){var a=["text","textarea","select"],s=["header"],l=["paragraph"],n=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],r=t[e]||"",i=o.messages[e];"label"===e&&c.inArray(t.type,l)&&(i=o.messages.content),s=s.concat(o.messages.subtypes.header,l),n=n.concat(l);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,s)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,n)&&f.push(!0),!f.some(function(e){return e===!0})){var v='";m+="label"===e&&c.inArray(t.type,l)?'":'',m='
                        '+v+" "+m+"
                        "}return m},H=function(e){var t=["header","paragraph","button"],a=[],s="";return c.inArray(e.type,t)&&a.push(!0),a.some(function(e){return e===!0})||(s=F("required",e,{first:o.messages.required})),s},P=function(t){var a=t.type||"text",s=t.label||o.messages[a]||o.messages.label,l=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),n=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),r=c.markup("div",[n,l],{className:"field-actions"}).outerHTML;r+='",t.description&&(r+='?');var u=t.required?'style="display:inline"':"";r+=' *",r+=c.markup("div","",{className:"prev-holder"}).outerHTML,r+='
                        ',r+='
                        ',r+=L(t),r+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,r+="
                        ",r+="
                        ";var p=c.markup("li",r,{"class":a+"-field form-field",type:a,id:d}),m=e(p);m.data("fieldData",{attrs:t}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(m):i.append(m),e(".sortable-options",m).sortable(),c.updatePreview(m),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},R=function(e,t,a){var s={selected:a?"checkbox":"radio"},l=["value","label","selected"],n=[];t=t||{selected:!1,label:"",value:""};for(var r=l.length-1;r>=0;r--){var i=l[r];if(t.hasOwnProperty(i)){var d={type:s[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),n.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};n.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",n);return p.outerHTML; diff --git a/demo/assets/js/form-render.min.js b/demo/assets/js/form-render.min.js index a92e9b16f..b8585bc04 100644 --- a/demo/assets/js/form-render.min.js +++ b/demo/assets/js/form-render.min.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ "use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                        "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                        '+r+"
                        ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                        '+a.labels.on+"
                        ",l='
                        '+a.labels.off+"
                        ",s='
                        ',c='
                        '+i+s+l+"
                        ";o.append(c),o.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};!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 diff --git a/dist/form-builder.css b/dist/form-builder.css index e87318168..bf1a72eac 100644 --- a/dist/form-builder.css +++ b/dist/form-builder.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ @charset "UTF-8"; diff --git a/dist/form-builder.js b/dist/form-builder.js index f34bb7831..20b062dac 100644 --- a/dist/form-builder.js +++ b/dist/form-builder.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ 'use strict'; diff --git a/dist/form-builder.min.css b/dist/form-builder.min.css index 60ed9ba88..5068a4074 100644 --- a/dist/form-builder.min.css +++ b/dist/form-builder.min.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 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}[id^=frmb-][id$='-form-wrap'] .frmb .field-actions a:hover,[id^=frmb-][id$='-form-wrap'] .frmb li .close-field:hover{text-decoration:none}.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}[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.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 .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=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=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 index de5c96e17..e1a08fe0e 100644 --- a/dist/form-builder.min.js +++ b/dist/form-builder.min.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ "use strict";function formBuilderHelpersFn(e,t){var a={doCancel:!1};return t.events=formBuilderEventsFn(),a.attrString=function(e){var t=[];for(var s in e)e.hasOwnProperty(s)&&(s=a.safeAttr(s,e[s]),t.push(s.name+s.value));var l=t.join(" ");return l},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.camelCase=function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})},a.makeClassName=function(e){return e=e.replace(/[^\w\s\-]/gi,""),a.hyphenCase(e)},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){e=a.safeAttrName(e);var s=window.JSON.stringify(a.escapeAttr(t));return t=t?"="+s:"",{name:e,value:t}},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),o=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===o),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){return{type:e.attr("type"),subtype:$(".fld-subtype",e).val()}},a.trimObj=function(e){var t=[null,void 0,"",!1];for(var s in e)a.inArray(e[s],t)&&delete e[s];return e},a.escapeAttr=function(e){function t(e){return a[e]||e}var a={'"':""","&":"&","<":"<",">":">"};return"string"==typeof e?e.replace(/["&<>]/g,t):e},a.escapeAttrs=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]=a.escapeAttr(e[t]));return e},a.xmlSave=function(e){var s=$(e).toXML(a);return window.JSON.stringify(s)===window.JSON.stringify(t.formData)?!1:void(t.formData=s)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var s,l=a.getElement(),o=document.getElementById(e.formID),n={xml:a.xmlSave,json:a.jsonSave};return s=n[e.dataType](o),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange()),document.dispatchEvent(t.events.formSaved),s},a.getElement=function(){var s=!1;return t.element&&(s=t.element,s.id||a.makeId(s),s.onchange||(s.onchange=function(){e.notify.success(e.messages.formUpdated)})),s},a.incrementId=function(e){var t=e.lastIndexOf("-"),a=parseInt(e.substring(t+1))+1,s=e.substring(0,t);return s+"-"+a},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.attr("class");if(-1===t.indexOf("ui-sortable-handle")){var s,l=$(e).attr("type"),o=$(".prev-holder",e),n={type:l};$('[class*="fld-"]',e).each(function(){var e=a.camelCase(this.name);n[e]="checkbox"===this.type?this.checked:this.value});var r=$(".btn-style",e).val();r&&(n.style=r),l.match(/(select|checkbox-group|radio-group)/)&&(n.values=[],n.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(),n.values.push(e)})),n=a.trimObj(n),n.className=a.classNames(e,n),$(".fld-className",e).val(n.className),e.data("fieldData",n),s=a.fieldPreview(n),o.html(s),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var s,l="",o=(new Date).getTime();t=jQuery.extend({},t),t.type=t.subtype||t.type;var n=t.toggle?"toggle":"",r=a.attrString(t);switch(t.type){case"textarea":case"rich-text":l="";break;case"button":case"submit":l="";break;case"select":var i="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(i+=""),s=t.values.length-1;s>=0;s--){var d=t.values[s].selected&&!t.placeholder?"selected":"";i+='"}l="<"+t.type+' class="'+t.className+'" '+c+">"+i+"";break;case"checkbox-group":case"radio-group":var u=t.type.replace("-group",""),p=u+"-"+o;for(t.values.reverse(),s=t.values.length-1;s>=0;s--){var m=t.values[s].selected?"checked":"",f=u+"-"+o+"-"+s;l+='
                        "}if(t.enableOther){var v=p+"-other",h={id:v,name:p,className:t.className+" other-option",type:u,onclick:"otherOptionCallback('"+v+"')"},g=a.markup("input",null,h);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+="
                        "+g.outerHTML+'
                        '}break;case"text":case"password":case"email":case"date":case"file":case"number":l="";break;case"color":l=' '+e.messages.selectColor;break;case"hidden":case"checkbox":l='";break;case"autocomplete":l='';break;default:r=a.attrString(t),l="<"+t.type+" "+r+">"+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,o=arguments,n=function(){t=null,s||e.apply(l,o)},r=s&&!t;clearTimeout(t),t=setTimeout(n,a),r&&e.apply(l,o)}},a.htmlEncode=function(e){return $("
                        ").text(e).html()},a.htmlDecode=function(e){return $("
                        ").html(e).text()},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 s=e.messages.fieldNonEditable;if(s){var l=a.markup("p",s,{className:a.disabledTT.className});t.append(l)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(t,s){var l=["checkbox","checkbox-group","radio-group"],o=["header","paragraph","button"],n=void 0;for(n=o.length-1;n>=0;n--)o=o.concat(e.messages.subtypes[o[n]]);l=l.concat(o);var r=s.type,i=s.style,c=t[0].querySelector(".fld-className").value,d=[].concat(c.split(" ")).reverse(),u={button:"btn",submit:"btn"},p=u[r];if(p){if(i){for(n=d.length-1;n>=0;n--){var m=new RegExp("(?:^|s)"+p+"-(.*?)(?:s|$)+","g"),f=d[n].match(m);f&&d.splice(n,1)}d.push(p+"-"+i)}d.push(p)}else a.inArray(r,l)||d.push("form-control");return a.unique(d.reverse()).join(" ").trim()},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],s=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],l=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},r={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t=0;o--){var n=t.filter(function(e){return e.attrs.type===s[o]})[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(),o=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:o.left},r=a.offset(),i=s.offset(),c=r.top+a.height(),d=i.top+s.height();c>d&&r.top!==i.top&&a.css({position:"absolute",top:"auto",bottom:0,right:0,left:"auto"}),(d>c||c===d&&r.top>e)&&a.css(n)}else t.parentElement.removeAttribute("style")})},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.formSaved=new Event("formSaved"),e}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};!function(e){var t=function(t,a){var s={theme:"fresh",labels:{off:"Off",on:"On"}},l=e.extend(s,a),o=e('
                        ').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
                        '+l.labels.on+"
                        ",r='
                        '+l.labels.off+"
                        ",i='
                        ',c='
                        '+n+i+r+"
                        ";o.append(c),o.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){var s=this,l={controlPosition:"right",controlOrder:["autocomplete","button","checkbox","checkbox-group","date","file","header","hidden","paragraph","number","radio-group","select","text","textarea"],dataType:"xml",disableFields:["autocomplete","hidden","number"],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",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"],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",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,prefix:"form-builder-"};l.messages.subtypes.password=l.messages.subtypes.text,l.messages.subtypes.email=l.messages.subtypes.text,l.messages.subtypes.color=l.messages.subtypes.text,l.messages.subtypes.submit=l.messages.subtypes.button;var o=e.extend(!0,l,t),n=e(a),r="frmb-"+e("ul[id^=frmb-]").length++;o.formID=r,s.element=a;var i=e("
                          ").attr("id",r).addClass("frmb"),c=formBuilderHelpersFn(o,s);s.layout=c.editorLayout(o.controlPosition);var d=r+"-fld-1",u=r+"-control-box",p=[{label:o.messages.textArea,attrs:{type:"textarea",className:"text-area",name:"textarea"}},{label:o.messages.text,attrs:{type:"text",className:"text-input",name:"text-input"}},{label:o.messages.select,attrs:{type:"select",className:"select",name:"select"}},{label:o.messages.radioGroup,attrs:{type:"radio-group",className:"radio-group",name:"radio-group"}},{label:o.messages.paragraph,attrs:{type:"paragraph",className:"paragraph"}},{label:o.messages.number,attrs:{type:"number",className:"number",name:"number"}},{label:o.messages.hidden,attrs:{type:"hidden",className:"hidden-input",name:"hidden-input"}},{label:o.messages.header,attrs:{type:"header",className:"header"}},{label:o.messages.fileUpload,attrs:{type:"file",className:"file-input",name:"file-input"}},{label:o.messages.dateField,attrs:{type:"date",className:"calendar",name:"date-input"}},{label:o.messages.checkboxGroup,attrs:{type:"checkbox-group",className:"checkbox-group",name:"checkbox-group"}},{label:o.messages.checkbox,attrs:{type:"checkbox",className:"checkbox",name:"checkbox"}},{label:o.messages.button,attrs:{type:"button",className:"button-input",name:"button"}},{label:o.messages.autocomplete,attrs:{type:"autocomplete",className:"autocomplete",name:"autocomplete"}}];p=c.orderFields(p),o.disableFields&&(p=p.filter(function(e){return!c.inArray(e.attrs.type,o.disableFields)}));var m=c.markup("ul",null,{id:u,className:"frmb-control"});o.sortableControls&&m.classList.add("sort-enabled");for(var f=e(m),v=p.length-1;v>=0;v--){var h=e("
                        • ",{"class":"icon-"+p[v].attrs.className,type:p[v].type,name:p[v].className,label:p[v].label});h.data("newFieldData",p[v]);var g=c.markup("span",p[v].label);h.html(g).appendTo(f)}var b="xml"===o.dataType?o.messages.viewXML:o.messages.viewJSON,y=c.markup("button",b,{id:r+"-view-data",type:"button",className:"view-data btn btn-default"}),k=c.markup("button",o.messages.clearAll,{id:r+"-clear-all",type:"button",className:"clear-all btn btn-default"}),w=c.markup("button",o.messages.save,{className:"btn btn-primary "+o.prefix+"save",id:r+"-save",type:"button"}),x=c.markup("div",[k,y,w],{className:"form-actions btn-group"}).outerHTML;i.sortable({cursor:"move",opacity:.9,revert:150,beforeStop:c.beforeStop,start:c.startMoving,stop:c.stopMoving,cancel:"input, select, .disabled, .form-group, .btn",placeholder:"frmb-placeholder"}),f.sortable({helper:"clone",opacity:.9,connectWith:i,cursor:"move",scroll:!1,placeholder:"ui-state-highlight",start:c.startMoving,stop:c.stopMoving,revert:150,beforeStop:c.beforeStop,distance:3,update:function(e,t){return c.doCancel?!1:(e=e,void(t.item.parent()[0]===i[0]?(A(t.item,!0),c.doCancel=!0):(c.setFieldOrder(f),c.doCancel=!o.sortableControls)))}});var C=e("
                          ",{id:r+"-stage-wrap","class":"stage-wrap "+s.layout.stage}),N=e("
                          ",{id:r+"-form-wrap","class":"form-wrap form-builder"+c.mobileClass()});n.before(C).appendTo(C);var E=e("
                          ",{id:r+"-cb-wrap","class":"cb-wrap "+s.layout.controls}).append(f[0],x);C.append(i,E),C.before(N),N.append(C,E);var O=c.debounce(function(t){if(t&&"keyup"===t.type&&"className"===this.name)return!1;var a=e(this).parents(".form-field:eq(0)");c.updatePreview(a),c.save()});i.on("change blur keyup",".form-elements input, .form-elements select, .form-elements textarea",O),e("li",f).click(function(t){c.stopIndex=void 0,A(e(this),!0),c.save()});var T=function(){var t=[];if(o.prepend&&!e(".disabled.prepend",i).length){var a=c.markup("li",o.prepend,{className:"disabled prepend"});t.push(!0),i.prepend(a)}if(o.append&&!e(".disabled.append",i).length){var s=c.markup("li",o.append,{className:"disabled append"});t.push(!0),i.append(s)}t.some(function(e){return e===!0})&&C.removeClass("empty")},A=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 o=t[0].attributes;a||(s.values=t.children().map(function(t,a){return{label:e(a).text(),value:e(a).attr("value"),selected:Boolean(e(a).attr("selected"))}}));for(var n=o.length-1;n>=0;n--)s[o[n].name]=o[n].value}}else s=t;s.name=a?$(s):s.name,s.className=s.className||s["class"];var r=/(?:^|\s)btn-(.*?)(?:\s|$)/g.exec(s.className);r&&(s.style=r[1]),c.escapeAttrs(s),P(s),C.removeClass("empty")},S=function(){var t="";t=s.formData?s.formData:""!==n.val()?e.parseXML(s.element.value.trim()):!1;var a=e(t).find("field");if(a.length>0)s.formData=t,a.each(function(){A(e(this))});else if(!t)if(o.defaultFields&&o.defaultFields.length){o.defaultFields.reverse();for(var l=o.defaultFields.length-1;l>=0;l--)A(o.defaultFields[l]);C.removeClass("empty"),c.save()}else o.prepend||o.append||C.addClass("empty").attr("data-content",o.messages.getStarted);e("li.form-field:not(.disabled)",i).each(function(){c.updatePreview(e(this))}),T()},M=function(){var e={xml:S,json:function(){console.log("coming soon")}};e[o.dataType]()};i.on("mousemove","li.disabled",function(t){e(".frmb-tt",this).css({left:t.offsetX-16,top:t.offsetY-34})}),i.on("mouseenter","li.disabled",function(){c.disabledTT.add(e(this))}),i.on("mouseleave","li.disabled",function(){c.disabledTT.remove(e(this))});var $=function(e){var t=(new Date).getTime();return e.type+"-"+t},D=function W(e){var t=c.markup("a",o.messages.addOption,{className:"add add-opt"}),W="";if(e.values&&e.values.length||(e.values=[{selected:!0},{selected:!1}],e.values=e.values.map(function(e,t){return e.label=o.messages.option+" "+(t+1),e.value=c.hyphenCase(e.label),e})),W+='",W+='
                          ',"select"===e.type){var a={second:o.messages.selectionsMessage};W+=F("multiple",e,a)}for(W+='
                            ',v=0;v",c.markup("div",W,{className:"form-group field-options"}).outerHTML},L=function U(e){var t,U=[],a="",s=["select","checkbox-group","radio-group"],l=function(){return-1!==s.indexOf(e.type)}(),n=function(){var t=["header","paragraph","file"].concat(s,o.messages.subtypes.header,o.messages.subtypes.paragraph);return-1===t.indexOf(e.type)},r=void 0!==e.role?e.role.split(","):[];U.push(H(e)),"checkbox"===e.type&&U.push(F("toggle",e,{first:o.messages.toggle})),U.push(j("label",e)),e.size=e.size||"m",e.style=e.style||"default";var i=["header","paragraph","button"].concat(o.messages.subtypes.header,o.messages.subtypes.paragraph);if(i=i.concat(o.messages.subtypes.header,o.messages.subtypes.paragraph),-1===i.indexOf(e.type)&&U.push(j("description",e)),U.push(I(e)),"button"===e.type&&U.push(q(e.style,e.type)),"number"===e.type&&(U.push(B("min",e)),U.push(B("max",e)),U.push(B("step",e))),U.push(j("placeholder",e)),U.push(j("className",e)),U.push(j("name",e)),n||U.push(j("value",e)),"file"===e.type){var u={first:o.messages.multipleFiles,second:o.messages.allowMultipleFiles};U.push(F("multiple",e,u))}U.push('
                            "),U.push(' "),U.push('
                            ");for(t in o.roles)o.roles.hasOwnProperty(t)&&(a=c.inArray(t,r)?"checked":"",U.push('
                            "));return U.push("
                            "),"checkbox-group"!==e.type&&"radio-group"!==e.type||(U.push('
                            "),U.push('
                            ")),l&&U.push(D(e)),U.push(j("maxlength",e)),U.join("")},F=function(e,t,a){var s=function(t){return'"},l=void 0!==t[e]?"checked":"",o='',n=[o];return a.first&&n.unshift(s(a.first)),a.second&&n.push(s(a.second)),'
                            '+n.join("")+"
                            "},I=function Y(e){var t=o.messages.subtypes,a=e.type,s=e.subtype||"",Y="",l=void 0;if(t[a]){var n="";Y+='",Y='
                            '+n+" "+Y+"
                            "}return Y},q=function(e,t){var a={button:"btn"},s=o.messages.styles[a[t]],l="";if(s){var n="";l+='',l+='
                            ',Object.keys(o.messages.styles[a[t]]).forEach(function(s){var n=e===s?"active":"";l+='"}),l+="
                            ",l='
                            '+n+" "+l+"
                            "}return l},B=function _(e,t){var a=t[e]||"",s=o.messages[e]||e,l=o.messages.placeholders[e]||"",_='';return'
                            "+_+"
                            "},j=function(e,t){var a=["text","textarea","select"],s=["header"],l=["paragraph"],n=["checkbox","select","checkbox-group","date","autocomplete","radio-group","hidden","button","header","number"],r=t[e]||"",i=o.messages[e];"label"===e&&c.inArray(t.type,l)&&(i=o.messages.content),s=s.concat(o.messages.subtypes.header,l),n=n.concat(l);var u=o.messages.placeholders,p=u[e]||"",m="",f=[];if("placeholder"!==e||c.inArray(t.type,a)||f.push(!0),"name"===e&&c.inArray(t.type,s)&&f.push(!0),"maxlength"===e&&c.inArray(t.type,n)&&f.push(!0),!f.some(function(e){return e===!0})){var v='";m+="label"===e&&c.inArray(t.type,l)?'":'',m='
                            '+v+" "+m+"
                            "}return m},H=function(e){var t=["header","paragraph","button"],a=[],s="";return c.inArray(e.type,t)&&a.push(!0),a.some(function(e){return e===!0})||(s=F("required",e,{first:o.messages.required})),s},P=function(t){var a=t.type||"text",s=t.label||o.messages[a]||o.messages.label,l=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),n=c.markup("a",null,{id:d+"-edit",className:"toggle-form btn icon-pencil",title:o.messages.hide}),r=c.markup("div",[n,l],{className:"field-actions"}).outerHTML;r+='",t.description&&(r+='?');var u=t.required?'style="display:inline"':"";r+=' *",r+=c.markup("div","",{className:"prev-holder"}).outerHTML,r+='
                            ',r+='
                            ',r+=L(t),r+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,r+="
                            ",r+="
                            ";var p=c.markup("li",r,{"class":a+"-field form-field",type:a,id:d}),m=e(p);m.data("fieldData",{attrs:t}),"undefined"!=typeof c.stopIndex?e("> li",i).eq(c.stopIndex).after(m):i.append(m),e(".sortable-options",m).sortable(),c.updatePreview(m),o.editOnAdd&&(c.closeAllEdit(i),c.toggleEdit(d)),d=c.incrementId(d)},R=function(e,t,a){var s={selected:a?"checkbox":"radio"},l=["value","label","selected"],n=[];t=t||{selected:!1,label:"",value:""};for(var r=l.length-1;r>=0;r--){var i=l[r];if(t.hasOwnProperty(i)){var d={type:s[i]||"text","class":"option-"+i,placeholder:o.messages.placeholders[i],value:t[i],name:e};"selected"===i&&(d.checked=t.selected),n.push(c.markup("input",null,d))}}var u={className:"remove btn",title:o.messages.removeMessage};n.push(c.markup("a",o.messages.remove,u));var p=c.markup("li",n);return p.outerHTML; diff --git a/dist/form-render.css b/dist/form-render.css index eec16358b..fc3389563 100644 --- a/dist/form-render.css +++ b/dist/form-render.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ .kc-toggle { diff --git a/dist/form-render.js b/dist/form-render.js index 8360bd4c4..285060531 100644 --- a/dist/form-render.js +++ b/dist/form-render.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ 'use strict'; diff --git a/dist/form-render.min.css b/dist/form-render.min.css index 9a7c3785d..ca37192c4 100644 --- a/dist/form-render.min.css +++ b/dist/form-render.min.css @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 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 index a92e9b16f..b8585bc04 100644 --- a/dist/form-render.min.js +++ b/dist/form-render.min.js @@ -1,6 +1,6 @@ /* formBuilder - https://formbuilder.online/ -Version: 1.14.6 +Version: 1.15.0 Author: Kevin Chappell */ "use strict";function FormRenderFn(e,t){var n=this,r={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)}}},a={},o=$.extend(!0,r,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.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,o=document.createElement(e),i=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},l={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t*'),"hidden"!==i.type&&(s&&(s='?'),n='");var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=n+"";break;case"select":i.type=i.type.replace("-group",""),d.length&&d.each(function(e,t){e=e;var n=a.parseAttrs(t.attributes),o=a.attrString(n);r+=""}),t=n+"";break;case"checkbox-group":case"radio-group":var p=!1;i.type=i.type.replace("-group",""),i.other&&(delete i.other,p=!0),d.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name,t=void 0;if(d.each(function(n,o){var l=$.extend({},i,a.parseAttrs(o.attributes));l.selected&&(delete l.selected,l.checked=null),l.name=e,l.id=i.id+"-"+n,t=a.attrString(l),r+="
                            "}),p){var n={id:i.id+"-other",name:e,"class":i["class"]+" other-option"};t=a.attrString($.extend({},i,n)),r+=" '}}(),t=n+'
                            '+r+"
                            ";break;case"text":case"password":case"email":case"number":case"file":case"hidden":case"date":case"autocomplete":t=n+" ";break;case"color":t=n+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+n,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+" "+f+">"+u+""}if("hidden"!==i.type){var m=i.id?"form-group field-"+i.id:"";t=a.markup("div",t,{className:m})}else t=a.markup("input",null,i);return t},a.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,"")},a.attrString=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(n=a.safeAttr(n,e[n]),t.push(n.name+n.value));return t.join(" ")},a.safeAttr=function(e,t){var n={className:"class"};return e=n[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.parseAttrs=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n].name]=e[n].value);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 i=function(){for(var e=document.getElementsByClassName("other-option"),t=function(){var t=document.getElementById(e[n].id+"-value");e[n].onclick=function(e){var n=this;this.checked?(t.style.display="inline-block",n.nextElementSibling.style.display="none",t.oninput=function(e){n.value=this.value}):(t.style.display="none",n.nextElementSibling.style.display="inline-block",t.oninput=void 0)}},n=0;n').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
                            '+a.labels.on+"
                            ",l='
                            '+a.labels.off+"
                            ",s='
                            ',c='
                            '+i+s+l+"
                            ";o.append(c),o.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};!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 diff --git a/package.json b/package.json index 7ee1bcc7d..44a1d8e45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formBuilder", - "version": "1.14.6", + "version": "1.15.0", "main": "dist/form-builder.js", "files": [ "dist/form-builder.js",