@forms.expert/sdk 0.1.2 → 0.1.4
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/core/index.cjs +1 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +27 -0
- package/dist/core/index.d.ts +27 -0
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/react/index.cjs +517 -108
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +27 -0
- package/dist/react/index.d.ts +27 -0
- package/dist/react/index.js +517 -108
- package/dist/react/index.js.map +1 -1
- package/dist/vanilla/index.cjs +110 -22
- package/dist/vanilla/index.cjs.map +1 -1
- package/dist/vanilla/index.d.cts +24 -0
- package/dist/vanilla/index.d.ts +24 -0
- package/dist/vanilla/index.global.js +110 -22
- package/dist/vanilla/index.global.js.map +1 -1
- package/dist/vanilla/index.js +110 -22
- package/dist/vanilla/index.js.map +1 -1
- package/dist/vue/index.cjs +2 -2
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.cts +27 -0
- package/dist/vue/index.d.ts +27 -0
- package/dist/vue/index.js +2 -2
- package/dist/vue/index.js.map +1 -1
- package/package.json +13 -4
package/dist/vanilla/index.cjs
CHANGED
|
@@ -1,28 +1,63 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var C=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var o in e)C(t,o,{get:e[o],enumerable:!0})},P=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of N(e))!L.call(t,p)&&p!==o&&C(t,p,{get:()=>e[p],enumerable:!(r=T(e,p))||r.enumerable});return t};var A=t=>P(C({},"__esModule",{value:!0}),t);var W={};U(W,{FormWidget:()=>y,autoInit:()=>F,errorsToRecord:()=>w,generateFormStyles:()=>E,renderField:()=>R,renderForm:()=>S,renderSuccess:()=>v});module.exports=A(W);var $={theme:"light",primaryColor:"#3b82f6",backgroundColor:"#ffffff",textColor:"#1f2937",borderRadius:"md",fontSize:"md",buttonStyle:"filled",labelPosition:"top"};function I(t){switch(t){case"none":return"0";case"sm":return"0.125rem";case"md":return"0.375rem";case"lg":return"0.5rem";default:return"0.375rem"}}function O(t){switch(t){case"none":return"0";case"small":return"4px";case"medium":return"8px";case"large":return"12px";case"full":return"9999px";default:return"8px"}}function M(t){switch(t){case"sm":return"0.875rem";case"md":return"1rem";case"lg":return"1.125rem";default:return"1rem"}}function z(t){switch(t){case"small":return"0.75rem";case"large":return"1rem";default:return"0.875rem"}}function V(t){switch(t){case"compact":return"0.5rem";case"relaxed":return"1.5rem";case"spacious":return"2rem";default:return"1rem"}}function H(t){switch(t){case"compact":return"1rem";case"relaxed":return"2.5rem";case"spacious":return"3.5rem";default:return"1.5rem"}}function q(t){switch(t){case"compact":return"0.125rem";case"relaxed":return"0.75rem";default:return"0.25rem"}}function K(t){switch(t){case"narrow":return"28rem";case"wide":return"48rem";case"full":return"100%";default:return"36rem"}}function D(t){switch(t){case"left":return"flex-start";case"right":return"flex-end";default:return"center"}}function E(t=$){let e={...$,...t},o=I(e.borderRadius),r=O(e.buttonRadius),p=M(e.fontSize),l=z(e.placeholderFontSize),s=V(e.fieldSpacing),n=H(e.formPadding),m=q(e.labelSpacing),c=K(e.formWidth),i=e.buttonColor||e.primaryColor,a=e.fontFamily||"system-ui, -apple-system, sans-serif",d=D(e.buttonAlign);return`
|
|
2
|
+
.forms-expert-wrapper {
|
|
3
|
+
${e.backgroundImageUrl?`background-image: url(${e.backgroundImageUrl}); background-size: cover; background-position: center;`:""}
|
|
4
|
+
${e.backgroundImageUrl?"":`background-color: ${e.backgroundColor};`}
|
|
5
|
+
position: relative;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.forms-expert-overlay {
|
|
9
|
+
position: absolute;
|
|
10
|
+
inset: 0;
|
|
11
|
+
background-color: rgba(0,0,0,${e.backgroundOverlay||0});
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
2
15
|
.forms-expert {
|
|
3
|
-
font-family:
|
|
4
|
-
font-size: ${
|
|
16
|
+
font-family: ${a};
|
|
17
|
+
font-size: ${p};
|
|
5
18
|
color: ${e.textColor};
|
|
6
|
-
background-color: ${e.backgroundColor};
|
|
7
|
-
padding:
|
|
19
|
+
background-color: ${e.transparentBackground?"transparent":e.backgroundColor};
|
|
20
|
+
padding: ${n};
|
|
8
21
|
border-radius: ${o};
|
|
9
22
|
box-sizing: border-box;
|
|
23
|
+
max-width: ${c};
|
|
24
|
+
width: 100%;
|
|
25
|
+
margin: 0 auto;
|
|
26
|
+
position: relative;
|
|
10
27
|
}
|
|
11
28
|
|
|
12
29
|
.forms-expert * {
|
|
13
30
|
box-sizing: border-box;
|
|
14
31
|
}
|
|
15
32
|
|
|
16
|
-
.forms-expert-
|
|
33
|
+
.forms-expert-logo {
|
|
34
|
+
display: block;
|
|
35
|
+
max-height: 48px;
|
|
17
36
|
margin-bottom: 1rem;
|
|
18
|
-
|
|
37
|
+
}
|
|
38
|
+
.forms-expert-logo-top-left { text-align: left; }
|
|
39
|
+
.forms-expert-logo-top-center { text-align: center; }
|
|
40
|
+
.forms-expert-logo-top-right { text-align: right; }
|
|
41
|
+
.forms-expert-logo img { max-height: 48px; }
|
|
42
|
+
|
|
43
|
+
.forms-expert-cover {
|
|
44
|
+
width: 100%;
|
|
45
|
+
max-height: 200px;
|
|
46
|
+
object-fit: cover;
|
|
47
|
+
border-radius: ${o} ${o} 0 0;
|
|
48
|
+
margin-bottom: 1rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.forms-expert-group {
|
|
52
|
+
margin-bottom: ${s};
|
|
53
|
+
${e.labelPosition==="left"||e.fieldLayout==="inline"?"display: flex; align-items: flex-start; gap: 1rem;":""}
|
|
19
54
|
}
|
|
20
55
|
|
|
21
56
|
.forms-expert-label {
|
|
22
57
|
display: block;
|
|
23
58
|
font-weight: 500;
|
|
24
59
|
color: ${e.textColor};
|
|
25
|
-
${e.labelPosition==="left"?"width: 33%; flex-shrink: 0; padding-top: 0.5rem;
|
|
60
|
+
${e.labelPosition==="left"||e.fieldLayout==="inline"?"width: 33%; flex-shrink: 0; padding-top: 0.5rem; margin-bottom: 0;":`margin-bottom: ${m};`}
|
|
26
61
|
}
|
|
27
62
|
|
|
28
63
|
.forms-expert-required {
|
|
@@ -31,7 +66,7 @@
|
|
|
31
66
|
}
|
|
32
67
|
|
|
33
68
|
.forms-expert-input-wrapper {
|
|
34
|
-
${e.labelPosition==="left"?"flex: 1;":""}
|
|
69
|
+
${e.labelPosition==="left"||e.fieldLayout==="inline"?"flex: 1;":""}
|
|
35
70
|
}
|
|
36
71
|
|
|
37
72
|
.forms-expert-input,
|
|
@@ -41,13 +76,18 @@
|
|
|
41
76
|
padding: 0.5rem 0.75rem;
|
|
42
77
|
border: 1px solid ${e.theme==="dark"?"#4b5563":"#d1d5db"};
|
|
43
78
|
border-radius: ${o};
|
|
44
|
-
font-size: ${
|
|
79
|
+
font-size: ${p};
|
|
45
80
|
font-family: inherit;
|
|
46
81
|
background-color: ${e.theme==="dark"?"#374151":"#ffffff"};
|
|
47
82
|
color: ${e.textColor};
|
|
48
83
|
transition: border-color 0.15s, box-shadow 0.15s;
|
|
49
84
|
}
|
|
50
85
|
|
|
86
|
+
.forms-expert-input::placeholder,
|
|
87
|
+
.forms-expert-textarea::placeholder {
|
|
88
|
+
font-size: ${l};
|
|
89
|
+
}
|
|
90
|
+
|
|
51
91
|
.forms-expert-input:focus,
|
|
52
92
|
.forms-expert-textarea:focus,
|
|
53
93
|
.forms-expert-select:focus {
|
|
@@ -71,7 +111,7 @@
|
|
|
71
111
|
display: flex;
|
|
72
112
|
align-items: center;
|
|
73
113
|
gap: 0.5rem;
|
|
74
|
-
margin-bottom:
|
|
114
|
+
margin-bottom: ${s};
|
|
75
115
|
}
|
|
76
116
|
|
|
77
117
|
.forms-expert-checkbox {
|
|
@@ -90,7 +130,7 @@
|
|
|
90
130
|
padding: 0.5rem 0.75rem;
|
|
91
131
|
border: 1px solid ${e.theme==="dark"?"#4b5563":"#d1d5db"};
|
|
92
132
|
border-radius: ${o};
|
|
93
|
-
font-size: ${
|
|
133
|
+
font-size: ${p};
|
|
94
134
|
background-color: ${e.theme==="dark"?"#374151":"#ffffff"};
|
|
95
135
|
cursor: pointer;
|
|
96
136
|
}
|
|
@@ -101,17 +141,22 @@
|
|
|
101
141
|
margin-top: 0.25rem;
|
|
102
142
|
}
|
|
103
143
|
|
|
144
|
+
.forms-expert-button-wrapper {
|
|
145
|
+
display: flex;
|
|
146
|
+
justify-content: ${d};
|
|
147
|
+
margin-top: 1rem;
|
|
148
|
+
}
|
|
149
|
+
|
|
104
150
|
.forms-expert-button {
|
|
105
|
-
width: 100%;
|
|
151
|
+
${e.buttonAlign?"":"width: 100%;"}
|
|
106
152
|
padding: 0.625rem 1.25rem;
|
|
107
|
-
margin-top: 1rem;
|
|
108
153
|
font-weight: 500;
|
|
109
|
-
font-size: ${
|
|
154
|
+
font-size: ${p};
|
|
110
155
|
font-family: inherit;
|
|
111
|
-
border-radius: ${
|
|
156
|
+
border-radius: ${r};
|
|
112
157
|
cursor: pointer;
|
|
113
158
|
transition: opacity 0.2s, transform 0.1s;
|
|
114
|
-
${e.buttonStyle==="filled"?`background-color: ${
|
|
159
|
+
${e.buttonStyle==="filled"?`background-color: ${i}; color: white; border: none;`:`background-color: transparent; color: ${i}; border: 2px solid ${i};`}
|
|
115
160
|
}
|
|
116
161
|
|
|
117
162
|
.forms-expert-button:hover {
|
|
@@ -190,20 +235,63 @@
|
|
|
190
235
|
text-decoration: underline;
|
|
191
236
|
}
|
|
192
237
|
|
|
238
|
+
/* Rating stars */
|
|
239
|
+
.forms-expert-rating { display: flex; gap: 0.25rem; }
|
|
240
|
+
.forms-expert-rating-star {
|
|
241
|
+
width: 2rem; height: 2rem; cursor: pointer; border: none;
|
|
242
|
+
background: none; padding: 0; font-size: 1.5rem; color: ${e.theme==="dark"?"#4b5563":"#d1d5db"};
|
|
243
|
+
transition: color 0.15s;
|
|
244
|
+
}
|
|
245
|
+
.forms-expert-rating-star.active { color: #f59e0b; }
|
|
246
|
+
|
|
247
|
+
/* Scale buttons */
|
|
248
|
+
.forms-expert-scale { display: flex; gap: 0.25rem; flex-wrap: wrap; }
|
|
249
|
+
.forms-expert-scale-labels { display: flex; justify-content: space-between; font-size: 0.75rem; color: ${e.theme==="dark"?"#9ca3af":"#6b7280"}; margin-top: 0.25rem; }
|
|
250
|
+
.forms-expert-scale-btn {
|
|
251
|
+
min-width: 2.25rem; height: 2.25rem; border-radius: ${o}; cursor: pointer;
|
|
252
|
+
border: 1px solid ${e.theme==="dark"?"#4b5563":"#d1d5db"};
|
|
253
|
+
background: ${e.theme==="dark"?"#374151":"#ffffff"}; color: ${e.textColor};
|
|
254
|
+
font-size: 0.875rem; transition: all 0.15s;
|
|
255
|
+
}
|
|
256
|
+
.forms-expert-scale-btn.active {
|
|
257
|
+
background-color: ${e.primaryColor}; color: white; border-color: ${e.primaryColor};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Radio & multiselect groups */
|
|
261
|
+
.forms-expert-radio-group,
|
|
262
|
+
.forms-expert-multiselect-group { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
263
|
+
.forms-expert-radio-item,
|
|
264
|
+
.forms-expert-multiselect-item { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
|
|
265
|
+
.forms-expert-radio-item input,
|
|
266
|
+
.forms-expert-multiselect-item input { accent-color: ${e.primaryColor}; }
|
|
267
|
+
|
|
268
|
+
/* Slider */
|
|
269
|
+
.forms-expert-slider { width: 100%; accent-color: ${e.primaryColor}; }
|
|
270
|
+
.forms-expert-slider-value { text-align: center; font-size: 0.875rem; margin-top: 0.25rem; }
|
|
271
|
+
|
|
272
|
+
/* Image choice */
|
|
273
|
+
.forms-expert-image-choice { display: flex; flex-wrap: wrap; gap: 0.5rem; }
|
|
274
|
+
.forms-expert-image-choice-item {
|
|
275
|
+
border: 2px solid ${e.theme==="dark"?"#4b5563":"#d1d5db"}; border-radius: ${o};
|
|
276
|
+
padding: 0.5rem; cursor: pointer; text-align: center; transition: border-color 0.15s;
|
|
277
|
+
}
|
|
278
|
+
.forms-expert-image-choice-item.active { border-color: ${e.primaryColor}; }
|
|
279
|
+
.forms-expert-image-choice-item img { max-width: 80px; max-height: 80px; object-fit: cover; border-radius: ${o}; }
|
|
280
|
+
|
|
193
281
|
${e.customCss||""}
|
|
194
|
-
`.trim()}function f(t){let e=document.createElement("div");return e.textContent=t,e.innerHTML}function T(t,e,o){let r=document.createElement("div");if(t.type==="heading"){r.className="forms-expert-group";let n=document.createElement("h3");if(n.className="forms-expert-heading",n.textContent=t.label||"",r.appendChild(n),t.content){let l=document.createElement("p");l.className="forms-expert-heading-subtitle",l.textContent=t.content,r.appendChild(l)}return r}if(t.type==="divider"){let n=document.createElement("hr");return n.className="forms-expert-divider",n}if(t.type==="paragraph"){if(r.className="forms-expert-group",t.label){let n=document.createElement("p");n.className="forms-expert-paragraph-label",n.textContent=t.label,r.appendChild(n)}if(t.content){let n=document.createElement("p");n.className="forms-expert-paragraph",n.textContent=t.content,r.appendChild(n)}return r}if(t.type==="hidden"){let n=document.createElement("input");return n.type="hidden",n.name=t.name,n.value=String(t.defaultValue??e??""),r.appendChild(n),r.style.display="none",r}if(t.type==="checkbox"||t.type==="toggle"||t.type==="consent"){r.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 l=document.createElement("label");l.htmlFor=n.id;let c=t.type==="consent"?t.consentText||t.label||t.name:t.label||t.name;if(l.innerHTML=`${f(c)}${t.required?'<span class="forms-expert-required">*</span>':""}`,r.appendChild(n),r.appendChild(l),t.type==="consent"&&t.consentUrl){let i=document.createElement("a");i.href=t.consentUrl,i.target="_blank",i.rel="noopener noreferrer",i.textContent="View policy",i.className="forms-expert-consent-link",r.appendChild(i)}if(o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,r.appendChild(i)}return r}r.className="forms-expert-group";let d=document.createElement("label");d.className="forms-expert-label",d.htmlFor=`mira-field-${t.name}`,d.innerHTML=`${f(t.label||t.name)}${t.required?'<span class="forms-expert-required">*</span>':""}`,r.appendChild(d);let m=document.createElement("div");m.className="forms-expert-input-wrapper";let s;switch(t.type){case"textarea":case"richText":s=document.createElement("textarea"),s.className="forms-expert-textarea",s.value=String(e||""),t.maxLength&&(s.maxLength=t.maxLength);break;case"select":case"dropdown":{s=document.createElement("select"),s.className="forms-expert-select";let n=document.createElement("option");n.value="",n.textContent=t.placeholder||"Select an option...",s.appendChild(n),(t.options||[]).forEach(c=>{let i=document.createElement("option");i.value=c,i.textContent=c,e===c&&(i.selected=!0),s.appendChild(i)});break}case"radio":{let n=document.createElement("div");if(n.className="forms-expert-radio-group",(t.options||[]).forEach(c=>{let i=document.createElement("label");i.className="forms-expert-radio-item";let a=document.createElement("input");a.type="radio",a.name=t.name,a.value=c,a.checked=e===c,i.appendChild(a),i.appendChild(document.createTextNode(` ${c}`)),n.appendChild(i)}),m.appendChild(n),o){let c=document.createElement("div");c.className="forms-expert-error-message",c.textContent=o,m.appendChild(c)}return r.appendChild(m),r}case"multiselect":{let n=document.createElement("div");n.className="forms-expert-multiselect-group";let l=e||[];if((t.options||[]).forEach(i=>{let a=document.createElement("label");a.className="forms-expert-checkbox-item";let p=document.createElement("input");p.type="checkbox",p.name=t.name,p.value=i,p.checked=l.includes(i),a.appendChild(p),a.appendChild(document.createTextNode(` ${i}`)),n.appendChild(a)}),m.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,m.appendChild(i)}return r.appendChild(m),r}case"rating":{let n=document.createElement("div");n.className="forms-expert-rating";let l=t.ratingMax||5,c=e||0;for(let i=1;i<=l;i++){let a=document.createElement("button");a.type="button",a.className=`forms-expert-rating-star ${i<=c?"active":""}`,a.textContent="\u2605",a.dataset.value=String(i),n.appendChild(a)}if(m.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,m.appendChild(i)}return r.appendChild(m),r}case"scale":case"opinionScale":{let n=document.createElement("div");n.className="forms-expert-scale";let l=t.min??(t.type==="opinionScale"?0:1),c=t.max??(t.type==="opinionScale"?10:5),i=e;for(let a=l;a<=c;a++){let p=document.createElement("button");p.type="button",p.className=`forms-expert-scale-btn ${i===a?"active":""}`,p.textContent=String(a),p.dataset.value=String(a),n.appendChild(p)}if(m.appendChild(n),t.lowLabel||t.highLabel){let a=document.createElement("div");a.className="forms-expert-scale-labels",a.innerHTML=`<span>${f(t.lowLabel||"")}</span><span>${f(t.highLabel||"")}</span>`,m.appendChild(a)}if(o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,m.appendChild(a)}return r.appendChild(m),r}case"slider":{s=document.createElement("input"),s.type="range",s.className="forms-expert-slider",s.min=String(t.min??0),s.max=String(t.max??100),s.step=String(t.step??1),s.value=String(e??t.min??0);break}case"file":s=document.createElement("input"),s.type="file",s.className="forms-expert-file",t.allowedMimeTypes?.length&&(s.accept=t.allowedMimeTypes.join(",")),t.multiple&&(s.multiple=!0);break;case"currency":{s=document.createElement("input"),s.type="number",s.className="forms-expert-input",s.value=String(e??""),t.min!==void 0&&(s.min=String(t.min)),t.max!==void 0&&(s.max=String(t.max)),s.step=String(t.step||.01);break}case"phone":s=document.createElement("input"),s.type="tel",s.className="forms-expert-input",s.value=String(e||"");break;case"url":s=document.createElement("input"),s.type="url",s.className="forms-expert-input",s.value=String(e||"");break;case"password":s=document.createElement("input"),s.type="password",s.className="forms-expert-input",s.value=String(e||"");break;case"time":s=document.createElement("input"),s.type="time",s.className="forms-expert-input",s.value=String(e||"");break;case"datetime":s=document.createElement("input"),s.type="datetime-local",s.className="forms-expert-input",s.value=String(e||"");break;case"colorPicker":s=document.createElement("input"),s.type="color",s.className="forms-expert-color",s.value=String(e||"#000000");break;case"dateRange":{let n=document.createElement("div");n.className="forms-expert-date-range";let l=e||{},c=document.createElement("input");c.type="date",c.className="forms-expert-input",c.name=`${t.name}.start`,c.value=l.start||"";let i=document.createElement("input");if(i.type="date",i.className="forms-expert-input",i.name=`${t.name}.end`,i.value=l.end||"",n.appendChild(c),n.appendChild(i),m.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,m.appendChild(a)}return r.appendChild(m),r}case"address":{let n=document.createElement("div");n.className="forms-expert-address";let l=t.addressFields||["street","city","state","zip","country"],c=e||{},i={street:"Street",street2:"Street Line 2",city:"City",state:"State",zip:"ZIP",country:"Country"};if(l.forEach(a=>{let p=document.createElement("input");p.type="text",p.className="forms-expert-input",p.name=`${t.name}.${a}`,p.placeholder=i[a]||a,p.value=c[a]||"",n.appendChild(p)}),m.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,m.appendChild(a)}return r.appendChild(m),r}case"name":{let n=document.createElement("div");n.className="forms-expert-name";let l=t.nameFields||["first","last"],c=e||{},i={prefix:"Prefix",first:"First Name",middle:"Middle",last:"Last Name",suffix:"Suffix"};if(l.forEach(a=>{let p=document.createElement("input");p.type="text",p.className="forms-expert-input",p.name=`${t.name}.${a}`,p.placeholder=i[a]||a,p.value=c[a]||"",n.appendChild(p)}),m.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,m.appendChild(a)}return r.appendChild(m),r}case"imageChoice":{let n=document.createElement("div");n.className="forms-expert-image-choice";let l=t.options||[],c=e;if(l.forEach(i=>{let a=document.createElement("button");if(a.type="button",a.className=`forms-expert-image-choice-item ${c===i.value?"active":""}`,a.dataset.value=i.value,i.imageUrl){let g=document.createElement("img");g.src=i.imageUrl,g.alt=i.label,a.appendChild(g)}let p=document.createElement("span");p.textContent=i.label,a.appendChild(p),n.appendChild(a)}),m.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,m.appendChild(i)}return r.appendChild(m),r}case"ranking":{let n=document.createElement("div");n.className="forms-expert-ranking";let l=t.options||[];if((e||[...l]).forEach((i,a)=>{let p=document.createElement("div");p.className="forms-expert-ranking-item",p.textContent=`${a+1}. ${i}`,p.dataset.value=i,n.appendChild(p)}),m.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,m.appendChild(i)}return r.appendChild(m),r}case"location":{let n=document.createElement("div");n.className="forms-expert-location";let l=e||{},c=document.createElement("input");c.type="text",c.className="forms-expert-input",c.name=`${t.name}.address`,c.placeholder="Address",c.value=l.address||"",n.appendChild(c);let i=document.createElement("div");i.className="forms-expert-location-coords";let a=document.createElement("input");a.type="number",a.className="forms-expert-input",a.name=`${t.name}.lat`,a.placeholder="Latitude",a.step="any",a.value=l.lat!==void 0?String(l.lat):"";let p=document.createElement("input");if(p.type="number",p.className="forms-expert-input",p.name=`${t.name}.lng`,p.placeholder="Longitude",p.step="any",p.value=l.lng!==void 0?String(l.lng):"",i.appendChild(a),i.appendChild(p),n.appendChild(i),m.appendChild(n),o){let g=document.createElement("div");g.className="forms-expert-error-message",g.textContent=o,m.appendChild(g)}return r.appendChild(m),r}default:s=document.createElement("input"),s.type=t.type==="email"?"email":t.type==="number"?"number":t.type==="date"?"date":"text",s.className="forms-expert-input",s.value=String(e||""),t.type==="number"&&(t.min!==void 0&&(s.min=String(t.min)),t.max!==void 0&&(s.max=String(t.max)),t.step!==void 0&&(s.step=String(t.step)));break}if(s.id=`mira-field-${t.name}`,s.name=t.name,t.placeholder&&"placeholder"in s&&(s.placeholder=t.placeholder),t.required&&(s.required=!0),o&&s.classList.add("forms-expert-error"),m.appendChild(s),o){let n=document.createElement("div");n.className="forms-expert-error-message",n.textContent=o,m.appendChild(n)}return r.appendChild(m),r}function v(t,e={},o={},r={}){let d=document.createElement("form");if(d.className="forms-expert",t.fields.forEach(n=>{let l=T(n,e[n.name],o[n.name]);d.appendChild(l)}),r.honeypot){let n=document.createElement("input");n.type="text",n.name="_hp",n.className="forms-expert-honeypot",n.tabIndex=-1,n.autocomplete="off",d.appendChild(n)}let m=document.createElement("input");m.type="hidden",m.name="pageUrl",m.value=typeof window<"u"?window.location.href:"",d.appendChild(m);let s=document.createElement("button");if(s.type="submit",s.className="forms-expert-button",s.disabled=r.isLoading||!1,r.isLoading?s.innerHTML=`
|
|
282
|
+
`.trim()}function h(t){let e=document.createElement("div");return e.textContent=t,e.innerHTML}function R(t,e,o){let r=document.createElement("div");if(t.type==="heading"){r.className="forms-expert-group";let n=document.createElement("h3");if(n.className="forms-expert-heading",n.textContent=t.label||"",r.appendChild(n),t.content){let m=document.createElement("p");m.className="forms-expert-heading-subtitle",m.textContent=t.content,r.appendChild(m)}return r}if(t.type==="divider"){let n=document.createElement("hr");return n.className="forms-expert-divider",n}if(t.type==="paragraph"){if(r.className="forms-expert-group",t.label){let n=document.createElement("p");n.className="forms-expert-paragraph-label",n.textContent=t.label,r.appendChild(n)}if(t.content){let n=document.createElement("p");n.className="forms-expert-paragraph",n.textContent=t.content,t.paragraphFontSize&&(n.style.fontSize=`${t.paragraphFontSize}px`),r.appendChild(n)}return r}if(t.type==="hidden"){let n=document.createElement("input");return n.type="hidden",n.name=t.name,n.value=String(t.defaultValue??e??""),r.appendChild(n),r.style.display="none",r}if(t.type==="checkbox"||t.type==="toggle"||t.type==="consent"){r.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 m=document.createElement("label");m.htmlFor=n.id;let c=t.type==="consent"?t.consentText||t.label||t.name:t.label||t.name;if(m.innerHTML=`${h(c)}${t.required?'<span class="forms-expert-required">*</span>':""}`,r.appendChild(n),r.appendChild(m),t.type==="consent"&&t.consentUrl){let i=document.createElement("a");i.href=t.consentUrl,i.target="_blank",i.rel="noopener noreferrer",i.textContent="View policy",i.className="forms-expert-consent-link",r.appendChild(i)}if(o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,r.appendChild(i)}return r}r.className="forms-expert-group";let p=document.createElement("label");p.className="forms-expert-label",p.htmlFor=`mira-field-${t.name}`,p.innerHTML=`${h(t.label||t.name)}${t.required?'<span class="forms-expert-required">*</span>':""}`,r.appendChild(p);let l=document.createElement("div");l.className="forms-expert-input-wrapper";let s;switch(t.type){case"textarea":case"richText":s=document.createElement("textarea"),s.className="forms-expert-textarea",s.value=String(e||""),t.maxLength&&(s.maxLength=t.maxLength);break;case"select":case"dropdown":{s=document.createElement("select"),s.className="forms-expert-select";let n=document.createElement("option");n.value="",n.textContent=t.placeholder||"Select an option...",s.appendChild(n),(t.options||[]).forEach(c=>{let i=document.createElement("option");i.value=c,i.textContent=c,e===c&&(i.selected=!0),s.appendChild(i)});break}case"radio":{let n=document.createElement("div");if(n.className="forms-expert-radio-group",(t.options||[]).forEach(c=>{let i=document.createElement("label");i.className="forms-expert-radio-item";let a=document.createElement("input");a.type="radio",a.name=t.name,a.value=c,a.checked=e===c,i.appendChild(a),i.appendChild(document.createTextNode(` ${c}`)),n.appendChild(i)}),l.appendChild(n),o){let c=document.createElement("div");c.className="forms-expert-error-message",c.textContent=o,l.appendChild(c)}return r.appendChild(l),r}case"multiselect":{let n=document.createElement("div");n.className="forms-expert-multiselect-group";let m=e||[];if((t.options||[]).forEach(i=>{let a=document.createElement("label");a.className="forms-expert-checkbox-item";let d=document.createElement("input");d.type="checkbox",d.name=t.name,d.value=i,d.checked=m.includes(i),a.appendChild(d),a.appendChild(document.createTextNode(` ${i}`)),n.appendChild(a)}),l.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,l.appendChild(i)}return r.appendChild(l),r}case"rating":{let n=document.createElement("div");n.className="forms-expert-rating";let m=t.ratingMax||5,c=e||0;for(let i=1;i<=m;i++){let a=document.createElement("button");a.type="button",a.className=`forms-expert-rating-star ${i<=c?"active":""}`,a.textContent="\u2605",a.dataset.value=String(i),n.appendChild(a)}if(l.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,l.appendChild(i)}return r.appendChild(l),r}case"scale":case"opinionScale":{let n=document.createElement("div");n.className="forms-expert-scale";let m=t.min??(t.type==="opinionScale"?0:1),c=t.max??(t.type==="opinionScale"?10:5),i=e;for(let a=m;a<=c;a++){let d=document.createElement("button");d.type="button",d.className=`forms-expert-scale-btn ${i===a?"active":""}`,d.textContent=String(a),d.dataset.value=String(a),n.appendChild(d)}if(l.appendChild(n),t.lowLabel||t.highLabel){let a=document.createElement("div");a.className="forms-expert-scale-labels",a.innerHTML=`<span>${h(t.lowLabel||"")}</span><span>${h(t.highLabel||"")}</span>`,l.appendChild(a)}if(o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,l.appendChild(a)}return r.appendChild(l),r}case"slider":{s=document.createElement("input"),s.type="range",s.className="forms-expert-slider",s.min=String(t.min??0),s.max=String(t.max??100),s.step=String(t.step??1),s.value=String(e??t.min??0);break}case"file":s=document.createElement("input"),s.type="file",s.className="forms-expert-file",t.allowedMimeTypes?.length&&(s.accept=t.allowedMimeTypes.join(",")),t.multiple&&(s.multiple=!0);break;case"currency":{s=document.createElement("input"),s.type="number",s.className="forms-expert-input",s.value=String(e??""),t.min!==void 0&&(s.min=String(t.min)),t.max!==void 0&&(s.max=String(t.max)),s.step=String(t.step||.01);break}case"phone":s=document.createElement("input"),s.type="tel",s.className="forms-expert-input",s.value=String(e||"");break;case"url":s=document.createElement("input"),s.type="url",s.className="forms-expert-input",s.value=String(e||"");break;case"password":s=document.createElement("input"),s.type="password",s.className="forms-expert-input",s.value=String(e||"");break;case"time":s=document.createElement("input"),s.type="time",s.className="forms-expert-input",s.value=String(e||"");break;case"datetime":s=document.createElement("input"),s.type="datetime-local",s.className="forms-expert-input",s.value=String(e||"");break;case"colorPicker":s=document.createElement("input"),s.type="color",s.className="forms-expert-color",s.value=String(e||"#000000");break;case"dateRange":{let n=document.createElement("div");n.className="forms-expert-date-range";let m=e||{},c=document.createElement("input");c.type="date",c.className="forms-expert-input",c.name=`${t.name}.start`,c.value=m.start||"";let i=document.createElement("input");if(i.type="date",i.className="forms-expert-input",i.name=`${t.name}.end`,i.value=m.end||"",n.appendChild(c),n.appendChild(i),l.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,l.appendChild(a)}return r.appendChild(l),r}case"address":{let n=document.createElement("div");n.className="forms-expert-address";let m=t.addressFields||["street","city","state","zip","country"],c=e||{},i={street:"Street",street2:"Street Line 2",city:"City",state:"State",zip:"ZIP",country:"Country"};if(m.forEach(a=>{let d=document.createElement("input");d.type="text",d.className="forms-expert-input",d.name=`${t.name}.${a}`,d.placeholder=i[a]||a,d.value=c[a]||"",n.appendChild(d)}),l.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,l.appendChild(a)}return r.appendChild(l),r}case"name":{let n=document.createElement("div");n.className="forms-expert-name";let m=t.nameFields||["first","last"],c=e||{},i={prefix:"Prefix",first:"First Name",middle:"Middle",last:"Last Name",suffix:"Suffix"};if(m.forEach(a=>{let d=document.createElement("input");d.type="text",d.className="forms-expert-input",d.name=`${t.name}.${a}`,d.placeholder=i[a]||a,d.value=c[a]||"",n.appendChild(d)}),l.appendChild(n),o){let a=document.createElement("div");a.className="forms-expert-error-message",a.textContent=o,l.appendChild(a)}return r.appendChild(l),r}case"imageChoice":{let n=document.createElement("div");n.className="forms-expert-image-choice";let m=t.options||[],c=e;if(m.forEach(i=>{let a=document.createElement("button");if(a.type="button",a.className=`forms-expert-image-choice-item ${c===i.value?"active":""}`,a.dataset.value=i.value,i.imageUrl){let g=document.createElement("img");g.src=i.imageUrl,g.alt=i.label,a.appendChild(g)}let d=document.createElement("span");d.textContent=i.label,a.appendChild(d),n.appendChild(a)}),l.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,l.appendChild(i)}return r.appendChild(l),r}case"ranking":{let n=document.createElement("div");n.className="forms-expert-ranking";let m=t.options||[];if((e||[...m]).forEach((i,a)=>{let d=document.createElement("div");d.className="forms-expert-ranking-item",d.textContent=`${a+1}. ${i}`,d.dataset.value=i,n.appendChild(d)}),l.appendChild(n),o){let i=document.createElement("div");i.className="forms-expert-error-message",i.textContent=o,l.appendChild(i)}return r.appendChild(l),r}case"location":{let n=document.createElement("div");n.className="forms-expert-location";let m=e||{},c=document.createElement("input");c.type="text",c.className="forms-expert-input",c.name=`${t.name}.address`,c.placeholder="Address",c.value=m.address||"",n.appendChild(c);let i=document.createElement("div");i.className="forms-expert-location-coords";let a=document.createElement("input");a.type="number",a.className="forms-expert-input",a.name=`${t.name}.lat`,a.placeholder="Latitude",a.step="any",a.value=m.lat!==void 0?String(m.lat):"";let d=document.createElement("input");if(d.type="number",d.className="forms-expert-input",d.name=`${t.name}.lng`,d.placeholder="Longitude",d.step="any",d.value=m.lng!==void 0?String(m.lng):"",i.appendChild(a),i.appendChild(d),n.appendChild(i),l.appendChild(n),o){let g=document.createElement("div");g.className="forms-expert-error-message",g.textContent=o,l.appendChild(g)}return r.appendChild(l),r}default:s=document.createElement("input"),s.type=t.type==="email"?"email":t.type==="number"?"number":t.type==="date"?"date":"text",s.className="forms-expert-input",s.value=String(e||""),t.type==="number"&&(t.min!==void 0&&(s.min=String(t.min)),t.max!==void 0&&(s.max=String(t.max)),t.step!==void 0&&(s.step=String(t.step)));break}if(s.id=`mira-field-${t.name}`,s.name=t.name,t.placeholder&&"placeholder"in s&&(s.placeholder=t.placeholder),t.required&&(s.required=!0),o&&s.classList.add("forms-expert-error"),l.appendChild(s),o){let n=document.createElement("div");n.className="forms-expert-error-message",n.textContent=o,l.appendChild(n)}return r.appendChild(l),r}function S(t,e={},o={},r={}){let p=document.createElement("form");if(p.className="forms-expert",r.hideRequiredAsterisk){let n=document.createElement("style");n.textContent=".forms-expert .forms-expert-required { display: none; }",p.appendChild(n)}if(t.fields.forEach(n=>{let m=R(n,e[n.name],o[n.name]);p.appendChild(m)}),r.honeypot){let n=document.createElement("input");n.type="text",n.name="_hp",n.className="forms-expert-honeypot",n.tabIndex=-1,n.autocomplete="off",p.appendChild(n)}let l=document.createElement("input");l.type="hidden",l.name="pageUrl",l.value=typeof window<"u"?window.location.href:"",p.appendChild(l);let s=document.createElement("button");if(s.type="submit",s.className="forms-expert-button",s.disabled=r.isLoading||!1,r.isLoading?s.innerHTML=`
|
|
195
283
|
<span class="forms-expert-button-loading">
|
|
196
284
|
<span class="forms-expert-spinner"></span>
|
|
197
285
|
Submitting...
|
|
198
286
|
</span>
|
|
199
|
-
`:s.textContent=r.submitText||"Submit",
|
|
287
|
+
`:s.textContent=r.submitText||"Submit",p.appendChild(s),r.showBranding!==!1){let n=r.brandingText||"Powered by Forms Expert",m=r.brandingUrl||"https://mira.io",c=document.createElement("div");c.className="forms-expert-branding",c.innerHTML=`<a href="${m}" target="_blank" rel="noopener">${n}</a>`,p.appendChild(c)}return p}function v(t){let e=document.createElement("div");return e.className="forms-expert-success",e.innerHTML=`
|
|
200
288
|
<svg class="forms-expert-success-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
201
289
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
|
|
202
290
|
</svg>
|
|
203
|
-
<div class="forms-expert-success-message">${
|
|
204
|
-
`,e}function w(t){return t.reduce((e,o)=>({...e,[o.field]:o.message}),{})}var u=class extends Error{constructor(o,r,
|
|
291
|
+
<div class="forms-expert-success-message">${h(t)}</div>
|
|
292
|
+
`,e}function w(t){return t.reduce((e,o)=>({...e,[o.field]:o.message}),{})}var u=class extends Error{constructor(o,r,p,l){super(o);this.code=r;this.statusCode=p;this.retryAfter=l;this.name="FormsError"}},f=class extends Error{constructor(o){super("Validation failed");this.errors=o;this.name="FormValidationError"}};var x=class{constructor(e){this.apiKey=e.apiKey,this.resourceId=e.resourceId,this.baseUrl=(e.baseUrl||"https://api.forms.expert/api/v1").replace(/\/$/,"")}buildUrl(e){let o=e.includes("?")?"&":"?";return`${this.baseUrl}${e}${o}token=${encodeURIComponent(this.apiKey)}`}async request(e,o,r){let p=this.buildUrl(o),l=await fetch(p,{method:e,headers:{"Content-Type":"application/json"},body:r?JSON.stringify(r):void 0}),s=await l.json();if(!l.ok)throw new u(s.message||"Request failed",s.code||"UNKNOWN_ERROR",l.status,s.retryAfter);return s}async isActive(e,o){let r=o?`?lang=${encodeURIComponent(o)}`:"";return this.request("GET",`/f/${this.resourceId}/${e}/is-active${r}`)}async validate(e,o){return this.request("POST",`/f/${this.resourceId}/${e}/validate`,{data:o})}async submit(e,o,r){let p=this.buildUrl(`/f/${this.resourceId}/${e}`);return Object.values(o).some(s=>s instanceof File||s instanceof FileList&&s.length>0)||r?.onProgress?this.submitWithFormData(p,o,r):this.request("POST",`/f/${this.resourceId}/${e}`,{data:o,pageUrl:r?.pageUrl||(typeof window<"u"?window.location.href:void 0),captchaToken:r?.captchaToken})}submitWithFormData(e,o,r){return new Promise((p,l)=>{let s=new FormData;for(let[c,i]of Object.entries(o))i instanceof File?s.append(c,i):i instanceof FileList?Array.from(i).forEach(a=>s.append(c,a)):i!=null&&s.append(`data[${c}]`,String(i));let n=r?.pageUrl||(typeof window<"u"?window.location.href:"");n&&s.append("pageUrl",n),r?.captchaToken&&s.append("captchaToken",r.captchaToken);let m=new XMLHttpRequest;r?.onProgress&&m.upload.addEventListener("progress",c=>{c.lengthComputable&&r.onProgress({loaded:c.loaded,total:c.total,percentage:Math.round(c.loaded/c.total*100)})}),m.addEventListener("load",()=>{try{let c=JSON.parse(m.responseText);m.status>=200&&m.status<300?p(c):l(new u(c.message||"Submission failed",c.code||"UNKNOWN_ERROR",m.status,c.retryAfter))}catch{l(new u("Invalid response","PARSE_ERROR",m.status))}}),m.addEventListener("error",()=>{l(new u("Network error","NETWORK_ERROR",0))}),m.addEventListener("abort",()=>{l(new u("Request aborted","ABORTED",0))}),m.open("POST",e),m.send(s)})}async trackView(e){let o=this.buildUrl(`/f/${this.resourceId}/${e}/view`);await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"}}).catch(()=>{})}getResourceId(){return this.resourceId}getBaseUrl(){return this.baseUrl}};var k=class{constructor(e,o,r={}){this.config=null;this.apiClient=e,this.slug=o,this.options=r}async initialize(e){return this.config=await this.apiClient.isActive(this.slug,e),this.options.trackViews&&this.apiClient.trackView(this.slug),this.config}getConfig(){return this.config}isActive(){return this.config?.active??!1}requiresCaptcha(){return this.config?.settings?.captcha?.enabled??!1}getCaptchaProvider(){return this.config?.settings?.captcha?.provider}getSchema(){return this.config?.schema}async validate(e){return this.apiClient.validate(this.slug,e)}async submit(e,o){this.options.onSubmitStart?.();try{if(this.config?.mode==="schema"){let p=await this.validate(e);if(!p.valid)throw this.options.onValidationError?.(p.errors),new f(p.errors)}let r=await this.apiClient.submit(this.slug,e,o);return this.options.onSubmitSuccess?.(r),r}catch(r){throw r instanceof u&&this.options.onSubmitError?.(r),r}}getSuccessMessage(){return this.config?.settings?.successMessage||"Form submitted successfully!"}getRedirectUrl(){return this.config?.settings?.redirectUrl}},b=class{constructor(e){this.apiClient=new x(e)}async isActive(e,o){return this.apiClient.isActive(e,o)}async validate(e,o){return this.apiClient.validate(e,o)}async submit(e,o,r){return this.apiClient.submit(e,o,r)}form(e,o){return new k(this.apiClient,e,o)}async trackView(e){return this.apiClient.trackView(e)}async submitWithRetry(e,o,r){let p=r?.maxRetries??3,l=null;for(let s=0;s<p;s++)try{return await this.submit(e,o,r)}catch(n){if(l=n,n instanceof u){if(["VALIDATION_ERROR","CAPTCHA_REQUIRED","ORIGIN_NOT_ALLOWED"].includes(n.code))throw n;if(n.code.includes("RATE_LIMIT")){let m=n.retryAfter||Math.pow(2,s)*1e3;await new Promise(c=>setTimeout(c,m));continue}}await new Promise(m=>setTimeout(m,Math.pow(2,s)*1e3))}throw l}};var y=class{constructor(e,o){this.config=null;this.values={};this.errors={};this.isLoading=!1;this.isSubmitted=!1;this.styleEl=null;this.sdk=new b(e),this.options=o;let r=o.target;if(typeof r=="string"){let p=document.querySelector(r);if(!p)throw new Error(`Element not found: ${r}`);this.container=p}else this.container=r}async init(){try{if(this.config=await this.sdk.isActive(this.options.slug,this.options.lang),!this.config.active){this.renderError("This form is not available");return}this.options.trackViews&&this.sdk.trackView(this.options.slug),this.injectStyles(),this.render()}catch(e){this.renderError("Failed to load form"),this.options.onError?.(e)}}injectStyles(){this.styleEl||(this.styleEl=document.createElement("style"),this.styleEl.id=`forms-expert-styles-${this.options.slug}`,this.styleEl.textContent=E(this.config?.schema?.styling),document.head.appendChild(this.styleEl))}render(){if(!this.config?.schema)return;if(this.isSubmitted){this.container.innerHTML="";let o=this.config.settings?.successMessage||"Form submitted successfully!";this.container.appendChild(v(o));return}let e=S(this.config.schema,this.values,this.errors,{honeypot:this.config.settings?.honeypot,showBranding:this.config.branding?.enabled!==!1,brandingText:this.config.branding?.text,brandingUrl:this.config.branding?.url,submitText:this.options.submitText,isLoading:this.isLoading});e.addEventListener("input",o=>{let r=o.target;r.name&&r.name!=="_hp"&&r.name!=="pageUrl"&&(r.type==="checkbox"?this.values[r.name]=r.checked:r.type==="file"?this.values[r.name]=r.multiple?r.files:r.files?.[0]:this.values[r.name]=r.value,this.errors[r.name]&&(delete this.errors[r.name],this.render()))}),e.addEventListener("submit",o=>{o.preventDefault(),this.handleSubmit()}),this.container.innerHTML="",this.container.appendChild(e)}async handleSubmit(){if(!(this.isLoading||!this.config)){this.isLoading=!0,this.errors={},this.render();try{let e=await this.sdk.submit(this.options.slug,this.values);this.isLoading=!1,this.isSubmitted=!0,this.render(),this.options.onSuccess?.(e);let o=this.options.redirectUrl||this.config.settings?.redirectUrl;o&&setTimeout(()=>{window.location.href=o},1500),this.options.resetOnSuccess&&setTimeout(()=>{this.reset()},3e3)}catch(e){this.isLoading=!1,e instanceof f?(this.errors=w(e.errors),this.options.onValidationError?.(e.errors)):this.options.onError?.(e),this.render()}}}reset(){this.values={},this.errors={},this.isLoading=!1,this.isSubmitted=!1,this.render()}renderError(e){this.container.innerHTML=`
|
|
205
293
|
<div class="forms-expert" style="text-align: center; padding: 2rem; color: #ef4444;">
|
|
206
294
|
<p>${e}</p>
|
|
207
295
|
</div>
|
|
208
|
-
`}destroy(){this.container.innerHTML="",this.styleEl?.remove(),this.styleEl=null}};function F(){document.querySelectorAll("[data-forms-expert]").forEach(e=>{let o=e.getAttribute("data-api-key"),r=e.getAttribute("data-resource-id"),
|
|
296
|
+
`}destroy(){this.container.innerHTML="",this.styleEl?.remove(),this.styleEl=null}};function F(){document.querySelectorAll("[data-forms-expert]").forEach(e=>{let o=e.getAttribute("data-api-key"),r=e.getAttribute("data-resource-id"),p=e.getAttribute("data-forms-expert"),l=e.getAttribute("data-base-url")||void 0;if(!o||!r||!p){console.error("Forms Expert: Missing required attributes",{apiKey:!!o,resourceId:!!r,slug:!!p});return}new y({apiKey:o,resourceId:r,baseUrl:l},{target:e,slug:p,trackViews:e.getAttribute("data-track-views")==="true",submitText:e.getAttribute("data-submit-text")||void 0,resetOnSuccess:e.getAttribute("data-reset")==="true",lang:e.getAttribute("data-lang")||void 0}).init()})}typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",F):F());0&&(module.exports={FormWidget,autoInit,errorsToRecord,generateFormStyles,renderField,renderForm,renderSuccess});
|
|
209
297
|
//# sourceMappingURL=index.cjs.map
|