UNPKG

formit

Version:

A speedy way to create HTML forms.

3 lines (2 loc) 3.56 kB
var e=function(e,a){return Object.keys(e).forEach(a)},a=function(e){return e&&document.createElement(e)},n=function(e,a){if(!e||!a)return e;var n="string"==typeof a?a.split(" "):a;return n?(n.forEach(function(a){a&&e.classList.add(a)}),e):e},t=function(a,t){return e(t,function(s){var r=t[s];"style"===s?e(r,function(e){a.style[e]=r[e]}):"class"===s?n(a,r):a.setAttribute(s,r)}),a},s=function(e){return"FormElements-"+e};function r(e,a){var n={};for(var t in e)a.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n}var l=Object.assign||function(e){for(var a=arguments,n=1;n<arguments.length;n++){var t=a[n];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e};var i=function(e,f,m,c){void 0===m&&(m={}),void 0===c&&(c=!1);var p=m.classNames,C=m.shouldNestFieldWithinLabel,N=p.fieldGroupClassName,v=p.fieldClassName,h=p.labelClassName,b=p.nestedFieldClassName,y=p.nestedGroupClassName,F=p.submitClassName,O=a("div");if(n(O,s("FieldGroup")),n(O,s("id-"+f)),n(O,N),Array.isArray(e)){var G=e.map(function(e,a){return i(e,f+"-"+a,m,!0)});return G&&G.forEach(function(e){return O.appendChild(e)}),n(O,"has-fieldGroups"),n(O,y),O}var L=e.html,g=e.label,E=e.type,j=function(e,a){var n={};for(var t in e)a.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n}(e,["html","label","type"]),w=function(e){return s(e)}(f),x=function(e,l){if(e){var i=a("label"),o=r(l,[]);t(i,o),n(i,s("Label"));var d=a("div");return d.innerHTML=e,n(d,s("Label__text")),i.appendChild(d),i}}(g,{class:h,for:w}),W=function(e){var l=e.fieldClassName,i=e.submitClassName,o=e.type,d=r(e,["fieldClassName","submitClassName","type"]),u="textarea"===o.toLowerCase()?"textarea":"input",f=a(u);"textarea"!==u&&(f.type=o);var m="submit"===o?i:l;return t(f,d),n(f,s("Field")),n(f,m),f}(l({type:E,id:w},j,{fieldClassName:v,submitClassName:F}));return x||W?(o(O,x),d(O,x,W,C),u(O,L),c&&(n(O,b),n(O,"is-nested")),O):null},o=function(e,a){a&&e.appendChild(a)},d=function(e,a,n,t){void 0===t&&(t=!0),a&&t?a.appendChild(n):e.appendChild(n)},u=function(e,n){if(n&&("string"==typeof n||function(e){return e&&(e instanceof Element||1===e.nodeType||e===document)}(n))){var t="string"==typeof n?function(e){var n=document.createDocumentFragment(),t=a("div");return t.innerHTML=e,Array.from(t.childNodes).forEach(function(e){n.appendChild(e)}),n}(n):n;t&&e.appendChild(t)}},f=Object.assign||function(e){for(var a=arguments,n=1;n<arguments.length;n++){var t=a[n];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},m={fieldGroupClassName:"",fieldClassName:"",formClassName:"",labelClassName:"",nestedGroupClassName:"",nestedFieldClassName:"",shouldNestFieldWithinLabel:!0,submitClassName:"",onWillRender:function(){},onDidRender:function(){}},c=function(e,a,t){if(void 0===e&&(e=""),void 0===a&&(a=[]),void 0===t&&(t=m),e){var s=document.querySelector(e);if(s){var r=f({},m,t),l=r.onDidRender,o=r.shouldNestFieldWithinLabel,d={fieldGroupClassName:r.fieldGroupClassName,fieldClassName:r.fieldClassName,formClassName:r.formClassName,labelClassName:r.labelClassName,nestedGroupClassName:r.nestedGroupClassName,nestedFieldClassName:r.nestedFieldClassName,submitClassName:r.submitClassName};(0,r.onWillRender)(s,{elements:a,options:t}),function(e,a,t){e&&(t&&t.classNames&&n(e,t.classNames.formClassName),a.forEach(function(a,n){var s=i(a,n,t);e.appendChild(s)}))}(s,a,{classNames:d,shouldNestFieldWithinLabel:o}),l(s,{elements:a,options:t})}}};window.Formit=c,module.exports=c; //# sourceMappingURL=index.js.map