voc-lib-js 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.global.js +1 -1
- package/dist/main.js +1 -1
- package/dist/main.mjs +1 -1
- package/package.json +1 -1
package/dist/main.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var VocLibJs=(()=>{var w=Object.defineProperty;var
|
|
1
|
+
"use strict";var VocLibJs=(()=>{var w=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var m in a)w(p,m,{get:a[m],enumerable:!0})},q=(p,a,m,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of A(a))!H.call(p,f)&&f!==m&&w(p,f,{get:()=>a[f],enumerable:!(d=_(a,f))||d.enumerable});return p};var R=p=>q(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>D,default:()=>N});function L(p,a=!0){let m=new FormData(p);if(a)return m;let d={};return m.forEach((f,u)=>{let v=(f instanceof File,f);Object.prototype.hasOwnProperty.call(d,u)?Array.isArray(d[u])?d[u].push(v):d[u]=[d[u],v]:d[u]=v}),d}async function C(p,a,m){let d=a.url,f={"Content-Type":"application/json"};a?.api_token&&(f.Authorization=`Bearer ${a.api_token}`);let u={...L(p,!1),...a.additional_data},v=JSON.stringify(u),i={method:a.method,headers:{Authorization:`Bearer ${a.api_token}`,"Content-Type":"application/json",Accept:"application/json"},...a.method==="GET"?{}:{body:v}};try{fetch(d,i).then(o=>{let y=o.headers.get("content-type");if(!o.ok){let E=o.text();throw new Error(`HTTP ${o.status}: ${E}`)}return y&&y.includes("application/json")?o.json():o.text()}).then(o=>{m&&m(o,null)}).catch(o=>{m&&m(null,o)})}catch(o){m&&m(null,o)}}function S(p,a,m){let d=[];if(typeof p=="string"?d=Array.from(document.querySelectorAll(p)):d=[p],d.length===0)return null;function f(){let i=m?.style==="bootstrap",o=document.createElement("form");o.classList.add("voc-form"),i&&o.classList.add("needs-validation"),o.id=a.id;let y=document.createElement("h2");y.textContent=a.form_name,o.appendChild(y);function E(e,c){c&&(c.min_length!==void 0&&(e.minLength=c.min_length),c.max_length!==void 0&&(e.maxLength=c.max_length),c.regex&&(e instanceof HTMLInputElement?e.pattern=c.regex:e.dataset.pattern=c.regex))}function T(e){if(!e.key&&!e.label)return null;let c=a.default_values||{},k=e.name||e.key,r=k?c[k]:void 0,b=document.createElement("div");if(b.className="voc-form-group",i&&b.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),i&&t.classList.add("form-label"),e.key?e.type==="radio"?t.htmlFor="":t.htmlFor=`voc-form-${e.key}`:t.htmlFor="",t.textContent=e.label+(e.required?" *":""),b.appendChild(t)}let g=null;switch(e.type){case"checkbox":{let t=document.createElement("div");if(t.className="voc-form-checkbox-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options)e.options.forEach((n,l)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),i&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let s=document.createElement("input");s.type="checkbox",s.classList.add("voc-form-checkbox"),i&&s.classList.add("form-check-input"),s.name=e.name||e.key||"",s.value=n.value,e.key&&(s.id=`voc-form-${e.key}-${l}`),e.required&&(s.required=!0),Array.isArray(r)?r.includes(n.value)&&(s.checked=!0):r!==void 0?r===n.value&&(s.checked=!0):e.default===n.value&&(s.checked=!0),h.appendChild(s),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),i&&n.classList.add("form-check"),e.width&&(n.style.width=e.width);let l=document.createElement("input");l.type="checkbox",l.classList.add("voc-form-checkbox"),(e.key||e.name)&&(l.name=e.name||e.key,e.key&&(l.id=`voc-form-${e.key}`)),i&&l.classList.add("form-check-input"),e.required&&(l.required=!0),r!==void 0?l.checked=!!r:e.default&&(l.checked=!!e.default),n.appendChild(l),n.appendChild(document.createTextNode(e.label||"")),t.appendChild(n)}g=t;break}case"textarea":{let t=document.createElement("textarea");t.classList.add("voc-form-textarea"),i&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),i&&t.classList.add("form-select"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder){let n=document.createElement("option");n.value="",n.textContent=e.placeholder,n.disabled=!0,n.selected=!0,t.appendChild(n)}e.required&&(t.required=!0),e.options&&e.options.forEach(n=>{let l=document.createElement("option");l.value=n.value,l.textContent=n.label,Array.isArray(r)?r.includes(n.value)&&(l.selected=!0):r!==void 0?r===n.value&&(l.selected=!0):e.default===n.value&&(l.selected=!0),t.appendChild(l)}),e.width&&(t.style.width=e.width),g=t;break}case"radio":{let t=document.createElement("div");t.className="voc-form-radio-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options&&e.options.forEach((n,l)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),i&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let s=document.createElement("input");s.type="radio",s.classList.add("voc-form-radio"),i&&s.classList.add("form-check-input"),s.name=e.name||e.key||"",s.value=n.value,e.key&&(s.id=`voc-form-${e.key}-${l}`),Array.isArray(r)?r.includes(n.value)&&(s.checked=!0):r!==void 0?r===n.value&&(s.checked=!0):e.default===n.value&&(s.checked=!0),h.appendChild(s),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)}),g=t;break}case"file":{let t=document.createElement("div");t.className="voc-form-file-wrapper",e.width&&(t.style.width=e.width);let n=document.createElement("input");n.type="file",n.classList.add("voc-form-file"),i&&n.classList.add("form-control"),(e.key||e.name)&&(n.name=e.name||e.key,e.key&&(n.id=`voc-form-${e.key}`)),e.width&&(n.style.width=e.width),e.required&&(n.required=!0),e.accept&&(n.accept=e.accept),e.multiple&&(n.multiple=!0),t.appendChild(n),g=t;break}default:{let t=document.createElement("input");t.type=e.type||"text",t.classList.add("voc-form-input"),i&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),g=t;break}}if(g&&b.appendChild(g),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,b.appendChild(t)}return b}a.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let c=document.createElement("div");if(c.className="voc-form-group voc-form-row",i&&c.classList.add("mb-3"),e.label){let r=document.createElement("h3");r.className="voc-form-row-label",r.textContent=e.label,c.appendChild(r)}if(e.description){let r=document.createElement("p");r.className="voc-form-row-description",r.textContent=e.description,c.appendChild(r)}let k=document.createElement("div");k.className="voc-form-row-items "+(e.direction||"horizontal"),c.appendChild(k),e.items.forEach(r=>{let b=T(r);b&&k.appendChild(b)}),o.appendChild(c)}else{let c=T(e);c&&o.appendChild(c)}});let x=document.createElement("button");return x.type="submit",x.className="voc-form-submit",x.textContent="Submit",i&&x.classList.add("btn","btn-primary"),o.appendChild(x),o}let u=f();d[0].appendChild(u);let v=a?.submit_config??m?.submitConfig??null;return v&&u.addEventListener("submit",i=>{i.preventDefault(),C(u,v,(o,y)=>{m?.onSubmitResult&&m.onSubmitResult(o,y)})}),{element:u,validate:()=>{let i=[];return u.querySelectorAll(":invalid").forEach(y=>{let E=y.validationMessage;i.push({element:y,message:E})}),i},getValues:()=>L(u),onSubmit:i=>{u.addEventListener("submit",o=>{o.preventDefault();let y=L(u);i(y,o)})}}}var F={renderForm:S};var D=F,N={FormsLib:F};return R($);})();
|
package/dist/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var w=Object.defineProperty;var
|
|
1
|
+
"use strict";var w=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var m in a)w(p,m,{get:a[m],enumerable:!0})},q=(p,a,m,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of A(a))!H.call(p,f)&&f!==m&&w(p,f,{get:()=>a[f],enumerable:!(d=_(a,f))||d.enumerable});return p};var R=p=>q(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>D,default:()=>N});module.exports=R($);function L(p,a=!0){let m=new FormData(p);if(a)return m;let d={};return m.forEach((f,u)=>{let v=(f instanceof File,f);Object.prototype.hasOwnProperty.call(d,u)?Array.isArray(d[u])?d[u].push(v):d[u]=[d[u],v]:d[u]=v}),d}async function C(p,a,m){let d=a.url,f={"Content-Type":"application/json"};a?.api_token&&(f.Authorization=`Bearer ${a.api_token}`);let u={...L(p,!1),...a.additional_data},v=JSON.stringify(u),i={method:a.method,headers:{Authorization:`Bearer ${a.api_token}`,"Content-Type":"application/json",Accept:"application/json"},...a.method==="GET"?{}:{body:v}};try{fetch(d,i).then(o=>{let y=o.headers.get("content-type");if(!o.ok){let E=o.text();throw new Error(`HTTP ${o.status}: ${E}`)}return y&&y.includes("application/json")?o.json():o.text()}).then(o=>{m&&m(o,null)}).catch(o=>{m&&m(null,o)})}catch(o){m&&m(null,o)}}function S(p,a,m){let d=[];if(typeof p=="string"?d=Array.from(document.querySelectorAll(p)):d=[p],d.length===0)return null;function f(){let i=m?.style==="bootstrap",o=document.createElement("form");o.classList.add("voc-form"),i&&o.classList.add("needs-validation"),o.id=a.id;let y=document.createElement("h2");y.textContent=a.form_name,o.appendChild(y);function E(e,c){c&&(c.min_length!==void 0&&(e.minLength=c.min_length),c.max_length!==void 0&&(e.maxLength=c.max_length),c.regex&&(e instanceof HTMLInputElement?e.pattern=c.regex:e.dataset.pattern=c.regex))}function T(e){if(!e.key&&!e.label)return null;let c=a.default_values||{},k=e.name||e.key,r=k?c[k]:void 0,b=document.createElement("div");if(b.className="voc-form-group",i&&b.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),i&&t.classList.add("form-label"),e.key?e.type==="radio"?t.htmlFor="":t.htmlFor=`voc-form-${e.key}`:t.htmlFor="",t.textContent=e.label+(e.required?" *":""),b.appendChild(t)}let g=null;switch(e.type){case"checkbox":{let t=document.createElement("div");if(t.className="voc-form-checkbox-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options)e.options.forEach((n,l)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),i&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let s=document.createElement("input");s.type="checkbox",s.classList.add("voc-form-checkbox"),i&&s.classList.add("form-check-input"),s.name=e.name||e.key||"",s.value=n.value,e.key&&(s.id=`voc-form-${e.key}-${l}`),e.required&&(s.required=!0),Array.isArray(r)?r.includes(n.value)&&(s.checked=!0):r!==void 0?r===n.value&&(s.checked=!0):e.default===n.value&&(s.checked=!0),h.appendChild(s),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),i&&n.classList.add("form-check"),e.width&&(n.style.width=e.width);let l=document.createElement("input");l.type="checkbox",l.classList.add("voc-form-checkbox"),(e.key||e.name)&&(l.name=e.name||e.key,e.key&&(l.id=`voc-form-${e.key}`)),i&&l.classList.add("form-check-input"),e.required&&(l.required=!0),r!==void 0?l.checked=!!r:e.default&&(l.checked=!!e.default),n.appendChild(l),n.appendChild(document.createTextNode(e.label||"")),t.appendChild(n)}g=t;break}case"textarea":{let t=document.createElement("textarea");t.classList.add("voc-form-textarea"),i&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),i&&t.classList.add("form-select"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder){let n=document.createElement("option");n.value="",n.textContent=e.placeholder,n.disabled=!0,n.selected=!0,t.appendChild(n)}e.required&&(t.required=!0),e.options&&e.options.forEach(n=>{let l=document.createElement("option");l.value=n.value,l.textContent=n.label,Array.isArray(r)?r.includes(n.value)&&(l.selected=!0):r!==void 0?r===n.value&&(l.selected=!0):e.default===n.value&&(l.selected=!0),t.appendChild(l)}),e.width&&(t.style.width=e.width),g=t;break}case"radio":{let t=document.createElement("div");t.className="voc-form-radio-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options&&e.options.forEach((n,l)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),i&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let s=document.createElement("input");s.type="radio",s.classList.add("voc-form-radio"),i&&s.classList.add("form-check-input"),s.name=e.name||e.key||"",s.value=n.value,e.key&&(s.id=`voc-form-${e.key}-${l}`),Array.isArray(r)?r.includes(n.value)&&(s.checked=!0):r!==void 0?r===n.value&&(s.checked=!0):e.default===n.value&&(s.checked=!0),h.appendChild(s),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)}),g=t;break}case"file":{let t=document.createElement("div");t.className="voc-form-file-wrapper",e.width&&(t.style.width=e.width);let n=document.createElement("input");n.type="file",n.classList.add("voc-form-file"),i&&n.classList.add("form-control"),(e.key||e.name)&&(n.name=e.name||e.key,e.key&&(n.id=`voc-form-${e.key}`)),e.width&&(n.style.width=e.width),e.required&&(n.required=!0),e.accept&&(n.accept=e.accept),e.multiple&&(n.multiple=!0),t.appendChild(n),g=t;break}default:{let t=document.createElement("input");t.type=e.type||"text",t.classList.add("voc-form-input"),i&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),g=t;break}}if(g&&b.appendChild(g),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,b.appendChild(t)}return b}a.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let c=document.createElement("div");if(c.className="voc-form-group voc-form-row",i&&c.classList.add("mb-3"),e.label){let r=document.createElement("h3");r.className="voc-form-row-label",r.textContent=e.label,c.appendChild(r)}if(e.description){let r=document.createElement("p");r.className="voc-form-row-description",r.textContent=e.description,c.appendChild(r)}let k=document.createElement("div");k.className="voc-form-row-items "+(e.direction||"horizontal"),c.appendChild(k),e.items.forEach(r=>{let b=T(r);b&&k.appendChild(b)}),o.appendChild(c)}else{let c=T(e);c&&o.appendChild(c)}});let x=document.createElement("button");return x.type="submit",x.className="voc-form-submit",x.textContent="Submit",i&&x.classList.add("btn","btn-primary"),o.appendChild(x),o}let u=f();d[0].appendChild(u);let v=a?.submit_config??m?.submitConfig??null;return v&&u.addEventListener("submit",i=>{i.preventDefault(),C(u,v,(o,y)=>{m?.onSubmitResult&&m.onSubmitResult(o,y)})}),{element:u,validate:()=>{let i=[];return u.querySelectorAll(":invalid").forEach(y=>{let E=y.validationMessage;i.push({element:y,message:E})}),i},getValues:()=>L(u),onSubmit:i=>{u.addEventListener("submit",o=>{o.preventDefault();let y=L(u);i(y,o)})}}}var F={renderForm:S};var D=F,N={FormsLib:F};0&&(module.exports={FormsLib});
|
package/dist/main.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function L(
|
|
1
|
+
function L(v,m=!0){let u=new FormData(v);if(m)return u;let p={};return u.forEach((g,l)=>{let y=(g instanceof File,g);Object.prototype.hasOwnProperty.call(p,l)?Array.isArray(p[l])?p[l].push(y):p[l]=[p[l],y]:p[l]=y}),p}async function T(v,m,u){let p=m.url,g={"Content-Type":"application/json"};m?.api_token&&(g.Authorization=`Bearer ${m.api_token}`);let l={...L(v,!1),...m.additional_data},y=JSON.stringify(l),a={method:m.method,headers:{Authorization:`Bearer ${m.api_token}`,"Content-Type":"application/json",Accept:"application/json"},...m.method==="GET"?{}:{body:y}};try{fetch(p,a).then(o=>{let h=o.headers.get("content-type");if(!o.ok){let E=o.text();throw new Error(`HTTP ${o.status}: ${E}`)}return h&&h.includes("application/json")?o.json():o.text()}).then(o=>{u&&u(o,null)}).catch(o=>{u&&u(null,o)})}catch(o){u&&u(null,o)}}function C(v,m,u){let p=[];if(typeof v=="string"?p=Array.from(document.querySelectorAll(v)):p=[v],p.length===0)return null;function g(){let a=u?.style==="bootstrap",o=document.createElement("form");o.classList.add("voc-form"),a&&o.classList.add("needs-validation"),o.id=m.id;let h=document.createElement("h2");h.textContent=m.form_name,o.appendChild(h);function E(e,s){s&&(s.min_length!==void 0&&(e.minLength=s.min_length),s.max_length!==void 0&&(e.maxLength=s.max_length),s.regex&&(e instanceof HTMLInputElement?e.pattern=s.regex:e.dataset.pattern=s.regex))}function F(e){if(!e.key&&!e.label)return null;let s=m.default_values||{},k=e.name||e.key,r=k?s[k]:void 0,f=document.createElement("div");if(f.className="voc-form-group",a&&f.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),a&&t.classList.add("form-label"),e.key?e.type==="radio"?t.htmlFor="":t.htmlFor=`voc-form-${e.key}`:t.htmlFor="",t.textContent=e.label+(e.required?" *":""),f.appendChild(t)}let b=null;switch(e.type){case"checkbox":{let t=document.createElement("div");if(t.className="voc-form-checkbox-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options)e.options.forEach((n,c)=>{let d=document.createElement("label");d.classList.add("voc-form-checkbox-label"),a&&d.classList.add("form-check"),d.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(d.style.width=e.width);let i=document.createElement("input");i.type="checkbox",i.classList.add("voc-form-checkbox"),a&&i.classList.add("form-check-input"),i.name=e.name||e.key||"",i.value=n.value,e.key&&(i.id=`voc-form-${e.key}-${c}`),e.required&&(i.required=!0),Array.isArray(r)?r.includes(n.value)&&(i.checked=!0):r!==void 0?r===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),d.appendChild(i),d.appendChild(document.createTextNode(n.label)),t.appendChild(d)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),a&&n.classList.add("form-check"),e.width&&(n.style.width=e.width);let c=document.createElement("input");c.type="checkbox",c.classList.add("voc-form-checkbox"),(e.key||e.name)&&(c.name=e.name||e.key,e.key&&(c.id=`voc-form-${e.key}`)),a&&c.classList.add("form-check-input"),e.required&&(c.required=!0),r!==void 0?c.checked=!!r:e.default&&(c.checked=!!e.default),n.appendChild(c),n.appendChild(document.createTextNode(e.label||"")),t.appendChild(n)}b=t;break}case"textarea":{let t=document.createElement("textarea");t.classList.add("voc-form-textarea"),a&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),b=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),a&&t.classList.add("form-select"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder){let n=document.createElement("option");n.value="",n.textContent=e.placeholder,n.disabled=!0,n.selected=!0,t.appendChild(n)}e.required&&(t.required=!0),e.options&&e.options.forEach(n=>{let c=document.createElement("option");c.value=n.value,c.textContent=n.label,Array.isArray(r)?r.includes(n.value)&&(c.selected=!0):r!==void 0?r===n.value&&(c.selected=!0):e.default===n.value&&(c.selected=!0),t.appendChild(c)}),e.width&&(t.style.width=e.width),b=t;break}case"radio":{let t=document.createElement("div");t.className="voc-form-radio-group "+(e.direction||"vertical"),e.width&&(t.style.width=e.width),e.options&&e.options.forEach((n,c)=>{let d=document.createElement("label");d.classList.add("voc-form-radio-label"),a&&d.classList.add("form-check"),d.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(d.style.width=e.width);let i=document.createElement("input");i.type="radio",i.classList.add("voc-form-radio"),a&&i.classList.add("form-check-input"),i.name=e.name||e.key||"",i.value=n.value,e.key&&(i.id=`voc-form-${e.key}-${c}`),Array.isArray(r)?r.includes(n.value)&&(i.checked=!0):r!==void 0?r===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),d.appendChild(i),d.appendChild(document.createTextNode(n.label)),t.appendChild(d)}),b=t;break}case"file":{let t=document.createElement("div");t.className="voc-form-file-wrapper",e.width&&(t.style.width=e.width);let n=document.createElement("input");n.type="file",n.classList.add("voc-form-file"),a&&n.classList.add("form-control"),(e.key||e.name)&&(n.name=e.name||e.key,e.key&&(n.id=`voc-form-${e.key}`)),e.width&&(n.style.width=e.width),e.required&&(n.required=!0),e.accept&&(n.accept=e.accept),e.multiple&&(n.multiple=!0),t.appendChild(n),b=t;break}default:{let t=document.createElement("input");t.type=e.type||"text",t.classList.add("voc-form-input"),a&&t.classList.add("form-control"),(e.key||e.name)&&(t.name=e.name||e.key,e.key&&(t.id=`voc-form-${e.key}`)),e.placeholder&&(t.placeholder=e.placeholder),r!=null?t.value=String(r):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),E(t,e.validation),b=t;break}}if(b&&f.appendChild(b),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,f.appendChild(t)}return f}m.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let s=document.createElement("div");if(s.className="voc-form-group voc-form-row",a&&s.classList.add("mb-3"),e.label){let r=document.createElement("h3");r.className="voc-form-row-label",r.textContent=e.label,s.appendChild(r)}if(e.description){let r=document.createElement("p");r.className="voc-form-row-description",r.textContent=e.description,s.appendChild(r)}let k=document.createElement("div");k.className="voc-form-row-items "+(e.direction||"horizontal"),s.appendChild(k),e.items.forEach(r=>{let f=F(r);f&&k.appendChild(f)}),o.appendChild(s)}else{let s=F(e);s&&o.appendChild(s)}});let x=document.createElement("button");return x.type="submit",x.className="voc-form-submit",x.textContent="Submit",a&&x.classList.add("btn","btn-primary"),o.appendChild(x),o}let l=g();p[0].appendChild(l);let y=m?.submit_config??u?.submitConfig??null;return y&&l.addEventListener("submit",a=>{a.preventDefault(),T(l,y,(o,h)=>{u?.onSubmitResult&&u.onSubmitResult(o,h)})}),{element:l,validate:()=>{let a=[];return l.querySelectorAll(":invalid").forEach(h=>{let E=h.validationMessage;a.push({element:h,message:E})}),a},getValues:()=>L(l),onSubmit:a=>{l.addEventListener("submit",o=>{o.preventDefault();let h=L(l);a(h,o)})}}}var w={renderForm:C};var $=w,B={FormsLib:w};export{$ as FormsLib,B as default};
|