voc-lib-js 1.0.18 → 1.0.19

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.
@@ -1 +1 @@
1
- "use strict";var VocLibJs=(()=>{var w=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var l in a)w(p,l,{get:a[l],enumerable:!0})},R=(p,a,l,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of _(a))!H.call(p,f)&&f!==l&&w(p,f,{get:()=>a[f],enumerable:!(d=A(a,f))||d.enumerable});return p};var q=p=>R(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>N,default:()=>D});function L(p,a=!0){let l=new FormData(p);if(a)return l;let d={};return l.forEach((f,m)=>{let v=(f instanceof File,f);Object.prototype.hasOwnProperty.call(d,m)?Array.isArray(d[m])?d[m].push(v):d[m]=[d[m],v]:d[m]=v}),d}async function T(p,a,l){let d=a.url,f=a.method,m={"Content-Type":"application/json"};a?.api_token&&(m.Authorization=`Bearer ${a.api_token}`);let v=JSON.stringify(L(p,!1));try{fetch(d,{method:f,headers:m,...f!=="GET"?{body:v}:{}}).then(async r=>r.ok?r.json():r.json().then(u=>{throw new Error(u.message||"Failed to delete AI Route")})).then(r=>{l&&l(r,null)}).catch(r=>{l&&l(null,r)})}catch(r){l&&l(null,r)}}function S(p,a,l){let d=[];if(typeof p=="string"?d=Array.from(document.querySelectorAll(p)):d=[p],d.length===0)return null;function f(){let r=l?.style==="bootstrap",u=document.createElement("form");u.classList.add("voc-form"),r&&u.classList.add("needs-validation"),u.id=a.id;let y=document.createElement("h2");y.textContent=a.form_name,u.appendChild(y);function x(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 C(e){if(!e.key&&!e.label)return null;let s=a.default_values||{},E=e.name||e.key,o=E?s[E]:void 0,b=document.createElement("div");if(b.className="voc-form-group",r&&b.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="checkbox",i.classList.add("voc-form-checkbox"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&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}`)),r&&c.classList.add("form-check-input"),e.required&&(c.required=!0),o!==void 0?c.checked=!!o:e.default&&(c.checked=!!e.default),n.appendChild(c),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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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(o)?o.includes(n.value)&&(c.selected=!0):o!==void 0?o===n.value&&(c.selected=!0):e.default===n.value&&(c.selected=!0),t.appendChild(c)}),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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="radio",i.classList.add("voc-form-radio"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),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"),r&&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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(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 s=document.createElement("div");if(s.className="voc-form-group voc-form-row",r&&s.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,s.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,s.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),s.appendChild(E),e.items.forEach(o=>{let b=C(o);b&&E.appendChild(b)}),u.appendChild(s)}else{let s=C(e);s&&u.appendChild(s)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),u.appendChild(k),u}let m=f();d[0].appendChild(m);let v=a?.submit_config??l?.submitConfig??null;return v&&m.addEventListener("submit",r=>{r.preventDefault(),T(m,v,(u,y)=>{l?.onSubmitResult&&l.onSubmitResult(u,y)})}),{element:m,validate:()=>{let r=[];return m.querySelectorAll(":invalid").forEach(y=>{let x=y.validationMessage;r.push({element:y,message:x})}),r},getValues:()=>L(m),onSubmit:r=>{m.addEventListener("submit",u=>{u.preventDefault();let y=L(m);r(y,u)})}}}var F={renderForm:S};var N=F,D={FormsLib:F};return q($);})();
1
+ "use strict";var VocLibJs=(()=>{var w=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var l in a)w(p,l,{get:a[l],enumerable:!0})},R=(p,a,l,m)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of _(a))!H.call(p,f)&&f!==l&&w(p,f,{get:()=>a[f],enumerable:!(m=A(a,f))||m.enumerable});return p};var q=p=>R(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>N,default:()=>D});function L(p,a=!0){let l=new FormData(p);if(a)return l;let m={};return l.forEach((f,d)=>{let y=(f instanceof File,f);Object.prototype.hasOwnProperty.call(m,d)?Array.isArray(m[d])?m[d].push(y):m[d]=[m[d],y]:m[d]=y}),m}async function T(p,a,l){let m=a.url,f={"Content-Type":"application/json"};a?.api_token&&(f.Authorization=`Bearer ${a.api_token}`);let d=JSON.stringify(L(p,!1)),y={method:a.method,headers:{Authorization:`Bearer ${a.api_token}`,"Content-Type":"application/json"},...a.method==="GET"?{}:{body:d}};console.log(y);try{fetch(m,y).then(async r=>r.ok?r.json():r.json().then(u=>{throw new Error(u.message||"Failed to delete AI Route")})).then(r=>{l&&l(r,null)}).catch(r=>{l&&l(null,r)})}catch(r){l&&l(null,r)}}function S(p,a,l){let m=[];if(typeof p=="string"?m=Array.from(document.querySelectorAll(p)):m=[p],m.length===0)return null;function f(){let r=l?.style==="bootstrap",u=document.createElement("form");u.classList.add("voc-form"),r&&u.classList.add("needs-validation"),u.id=a.id;let b=document.createElement("h2");b.textContent=a.form_name,u.appendChild(b);function x(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 C(e){if(!e.key&&!e.label)return null;let s=a.default_values||{},E=e.name||e.key,o=E?s[E]:void 0,v=document.createElement("div");if(v.className="voc-form-group",r&&v.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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?" *":""),v.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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="checkbox",i.classList.add("voc-form-checkbox"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&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}`)),r&&c.classList.add("form-check-input"),e.required&&(c.required=!0),o!==void 0?c.checked=!!o:e.default&&(c.checked=!!e.default),n.appendChild(c),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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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(o)?o.includes(n.value)&&(c.selected=!0):o!==void 0?o===n.value&&(c.selected=!0):e.default===n.value&&(c.selected=!0),t.appendChild(c)}),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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="radio",i.classList.add("voc-form-radio"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),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"),r&&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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}}if(g&&v.appendChild(g),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,v.appendChild(t)}return v}a.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let s=document.createElement("div");if(s.className="voc-form-group voc-form-row",r&&s.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,s.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,s.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),s.appendChild(E),e.items.forEach(o=>{let v=C(o);v&&E.appendChild(v)}),u.appendChild(s)}else{let s=C(e);s&&u.appendChild(s)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),u.appendChild(k),u}let d=f();m[0].appendChild(d);let y=a?.submit_config??l?.submitConfig??null;return y&&d.addEventListener("submit",r=>{r.preventDefault(),T(d,y,(u,b)=>{l?.onSubmitResult&&l.onSubmitResult(u,b)})}),{element:d,validate:()=>{let r=[];return d.querySelectorAll(":invalid").forEach(b=>{let x=b.validationMessage;r.push({element:b,message:x})}),r},getValues:()=>L(d),onSubmit:r=>{d.addEventListener("submit",u=>{u.preventDefault();let b=L(d);r(b,u)})}}}var F={renderForm:S};var N=F,D={FormsLib:F};return q($);})();
package/dist/main.js CHANGED
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var l in a)w(p,l,{get:a[l],enumerable:!0})},R=(p,a,l,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of _(a))!H.call(p,f)&&f!==l&&w(p,f,{get:()=>a[f],enumerable:!(d=A(a,f))||d.enumerable});return p};var q=p=>R(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>N,default:()=>D});module.exports=q($);function L(p,a=!0){let l=new FormData(p);if(a)return l;let d={};return l.forEach((f,m)=>{let v=(f instanceof File,f);Object.prototype.hasOwnProperty.call(d,m)?Array.isArray(d[m])?d[m].push(v):d[m]=[d[m],v]:d[m]=v}),d}async function T(p,a,l){let d=a.url,f=a.method,m={"Content-Type":"application/json"};a?.api_token&&(m.Authorization=`Bearer ${a.api_token}`);let v=JSON.stringify(L(p,!1));try{fetch(d,{method:f,headers:m,...f!=="GET"?{body:v}:{}}).then(async r=>r.ok?r.json():r.json().then(u=>{throw new Error(u.message||"Failed to delete AI Route")})).then(r=>{l&&l(r,null)}).catch(r=>{l&&l(null,r)})}catch(r){l&&l(null,r)}}function S(p,a,l){let d=[];if(typeof p=="string"?d=Array.from(document.querySelectorAll(p)):d=[p],d.length===0)return null;function f(){let r=l?.style==="bootstrap",u=document.createElement("form");u.classList.add("voc-form"),r&&u.classList.add("needs-validation"),u.id=a.id;let y=document.createElement("h2");y.textContent=a.form_name,u.appendChild(y);function x(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 C(e){if(!e.key&&!e.label)return null;let s=a.default_values||{},E=e.name||e.key,o=E?s[E]:void 0,b=document.createElement("div");if(b.className="voc-form-group",r&&b.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="checkbox",i.classList.add("voc-form-checkbox"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&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}`)),r&&c.classList.add("form-check-input"),e.required&&(c.required=!0),o!==void 0?c.checked=!!o:e.default&&(c.checked=!!e.default),n.appendChild(c),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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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(o)?o.includes(n.value)&&(c.selected=!0):o!==void 0?o===n.value&&(c.selected=!0):e.default===n.value&&(c.selected=!0),t.appendChild(c)}),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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="radio",i.classList.add("voc-form-radio"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),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"),r&&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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(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 s=document.createElement("div");if(s.className="voc-form-group voc-form-row",r&&s.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,s.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,s.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),s.appendChild(E),e.items.forEach(o=>{let b=C(o);b&&E.appendChild(b)}),u.appendChild(s)}else{let s=C(e);s&&u.appendChild(s)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),u.appendChild(k),u}let m=f();d[0].appendChild(m);let v=a?.submit_config??l?.submitConfig??null;return v&&m.addEventListener("submit",r=>{r.preventDefault(),T(m,v,(u,y)=>{l?.onSubmitResult&&l.onSubmitResult(u,y)})}),{element:m,validate:()=>{let r=[];return m.querySelectorAll(":invalid").forEach(y=>{let x=y.validationMessage;r.push({element:y,message:x})}),r},getValues:()=>L(m),onSubmit:r=>{m.addEventListener("submit",u=>{u.preventDefault();let y=L(m);r(y,u)})}}}var F={renderForm:S};var N=F,D={FormsLib:F};0&&(module.exports={FormsLib});
1
+ "use strict";var w=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(p,a)=>{for(var l in a)w(p,l,{get:a[l],enumerable:!0})},R=(p,a,l,m)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of _(a))!H.call(p,f)&&f!==l&&w(p,f,{get:()=>a[f],enumerable:!(m=A(a,f))||m.enumerable});return p};var q=p=>R(w({},"__esModule",{value:!0}),p);var $={};M($,{FormsLib:()=>N,default:()=>D});module.exports=q($);function L(p,a=!0){let l=new FormData(p);if(a)return l;let m={};return l.forEach((f,d)=>{let y=(f instanceof File,f);Object.prototype.hasOwnProperty.call(m,d)?Array.isArray(m[d])?m[d].push(y):m[d]=[m[d],y]:m[d]=y}),m}async function T(p,a,l){let m=a.url,f={"Content-Type":"application/json"};a?.api_token&&(f.Authorization=`Bearer ${a.api_token}`);let d=JSON.stringify(L(p,!1)),y={method:a.method,headers:{Authorization:`Bearer ${a.api_token}`,"Content-Type":"application/json"},...a.method==="GET"?{}:{body:d}};console.log(y);try{fetch(m,y).then(async r=>r.ok?r.json():r.json().then(u=>{throw new Error(u.message||"Failed to delete AI Route")})).then(r=>{l&&l(r,null)}).catch(r=>{l&&l(null,r)})}catch(r){l&&l(null,r)}}function S(p,a,l){let m=[];if(typeof p=="string"?m=Array.from(document.querySelectorAll(p)):m=[p],m.length===0)return null;function f(){let r=l?.style==="bootstrap",u=document.createElement("form");u.classList.add("voc-form"),r&&u.classList.add("needs-validation"),u.id=a.id;let b=document.createElement("h2");b.textContent=a.form_name,u.appendChild(b);function x(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 C(e){if(!e.key&&!e.label)return null;let s=a.default_values||{},E=e.name||e.key,o=E?s[E]:void 0,v=document.createElement("div");if(v.className="voc-form-group",r&&v.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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?" *":""),v.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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-checkbox-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="checkbox",i.classList.add("voc-form-checkbox"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),h.appendChild(document.createTextNode(n.label)),t.appendChild(h)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&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}`)),r&&c.classList.add("form-check-input"),e.required&&(c.required=!0),o!==void 0?c.checked=!!o:e.default&&(c.checked=!!e.default),n.appendChild(c),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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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(o)?o.includes(n.value)&&(c.selected=!0):o!==void 0?o===n.value&&(c.selected=!0):e.default===n.value&&(c.selected=!0),t.appendChild(c)}),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,c)=>{let h=document.createElement("label");h.classList.add("voc-form-radio-label"),r&&h.classList.add("form-check"),h.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(h.style.width=e.width);let i=document.createElement("input");i.type="radio",i.classList.add("voc-form-radio"),r&&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(o)?o.includes(n.value)&&(i.checked=!0):o!==void 0?o===n.value&&(i.checked=!0):e.default===n.value&&(i.checked=!0),h.appendChild(i),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"),r&&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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),g=t;break}}if(g&&v.appendChild(g),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,v.appendChild(t)}return v}a.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let s=document.createElement("div");if(s.className="voc-form-group voc-form-row",r&&s.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,s.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,s.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),s.appendChild(E),e.items.forEach(o=>{let v=C(o);v&&E.appendChild(v)}),u.appendChild(s)}else{let s=C(e);s&&u.appendChild(s)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),u.appendChild(k),u}let d=f();m[0].appendChild(d);let y=a?.submit_config??l?.submitConfig??null;return y&&d.addEventListener("submit",r=>{r.preventDefault(),T(d,y,(u,b)=>{l?.onSubmitResult&&l.onSubmitResult(u,b)})}),{element:d,validate:()=>{let r=[];return d.querySelectorAll(":invalid").forEach(b=>{let x=b.validationMessage;r.push({element:b,message:x})}),r},getValues:()=>L(d),onSubmit:r=>{d.addEventListener("submit",u=>{u.preventDefault();let b=L(d);r(b,u)})}}}var F={renderForm:S};var N=F,D={FormsLib:F};0&&(module.exports={FormsLib});
package/dist/main.mjs CHANGED
@@ -1 +1 @@
1
- function L(g,p=!0){let d=new FormData(g);if(p)return d;let u={};return d.forEach((y,c)=>{let b=(y instanceof File,y);Object.prototype.hasOwnProperty.call(u,c)?Array.isArray(u[c])?u[c].push(b):u[c]=[u[c],b]:u[c]=b}),u}async function C(g,p,d){let u=p.url,y=p.method,c={"Content-Type":"application/json"};p?.api_token&&(c.Authorization=`Bearer ${p.api_token}`);let b=JSON.stringify(L(g,!1));try{fetch(u,{method:y,headers:c,...y!=="GET"?{body:b}:{}}).then(async r=>r.ok?r.json():r.json().then(l=>{throw new Error(l.message||"Failed to delete AI Route")})).then(r=>{d&&d(r,null)}).catch(r=>{d&&d(null,r)})}catch(r){d&&d(null,r)}}function T(g,p,d){let u=[];if(typeof g=="string"?u=Array.from(document.querySelectorAll(g)):u=[g],u.length===0)return null;function y(){let r=d?.style==="bootstrap",l=document.createElement("form");l.classList.add("voc-form"),r&&l.classList.add("needs-validation"),l.id=p.id;let h=document.createElement("h2");h.textContent=p.form_name,l.appendChild(h);function x(e,i){i&&(i.min_length!==void 0&&(e.minLength=i.min_length),i.max_length!==void 0&&(e.maxLength=i.max_length),i.regex&&(e instanceof HTMLInputElement?e.pattern=i.regex:e.dataset.pattern=i.regex))}function F(e){if(!e.key&&!e.label)return null;let i=p.default_values||{},E=e.name||e.key,o=E?i[E]:void 0,f=document.createElement("div");if(f.className="voc-form-group",r&&f.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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 v=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,s)=>{let m=document.createElement("label");m.classList.add("voc-form-checkbox-label"),r&&m.classList.add("form-check"),m.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(m.style.width=e.width);let a=document.createElement("input");a.type="checkbox",a.classList.add("voc-form-checkbox"),r&&a.classList.add("form-check-input"),a.name=e.name||e.key||"",a.value=n.value,e.key&&(a.id=`voc-form-${e.key}-${s}`),e.required&&(a.required=!0),Array.isArray(o)?o.includes(n.value)&&(a.checked=!0):o!==void 0?o===n.value&&(a.checked=!0):e.default===n.value&&(a.checked=!0),m.appendChild(a),m.appendChild(document.createTextNode(n.label)),t.appendChild(m)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&n.classList.add("form-check"),e.width&&(n.style.width=e.width);let s=document.createElement("input");s.type="checkbox",s.classList.add("voc-form-checkbox"),(e.key||e.name)&&(s.name=e.name||e.key,e.key&&(s.id=`voc-form-${e.key}`)),r&&s.classList.add("form-check-input"),e.required&&(s.required=!0),o!==void 0?s.checked=!!o:e.default&&(s.checked=!!e.default),n.appendChild(s),n.appendChild(document.createTextNode(e.label||"")),t.appendChild(n)}v=t;break}case"textarea":{let t=document.createElement("textarea");t.classList.add("voc-form-textarea"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),v=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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 s=document.createElement("option");s.value=n.value,s.textContent=n.label,Array.isArray(o)?o.includes(n.value)&&(s.selected=!0):o!==void 0?o===n.value&&(s.selected=!0):e.default===n.value&&(s.selected=!0),t.appendChild(s)}),e.width&&(t.style.width=e.width),v=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,s)=>{let m=document.createElement("label");m.classList.add("voc-form-radio-label"),r&&m.classList.add("form-check"),m.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(m.style.width=e.width);let a=document.createElement("input");a.type="radio",a.classList.add("voc-form-radio"),r&&a.classList.add("form-check-input"),a.name=e.name||e.key||"",a.value=n.value,e.key&&(a.id=`voc-form-${e.key}-${s}`),Array.isArray(o)?o.includes(n.value)&&(a.checked=!0):o!==void 0?o===n.value&&(a.checked=!0):e.default===n.value&&(a.checked=!0),m.appendChild(a),m.appendChild(document.createTextNode(n.label)),t.appendChild(m)}),v=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"),r&&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),v=t;break}default:{let t=document.createElement("input");t.type=e.type||"text",t.classList.add("voc-form-input"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),v=t;break}}if(v&&f.appendChild(v),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,f.appendChild(t)}return f}p.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let i=document.createElement("div");if(i.className="voc-form-group voc-form-row",r&&i.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,i.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,i.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),i.appendChild(E),e.items.forEach(o=>{let f=F(o);f&&E.appendChild(f)}),l.appendChild(i)}else{let i=F(e);i&&l.appendChild(i)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),l.appendChild(k),l}let c=y();u[0].appendChild(c);let b=p?.submit_config??d?.submitConfig??null;return b&&c.addEventListener("submit",r=>{r.preventDefault(),C(c,b,(l,h)=>{d?.onSubmitResult&&d.onSubmitResult(l,h)})}),{element:c,validate:()=>{let r=[];return c.querySelectorAll(":invalid").forEach(h=>{let x=h.validationMessage;r.push({element:h,message:x})}),r},getValues:()=>L(c),onSubmit:r=>{c.addEventListener("submit",l=>{l.preventDefault();let h=L(c);r(h,l)})}}}var w={renderForm:T};var $=w,B={FormsLib:w};export{$ as FormsLib,B as default};
1
+ function L(v,d=!0){let u=new FormData(v);if(d)return u;let p={};return u.forEach((g,c)=>{let h=(g instanceof File,g);Object.prototype.hasOwnProperty.call(p,c)?Array.isArray(p[c])?p[c].push(h):p[c]=[p[c],h]:p[c]=h}),p}async function C(v,d,u){let p=d.url,g={"Content-Type":"application/json"};d?.api_token&&(g.Authorization=`Bearer ${d.api_token}`);let c=JSON.stringify(L(v,!1)),h={method:d.method,headers:{Authorization:`Bearer ${d.api_token}`,"Content-Type":"application/json"},...d.method==="GET"?{}:{body:c}};console.log(h);try{fetch(p,h).then(async r=>r.ok?r.json():r.json().then(l=>{throw new Error(l.message||"Failed to delete AI Route")})).then(r=>{u&&u(r,null)}).catch(r=>{u&&u(null,r)})}catch(r){u&&u(null,r)}}function T(v,d,u){let p=[];if(typeof v=="string"?p=Array.from(document.querySelectorAll(v)):p=[v],p.length===0)return null;function g(){let r=u?.style==="bootstrap",l=document.createElement("form");l.classList.add("voc-form"),r&&l.classList.add("needs-validation"),l.id=d.id;let f=document.createElement("h2");f.textContent=d.form_name,l.appendChild(f);function x(e,i){i&&(i.min_length!==void 0&&(e.minLength=i.min_length),i.max_length!==void 0&&(e.maxLength=i.max_length),i.regex&&(e instanceof HTMLInputElement?e.pattern=i.regex:e.dataset.pattern=i.regex))}function F(e){if(!e.key&&!e.label)return null;let i=d.default_values||{},E=e.name||e.key,o=E?i[E]:void 0,y=document.createElement("div");if(y.className="voc-form-group",r&&y.classList.add("mb-3"),e.label){let t=document.createElement("label");t.classList.add("voc-form-label"),r&&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?" *":""),y.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,s)=>{let m=document.createElement("label");m.classList.add("voc-form-checkbox-label"),r&&m.classList.add("form-check"),m.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(m.style.width=e.width);let a=document.createElement("input");a.type="checkbox",a.classList.add("voc-form-checkbox"),r&&a.classList.add("form-check-input"),a.name=e.name||e.key||"",a.value=n.value,e.key&&(a.id=`voc-form-${e.key}-${s}`),e.required&&(a.required=!0),Array.isArray(o)?o.includes(n.value)&&(a.checked=!0):o!==void 0?o===n.value&&(a.checked=!0):e.default===n.value&&(a.checked=!0),m.appendChild(a),m.appendChild(document.createTextNode(n.label)),t.appendChild(m)});else{let n=document.createElement("label");n.classList.add("voc-form-checkbox-label"),r&&n.classList.add("form-check"),e.width&&(n.style.width=e.width);let s=document.createElement("input");s.type="checkbox",s.classList.add("voc-form-checkbox"),(e.key||e.name)&&(s.name=e.name||e.key,e.key&&(s.id=`voc-form-${e.key}`)),r&&s.classList.add("form-check-input"),e.required&&(s.required=!0),o!==void 0?s.checked=!!o:e.default&&(s.checked=!!e.default),n.appendChild(s),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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),b=t;break}case"select":{let t=document.createElement("select");if(t.classList.add("voc-form-select"),r&&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 s=document.createElement("option");s.value=n.value,s.textContent=n.label,Array.isArray(o)?o.includes(n.value)&&(s.selected=!0):o!==void 0?o===n.value&&(s.selected=!0):e.default===n.value&&(s.selected=!0),t.appendChild(s)}),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,s)=>{let m=document.createElement("label");m.classList.add("voc-form-radio-label"),r&&m.classList.add("form-check"),m.style.display=e.direction==="horizontal"?"inline-block":"block",e.width&&(m.style.width=e.width);let a=document.createElement("input");a.type="radio",a.classList.add("voc-form-radio"),r&&a.classList.add("form-check-input"),a.name=e.name||e.key||"",a.value=n.value,e.key&&(a.id=`voc-form-${e.key}-${s}`),Array.isArray(o)?o.includes(n.value)&&(a.checked=!0):o!==void 0?o===n.value&&(a.checked=!0):e.default===n.value&&(a.checked=!0),m.appendChild(a),m.appendChild(document.createTextNode(n.label)),t.appendChild(m)}),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"),r&&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"),r&&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),o!=null?t.value=String(o):e.default!==void 0&&e.default!==null&&(t.value=String(e.default)),e.width&&(t.style.width=e.width),e.required&&(t.required=!0),x(t,e.validation),b=t;break}}if(b&&y.appendChild(b),e.hint_text){let t=document.createElement("small");t.className="voc-form-hint",t.textContent=e.hint_text,y.appendChild(t)}return y}d.fields.forEach(e=>{if(e.type==="row"&&"items"in e){let i=document.createElement("div");if(i.className="voc-form-group voc-form-row",r&&i.classList.add("mb-3"),e.label){let o=document.createElement("h3");o.className="voc-form-row-label",o.textContent=e.label,i.appendChild(o)}if(e.description){let o=document.createElement("p");o.className="voc-form-row-description",o.textContent=e.description,i.appendChild(o)}let E=document.createElement("div");E.className="voc-form-row-items "+(e.direction||"horizontal"),i.appendChild(E),e.items.forEach(o=>{let y=F(o);y&&E.appendChild(y)}),l.appendChild(i)}else{let i=F(e);i&&l.appendChild(i)}});let k=document.createElement("button");return k.type="submit",k.className="voc-form-submit",k.textContent="Submit",r&&k.classList.add("btn","btn-primary"),l.appendChild(k),l}let c=g();p[0].appendChild(c);let h=d?.submit_config??u?.submitConfig??null;return h&&c.addEventListener("submit",r=>{r.preventDefault(),C(c,h,(l,f)=>{u?.onSubmitResult&&u.onSubmitResult(l,f)})}),{element:c,validate:()=>{let r=[];return c.querySelectorAll(":invalid").forEach(f=>{let x=f.validationMessage;r.push({element:f,message:x})}),r},getValues:()=>L(c),onSubmit:r=>{c.addEventListener("submit",l=>{l.preventDefault();let f=L(c);r(f,l)})}}}var w={renderForm:T};var $=w,B={FormsLib:w};export{$ as FormsLib,B as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "voc-lib-js",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "A JavaScript library for VocPhone",
5
5
  "main": "./dist/main.cjs",
6
6
  "module": "./dist/main.mjs",