@forms.expert/sdk 0.4.1 → 0.4.2

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.
@@ -333,7 +333,7 @@
333
333
  }
334
334
 
335
335
  ${e.customCss||""}
336
- `.trim()}function E(t){let e=document.createElement("div");return e.textContent=t,e.innerHTML}function Z(t){switch(t){case"small":return"18px";case"large":return"30px";case"extra-large":return"36px";default:return"24px"}}function ee(t){switch(t){case"small":return"14px";case"large":return"18px";default:return"16px"}}function b(t,e){return e?`${t} ${e}`:t}function te(t){switch(t){case"1/4":return"25%";case"1/3":return"33.333%";case"1/2":return"50%";case"2/3":return"66.666%";case"3/4":return"75%";case"full":return"100%";default:return}}function v(t,e,i,s){let a=document.createElement("div");if(t.type==="heading"){a.className="forms-expert-group";let n=document.createElement("h3");if(n.className="forms-expert-heading",n.style.fontSize=Z(s?.headingSize),n.textContent=t.label||"",a.appendChild(n),t.content){let p=document.createElement("p");p.className="forms-expert-heading-subtitle",p.textContent=t.content,a.appendChild(p)}return a}if(t.type==="divider"){let n=document.createElement("hr");return n.className="forms-expert-divider",n}if(t.type==="paragraph"){a.className="forms-expert-group";let n=t.paragraphFontSize?`${t.paragraphFontSize}px`:ee(s?.paragraphSize);if(t.label){let p=document.createElement("p");p.className="forms-expert-paragraph-label",p.style.fontSize=n,p.textContent=t.label,a.appendChild(p)}if(t.content){let p=document.createElement("div");p.className="forms-expert-paragraph",p.style.fontSize=n,p.innerHTML=t.content,a.appendChild(p)}return a}if(t.type==="hidden"){let n=document.createElement("input");return n.type="hidden",n.name=t.name,n.value=String(t.defaultValue??e??""),a.appendChild(n),a.style.display="none",a}if(t.type==="checkbox"||t.type==="toggle"||t.type==="consent"){a.className="forms-expert-checkbox-group";let n=document.createElement("input");n.type="checkbox",n.id=`mira-field-${t.name}`,n.name=t.name,n.className="forms-expert-checkbox",n.checked=!!e,t.required&&(n.required=!0);let p=document.createElement("div"),d=document.createElement("label");d.htmlFor=n.id,d.style.cursor="pointer",t.type==="consent"&&t.consentFontSize&&(d.style.fontSize=`${t.consentFontSize}px`);let l=t.type==="consent"?t.consentText||t.label||t.name:t.label||t.name;if(d.innerHTML=`${E(l)}${t.required?'<span class="forms-expert-required">*</span>':""}`,p.appendChild(d),t.type==="consent"&&t.consentUrl){let r=document.createElement("a");r.href=t.consentUrl,r.target="_blank",r.rel="noopener noreferrer",r.textContent="View policy",r.className="forms-expert-consent-link",p.appendChild(r)}if(a.appendChild(n),a.appendChild(p),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,a.appendChild(r)}return a}if(a.className="forms-expert-group",t.label){let n=document.createElement("label");n.className=`forms-expert-label${s?.labelClassName?" "+s.labelClassName:""}`,n.htmlFor=`mira-field-${t.name}`,n.innerHTML=`${E(t.label)}${t.required?'<span class="forms-expert-required">*</span>':""}`,a.appendChild(n)}let m=document.createElement("div");m.className="forms-expert-input-wrapper";let o;switch(t.type){case"textarea":case"richText":o=document.createElement("textarea"),o.className=b("forms-expert-textarea",s?.fieldClassName),o.value=String(e||""),t.maxLength&&(o.maxLength=t.maxLength);break;case"select":case"dropdown":{o=document.createElement("select"),o.className=b("forms-expert-select",s?.fieldClassName);let n=document.createElement("option");n.value="",n.textContent=t.placeholder||"Select an option...",o.appendChild(n),(t.options||[]).forEach(d=>{let l=document.createElement("option");l.value=d,l.textContent=d,e===d&&(l.selected=!0),o.appendChild(l)});break}case"radio":{let n=document.createElement("div");if(n.className="forms-expert-radio-group",(t.options||[]).forEach(d=>{let l=document.createElement("label");l.className="forms-expert-radio-item";let r=document.createElement("input");r.type="radio",r.name=t.name,r.value=d,r.checked=e===d,l.appendChild(r),l.appendChild(document.createTextNode(` ${d}`)),n.appendChild(l)}),m.appendChild(n),i){let d=document.createElement("div");d.className="forms-expert-error-message",d.textContent=i,m.appendChild(d)}return a.appendChild(m),a}case"multiselect":{let n=document.createElement("div");n.className="forms-expert-multiselect-group";let p=e||[];if((t.options||[]).forEach(l=>{let r=document.createElement("label");r.className="forms-expert-checkbox-item";let u=document.createElement("input");u.type="checkbox",u.name=t.name,u.value=l,u.checked=p.includes(l),r.appendChild(u),r.appendChild(document.createTextNode(` ${l}`)),n.appendChild(r)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"rating":{let n=document.createElement("div");n.className="forms-expert-rating";let p=t.ratingMax||5,d=e||0;for(let l=1;l<=p;l++){let r=document.createElement("button");r.type="button",r.className=`forms-expert-rating-star ${l<=d?"active":""}`,r.textContent="\u2605",r.dataset.value=String(l),n.appendChild(r)}if(m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"scale":case"opinionScale":{let n=document.createElement("div");n.className="forms-expert-scale";let p=t.min??(t.type==="opinionScale"?0:1),d=t.max??(t.type==="opinionScale"?10:5),l=e;for(let r=p;r<=d;r++){let u=document.createElement("button");u.type="button",u.className=`forms-expert-scale-btn ${l===r?"active":""}`,u.textContent=String(r),u.dataset.value=String(r),n.appendChild(u)}if(m.appendChild(n),t.lowLabel||t.highLabel){let r=document.createElement("div");r.className="forms-expert-scale-labels",r.innerHTML=`<span>${E(t.lowLabel||"")}</span><span>${E(t.highLabel||"")}</span>`,m.appendChild(r)}if(i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"slider":{o=document.createElement("input"),o.type="range",o.className="forms-expert-slider",o.min=String(t.min??0),o.max=String(t.max??100),o.step=String(t.step??1),o.value=String(e??t.min??0);break}case"file":o=document.createElement("input"),o.type="file",o.className="forms-expert-file",t.allowedMimeTypes?.length&&(o.accept=t.allowedMimeTypes.join(",")),t.multiple&&(o.multiple=!0);break;case"currency":{o=document.createElement("input"),o.type="number",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e??""),t.min!==void 0&&(o.min=String(t.min)),t.max!==void 0&&(o.max=String(t.max)),o.step=String(t.step||.01);break}case"phone":o=document.createElement("input"),o.type="tel",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"url":o=document.createElement("input"),o.type="url",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"password":o=document.createElement("input"),o.type="password",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"time":o=document.createElement("input"),o.type="time",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"datetime":o=document.createElement("input"),o.type="datetime-local",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"colorPicker":o=document.createElement("input"),o.type="color",o.className="forms-expert-color",o.value=String(e||"#000000");break;case"dateRange":{let n=document.createElement("div");n.className="forms-expert-date-range";let p=e||{},d=document.createElement("input");d.type="date",d.className=b("forms-expert-input",s?.fieldClassName),d.name=`${t.name}.start`,d.value=p.start||"";let l=document.createElement("input");if(l.type="date",l.className=b("forms-expert-input",s?.fieldClassName),l.name=`${t.name}.end`,l.value=p.end||"",n.appendChild(d),n.appendChild(l),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"address":{let n=document.createElement("div");n.className="forms-expert-address";let p=t.addressFields||["street","city","state","zip","country"],d=e||{},l={street:"Street",street2:"Street Line 2",city:"City",state:"State",zip:"ZIP",country:"Country"};if(p.forEach(r=>{let u=document.createElement("input");u.type="text",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.${r}`,u.placeholder=l[r]||r,u.value=d[r]||"",n.appendChild(u)}),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"name":{let n=document.createElement("div");n.className="forms-expert-name";let p=t.nameFields||["first","last"],d=e||{},l={prefix:"Prefix",first:"First Name",middle:"Middle",last:"Last Name",suffix:"Suffix"};if(p.forEach(r=>{let u=document.createElement("input");u.type="text",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.${r}`,u.placeholder=l[r]||r,u.value=d[r]||"",n.appendChild(u)}),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"imageChoice":{let n=document.createElement("div");n.className="forms-expert-image-choice";let p=t.options||[],d=e;if(p.forEach(l=>{let r=document.createElement("button");if(r.type="button",r.className=`forms-expert-image-choice-item ${d===l.value?"active":""}`,r.dataset.value=l.value,l.imageUrl){let c=document.createElement("img");c.src=l.imageUrl,c.alt=l.label,r.appendChild(c)}let u=document.createElement("span");u.textContent=l.label,r.appendChild(u),n.appendChild(r)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"ranking":{let n=document.createElement("div");n.className="forms-expert-ranking";let p=t.options||[];if((e||[...p]).forEach((l,r)=>{let u=document.createElement("div");u.className="forms-expert-ranking-item",u.textContent=`${r+1}. ${l}`,u.dataset.value=l,n.appendChild(u)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"location":{let n=document.createElement("div");n.className="forms-expert-location";let p=e||{},d=document.createElement("input");d.type="text",d.className=b("forms-expert-input",s?.fieldClassName),d.name=`${t.name}.address`,d.placeholder="Address",d.value=p.address||"",n.appendChild(d);let l=document.createElement("div");l.className="forms-expert-location-coords";let r=document.createElement("input");r.type="number",r.className=b("forms-expert-input",s?.fieldClassName),r.name=`${t.name}.lat`,r.placeholder="Latitude",r.step="any",r.value=p.lat!==void 0?String(p.lat):"";let u=document.createElement("input");if(u.type="number",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.lng`,u.placeholder="Longitude",u.step="any",u.value=p.lng!==void 0?String(p.lng):"",l.appendChild(r),l.appendChild(u),n.appendChild(l),m.appendChild(n),i){let c=document.createElement("div");c.className="forms-expert-error-message",c.textContent=i,m.appendChild(c)}return a.appendChild(m),a}default:o=document.createElement("input"),o.type=t.type==="email"?"email":t.type==="number"?"number":t.type==="date"?"date":"text",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||""),t.type==="number"&&(t.min!==void 0&&(o.min=String(t.min)),t.max!==void 0&&(o.max=String(t.max)),t.step!==void 0&&(o.step=String(t.step)));break}if(o.id=`mira-field-${t.name}`,o.name=t.name,t.placeholder&&"placeholder"in o&&(o.placeholder=t.placeholder),t.required&&(o.required=!0),i&&o.classList.add("forms-expert-error"),m.appendChild(o),i){let n=document.createElement("div");n.className="forms-expert-error-message",n.textContent=i,m.appendChild(n)}return a.appendChild(m),a}function L(t,e={},i={},s={}){let a=document.createElement("form");if(a.className="forms-expert",s.hideRequiredAsterisk){let c=document.createElement("style");c.textContent=".forms-expert .forms-expert-required { display: none; }",a.appendChild(c)}if(s.showFormName!==!1&&s.formName){let c=document.createElement("h1");c.className="forms-expert-title",c.textContent=s.formName,c.style.fontSize=s.formNameFontSize!=null?`${s.formNameFontSize}px`:"1.5rem";let h={normal:"400",medium:"500",semibold:"600",bold:"700"};c.style.fontWeight=h[s.formNameFontWeight||"bold"]||"700",c.style.marginBottom="0.5rem",a.appendChild(c)}let m=t.styling,o=t.fields,n=0;for(;n<o.length;){let c=o[n];if(c.row!=null){let h=[c],g=n+1;for(;g<o.length&&o[g].row===c.row;)h.push(o[g]),g++;if(h.length>1){let f=document.createElement("div");f.style.display="flex",f.style.gap="0.75rem",f.style.flexWrap="wrap",h.forEach(x=>{let C=document.createElement("div"),w=te(x.width);w?C.style.flex=`0 0 calc(${w} - 0.75rem)`:C.style.flex="1 1 0",C.style.minWidth="120px";let N=v(x,e[x.name],i[x.name],m);C.appendChild(N),f.appendChild(C)}),a.appendChild(f)}else{let f=v(c,e[c.name],i[c.name],m);a.appendChild(f)}n=g}else{let h=v(c,e[c.name],i[c.name],m);a.appendChild(h),n++}}if(s.honeypot){let c=document.createElement("input");c.type="text",c.name="_hp",c.className="forms-expert-honeypot",c.tabIndex=-1,c.autocomplete="off",a.appendChild(c)}let p=document.createElement("input");p.type="hidden",p.name="pageUrl",p.value=typeof window<"u"?window.location.href:"",a.appendChild(p);let d=document.createElement("div");d.className="forms-expert-button-wrapper";let l=document.createElement("button");if(l.type="submit",l.className=b("forms-expert-button",s.buttonClassName),l.disabled=s.isLoading||!1,s.isLoading)l.innerHTML=`
336
+ `.trim()}function E(t){let e=document.createElement("div");return e.textContent=t,e.innerHTML}function Z(t){switch(t){case"small":return"18px";case"large":return"30px";case"extra-large":return"36px";default:return"24px"}}function ee(t){switch(t){case"small":return"14px";case"large":return"18px";default:return"16px"}}function b(t,e){return e?`${t} ${e}`:t}function te(t){switch(t){case"1/4":return"25%";case"1/3":return"33.333%";case"1/2":return"50%";case"2/3":return"66.666%";case"3/4":return"75%";case"full":return"100%";default:return}}function v(t,e,i,s){let a=document.createElement("div");if(t.type==="heading"){a.className="forms-expert-group";let n=document.createElement("h3");if(n.className="forms-expert-heading",n.style.fontSize=Z(s?.headingSize),n.textContent=t.label||"",a.appendChild(n),t.content){let p=document.createElement("p");p.className="forms-expert-heading-subtitle",p.textContent=t.content,a.appendChild(p)}return a}if(t.type==="divider"){let n=document.createElement("hr");return n.className="forms-expert-divider",n}if(t.type==="paragraph"){a.className="forms-expert-group";let n=t.paragraphFontSize?`${t.paragraphFontSize}px`:ee(s?.paragraphSize);if(t.label){let p=document.createElement("p");p.className="forms-expert-paragraph-label",p.style.fontSize=n,p.textContent=t.label,a.appendChild(p)}if(t.content){let p=document.createElement("div");p.className="forms-expert-paragraph",p.style.fontSize=n,p.innerHTML=t.content,a.appendChild(p)}return a}if(t.type==="hidden"){let n=document.createElement("input");return n.type="hidden",n.name=t.name,n.value=String(t.defaultValue??e??""),a.appendChild(n),a.style.display="none",a}if(t.type==="checkbox"||t.type==="toggle"||t.type==="consent"){a.className="forms-expert-checkbox-group";let n=document.createElement("input");n.type="checkbox",n.id=`mira-field-${t.name}`,n.name=t.name,n.className="forms-expert-checkbox",n.checked=!!e,t.required&&(n.required=!0);let p=document.createElement("div"),d=document.createElement("label");d.htmlFor=n.id,d.style.cursor="pointer",t.type==="consent"&&t.consentFontSize&&(d.style.fontSize=`${t.consentFontSize}px`);let l=t.type==="consent"?t.consentText||t.label||t.name:t.label||t.name;if(d.innerHTML=`${E(l)}${t.required?'<span class="forms-expert-required">*</span>':""}`,p.appendChild(d),t.type==="consent"&&t.consentUrl){let r=document.createElement("a");r.href=t.consentUrl,r.target="_blank",r.rel="noopener noreferrer",r.textContent="View policy",r.className="forms-expert-consent-link",p.appendChild(r)}if(a.appendChild(n),a.appendChild(p),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,a.appendChild(r)}return a}if(a.className="forms-expert-group",t.label){let n=document.createElement("label");n.className=`forms-expert-label${s?.labelClassName?" "+s.labelClassName:""}`,n.htmlFor=`mira-field-${t.name}`,n.innerHTML=`${E(t.label)}${t.required?'<span class="forms-expert-required">*</span>':""}`,a.appendChild(n)}let m=document.createElement("div");m.className="forms-expert-input-wrapper";let o;switch(t.type){case"textarea":case"richText":o=document.createElement("textarea"),o.className=b("forms-expert-textarea",s?.fieldClassName),o.value=String(e||""),t.maxLength&&(o.maxLength=t.maxLength);break;case"select":case"dropdown":{o=document.createElement("select"),o.className=b("forms-expert-select",s?.fieldClassName);let n=document.createElement("option");n.value="",n.textContent=t.placeholder||"Select an option...",o.appendChild(n),(t.options||[]).forEach(d=>{let l=document.createElement("option");l.value=d,l.textContent=d,e===d&&(l.selected=!0),o.appendChild(l)});break}case"radio":{let n=document.createElement("div");if(n.className="forms-expert-radio-group",(t.options||[]).forEach(d=>{let l=document.createElement("label");l.className="forms-expert-radio-item";let r=document.createElement("input");r.type="radio",r.name=t.name,r.value=d,r.checked=e===d,l.appendChild(r),l.appendChild(document.createTextNode(` ${d}`)),n.appendChild(l)}),m.appendChild(n),i){let d=document.createElement("div");d.className="forms-expert-error-message",d.textContent=i,m.appendChild(d)}return a.appendChild(m),a}case"multiselect":{let n=document.createElement("div");n.className="forms-expert-multiselect-group";let p=e||[];if((t.options||[]).forEach(l=>{let r=document.createElement("label");r.className="forms-expert-checkbox-item";let u=document.createElement("input");u.type="checkbox",u.name=t.name,u.value=l,u.checked=p.includes(l),r.appendChild(u),r.appendChild(document.createTextNode(` ${l}`)),n.appendChild(r)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"rating":{let n=document.createElement("div");n.className="forms-expert-rating";let p=t.ratingMax||5,d=e||0;for(let l=1;l<=p;l++){let r=document.createElement("button");r.type="button",r.className=`forms-expert-rating-star ${l<=d?"active":""}`,r.textContent="\u2605",r.dataset.value=String(l),n.appendChild(r)}if(m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"scale":case"opinionScale":{let n=document.createElement("div");n.className="forms-expert-scale";let p=t.min??(t.type==="opinionScale"?0:1),d=t.max??(t.type==="opinionScale"?10:5),l=e;for(let r=p;r<=d;r++){let u=document.createElement("button");u.type="button",u.className=`forms-expert-scale-btn ${l===r?"active":""}`,u.textContent=String(r),u.dataset.value=String(r),n.appendChild(u)}if(m.appendChild(n),t.lowLabel||t.highLabel){let r=document.createElement("div");r.className="forms-expert-scale-labels",r.innerHTML=`<span>${E(t.lowLabel||"")}</span><span>${E(t.highLabel||"")}</span>`,m.appendChild(r)}if(i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"slider":{o=document.createElement("input"),o.type="range",o.className="forms-expert-slider",o.min=String(t.min??0),o.max=String(t.max??100),o.step=String(t.step??1),o.value=String(e??t.min??0);break}case"file":o=document.createElement("input"),o.type="file",o.className="forms-expert-file",t.allowedMimeTypes?.length&&(o.accept=t.allowedMimeTypes.join(",")),t.multiple&&(o.multiple=!0);break;case"currency":{o=document.createElement("input"),o.type="number",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e??""),t.min!==void 0&&(o.min=String(t.min)),t.max!==void 0&&(o.max=String(t.max)),o.step=String(t.step||.01);break}case"phone":o=document.createElement("input"),o.type="tel",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"url":o=document.createElement("input"),o.type="url",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"password":o=document.createElement("input"),o.type="password",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"time":o=document.createElement("input"),o.type="time",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"datetime":o=document.createElement("input"),o.type="datetime-local",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||"");break;case"colorPicker":o=document.createElement("input"),o.type="color",o.className="forms-expert-color",o.value=String(e||"#000000");break;case"dateRange":{let n=document.createElement("div");n.className="forms-expert-date-range";let p=e||{},d=document.createElement("input");d.type="date",d.className=b("forms-expert-input",s?.fieldClassName),d.name=`${t.name}.start`,d.value=p.start||"";let l=document.createElement("input");if(l.type="date",l.className=b("forms-expert-input",s?.fieldClassName),l.name=`${t.name}.end`,l.value=p.end||"",n.appendChild(d),n.appendChild(l),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"address":{let n=document.createElement("div");n.className="forms-expert-address";let p=t.addressFields||["street","city","state","zip","country"],d=e||{},l={street:"Street",street2:"Street Line 2",city:"City",state:"State",zip:"ZIP",country:"Country"};if(p.forEach(r=>{let u=document.createElement("input");u.type="text",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.${r}`,u.placeholder=l[r]||r,u.value=d[r]||"",n.appendChild(u)}),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"name":{let n=document.createElement("div");n.className="forms-expert-name";let p=t.nameFields||["first","last"],d=e||{},l={prefix:"Prefix",first:"First Name",middle:"Middle",last:"Last Name",suffix:"Suffix"};if(p.forEach(r=>{let u=document.createElement("input");u.type="text",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.${r}`,u.placeholder=l[r]||r,u.value=d[r]||"",n.appendChild(u)}),m.appendChild(n),i){let r=document.createElement("div");r.className="forms-expert-error-message",r.textContent=i,m.appendChild(r)}return a.appendChild(m),a}case"imageChoice":{let n=document.createElement("div");n.className="forms-expert-image-choice";let p=t.options||[],d=e;if(p.forEach(l=>{let r=document.createElement("button");if(r.type="button",r.className=`forms-expert-image-choice-item ${d===l.value?"active":""}`,r.dataset.value=l.value,l.imageUrl){let c=document.createElement("img");c.src=l.imageUrl,c.alt=l.label,r.appendChild(c)}let u=document.createElement("span");u.textContent=l.label,r.appendChild(u),n.appendChild(r)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"ranking":{let n=document.createElement("div");n.className="forms-expert-ranking";let p=t.options||[];if((e||[...p]).forEach((l,r)=>{let u=document.createElement("div");u.className="forms-expert-ranking-item",u.textContent=`${r+1}. ${l}`,u.dataset.value=l,n.appendChild(u)}),m.appendChild(n),i){let l=document.createElement("div");l.className="forms-expert-error-message",l.textContent=i,m.appendChild(l)}return a.appendChild(m),a}case"location":{let n=document.createElement("div");n.className="forms-expert-location";let p=e||{},d=document.createElement("input");d.type="text",d.className=b("forms-expert-input",s?.fieldClassName),d.name=`${t.name}.address`,d.placeholder="Address",d.value=p.address||"",n.appendChild(d);let l=document.createElement("div");l.className="forms-expert-location-coords";let r=document.createElement("input");r.type="number",r.className=b("forms-expert-input",s?.fieldClassName),r.name=`${t.name}.lat`,r.placeholder="Latitude",r.step="any",r.value=p.lat!==void 0?String(p.lat):"";let u=document.createElement("input");if(u.type="number",u.className=b("forms-expert-input",s?.fieldClassName),u.name=`${t.name}.lng`,u.placeholder="Longitude",u.step="any",u.value=p.lng!==void 0?String(p.lng):"",l.appendChild(r),l.appendChild(u),n.appendChild(l),m.appendChild(n),i){let c=document.createElement("div");c.className="forms-expert-error-message",c.textContent=i,m.appendChild(c)}return a.appendChild(m),a}default:o=document.createElement("input"),o.type=t.type==="email"?"email":t.type==="number"?"number":t.type==="date"?"date":"text",o.className=b("forms-expert-input",s?.fieldClassName),o.value=String(e||""),t.type==="number"&&(t.min!==void 0&&(o.min=String(t.min)),t.max!==void 0&&(o.max=String(t.max)),t.step!==void 0&&(o.step=String(t.step)));break}if(o.id=`mira-field-${t.name}`,o.name=t.name,t.placeholder&&"placeholder"in o&&(o.placeholder=t.placeholder),t.required&&(o.required=!0),i&&o.classList.add("forms-expert-error"),m.appendChild(o),i){let n=document.createElement("div");n.className="forms-expert-error-message",n.textContent=i,m.appendChild(n)}return a.appendChild(m),a}function L(t,e={},i={},s={}){let a=document.createElement("form");if(a.className="forms-expert",s.hideRequiredAsterisk){let c=document.createElement("style");c.textContent=".forms-expert .forms-expert-required { display: none; }",a.appendChild(c)}if(s.showFormName!==!1&&s.formName){let c=document.createElement("h1");c.className="forms-expert-title",c.textContent=s.formName,c.style.fontSize=s.formNameFontSize!=null?`${s.formNameFontSize}px`:"1.5rem";let h={normal:"400",medium:"500",semibold:"600",bold:"700"};c.style.fontWeight=h[s.formNameFontWeight||"bold"]||"700",c.style.marginBottom="0.5rem",a.appendChild(c)}let m=t.styling,o=t.fields,n=0;for(;n<o.length;){let c=o[n];if(c.row!=null){let h=[c],g=n+1;for(;g<o.length&&o[g].row===c.row;)h.push(o[g]),g++;if(h.length>1){let f=document.createElement("div");f.style.display="flex",f.style.gap="0.75rem",f.style.flexWrap="wrap",h.forEach(x=>{let C=document.createElement("div"),w=te(x.width);w?C.style.flex=`0 0 calc(${w} - 0.75rem)`:C.style.flex="1 1 0",C.style.minWidth="180px";let N=v(x,e[x.name],i[x.name],m);C.appendChild(N),f.appendChild(C)}),a.appendChild(f)}else{let f=v(c,e[c.name],i[c.name],m);a.appendChild(f)}n=g}else{let h=v(c,e[c.name],i[c.name],m);a.appendChild(h),n++}}if(s.honeypot){let c=document.createElement("input");c.type="text",c.name="_hp",c.className="forms-expert-honeypot",c.tabIndex=-1,c.autocomplete="off",a.appendChild(c)}let p=document.createElement("input");p.type="hidden",p.name="pageUrl",p.value=typeof window<"u"?window.location.href:"",a.appendChild(p);let d=document.createElement("div");d.className="forms-expert-button-wrapper";let l=document.createElement("button");if(l.type="submit",l.className=b("forms-expert-button",s.buttonClassName),l.disabled=s.isLoading||!1,s.isLoading)l.innerHTML=`
337
337
  <span class="forms-expert-button-loading">
338
338
  <span class="forms-expert-spinner"></span>
339
339
  Submitting...