@unvired/turboforms-embed-sdk 1.0.13 → 1.0.15
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/README.md +35 -0
- package/dist/unvired-form-sdk.html +399 -304
- package/dist/unvired-forms-sdk.js +808 -347
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// src/lib/formUtils.js
|
|
2
|
-
function attachNestedFormsToMainForm(obj, nestedFormArr) {
|
|
2
|
+
function attachNestedFormsToMainForm(obj, nestedFormArr, _isRecursive = false) {
|
|
3
|
+
if (!_isRecursive) {
|
|
4
|
+
console.log("[Lib:FormUtils] \u25B6 attachNestedFormsToMainForm() called");
|
|
5
|
+
}
|
|
3
6
|
if (!obj || typeof obj !== "object") return obj;
|
|
4
7
|
for (let key in obj) {
|
|
5
8
|
if (typeof obj[key] === "object") {
|
|
6
|
-
attachNestedFormsToMainForm(obj[key], nestedFormArr);
|
|
9
|
+
attachNestedFormsToMainForm(obj[key], nestedFormArr, true);
|
|
7
10
|
} else if (key === "nestedFormComponenttype" && obj["nestedFormComponenttype"] === "smartNestedForm") {
|
|
8
11
|
const selNestedFormVersion = obj.selNestedFormVersion;
|
|
9
12
|
const selectedNestedFormId = obj.selectedNestedFormId;
|
|
@@ -23,18 +26,21 @@ function attachNestedFormsToMainForm(obj, nestedFormArr) {
|
|
|
23
26
|
}
|
|
24
27
|
return obj;
|
|
25
28
|
}
|
|
26
|
-
function attachMasterDataToForm(obj, masterdataResults, key = "dataSrc", type = "masterdata") {
|
|
29
|
+
function attachMasterDataToForm(obj, masterdataResults, key = "dataSrc", type = "masterdata", _isRecursive = false) {
|
|
30
|
+
if (!_isRecursive) {
|
|
31
|
+
console.log("[Lib:FormUtils] \u25B6 attachMasterDataToForm() called");
|
|
32
|
+
}
|
|
27
33
|
if (!obj || typeof obj !== "object") return obj;
|
|
28
34
|
if (Array.isArray(obj)) {
|
|
29
35
|
obj.forEach(
|
|
30
|
-
(item) => attachMasterDataToForm(item, masterdataResults, key, type)
|
|
36
|
+
(item) => attachMasterDataToForm(item, masterdataResults, key, type, true)
|
|
31
37
|
);
|
|
32
38
|
return obj;
|
|
33
39
|
}
|
|
34
40
|
for (let k in obj) {
|
|
35
41
|
if (!obj.hasOwnProperty(k)) continue;
|
|
36
42
|
if (typeof obj[k] === "object") {
|
|
37
|
-
attachMasterDataToForm(obj[k], masterdataResults, key, type);
|
|
43
|
+
attachMasterDataToForm(obj[k], masterdataResults, key, type, true);
|
|
38
44
|
} else if (k === key && obj[k] === type) {
|
|
39
45
|
if (Array.isArray(masterdataResults)) {
|
|
40
46
|
obj.masterdata = masterdataResults.flatMap(
|
|
@@ -75,6 +81,7 @@ function walkComponents(components, fn) {
|
|
|
75
81
|
|
|
76
82
|
// src/lib/formValidation.js
|
|
77
83
|
function validateNestedForms(formJson, nestedFormArr) {
|
|
84
|
+
console.log("[Lib:FormValidation] \u25B6 validateNestedForms() called");
|
|
78
85
|
let error = null;
|
|
79
86
|
let hasNestedFormComponent = false;
|
|
80
87
|
walkComponents(formJson == null ? void 0 : formJson.components, (comp) => {
|
|
@@ -108,6 +115,7 @@ function validateNestedForms(formJson, nestedFormArr) {
|
|
|
108
115
|
return error;
|
|
109
116
|
}
|
|
110
117
|
function validateMasterdata(formJson, masterDataArr) {
|
|
118
|
+
console.log("[Lib:FormValidation] \u25B6 validateMasterdata() called");
|
|
111
119
|
let error = null;
|
|
112
120
|
let hasMasterdataComponent = false;
|
|
113
121
|
walkComponents(formJson.components, (comp) => {
|
|
@@ -197,6 +205,7 @@ function replaceDefaultValues(obj, appData, options) {
|
|
|
197
205
|
|
|
198
206
|
// src/lib/attachmentValidation.js
|
|
199
207
|
async function validateAttachments(template, submissionData, sendEventCallback2) {
|
|
208
|
+
console.log("[Lib:AttachmentValidation] \u25B6 validateAttachments() called");
|
|
200
209
|
if (!submissionData || typeof submissionData !== "object") {
|
|
201
210
|
return { missingFiles: [], fileKeys: [] };
|
|
202
211
|
}
|
|
@@ -209,36 +218,47 @@ async function validateAttachments(template, submissionData, sendEventCallback2)
|
|
|
209
218
|
}
|
|
210
219
|
if (Array.isArray(comp.components)) {
|
|
211
220
|
collectFileKeys(comp.components, keys);
|
|
221
|
+
} else if (Array.isArray(comp.columns)) {
|
|
222
|
+
comp.columns.forEach((col) => collectFileKeys(col.components, keys));
|
|
223
|
+
} else if (Array.isArray(comp.rows)) {
|
|
224
|
+
comp.rows.forEach((row) => row.forEach((cell) => collectFileKeys(cell.components, keys)));
|
|
225
|
+
} else if (comp.tabs && Array.isArray(comp.tabs)) {
|
|
226
|
+
comp.tabs.forEach((tab) => collectFileKeys(tab.components, keys));
|
|
212
227
|
}
|
|
213
228
|
}
|
|
214
229
|
return keys;
|
|
215
230
|
}
|
|
216
|
-
const fileKeys = collectFileKeys(template.components);
|
|
231
|
+
const fileKeys = collectFileKeys((template == null ? void 0 : template.components) || []);
|
|
232
|
+
const fileKeySet = new Set(fileKeys);
|
|
233
|
+
const visited = /* @__PURE__ */ new WeakSet();
|
|
217
234
|
async function traverseSubmission(obj) {
|
|
218
|
-
if (!obj || typeof obj !== "object") return;
|
|
219
|
-
|
|
235
|
+
if (!obj || typeof obj !== "object" || visited.has(obj)) return;
|
|
236
|
+
visited.add(obj);
|
|
237
|
+
for (const key of Object.keys(obj)) {
|
|
220
238
|
const value = obj[key];
|
|
221
|
-
if (
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
239
|
+
if (fileKeySet.has(key) && Array.isArray(value)) {
|
|
240
|
+
await Promise.all(
|
|
241
|
+
value.map(async (fileId) => {
|
|
242
|
+
if (typeof fileId === "string" && fileId.trim()) {
|
|
243
|
+
try {
|
|
244
|
+
const fileRecord = await getFileFromIndexedDB(fileId);
|
|
245
|
+
if (!fileRecord || !fileRecord.id || !fileRecord.data && !fileRecord.url) {
|
|
246
|
+
missingFiles.push({
|
|
247
|
+
fileId,
|
|
248
|
+
field: key,
|
|
249
|
+
reason: fileRecord ? "Incomplete file record (missing id/data/url)" : "File not found in IndexedDB"
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
} catch (e) {
|
|
227
253
|
missingFiles.push({
|
|
228
254
|
fileId,
|
|
229
255
|
field: key,
|
|
230
|
-
reason:
|
|
256
|
+
reason: "IndexedDB not initialized"
|
|
231
257
|
});
|
|
232
258
|
}
|
|
233
|
-
} catch (err) {
|
|
234
|
-
missingFiles.push({
|
|
235
|
-
fileId,
|
|
236
|
-
field: key,
|
|
237
|
-
reason: "IndexedDB not initialized"
|
|
238
|
-
});
|
|
239
259
|
}
|
|
240
|
-
}
|
|
241
|
-
|
|
260
|
+
})
|
|
261
|
+
);
|
|
242
262
|
}
|
|
243
263
|
if (typeof value === "object" && value !== null) {
|
|
244
264
|
await traverseSubmission(value);
|
|
@@ -247,7 +267,7 @@ async function validateAttachments(template, submissionData, sendEventCallback2)
|
|
|
247
267
|
}
|
|
248
268
|
await traverseSubmission(submissionData);
|
|
249
269
|
if (missingFiles.length > 0) {
|
|
250
|
-
sendEventCallback2({
|
|
270
|
+
sendEventCallback2 == null ? void 0 : sendEventCallback2({
|
|
251
271
|
type: "GET_ATTACHMENT",
|
|
252
272
|
message: "Requesting missing attachments from middleware",
|
|
253
273
|
data: { missingFiles }
|
|
@@ -255,37 +275,61 @@ async function validateAttachments(template, submissionData, sendEventCallback2)
|
|
|
255
275
|
}
|
|
256
276
|
return { missingFiles, fileKeys };
|
|
257
277
|
}
|
|
278
|
+
var _dbPromise = null;
|
|
258
279
|
function getFileFromIndexedDB(fileId) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
)
|
|
269
|
-
|
|
270
|
-
|
|
280
|
+
console.log("[Lib:AttachmentValidation] \u{1F50D} getFileFromIndexedDB() called", { fileId });
|
|
281
|
+
if (!("indexedDB" in window)) {
|
|
282
|
+
return Promise.resolve(null);
|
|
283
|
+
}
|
|
284
|
+
if (!_dbPromise) {
|
|
285
|
+
_dbPromise = new Promise((resolve, reject) => {
|
|
286
|
+
const request = indexedDB.open("Forms-Attachments", 3);
|
|
287
|
+
request.onupgradeneeded = (event) => {
|
|
288
|
+
const db = event.target.result;
|
|
289
|
+
if (!db.objectStoreNames.contains("Files")) {
|
|
290
|
+
db.createObjectStore("Files");
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
request.onsuccess = (event) => {
|
|
294
|
+
const db = event.target.result;
|
|
295
|
+
if (!db.objectStoreNames.contains("Files")) {
|
|
296
|
+
_dbPromise = null;
|
|
297
|
+
reject(new Error("Missing Files store"));
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
resolve(db);
|
|
301
|
+
};
|
|
302
|
+
request.onerror = () => {
|
|
303
|
+
_dbPromise = null;
|
|
304
|
+
reject(new Error("Failed to open IndexedDB"));
|
|
305
|
+
};
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
return _dbPromise.then((db) => {
|
|
309
|
+
return new Promise((resolve) => {
|
|
271
310
|
const tx = db.transaction("Files", "readonly");
|
|
311
|
+
tx.onerror = () => resolve(null);
|
|
272
312
|
const store = tx.objectStore("Files");
|
|
273
|
-
const
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
};
|
|
277
|
-
request.onerror = () => reject(new Error("Failed to open IndexedDB"));
|
|
313
|
+
const req = store.get(fileId);
|
|
314
|
+
req.onsuccess = () => resolve(req.result || null);
|
|
315
|
+
req.onerror = () => resolve(null);
|
|
316
|
+
});
|
|
278
317
|
});
|
|
279
318
|
}
|
|
280
319
|
|
|
281
320
|
// src/lib/FileProcessor.js
|
|
282
|
-
async function processFileIds(data, sendEventCallback2) {
|
|
321
|
+
async function processFileIds(data, sendEventCallback2, fileKeys = []) {
|
|
322
|
+
console.log("[Lib:FileProcessor] \u25B6 processFileIds() called");
|
|
283
323
|
if (!data || typeof data !== "object") return data;
|
|
324
|
+
const fileKeySet = new Set(fileKeys);
|
|
284
325
|
const clonedData = JSON.parse(JSON.stringify(data));
|
|
326
|
+
const visited = /* @__PURE__ */ new WeakSet();
|
|
285
327
|
async function traverse(obj) {
|
|
286
|
-
|
|
328
|
+
if (!obj || typeof obj !== "object" || visited.has(obj)) return;
|
|
329
|
+
visited.add(obj);
|
|
330
|
+
for (const key of Object.keys(obj)) {
|
|
287
331
|
const value = obj[key];
|
|
288
|
-
if (Array.isArray(value)) {
|
|
332
|
+
if (fileKeySet.has(key) && Array.isArray(value)) {
|
|
289
333
|
const processedArray = [];
|
|
290
334
|
for (let i = 0; i < value.length; i++) {
|
|
291
335
|
if (typeof value[i] === "string") {
|
|
@@ -301,10 +345,11 @@ async function processFileIds(data, sendEventCallback2) {
|
|
|
301
345
|
key,
|
|
302
346
|
uid: value[i],
|
|
303
347
|
mode: fileObject.mode || "G"
|
|
304
|
-
// Fix: Preserve the mode or default to G
|
|
305
348
|
});
|
|
306
349
|
} else {
|
|
307
|
-
console.warn(
|
|
350
|
+
console.warn(
|
|
351
|
+
`[Lib:FileProcessor] \u26A0\uFE0F File not found in IndexedDB: ${value[i]} - removing from submission data`
|
|
352
|
+
);
|
|
308
353
|
}
|
|
309
354
|
} else if (typeof value[i] === "object" && value[i] !== null) {
|
|
310
355
|
await traverse(value[i]);
|
|
@@ -322,33 +367,52 @@ async function processFileIds(data, sendEventCallback2) {
|
|
|
322
367
|
await traverse(clonedData);
|
|
323
368
|
return clonedData;
|
|
324
369
|
}
|
|
370
|
+
var _dbPromise2 = null;
|
|
325
371
|
async function getFileFromIndexedDB2(fileId) {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
372
|
+
console.log("[Lib:FileProcessor] \u{1F50D} getFileFromIndexedDB() called", { fileId });
|
|
373
|
+
if (!("indexedDB" in window)) {
|
|
374
|
+
return null;
|
|
375
|
+
}
|
|
376
|
+
if (!_dbPromise2) {
|
|
377
|
+
_dbPromise2 = new Promise((resolve) => {
|
|
378
|
+
const request = indexedDB.open("Forms-Attachments", 3);
|
|
379
|
+
request.onupgradeneeded = (e) => {
|
|
380
|
+
const db2 = e.target.result;
|
|
381
|
+
if (!db2.objectStoreNames.contains("Files")) {
|
|
382
|
+
db2.createObjectStore("Files");
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
request.onsuccess = (event) => {
|
|
386
|
+
const db2 = event.target.result;
|
|
387
|
+
if (!db2.objectStoreNames.contains("Files")) {
|
|
388
|
+
console.warn("[Lib:FileProcessor] \u26A0\uFE0F Files store not found");
|
|
389
|
+
_dbPromise2 = null;
|
|
390
|
+
resolve(null);
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
resolve(db2);
|
|
394
|
+
};
|
|
395
|
+
request.onerror = () => {
|
|
396
|
+
_dbPromise2 = null;
|
|
338
397
|
resolve(null);
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
398
|
+
};
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
const db = await _dbPromise2;
|
|
402
|
+
if (!db) return null;
|
|
403
|
+
return new Promise((resolve) => {
|
|
404
|
+
const tx = db.transaction(["Files"], "readonly");
|
|
405
|
+
tx.onerror = () => resolve(null);
|
|
406
|
+
const store = tx.objectStore("Files");
|
|
407
|
+
const req = store.get(fileId);
|
|
408
|
+
req.onsuccess = () => resolve(req.result || null);
|
|
409
|
+
req.onerror = () => resolve(null);
|
|
347
410
|
});
|
|
348
411
|
}
|
|
349
412
|
|
|
350
413
|
// src/lib/dynamicValueProcessor.js
|
|
351
414
|
function processDynamicValues(formJson, appData) {
|
|
415
|
+
console.log("[Lib:DynamicValueProcessor] \u25B6 processDynamicValues() called");
|
|
352
416
|
if (!formJson || !formJson.components) return null;
|
|
353
417
|
let dataMap = {};
|
|
354
418
|
const hasAppData = appData && (Array.isArray(appData) && appData.length > 0 || !Array.isArray(appData) && Object.keys(appData).length > 0);
|
|
@@ -413,7 +477,7 @@ function openDB(version) {
|
|
|
413
477
|
};
|
|
414
478
|
request.onsuccess = (event) => resolve(event.target.result);
|
|
415
479
|
request.onerror = (event) => {
|
|
416
|
-
console.error("AppDocuments DB error:", event.target.error);
|
|
480
|
+
console.error("[Lib:AppDocuments] \u274C DB error:", event.target.error);
|
|
417
481
|
reject(event.target.error);
|
|
418
482
|
};
|
|
419
483
|
});
|
|
@@ -438,7 +502,6 @@ function openDB(version) {
|
|
|
438
502
|
const currentVersion = db.version;
|
|
439
503
|
const newVersion = currentVersion + 1;
|
|
440
504
|
db.close();
|
|
441
|
-
console.log(`[AppDocuments] Store missing. Upgrading from v${currentVersion} to v${newVersion}.`);
|
|
442
505
|
const upgradeRequest = indexedDB.open(DB_NAME, newVersion);
|
|
443
506
|
upgradeRequest.onupgradeneeded = (evt) => {
|
|
444
507
|
const upgradeDb = evt.target.result;
|
|
@@ -448,12 +511,12 @@ function openDB(version) {
|
|
|
448
511
|
};
|
|
449
512
|
upgradeRequest.onsuccess = (evt) => resolve(evt.target.result);
|
|
450
513
|
upgradeRequest.onerror = (evt) => {
|
|
451
|
-
console.error("[AppDocuments] DB Upgrade failed:", evt);
|
|
514
|
+
console.error("[Lib:AppDocuments] \u274C DB Upgrade failed:", evt);
|
|
452
515
|
reject(evt);
|
|
453
516
|
};
|
|
454
517
|
};
|
|
455
518
|
checkRequest.onerror = (e) => {
|
|
456
|
-
console.error("[AppDocuments] DB Open failed:", e);
|
|
519
|
+
console.error("[Lib:AppDocuments] \u274C DB Open failed:", e);
|
|
457
520
|
reject(e.target.error);
|
|
458
521
|
};
|
|
459
522
|
});
|
|
@@ -468,7 +531,7 @@ async function hasDocuments() {
|
|
|
468
531
|
const db = await openDB();
|
|
469
532
|
const actualStoreName = getStoreName(db);
|
|
470
533
|
if (!actualStoreName) {
|
|
471
|
-
console.warn(`AppDocuments
|
|
534
|
+
console.warn(`[Lib:AppDocuments] \u26A0\uFE0F Store missing \u2014 no '${STORE_NAME}' or '${STORE_NAME_TYPO}' found`);
|
|
472
535
|
db.close();
|
|
473
536
|
return false;
|
|
474
537
|
}
|
|
@@ -477,18 +540,17 @@ async function hasDocuments() {
|
|
|
477
540
|
const store = transaction.objectStore(actualStoreName);
|
|
478
541
|
const countRequest = store.count();
|
|
479
542
|
countRequest.onsuccess = () => {
|
|
480
|
-
console.log(`[AppDocuments] Count in ${actualStoreName}:`, countRequest.result);
|
|
481
543
|
db.close();
|
|
482
544
|
resolve(countRequest.result > 0);
|
|
483
545
|
};
|
|
484
546
|
countRequest.onerror = (e) => {
|
|
485
|
-
console.error("[AppDocuments] Error counting:", e);
|
|
547
|
+
console.error("[Lib:AppDocuments] \u274C Error counting:", e);
|
|
486
548
|
db.close();
|
|
487
549
|
resolve(false);
|
|
488
550
|
};
|
|
489
551
|
});
|
|
490
552
|
} catch (e) {
|
|
491
|
-
console.error("[AppDocuments] Error checking documents:", e);
|
|
553
|
+
console.error("[Lib:AppDocuments] \u274C Error checking documents:", e);
|
|
492
554
|
return false;
|
|
493
555
|
}
|
|
494
556
|
}
|
|
@@ -514,7 +576,7 @@ async function getAllDocuments() {
|
|
|
514
576
|
};
|
|
515
577
|
});
|
|
516
578
|
} catch (e) {
|
|
517
|
-
console.error("Error getting documents:", e);
|
|
579
|
+
console.error("[Lib:AppDocuments] \u274C Error getting documents:", e);
|
|
518
580
|
return [];
|
|
519
581
|
}
|
|
520
582
|
}
|
|
@@ -540,7 +602,7 @@ async function insertDocument(doc) {
|
|
|
540
602
|
};
|
|
541
603
|
});
|
|
542
604
|
} catch (e) {
|
|
543
|
-
console.error("Error inserting document:", e);
|
|
605
|
+
console.error("[Lib:AppDocuments] \u274C Error inserting document:", e);
|
|
544
606
|
throw e;
|
|
545
607
|
}
|
|
546
608
|
}
|
|
@@ -567,7 +629,7 @@ async function deleteDocument(id) {
|
|
|
567
629
|
};
|
|
568
630
|
});
|
|
569
631
|
} catch (e) {
|
|
570
|
-
console.error("Error deleting document:", e);
|
|
632
|
+
console.error("[Lib:AppDocuments] \u274C Error deleting document:", e);
|
|
571
633
|
throw e;
|
|
572
634
|
}
|
|
573
635
|
}
|
|
@@ -850,10 +912,10 @@ async function loadUnviredForms({
|
|
|
850
912
|
requireCompleteForm: true
|
|
851
913
|
}
|
|
852
914
|
}) {
|
|
853
|
-
var _a, _b;
|
|
915
|
+
var _a, _b, _c;
|
|
854
916
|
let fileKeys = [];
|
|
855
917
|
let formJson;
|
|
856
|
-
console.log("
|
|
918
|
+
console.log("[SDK:1] \u25B6 loadUnviredForms() started", { title: options == null ? void 0 : options.title, mode: options == null ? void 0 : options.mode, permission: options == null ? void 0 : options.permission, platform: options == null ? void 0 : options.platform });
|
|
857
919
|
function sendEventCallback2(params) {
|
|
858
920
|
const eventStructure = sendEventCallback(params);
|
|
859
921
|
if (typeof eventCallback === "function") {
|
|
@@ -862,7 +924,9 @@ async function loadUnviredForms({
|
|
|
862
924
|
}
|
|
863
925
|
try {
|
|
864
926
|
formJson = typeof formsData === "string" ? JSON.parse(formsData) : formsData;
|
|
927
|
+
console.log("[SDK:2] \u2705 Form JSON parsed", { display: formJson == null ? void 0 : formJson.display, components: (_a = formJson == null ? void 0 : formJson.components) == null ? void 0 : _a.length });
|
|
865
928
|
} catch (e) {
|
|
929
|
+
console.error("[SDK] \u274C Step 2: Failed to parse formsData JSON", e);
|
|
866
930
|
sendEventCallback2({
|
|
867
931
|
type: "ERROR",
|
|
868
932
|
errorMessage: "ErrorCode : 001, Invalid formsData JSON",
|
|
@@ -871,11 +935,13 @@ async function loadUnviredForms({
|
|
|
871
935
|
return;
|
|
872
936
|
}
|
|
873
937
|
processDynamicValues(formJson, options.appData);
|
|
938
|
+
console.log("[SDK:3] \u2705 Dynamic values processed. Validating nested forms & master data...");
|
|
874
939
|
const template = formJson;
|
|
875
940
|
const nestedFormArrTemp = options.nestedFormData || [];
|
|
876
941
|
const masterDataArrTemp = options.masterData || [];
|
|
877
942
|
const nestedFormError = validateNestedForms(formJson, nestedFormArrTemp);
|
|
878
943
|
if (nestedFormError) {
|
|
944
|
+
console.error("[SDK] \u274C Step 3: Nested form validation failed", nestedFormError);
|
|
879
945
|
sendEventCallback2({
|
|
880
946
|
type: "ERROR",
|
|
881
947
|
errorMessage: "ErrorCode : 002, Nested form validation error",
|
|
@@ -885,6 +951,7 @@ async function loadUnviredForms({
|
|
|
885
951
|
}
|
|
886
952
|
const masterdataError = validateMasterdata(formJson, masterDataArrTemp);
|
|
887
953
|
if (masterdataError) {
|
|
954
|
+
console.error("[SDK] \u274C Step 3: Master data validation failed", masterdataError);
|
|
888
955
|
sendEventCallback2({
|
|
889
956
|
type: "ERROR",
|
|
890
957
|
errorMessage: "ErrorCode : 003, Master data validation error",
|
|
@@ -893,6 +960,7 @@ async function loadUnviredForms({
|
|
|
893
960
|
return;
|
|
894
961
|
}
|
|
895
962
|
if (!(options == null ? void 0 : options.userData)) {
|
|
963
|
+
console.error("[SDK] \u274C Step 3: userData not provided");
|
|
896
964
|
sendEventCallback2({
|
|
897
965
|
type: "ERROR",
|
|
898
966
|
errorMessage: "ErrorCode : 004, User Data not Provided",
|
|
@@ -900,6 +968,7 @@ async function loadUnviredForms({
|
|
|
900
968
|
});
|
|
901
969
|
return;
|
|
902
970
|
}
|
|
971
|
+
console.log("[SDK:4] \u2705 Merging nested forms & master data", { nestedForms: nestedFormArrTemp.length, masterDataSets: masterDataArrTemp.length });
|
|
903
972
|
const mergedData = attachNestedFormsToMainForm(template, nestedFormArrTemp);
|
|
904
973
|
const mergedWithMasterData = attachMasterDataToForm(
|
|
905
974
|
mergedData,
|
|
@@ -908,6 +977,7 @@ async function loadUnviredForms({
|
|
|
908
977
|
"masterdata"
|
|
909
978
|
);
|
|
910
979
|
if (submissionData && template) {
|
|
980
|
+
console.log("[SDK:5] \u{1F4CE} Validating attachments in submission data...");
|
|
911
981
|
try {
|
|
912
982
|
const r = await validateAttachments(
|
|
913
983
|
mergedWithMasterData,
|
|
@@ -916,12 +986,17 @@ async function loadUnviredForms({
|
|
|
916
986
|
);
|
|
917
987
|
fileKeys = r.fileKeys;
|
|
918
988
|
if (r.missingFiles.length > 0) {
|
|
989
|
+
console.warn("[SDK:5] \u26A0\uFE0F Missing attachment files detected", { missing: r.missingFiles, fileKeys });
|
|
990
|
+
} else {
|
|
991
|
+
console.log("[SDK:5] \u2705 Attachments validated", { fileKeys });
|
|
919
992
|
}
|
|
920
993
|
} catch (error) {
|
|
921
|
-
console.warn("Attachment validation skipped
|
|
994
|
+
console.warn("[SDK:5] \u26A0\uFE0F Attachment validation skipped (non-fatal)", error);
|
|
922
995
|
}
|
|
996
|
+
} else {
|
|
997
|
+
console.log("[SDK:5] \u2139\uFE0F No submission data \u2014 attachment validation skipped");
|
|
923
998
|
}
|
|
924
|
-
if ((options == null ? void 0 : options.appData) && ((
|
|
999
|
+
if ((options == null ? void 0 : options.appData) && ((_b = Object.keys(options == null ? void 0 : options.appData)) == null ? void 0 : _b.length) > 0) {
|
|
925
1000
|
replaceDefaultValues(mergedWithMasterData, options == null ? void 0 : options.appData, options);
|
|
926
1001
|
}
|
|
927
1002
|
if (container) {
|
|
@@ -1574,7 +1649,9 @@ body {
|
|
|
1574
1649
|
margin-top: 2rem;
|
|
1575
1650
|
}
|
|
1576
1651
|
|
|
1577
|
-
.
|
|
1652
|
+
/* Floating label ONLY for Choices.js (non-html5) selects.
|
|
1653
|
+
Do NOT apply to native <select> (html5 widget) \u2014 it would cover the selected value. */
|
|
1654
|
+
.formio-component-select:has(.choices) label {
|
|
1578
1655
|
position: absolute;
|
|
1579
1656
|
top: 1rem;
|
|
1580
1657
|
left: 1rem;
|
|
@@ -1587,8 +1664,8 @@ body {
|
|
|
1587
1664
|
z-index: 2;
|
|
1588
1665
|
}
|
|
1589
1666
|
|
|
1590
|
-
.formio-component-select.has-value label,
|
|
1591
|
-
.formio-component-select.dropdown-open label {
|
|
1667
|
+
.formio-component-select.has-value:has(.choices) label,
|
|
1668
|
+
.formio-component-select.dropdown-open:has(.choices) label {
|
|
1592
1669
|
top: -0.6rem;
|
|
1593
1670
|
left: 0.8rem;
|
|
1594
1671
|
font-size: 0.75rem;
|
|
@@ -27917,7 +27994,6 @@ select.ui.dropdown {
|
|
|
27917
27994
|
sendEventCallback2({ type: "FORM_BACK_NAVIGATION" });
|
|
27918
27995
|
};
|
|
27919
27996
|
window.FormOnBackLoading = window.FormOnBackLoading || function() {
|
|
27920
|
-
console.log("Back button clicked during loading, canceling form load");
|
|
27921
27997
|
if (loaderElement) {
|
|
27922
27998
|
loaderElement.classList.add("hidden");
|
|
27923
27999
|
if (loaderElement.parentNode) {
|
|
@@ -47638,7 +47714,7 @@ select.ui.dropdown {
|
|
|
47638
47714
|
|
|
47639
47715
|
// === SCRIPT_SEPARATOR ===
|
|
47640
47716
|
|
|
47641
|
-
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.semantic=n():e.semantic=n()}(self,(()=>(()=>{var e={9969:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7582);n.default={semantic:t.default}},3029:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";if(Array.prototype.join,e.mode.autocomplete){for(var t in r+='\\r\\n<div class="address-autocomplete-container">\\r\\n <input ref="'+(null==(n=e.ref.searchInput)?"":n)+'" ',e.inputAttributes)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.inputAttributes[t])?"":n)+'" ';r+=' value="'+(null==(n=e.displayValue)?"":n)+'" autocomplete="off"\\r\\n aria-label="'+(null==(n=e.t("autocomplete"))?"":n)+'">\\r\\n ',e.component.disableClearIcon||(r+='\\r\\n <i class="address-autocomplete-remove-value-icon icon times" tabindex="'+(null==(n=e.inputAttributes.tabindex)?"":n)+'"\\r\\n ref="'+(null==(n=e.ref.removeValueIcon)?"":n)+'"></i>\\r\\n '),r+="\\r\\n</div>\\r\\n"}return r+="\\r\\n",e.self.manualModeEnabled&&(r+='\\r\\n<div class="form-check checkbox">\\r\\n <label class="form-check-label">\\r\\n <input ref="'+(null==(n=e.ref.modeSwitcher)?"":n)+'" type="checkbox" class="form-check-input"\\r\\n tabindex="'+(null==(n=e.inputAttributes.tabindex)?"":n)+'" ',e.mode.manual&&(r+="checked=true"),r+=" ",e.disabled&&(r+="disabled=true"),r+=">\\r\\n <span>"+(null==(n=e.component.switchToManualModeLabel)?"":n)+"</span>\\r\\n </label>\\r\\n</div>\\r\\n"),r+="\\r\\n",e.self.manualMode&&(r+='\\r\\n<div ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n</div>\\r\\n"),r+"\\r\\n"}},9326:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.displayValue?r+=null==(n=e.displayValue)?"":n:r+="-",r+"</div>"}},3861:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3029),l=r(9326);n.default={form:t.default,html:l.default}},8807:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+="<div ",e.attrs)r+=" ",r+="class"===t?" "+(null==(n=t)?"":n)+'="ui message '+(null==(n=e.attrs[t])?"":n)+'" ':" "+(null==(n=t)?"":n)+'="'+(null==(n=e.attrs[t])?"":n)+'" ',r+=" ";return r+">"+(null==(n=e.message)?"":n)+"</div>"}},7639:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8807);n.default={form:t.default}},9317:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="builder-component" ref="dragComponent">\\r\\n <div class="component-btn-group" data-noattach="true">\\r\\n <div class="ui button mini icon component-settings-button-remove" ref="removeComponent">\\r\\n <i class="'+(null==(n=e.iconClass("remove"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-copy" ref="copyComponent">\\r\\n <i class="'+(null==(n=e.iconClass("copy"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-paste" ref="pasteComponent">\\r\\n <i class="'+(null==(n=e.iconClass("save"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-edit-json" ref="editJson">\\r\\n <i class="'+(null==(n=e.iconClass("wrench"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-move" ref="moveComponent">\\r\\n <i class="'+(null==(n=e.iconClass("move"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon primary component-settings-button-edit" ref="editComponent" id="'+(null==(n=e.id)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("cog"))?"":n)+'"></i>\\r\\n </div>\\r\\n </div>\\r\\n '+(null==(n=e.html)?"":n)+"\\r\\n</div>\\r\\n"}},9141:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9317);n.default={form:t.default}},4928:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="builder-components drag-container '+(null==(n=e.type)?"":n)+'" ref="'+(null==(n=e.key)?"":n)+'-container">\\r\\n '+(null==(n=e.html)?"":n)+"\\r\\n</div>"}},9766:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(4928);n.default={form:t.default}},126:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable" style="padding: 5px !important;">\\r\\n <div class="nine wide column">\\r\\n <h4 class="lead">'+(null==(n=e.t(e.componentInfo.title))?"":n)+" "+(null==(n=e.t("Component"))?"":n)+'</h4>\\r\\n </div>\\r\\n <div class="seven wide column" style="padding: 5px !important; text-align: end !important;">\\r\\n \\x3c!-- <div class="right floated" style="margin-right: 20px; margin-top: 10px">\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <i class="'+(null==(n=e.iconClass("new-window"))?"":n)+'"> '+(null==(n=e.t("Help"))?"":n)+"</i>\\r\\n </a>\\r\\n </div> --\\x3e\\r\\n ",e.preview||(r+='\\r\\n <div class="preview-button-grp" style="padding:5px !important;">\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;">\\r\\n <i class="help icon"></i>\\r\\n </button>\\r\\n </a>\\r\\n\\r\\n <button class="ui button mini icon" style="margin-right: 10px;" ref="resetUI">\\r\\n <i class="remove icon"></i>\\r\\n </button>\\r\\n\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton">\\r\\n <i class="save icon"></i>\\r\\n </button>\\r\\n\\r\\n \\x3c!-- <button class="ui button default" style="margin-right: 10px;" ref="cancelButton">'+(null==(n=e.t("Cancel"))?"":n)+'</button>\\r\\n <button class="ui button negative" ref="removeButton">'+(null==(n=e.t("Remove"))?"":n)+"</button> --\\x3e\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.preview&&(r+='\\r\\n <div class="preview-button-grp" style="padding:5px !important;">\\r\\n \\x3c!-- <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton" data-tooltip="Save" data-inverted="" data-variation="mini" data-position="bottom center"> --\\x3e\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;">\\r\\n <i class="help icon"></i>\\r\\n </button>\\r\\n </a>\\r\\n\\r\\n <button class="ui button mini icon" style="margin-right: 10px;" ref="resetUI">\\r\\n <i class="remove icon"></i>\\r\\n </button>\\r\\n\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton" data-tooltip="Save"\\r\\n data-inverted="" data-variation="mini" data-position="bottom center">\\r\\n <i class="save icon"></i>\\r\\n </button>\\r\\n\\r\\n \\x3c!-- <button class="ui button default" style="margin-right: 10px;" ref="cancelButton">'+(null==(n=e.t("Cancel"))?"":n)+'</button> --\\x3e\\r\\n \\x3c!-- <button class="ui button negative" ref="removeButton">'+(null==(n=e.t("Remove"))?"":n)+"</button> --\\x3e\\r\\n </div>\\r\\n "),r+='\\r\\n\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n<div class="ui" style="margin-top: 10px !important; overflow-y: scroll;height:85%">\\r\\n ',e.preview&&(r+='\\r\\n <div class="eight wide column">\\r\\n \\x3c!-- <button class="ui button mini icon primary" style="margin-right: 10px;" onclick="test()">\\r\\n <i class="save icon"></i>\\r\\n </button> --\\x3e\\r\\n \\x3c!-- <div class="ui accordion">\\r\\n <div class="title">component-edit-container\\r\\n <i class="dropdown icon"></i>\\r\\n What is a dog?\\r\\n </div>\\r\\n <div class="content">\\r\\n <p class="transition hidden">A dog is a type of domesticated animal. Known for its loyalty and faithfulness, it can be found as a welcome guest in many households across the world.</p>\\r\\n </div>\\r\\n <div class="title">\\r\\n <i class="dropdown icon"></i>\\r\\n What kinds of dogs are there?\\r\\n </div>\\r\\n <div class="content">\\r\\n <p class="transition hidden">There are many breeds of dogs. Each breed varies in size and temperament. Owners often select a breed of dog that they find to be compatible with their own lifestyle and desires from a companion.</p>\\r\\n </div>\\r\\n </div> --\\x3e\\r\\n\\r\\n <div class="ui top attached block header">\\r\\n <i class="formio-collapse-icon text-muted" data-title="Collapse Panel"></i>\\r\\n '+(null==(n=e.t("Preview"))?"":n)+'\\r\\n </div>\\r\\n \\x3c!-- height: calc(100vh - 75vh); --\\x3e\\r\\n <div\\r\\n style="opacity: 0.6; --s: 45px;--_g: #0000 90deg,#f0f0f1 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;">\\r\\n <div ref="compnentApikey" style="padding: 5px;color: black;">\\r\\n </div>\\r\\n <div class="ui bottom attached segment" ref="preview"\\r\\n style="opacity: 0.6; --s: 45px;--_g: #0000 90deg,#f0f0f1 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;">\\r\\n '+(null==(n=e.preview)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n ",e.componentInfo.help&&(r+='\\r\\n <div class="ui secondary segment formio-settings-help">\\r\\n '+(null==(n=e.componentInfo.help)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n </div>\\r\\n "),r+='\\r\\n <div class="',e.preview?r+="eight":r+="sixteen",r+' wide column" style="margin-top: 15px;">\\r\\n <div ref="editForm">\\r\\n '+(null==(n=e.editForm)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"}},684:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(126);n.default={form:t.default}},9015:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui primary message no-drag"\\r\\n style="text-align:center; margin-bottom: 5px;opacity: 0.6;--s: 45px;--_g: #0000 90deg,#dee2e6 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;"\\r\\n role="alert" data-noattach="true" data-position="'+(null==(n=e.position)?"":n)+'">\\r\\n <span style="color: var(--primary-color) !important;">Drag and Drop a form component</span>\\r\\n</div>'}},5575:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9015);n.default={form:t.default}},9621:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='\\x3c!-- <div class="ui compact menu"> --\\x3e\\r\\n\\r\\n<div class="ui simple dropdown item"\\r\\n style="padding: 5px !important;width:20% !important; display: inline-grid !important;">\\r\\n <div class="ui secondary form-builder-panel" style="padding: 0" ref="group-panel-'+(null==(n=e.groupKey)?"":n)+'">\\r\\n <div class="form-builder-group-header">\\r\\n <h5 class="panel-title">\\r\\n <button style="box-shadow: none !important;"\\r\\n class="ui builder-sidebar-button button basic fluid builder-group-button" type="button" data-toggle="collapse"\\r\\n data-parent="'+(null==(n=e.groupId)?"":n)+'" ref="sidebar-anchor">\\r\\n '+(null==(n=e.t(e.group.title))?"":n)+'\\r\\n <i class="dropdown icon"></i>\\r\\n </button>\\r\\n </h5>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="menu">\\r\\n <div class="ui item segment" style="padding: 0">\\r\\n <div class="panel-collapse collapse '+(null==(e.group.default,n=" in")?"":n)+'" data-parent="#'+(null==(n=e.groupId)?"":n)+'"\\r\\n data-default="true" id="group-'+(null==(n=e.groupKey)?"":n)+'" ref="sidebar-group">\\r\\n <div id="group-container-'+(null==(n=e.groupKey)?"":n)+'" class="card-body panel-body no-drop" ref="sidebar-container">\\r\\n ',e.group.componentOrder.forEach((function(t){r+='\\r\\n <span data-group="'+(null==(n=e.groupKey)?"":n)+'" data-key="'+(null==(n=e.group.components[t].key)?"":n)+'"\\r\\n data-type="'+(null==(n=e.group.components[t].schema.type)?"":n)+'"\\r\\n class="ui button mini primary fluid formcomponent drag-copy">\\r\\n ',e.group.components[t].icon&&(r+='\\r\\n <i class="'+(null==(n=e.iconClass(e.group.components[t].icon))?"":n)+'" style="margin-right: 5px;"></i>\\r\\n '),r+="\\r\\n "+(null==(n=e.t(e.group.components[t].title))?"":n)+"\\r\\n </span>\\r\\n "})),r+="\\r\\n "+(null==(n=e.subgroups.join(""))?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\x3c!-- </div> --\\x3e\\r\\n\\x3c!-- </div> --\\x3e"}},3157:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9621);n.default={form:t.default}},184:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div id="builder-sidebar-'+(null==(n=e.id)?"":n)+'" class="ui compact menu custommenu" ref="sidebar" style="width: 100%;">\\r\\n \\x3c!-- <div class="ui fixed borderless huge menu"> --\\x3e\\r\\n \\x3c!-- <div class="ui container"> --\\x3e\\r\\n \\x3c!-- <div class="ui container grid "> --\\x3e\\r\\n ',e.groups.forEach((function(e){r+="\\r\\n "+(null==(n=e)?"":n)+"\\r\\n "})),r+="\\r\\n \\x3c!-- </div> --\\x3e\\r\\n \\x3c!-- </div> --\\x3e\\r\\n</div>"}},5326:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(184);n.default={form:t.default}},2049:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='\\r\\n<div class="formio builder formbuilder customFormiobuilder">\\r\\n <div class="four wide column formcomponents card"\\r\\n style="padding: 5px;text-align: center;background: #f8f9fa !important">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n <div class="twelve wide column formarea card" style="background: #f8f9fa !important;">\\r\\n <ol class="ui breadcrumb wizard-pages" style="margin-bottom: 0.5em">\\r\\n ',e.pages.forEach((function(t,l){r+='\\r\\n <li class="section">\\r\\n <button title="'+(null==(n=t.title)?"":n)+'"\\r\\n class="ui mini button ',l===e.self.page?r+="primary":r+="teal",r+=' wizard-page-label"\\r\\n ref="gotoPage">'+(null==(n=t.title)?"":n)+"</button>\\r\\n </li>\\r\\n "})),r+='\\r\\n <li class="wizard-add-page section">\\r\\n <button title="'+(null==(n=e.t("Create Page"))?"":n)+'" class="ui mini button green wizard-page-label" ref="addPage">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t("Page"))?"":n)+'\\r\\n </button>\\r\\n </li>\\r\\n </ol>\\r\\n <div ref="form">\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n</div>"}},4985:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2049);n.default={form:t.default}},1788:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio builder formbuilder customFormiobuilder">\\r\\n \\x3c!-- formbuilder --\\x3e \\r\\n <div class="four wide column formcomponents card"\\r\\n style="padding: 5px;text-align: center;background: #f8f9fa !important">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n \\x3c!-- <div class="formbuilder-editor-container card"\\r\\n style="overflow-y: auto;height: calc(100vh - 35vh);width:100%;background: #f8f9fa !important"> --\\x3e\\r\\n \\x3c!-- <div class="twelve wide column formarea card" ref="form"\\r\\n style="overflow-y: auto;height: calc(100vh - 35vh);padding: 10px;box-shadow:0 0 0 2px #dee2e6;border-top-left-radius:5px;border-bottom-left-radius:5px;"> --\\x3e\\r\\n \\x3c!-- <div class="twelve wide column formarea card" ref="form" style="padding: 10px;background: #f8f9fa !important"> --\\x3e\\r\\n\\r\\n <div class="twelve wide column formarea card" ref="form" style="background: #f8f9fa !important;">\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n\\r\\n \\x3c!-- </div> --\\x3e\\r\\n\\r\\n</div>"}},90:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1788);n.default={form:t.default}},7051:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div ref="buttonMessageContainer">\\r\\n <span class="help-block" ref="buttonMessage"></span>\\r\\n</div>\\r\\n<'+(null==(n=e.input.type)?"":n)+' ref="button"\\r\\n class="ui button un-submit-btn '+(null==(n=e.transform("theme",e.component.theme))?"":n)+" "+(null==(n=e.component.customClass)?"":n)+'" ',e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=">\\r\\n ",e.component.leftIcon&&(r+='<i class="'+(null==(n=e.component.leftIcon)?"":n)+'"></i> '),r+="\\r\\n "+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n ",e.component.rightIcon&&(r+=' <i class="'+(null==(n=e.component.rightIcon)?"":n)+'"></i>'),r+"\\r\\n</"+(null==(n=e.input.type)?"":n)+">\\r\\n"}},1600:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"\\r\\n"}},563:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7051),l=r(1600);n.default={form:t.default,html:l.default}},7340:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div class="ui checkbox '+(null==(n=e.self.labelIsHidden()?"label-is-hidden":"")?"":n)+'">\\r\\n <'+(null==(n=e.input.type)?"":n)+' ref="input" id="'+(null==(n=e.id)?"":n)+'" ',e.input.attr)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=" ",e.checked&&(r+="checked=true"),r+=">\\r\\n </"+(null==(n=e.input.type)?"":n)+'>\\r\\n <label class="'+(null==(n=e.input.labelClass)?"":n)+'" for="'+(null==(n=e.id)?"":n)+'">\\r\\n '+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.self.labelIsHidden()||(r+="<span>"+(null==(n=e.input.label)?"":n)+"</span>"),r+="\\r\\n </label>\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n</div>\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},4635:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<label class="'+(null==(n=e.input.labelClass)?"":n)+'">\\r\\n '+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.self.labelIsHidden()||(r+="<span>"+(null==(n=e.input.label)?"":n)+"</span>"),r+='\\r\\n</label>\\r\\n<div ref="value">',e.checked?r+="True":r+="False",r+"</div>\\r\\n"}},9418:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7340),l=r(4635);n.default={form:t.default,html:l.default}},9992:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n ',e.component.columns.forEach((function(t,l){r+='\\r\\n <div\\r\\n class="'+(null==(n=e.transform("columns",t.width))?"":n)+" wide column "+(null==(n=0===e.component.columns[l].components.length?"column-is-empty":"")?"":n)+'"\\r\\n ref="'+(null==(n=e.columnKey)?"":n)+'">\\r\\n '+(null==(n=e.columnComponents[l])?"":n)+"\\r\\n </div>\\r\\n "})),r+="\\r\\n</div>\\r\\n"}},4974:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9992);n.default={form:t.default}},5007:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="formio-component-modal-wrapper formio-component-modal-wrapper-'+(null==(n=e.component.type)?"":n)+'"\\r\\n ref="componentModalWrapper">\\r\\n <div ref="openModalWrapper"></div>\\r\\n <div class="formio-dialog formio-dialog-theme-default component-rendering-hidden" ref="modalWrapper">\\r\\n <div class="formio-dialog-overlay" ref="modalOverlay"></div>\\r\\n <div class="formio-dialog-content" aria-labelledby="ml-'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'" ',e.self.isIE()||(r+=' role="dialog" '),r+=' ref="modalContents">\\r\\n \\x3c!-- <label class="visually-hidden" id="ml-'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">'+(null==(n=e.t(e.component.label))?"":n)+(null==(n=e.self.isIE()?", dialog":"")?"":n)+"</label> --\\x3e\\r\\n ",e.options.vpat?r+='\\r\\n <button class="formio-dialog-close float-end" title="Close"\\r\\n aria-label="Close button. Click to get back to the form" ref="modalCloseButton"></button>\\r\\n ':r+='\\r\\n \\x3c!-- <button class="formio-dialog-close float-end btn btn-secondary btn-sm" aria-label="Close button. Click to get back to the form" ref="modalClose"></button> --\\x3e\\r\\n <button class="formio-dialog-close float-end ui mini button info"\\r\\n aria-label="Close button. Click to get back to the form" ref="modalClose"></button>\\r\\n\\r\\n ',r+='\\r\\n <div ref="modalContents">\\r\\n ',e.visible&&(r+="\\r\\n "+(null==(n=e.children)?"":n)+"\\r\\n "),r+='\\r\\n <div class="formio-dialog-buttons">\\r\\n ',e.options.vpat&&(r+='\\r\\n <button class="ui button info formio-dialog-button"\\r\\n aria-label="Cancel button. Click to cancel the changes and get back to the form."\\r\\n ref="modalClose">'+(null==(n=e.t("Cancel"))?"":n)+"</button>\\r\\n "),r+'\\r\\n <button class="ui button primary formio-dialog-button" ref="modalSave"\\r\\n aria-label="Save button. Click to save the changes and get back to the form.">'+(null==(n=e.t("Save"))?"":n)+'</button>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n <span class="visually-hidden" ref="modalLiveRegion" aria-live="assertive"></span>\\r\\n </div>\\r\\n</div>'}},8783:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5007);n.default={form:t.default}},1480:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div id="'+(null==(n=e.id)?"":n)+'" class="field '+(null==(n=e.classes)?"":n)+'" ',e.styles&&(r+=' style="'+(null==(n=e.styles)?"":n)+'" '),r+='\\r\\n ref="component">\\r\\n ',e.visible&&(r+="\\r\\n "+(null==(n=e.children)?"":n)+'\\r\\n <div ref="messageContainer"></div>\\r\\n '),r+"\\r\\n</div>\\r\\n"}},3054:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1480);n.default={form:t.default}},8519:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+(null==(n=e.children.join(""))?"":n)}},455:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8519);n.default={form:t.default}},9336:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n</div>"}},3310:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9336);n.default={form:t.default}},5773:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default={"has-error":"error","is-invalid":"error","formio-tab-panel-active":"active","formio-tab-link-active":"active","formio-tab-link-container-active":"active"}},7407:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table datagrid-table\\r\\n '+(null==(n=e.component.striped?"striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"celled":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"selectable":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"compact":"padded")?"":n)+'\\r\\n " ',e.component.layoutFixed&&(r+=' style="table-layout: fixed;" '),r+=">\\r\\n ",e.hasHeader&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.component.reorder&&(r+="<th></th>"),r+="\\r\\n ",e.columns.forEach((function(t){r+='\\r\\n <th class="'+(null==(n=t.validate&&t.validate.required?"field-required":"")?"":n)+'">\\r\\n '+(null==(n=t.hideLabel?"":e.t(t.label||t.title))?"":n)+"\\r\\n ",t.tooltip&&(r+=' <i ref="tooltip" data-title="'+(null==(n=t.tooltip)?"":n)+'"\\r\\n class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>'),r+="\\r\\n </th>\\r\\n "})),r+="\\r\\n ",e.hasExtraColumn&&(r+='\\r\\n <th class="un-remove-row-column">\\r\\n ',e.hasAddButton&&e.hasTopSubmit&&(r+='\\r\\n <button class="ui button primary dataGrid-addRow" ref="'+(null==(n=e.datagridKey)?"":n)+'-addRow">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n </button>\\r\\n "),r+="\\r\\n </th>\\r\\n "),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody ref="'+(null==(n=e.datagridKey)?"":n)+'-tbody">\\r\\n ',e.rows.forEach((function(t,l){r+="\\r\\n ",e.hasGroups&&e.groups[l]&&(r+='\\r\\n <tr ref="'+(null==(n=e.datagridKey)?"":n)+'-group-header" class="datagrid-group-header'+(null==(n=e.hasToggle?" clickable":"")?"":n)+'">\\r\\n <td ref="'+(null==(n=e.datagridKey)?"":n)+'-group-label" colspan="'+(null==(n=e.numColumns)?"":n)+'" class="datagrid-group-label">\\r\\n '+(null==(n=e.groups[l].label)?"":n)+"\\r\\n </td>\\r\\n </tr>\\r\\n "),r+='\\r\\n <tr ref="'+(null==(n=e.datagridKey)?"":n)+'-row">\\r\\n ',e.component.reorder&&(r+='\\r\\n <td>\\r\\n <button type="button" class="formio-drag-button ui icon button"><i aria-hidden="true"\\r\\n class="bars icon"></i></button>\\r\\n </td>\\r\\n '),r+="\\r\\n ",e.columns.forEach((function(l,a){r+='\\r\\n <td class="td-mobile-column '+(null==(n=1==e.columns.length?"td-column-count-1":"")?"":n)+" "+(null==(n=2==e.columns.length?"td-column-count-2":"")?"":n)+" "+(null==(n=e.columns.length>2&&e.columns.length<5?"td-column-count-medium":"")?"":n)+" "+(null==(n=5==e.columns.length?"td-column-count-5":"")?"":n)+" "+(null==(n=e.columns.length>5?"td-column-count-high":"")?"":n)+'" ref="'+(null==(n=e.datagridKey)?"":n)+'">\\r\\n '+(null==(n=t[l.key])?"":n)+'\\r\\n <h4 class="table-header-custom-mob">'+(null==(n=e.columns[a].label)?"":n)+"</h4>\\r\\n </td>\\r\\n "})),r+="\\r\\n ",e.hasExtraColumn&&(r+="\\r\\n ",e.hasRemoveButtons&&(r+='\\r\\n <td class="un-remove-row-column">\\r\\n <button type="button" class="ui button basic icon removeRow formio-'+(null==(n=e.component.type)?"":n)+'-remove"\\r\\n ref="'+(null==(n=e.datagridKey)?"":n)+'-removeRow">\\r\\n \\x3c!-- <i class="'+(null==(n=e.iconClass("remove"))?"":n)+'"></i> --\\x3e\\r\\n <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'" ref="removeLink" aria-hidden="true"></i>\\r\\n <span class="delete-icon-text">Delete</span>\\r\\n </button>\\r\\n </td>\\r\\n '),r+="\\r\\n ",e.canAddColumn&&(r+='\\r\\n <td ref="'+(null==(n=e.key)?"":n)+'-container">\\r\\n '+(null==(n=e.placeholder)?"":n)+"\\r\\n </td>\\r\\n "),r+="\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.hasAddButton&&e.hasBottomSubmit&&(r+='\\r\\n <tfoot>\\r\\n <tr>\\r\\n <td colspan="'+(null==(n=e.numColumns+1)?"":n)+'">\\r\\n <button class="ui button primary dataGrid-addRow" ref="'+(null==(n=e.datagridKey)?"":n)+'-addRow">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n </button>\\r\\n </td>\\r\\n </tr>\\r\\n </tfoot>\\r\\n "),r+="\\r\\n</table>\\r\\n\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},228:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table datagrid-table\\r\\n '+(null==(n=e.component.striped?"striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"celled":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"selectable":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"compact":"padded")?"":n)+'\\r\\n ">\\r\\n ',e.hasHeader&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.columns.forEach((function(t){r+='\\r\\n <th class="'+(null==(n=t.validate&&t.validate.required?"field-required":"")?"":n)+'">\\r\\n '+(null==(n=t.hideLabel?"":e.t(t.label||t.title))?"":n)+"\\r\\n ",t.tooltip&&(r+=' <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>'),r+="\\r\\n </th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+="\\r\\n <tbody>\\r\\n ",e.rows.forEach((function(t){r+="\\r\\n <tr>\\r\\n ",e.columns.forEach((function(l){r+='\\r\\n <td ref="'+(null==(n=e.datagridKey)?"":n)+'">\\r\\n '+(null==(n=t[l.key])?"":n)+"\\r\\n </td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n"}},5887:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7407),l=r(228);n.default={form:t.default,html:l.default}},6111:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n ',e.dayFirst&&e.showDay&&(r+='\\r\\n <div class="four wide column">\\r\\n <label for="'+(null==(n=e.component.key)?"":n)+'-day" class="label">'+(null==(n=e.t("Day"))?"":n)+"</label>\\r\\n "+(null==(n=e.day)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.showMonth&&(r+='\\r\\n <div class="five wide column">\\r\\n <label for="'+(null==(n=e.component.key)?"":n)+'-month" class="label">'+(null==(n=e.t("Month"))?"":n)+'</label>\\r\\n <div class="un-custom-label">\\r\\n '+(null==(n=e.month)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n ",!e.dayFirst&&e.showDay&&(r+='\\r\\n <div class="four wide column un-column-custom-label-day">\\r\\n \\x3c!-- <label for="'+(null==(n=e.component.key)?"":n)+'-day" class="label">'+(null==(n=e.t("Day"))?"":n)+"</label> --\\x3e\\r\\n "+(null==(n=e.day)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.showYear&&(r+='\\r\\n <div class="seven wide column un-column-custom-label-year">\\r\\n \\x3c!-- <label for="'+(null==(n=e.component.key)?"":n)+'-year" class="label">'+(null==(n=e.t("Year"))?"":n)+"</label> --\\x3e\\r\\n "+(null==(n=e.year)?"":n)+"\\r\\n </div>\\r\\n "),r+='\\r\\n</div>\\r\\n<input name="data[day]" type="hidden" class="form-control" lang="en" value="" ref="input">\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},5743:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6111);n.default={form:t.default}},7839:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-dialog formio-dialog-theme-default">\\r\\n <div class="formio-dialog-overlay" ref="dialogOverlay"></div>\\r\\n <div class="formio-dialog-content" ref="dialogContents" role="dialog">\\r\\n <div ref="dialogContents"></div>\\r\\n <button class="formio-dialog-close float-end btn-sm" aria-label="Close modal window." ref="dialogClose"></button>\\r\\n \\x3c!--\\r\\n <div ref="modalClearChanges">\\r\\n <h3 ref="dialogHeader">'+(null==(n=e.t("Do you want to clear changes?"))?"":n)+'</h3>\\r\\n <div style="display:flex; justify-content: flex-end;">\\r\\n <button ref="dialogCancelButton" class="ui button info">'+(null==(n=e.t("Cancel"))?"":n)+'</button>\\r\\n <button ref="dialogYesButton" class="ui button">'+(null==(n=e.t("Yes, delete it"))?"":n)+"</button>\\r\\n </div>\\r\\n </div> --\\x3e\\r\\n\\r\\n </div>\\r\\n</div>\\r\\n"}},4991:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7839);n.default={form:t.default}},7769:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-table-container">\\r\\n <div class="table-responsive">\\r\\n <table class="table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n ',e.header&&(r+='\\r\\n <thead class="editgrid-table-head">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody class="editgrid-table-body">\\r\\n ',e.rows.forEach((function(t,l){r+='\\r\\n <tr ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="editgrid-actions">\\r\\n <button class="ui button primary" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save",{_userInput:!0}))?"":n)+"</button>\\r\\n ",e.component.removeRow&&(r+='\\r\\n <button class="ui button basic" ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel",{_userInput:!0}))?"":n)+"</button>\\r\\n "),r+="\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n ",e.errors[l]&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.footer&&(r+="\\r\\n <tfoot>\\r\\n <tr>\\r\\n "+(null==(n=e.footer)?"":n)+"\\r\\n </tr>\\r\\n <tfoot>\\r\\n "),r+="\\r\\n </table>\\r\\n </div>\\r\\n</div>\\r\\n",!e.readOnly&&e.hasAddButton&&(r+='\\r\\n<button class="ui button primary" ref="'+(null==(n=e.ref.addRow)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.component.addAnother||"Add Another",{_userInput:!0}))?"":n)+"\\r\\n</button>\\r\\n"),r+="\\r\\n"}},9506:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-table-container">\\r\\n <div class="table-responsive">\\r\\n <table class="table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n ',e.header&&(r+='\\r\\n <thead class="editgrid-table-head">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody class="editgrid-table-body">\\r\\n ',e.rows.forEach((function(t,l){r+='\\r\\n <tr ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="editgrid-actions">\\r\\n <button class="ui button primary"\\r\\n ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save",{_userInput:!0}))?"":n)+"</button>\\r\\n ",e.component.removeRow&&(r+='\\r\\n <button class="ui button basic"\\r\\n ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel",{_userInput:!0}))?"":n)+"</button>\\r\\n "),r+="\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n ",e.errors[l]&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.footer&&(r+="\\r\\n <tfoot>\\r\\n <tr>\\r\\n "+(null==(n=e.footer)?"":n)+"\\r\\n </tr>\\r\\n <tfoot>\\r\\n "),r+="\\r\\n </table>\\r\\n </div>\\r\\n</div>\\r\\n"}},8081:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7769),l=r(9506);n.default={form:t.default,html:l.default}},9571:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-listgroup ui celled list un-editgrid-listgroup">\\r\\n \\x3c!-- ',e.header&&(r+='\\r\\n <div class="item list-group-header">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </div>\\r\\n "),r+=" --\\x3e\\r\\n ",e.rows.forEach((function(t,l){r+='\\r\\n <div class="item un-editgrid-item" ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n ',!0===e.openRows[l]?r+="\\r\\n \\x3c!-- Edit HTML --\\x3e\\r\\n "+(null==(n=t)?"":n)+"\\r\\n\\r\\n ":(r+='\\r\\n \\x3c!-- View HTML --\\x3e\\r\\n\\r\\n <div class="un-order-header">\\r\\n <h4 class="un-order-header-title">Order '+(null==(n=l+1)?"":n)+'</h4>\\r\\n <div class="un-row-edit-btns-grp">\\r\\n <button class="ui button basic icon small editRow"><i class="icon edit"></i></button>\\r\\n ',e.rows[l].hasRemoveButtons&&!e.rows[l].hasRemoveButtons()||(r+='\\r\\n <button class="ui button basic icon small removeRow"><i class="icon trash"></i></button>\\r\\n '),r+='\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="un-order-lists">\\r\\n ',e.util.eachComponent(e.component.components,(function(t,a,o,i){r+='\\r\\n\\r\\n <div class="un-order-list-item">\\r\\n <p class="un-order-list-item-label">'+(null==(n=t.label)?"":n)+"</p>\\r\\n ",Object.keys(e.value[l]).forEach((function(a,o){r+="\\r\\n ",Object.keys(e.value[l])[o]===t.key&&(r+='\\r\\n <h4 class="un-order-list-item-value">'+(null==(n=Object.values(e.value[l])[o])?"":n)+"</h4>\\r\\n "),r+="\\r\\n "})),r+="\\r\\n </div>\\r\\n\\r\\n "})),r+="\\r\\n </div>\\r\\n\\r\\n\\r\\n "),r+="\\r\\n\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <div class="editgrid-actions">\\r\\n ',e.component.removeRow&&(r+='\\r\\n <button class="ui button basic primary editGrid-cancelRow" ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel"))?"":n)+"</button>\\r\\n "),r+='\\r\\n <button class="ui button primary editGrid-saveRow" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+='\\r\\n\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n ",e.footer&&(r+='\\r\\n <div class="item list-group-footer">\\r\\n '+(null==(n=e.footer)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n</div>\\r\\n",!e.readOnly&&e.hasAddButton&&(r+='\\r\\n<button class="ui button primary editGrid-addRow" ref="'+(null==(n=e.ref.addRow)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n</button>\\r\\n"),r+="\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},6344:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-listgroup ui celled list">\\r\\n ',e.header&&(r+='\\r\\n \\x3c!-- <div class="item list-group-header">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </div> --\\x3e\\r\\n "),r+="\\r\\n ",e.rows.forEach((function(t,l){r+='\\r\\n <div class="item" ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <div class="editgrid-actions">\\r\\n ',e.component.removeRow&&(r+='\\r\\n <button class="ui button basic primary editGrid-cancelRow"\\r\\n ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel"))?"":n)+"</button>\\r\\n "),r+='\\r\\n <button class="ui button primary editGrid-saveRow" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+='\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n ",e.footer&&(r+='\\r\\n <div class="item list-group-footer">\\r\\n '+(null==(n=e.footer)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n</div>\\r\\n"}},859:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9571),l=r(6344);n.default={form:t.default,html:l.default}},1814:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+="<p>"+(null==(n=e.t("error"))?"":n)+"</p>\\r\\n<ul>\\r\\n ",e.errors.forEach((function(t){r+='\\r\\n <li data-component-key="'+(null==(n=t.keyOrPath)?"":n)+'" aria-label="'+(null==(n=t.message)?"":n)+". "+(null==(n=e.t("errorsListNavigationMessage"))?"":n)+'"\\r\\n ref="errorRef" tabIndex="0" , style="cursor:pointer;"><span>'+(null==(n=t.message)?"":n)+"</span></li>\\r\\n "})),r+="\\r\\n</ul>"}},9540:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1814);n.default={form:t.default}},4542:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="field-wrapper\\r\\n '+(null==(n=e.isRightPosition?"field-wrapper--reverse":"")?"":n)+'">\\r\\n ',e.label.hidden||(r+='\\r\\n <div class="field-label\\r\\n '+(null==(n=e.isRightAlign?"field-label--right":"")?"":n)+'" style="'+(null==(n=e.labelStyles)?"":n)+'">\\r\\n '+(null==(n=e.labelMarkup)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n\\r\\n ",e.label.hidden&&e.label.className&&e.component.validate.required&&(r+='\\r\\n <div class="field-label\\r\\n '+(null==(n=e.isRightAlign?"field-label--right":"")?"":n)+'" style="'+(null==(n=e.labelStyles)?"":n)+'">\\r\\n <label class="'+(null==(n=e.label.className)?"":n)+'"></label>\\r\\n </div>\\r\\n '),r+='\\r\\n\\r\\n <div class="filed-content" style="'+(null==(n=e.contentStyles)?"":n)+'">\\r\\n '+(null==(n=e.element)?"":n)+"\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n",e.component.description&&(r+='\\r\\n<div class="form-text text-muted">'+(null==(n=e.t(e.component.description))?"":n)+"</div>\\r\\n"),r+"\\r\\n"}},5505:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.label.hidden||"bottom"===e.label.labelPosition||(r+="\\r\\n"+(null==(n=e.labelMarkup)?"":n)+"\\r\\n"),r+="\\r\\n\\r\\n",e.label.hidden&&e.label.className&&e.component.validate.required&&(r+='\\r\\n<label class="'+(null==(n=e.label.className)?"":n)+'"></label>\\r\\n'),r+="\\r\\n\\r\\n"+(null==(n=e.element)?"":n)+"\\r\\n",e.label.hidden||"bottom"!==e.label.labelPosition||(r+="\\r\\n"+(null==(n=e.labelMarkup)?"":n)+"\\r\\n"),r+="\\r\\n",e.component.description&&(r+='\\r\\n<div class="help-block">\\r\\n <p class="form-text">'+(null==(n=e.t(e.component.description))?"":n)+"</p>\\r\\n</div>\\r\\n"),r+"\\r\\n"}},825:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5505),l=r(4542);n.default={form:t.default,align:l.default}},7771:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<fieldset>\\r\\n <legend ref="header" class="'+(null==(n=e.component.collapsible?"formio-clickable":"")?"":n)+'">\\r\\n '+(null==(n=e.t(e.component.legend))?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n </legend> ",e.collapsed||(r+='\\r\\n <div class="card-body" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</fieldset>"}},9331:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7771);n.default={form:t.default}},753:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.self.imageUpload?(r+='\\r\\n<div class="un-file-uploades">\\r\\n ',e.files.forEach((function(t){r+="\\r\\n ",console.log("file.type.split('/')[0]"+t.type.split("/")[0]),r+="\\r\\n\\r\\n ","image"===t.type.split("/")[0]&&(r+='\\r\\n <div class="un-file-upload-item">\\r\\n <div class="un-file-upload-item-image">\\r\\n ',"100%"===e.component.imageSize?(r+="\\r\\n ",console.log("file.type inside if"),r+='\\r\\n\\r\\n <img ref="fileImage" class="fileImageData" src="" id="'+(null==(n=t.compnentId)?"":n)+'"\\r\\n alt="'+(null==(n=t.originalName||t.name)?"":n)+'" style="width:'+(null==(n=e.component.imageSize)?"":n)+';pointer-events: all;" />\\r\\n '):(r+="\\r\\n ",console.log("file.type inside else"),r+='\\r\\n\\r\\n <img ref="fileImage" class="fileImageData" src="" id="'+(null==(n=t.compnentId)?"":n)+'"\\r\\n alt="'+(null==(n=t.originalName||t.name)?"":n)+'" style="width:'+(null==(n=e.component.imageSize)?"":n)+'px;pointer-events: all;" />\\r\\n '),r+="\\r\\n </div>\\r\\n ",e.disabled||(r+='\\r\\n <div class="un-file-upload-item-actions">\\r\\n <button class="ui button basic icon tiny" ref="FileView">\\r\\n <i class="icon file alternate"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="cropImage">\\r\\n <i class="icon crop"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="annotateImage">\\r\\n <i class="icon pencil square"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="removeLink">\\r\\n <i class="icon trash"></i>\\r\\n </button>\\r\\n '),r+="\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n ","image"!==t.type.split("/")[0]&&(r+="\\r\\n ",console.log("file not image "+t.type.split("/")[0]),r+='\\r\\n\\r\\n <div class="un-file-upload-item" style="border: 1px solid #e4e8eb;">\\r\\n <div class="un-file-upload-item">\\r\\n <div class="un-file-upload-item-image" style="border: none;height: 120px;">\\r\\n <span ref="fileImage" src="" id="'+(null==(n=t.compnentId)?"":n)+'">'+(null==(n=t.originalName||t.name)?"":n)+"</span>\\r\\n </div>\\r\\n ",e.disabled||(r+='\\r\\n <div class="un-file-upload-item-actions">\\r\\n\\r\\n <button class="ui button basic icon tiny" ref="FileView">\\r\\n <i class="icon file alternate"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="DownloadFile">\\r\\n <i class="icon download"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="removeLink">\\r\\n <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'"></i>\\r\\n </button>\\r\\n </div>\\r\\n '),r+="\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n "})),r+="\\r\\n</div>\\r\\n"):(r+='\\r\\n<ul class="list-group list-group-striped">\\r\\n <li class="list-group-item list-group-header hidden-xs hidden-sm">\\r\\n <div class="row">\\r\\n ',e.disabled||(r+='\\r\\n <div class="col-md-1"></div>\\r\\n '),r+='\\r\\n <div class="col-md-',e.self.hasTypes?r+="7":r+="9",r+='"><strong>'+(null==(n=e.t("File Name"))?"":n)+'</strong>\\r\\n </div>\\r\\n <div class="col-md-2"><strong>'+(null==(n=e.t("Size"))?"":n)+"</strong></div>\\r\\n ",e.self.hasTypes&&(r+='\\r\\n <div class="col-md-2"><strong>'+(null==(n=e.t("Type"))?"":n)+"</strong></div>\\r\\n "),r+="\\r\\n </div>\\r\\n </li>\\r\\n ",e.files.forEach((function(t){r+='\\r\\n <li class="list-group-item">\\r\\n <div class="row">\\r\\n ',e.disabled||(r+='\\r\\n <div class="col-md-1">\\r\\n </div>\\r\\n '),r+='\\r\\n <div class="col-md-',e.self.hasTypes?r+="7":r+="9",r+='">\\r\\n ',e.component.uploadOnly?r+="\\r\\n "+(null==(n=t.originalName||t.name)?"":n)+"\\r\\n ":r+='\\r\\n <a href="'+(null==(n=t.url||"#")?"":n)+'" target="_blank" ref="fileLink">'+(null==(n=t.originalName||t.name)?"":n)+"</a>\\r\\n ",r+='\\r\\n </div>\\r\\n <div class="col-md-2">'+(null==(n=e.fileSize(t.size))?"":n)+"</div>\\r\\n ",e.self.hasTypes&&!e.disabled&&(r+='\\r\\n <div class="col-md-2">\\r\\n <select class="file-type" ref="fileType">\\r\\n ',e.component.fileTypes.map((function(e){r+='\\r\\n <option class="test" value="'+(null==(n=e.value)?"":n)+'" ',e.label===t.fileType&&(r+='selected="selected" '),r+=">"+(null==(n=e.label)?"":n)+"</option>\\r\\n "})),r+="\\r\\n </select>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.self.hasTypes&&e.disabled&&(r+='\\r\\n <div class="col-md-2">'+(null==(n=t.fileType)?"":n)+"</div>\\r\\n "),r+="\\r\\n </div>\\r\\n </li>\\r\\n "})),r+="\\r\\n</ul>\\r\\n"),r+="\\r\\n",e.disabled||!e.component.multiple&&e.files.length||(r+="\\r\\n",e.self.useWebViewCamera?r+='\\r\\n<div class="fileSelector un-file-selector">\\r\\n <button class="ui button primary" ref="galleryButton"><i class="icon book"></i> '+(null==(n=e.t("Gallery"))?"":n)+'</button>\\r\\n <button class="ui button primary" ref="cameraButton"><i class="icon camera"></i> '+(null==(n=e.t("Camera"))?"":n)+"</button>\\r\\n</div>\\r\\n":e.self.cameraMode?r+='\\r\\n<div class="video-container">\\r\\n <video class="video" autoplay="true" ref="videoPlayer"></video>\\r\\n</div>\\r\\n<div class="upload-camera-btns">\\r\\n <button class="ui button primary" ref="takePictureButton"><i class="icon camera"></i>\\r\\n '+(null==(n=e.t("Take Picture"))?"":n)+'</button>\\r\\n <button class="ui button primary" ref="toggleCameraMode">'+(null==(n=e.t("Switch to file upload"))?"":n)+"</button>\\r\\n</div>\\r\\n":(r+='\\r\\n<div class="fileSelector un-file-selector" ref="fileDrop" '+(null==(n=e.fileDropHidden?"hidden":"")?"":n)+'>\\r\\n <span class="un-upload-icon-box">\\r\\n <i class="'+(null==(n=e.iconClass("cloud-upload"))?"":n)+'"></i>\\r\\n </span>\\r\\n <p class="un-upload-text">\\r\\n <a href="#" ref="fileBrowse" class="browse">\\r\\n '+(null==(n=e.t("Click to upload, "))?"":n)+"\\r\\n </a>\\r\\n "+(null==(n=e.t("drop files to attach"))?"":n)+'\\r\\n </p>\\r\\n <p class="un-upload-text">'+(null==(n=e.t("or"))?"":n)+"\\r\\n ",e.self.imageUpload&&(r+='\\r\\n <a href="#" ref="toggleCameraMode">'+(null==(n=e.t("Use Camera"))?"":n)+"</a>\\r\\n "),r+='\\r\\n </p>\\r\\n <div ref="fileProcessingLoader" class="loader-wrapper" style="display:none;">\\r\\n <div class="loader text-center"></div>\\r\\n </div>\\r\\n</div>\\r\\n'),r+="\\r\\n"),r+="\\r\\n",e.statuses.forEach((function(t){r+='\\r\\n<div class="file '+(null==(n="error"===e.statuses.status?" has-error":"")?"":n)+'">\\r\\n \\x3c!-- <div class="row">\\r\\n <div class="fileName col-form-label col-sm-10">'+(null==(n=t.originalName)?"":n)+' <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'"\\r\\n style="font-size:22px !important;color:red;" ref="fileStatusRemove"></i></div>\\r\\n <div class="fileSize col-form-label col-sm-2 text-right">'+(null==(n=e.fileSize(t.size))?"":n)+'</div>\\r\\n </div> --\\x3e\\r\\n <div class="row">\\r\\n <div class="col-sm-12">\\r\\n ',"progress"===t.status?r+='\\r\\n <div class="progress">\\r\\n <div class="progress-bar" role="progressbar" aria-valuenow="'+(null==(n=t.progress)?"":n)+'" aria-valuemin="0"\\r\\n aria-valuemax="100" style="width: '+(null==(n=t.progress)?"":n)+'%">\\r\\n <span class="sr-only">'+(null==(n=t.progress)?"":n)+"% "+(null==(n=e.t("Complete"))?"":n)+"</span>\\r\\n </div>\\r\\n </div>\\r\\n ":"error"===t.status?r+='\\r\\n <div class="alert alert-danger uv-upload-alert bg-'+(null==(n=t.status)?"":n)+'">'+(null==(n=e.t(t.message))?"":n)+"</div>\\r\\n ":r+='\\r\\n <div class="bg-'+(null==(n=t.status)?"":n)+'">'+(null==(n=e.t(t.message))?"":n)+"</div>\\r\\n ",r+="\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"})),r+="\\r\\n",e.component.storage&&!e.support.hasWarning||(r+='\\r\\n<div class="alert alert-warning">\\r\\n ',e.component.storage||(r+="\\r\\n <p>"+(null==(n=e.t("No storage has been set for this field. File uploads are disabled until storage is set up."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.filereader||(r+="\\r\\n <p>"+(null==(n=e.t("File API & FileReader API not supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.formdata||(r+="\\r\\n <p>"+(null==(n=e.t("XHR2's FormData is not supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.progress||(r+="\\r\\n <p>"+(null==(n=e.t("XHR2's upload progress isn't supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n</div>\\r\\n"),r+="\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r}},4297:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(753);n.default={form:t.default}},3304:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+="<"+(null==(n=e.tag)?"":n)+' class="formio-component-htmlelement '+(null==(n=e.component.className)?"":n)+'" ref="html" ',e.attrs.forEach((function(e){r+=" "+(null==(n=e.attr)?"":n)+'="'+(null==(n=e.value)?"":n)+'" '})),r+=">"+(null==(n=e.t(e.content))?"":n),e.singleTags&&-1!==e.singleTags.indexOf(e.tag)||(r+="</"+(null==(n=e.tag)?"":n)+">"),r}},8446:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3304);n.default={form:t.default}},3713:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,r){var t={"plus-squre-o":"plus square outline","minus-squre-o":"minus square outline","question-sign":"question circle","remove-circle":"trash alternate outline","new-window":"external alternate","files-o":"file outline",move:"arrows alternate",link:"linkify"};return t.hasOwnProperty(n)&&(n=t[n]),n=(n=(n=n||"").replace(/-/g," ")).replace(/ o$/," outline"),r?"icon ".concat(n," loading"):"icon ".concat(n)}},268:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<i ref="'+(null==(n=e.ref)?"":n)+'" class="'+(null==(n=e.className)?"":n)+'" style="'+(null==(n=e.styles)?"":n)+'">'+(null==(n=e.content)?"":n)+"</i>"}},5226:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(268);n.default={form:t.default}},7582:function(e,n,r){"use strict";var t=this&&this.__assign||function(){return t=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var l in n=arguments[r])Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l]);return e},t.apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var l=r(3861),a=r(90),o=r(9141),i=r(9766),s=r(684),u=r(5575),d=r(5326),c=r(3157),p=r(4985),f=r(563),v=r(9418),m=r(4974),b=r(3054),y=r(8783),g=r(455),h=r(7501),_=r(3310),w=r(5887),x=r(5743),j=r(4991),P=r(859),O=r(8081),M=r(825),k=r(9331),C=r(4297),A=r(8446),E=r(5226),L=r(3713),z=r(773),q=r(5763),R=r(4580),S=r(1217),I=r(7131),N=r(8594),T=r(4640),K=r(2244),B=r(6068),H=r(4040),D=r(3275),F=r(3959),G=r(883),V=r(8555),W=r(362),U=r(9575),Y=r(486),X=r(8162),J=r(4907),$=r(4142),Q=r(1783),Z=r(2053),ee=r(7810),ne=r(1713),re=r(4319),te=r(158),le=r(6957),ae=r(2323),oe=r(9776),ie=r(869),se=r(7231),ue=r(1975),de=r(5861),ce=r(5773),pe=r(9540),fe=r(7639);function ve(){document.querySelectorAll(".editGrid-addRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".dataGrid-addRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editGrid-cancelRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editGrid-saveRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".removeRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)}))}function me(e){e.preventDefault(),e.stopPropagation(),ve(),be()}function be(){document.querySelectorAll(".formio-component-select").forEach((function(e){var n=e.querySelector(".choices__list--single"),r=null==n?void 0:n.querySelector(".choices__item--selectable[data-id]");(null==r?void 0:r.getAttribute("data-value"))?e.classList.add("has-value"):e.classList.remove("has-value")})),document.querySelectorAll(".floating-label-wrapper").forEach((function(e){var n=e.getElementsByTagName("input");Array.prototype.forEach.call(n,(function(n){n&&!n.classList.contains("flatpickr-input")&&(n.value&&e.classList.add("field-has-value"),n.value&&n.disabled&&e.classList.add("field-has-value"),n.addEventListener("focus",(function(e){e.target.closest(".floating-label-wrapper").classList.add("field-has-value")})),n.addEventListener("blur",(function(e){var n=e.target,r=e.target,t=!1;r.classList.contains("choices__input")&&r.parentElement.childNodes.forEach((function(e){var n=e;n.classList&&n.classList.contains("choices__list--multiple")&&n.childNodes&&n.childNodes.length&&n.childNodes.length>0&&(t=!0)})),""!==r.value||e.target.classList.contains("active")||t||n.closest(".floating-label-wrapper").classList.remove("field-has-value")})))}));var r=e.getElementsByTagName("textarea")[0];r&&(r.value&&e.classList.add("field-has-value"),r.addEventListener("focus",(function(e){e.target.closest(".floating-label-wrapper").classList.add("field-has-value")})),r.addEventListener("blur",(function(e){var n=e.target;""===e.target.value&&n.closest(".floating-label-wrapper").classList.remove("field-has-value")})))}));var e=document.querySelectorAll(".signature-pad-refresh");Array.prototype.forEach.call(e,(function(e){e.addEventListener("click",(function(e){e.currentTarget.closest(".signature-pad-body").classList.remove("field-has-signature")}))}));var n=document.querySelectorAll(".sign-click-btn");Array.prototype.forEach.call(n,(function(e){e.addEventListener("click",(function(e){e.currentTarget.closest(".signature-pad-body").classList.add("field-has-signature")}))}));var r=document.querySelectorAll(".tab-container"),t=document.querySelectorAll(".un-tab-labels .un-tab-tabular-menu"),l=document.querySelectorAll(".un-tab-header-pagination-after"),a=document.querySelectorAll(".un-tab-header-pagination-before"),o=document.querySelectorAll(".un-has-tab-pagination"),i=document.querySelectorAll(".un-tab-tabular-menu");r.forEach((function(e,n){var r=e.scrollWidth;i[n].scrollWidth-r>0?o[n].classList.add("un-tab-header-pagination-controls-enabled"):o[n].classList.remove("un-tab-header-pagination-controls-enabled"),l.forEach((function(e,n){e.addEventListener("click",(function(){t[n].scrollBy({left:100,behavior:"smooth"})}))})),a.forEach((function(e,n){e.addEventListener("click",(function(){t[n].scrollBy({left:-100,behavior:"smooth"})}))})),t.forEach((function(e,n){e.addEventListener("scroll",(function(){var r=e.scrollLeft,t=e.scrollWidth-e.clientWidth;0===r?a[n].classList.add("un-tab-header-pagination-disabled"):a[n].classList.remove("un-tab-header-pagination-disabled"),r>=t?l[n].classList.add("un-tab-header-pagination-disabled"):l[n].classList.remove("un-tab-header-pagination-disabled")}))}))}))}!function e(){document.body?(new MutationObserver((function(){be()})).observe(document.body,{childList:!0,subtree:!0}),ve()):setTimeout(e,20)}(),n.default=t(t({transform:function(e,n){if(!n)return n;var r={1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine",10:"ten",11:"eleven",12:"twelve",13:"thirteen",14:"fourteen",15:"fifteen",16:"sixteen"},t={primary:"primary",info:"teal",success:"green",danger:"red",warning:"yellow"};switch(e){case"columns":return r.hasOwnProperty(n.toString())?r[n.toString()]:n;case"theme":return t.hasOwnProperty(n.toString())?t[n.toString()]:n;case"class":return this.cssClasses.hasOwnProperty(n.toString())?this.cssClasses[n.toString()]:n}return n},defaultIconset:"icon",iconClass:L.default,cssClasses:ce.default,address:l.default,builder:a.default,builderComponent:o.default,builderComponents:i.default,builderEditForm:s.default,builderPlaceholder:u.default,builderSidebar:d.default,builderSidebarGroup:c.default,builderWizard:p.default,button:f.default,checkbox:v.default,columns:m.default,component:b.default,componentModal:y.default,components:g.default,tableComponents:h.default,container:_.default,datagrid:w.default,day:x.default,dialog:j.default,editgrid:P.default,editgridTable:O.default,field:M.default,fieldset:k.default,file:C.default,html:A.default,icon:E.default,input:z.default,label:q.default,loader:R.default,loading:S.default,map:I.default,message:N.default,modaledit:K.default,modaldialog:T.default,modalPreview:B.default,multipleMasksInput:H.default,multiValueRow:D.default,multiValueTable:F.default,panel:G.default,pdf:V.default,pdfBuilder:W.default,pdfBuilderUpload:U.default,radio:Y.default,resourceAdd:X.default,select:J.default,selectOption:$.default,signature:Q.default,survey:Z.default,tab:ee.default,table:ne.default,tree:re.default},te.default),{webform:le.default,well:ae.default,wizard:oe.default,wizardHeader:ie.default,wizardHeaderClassic:se.default,wizardHeaderVertical:ue.default,wizardNav:de.default,errorsList:pe.default,alert:fe.default})},7557:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";if(Array.prototype.join,r+='<div\\r\\n class="ui floating-label-wrapper '+(null==(n=e.component.editor?"":"input")?"":n)+" fluid "+(null==(n=e.suffix?" right":"")?"":n)+(null==(n=e.prefix||e.suffix?" labeled":"")?"":n)+" "+(null==(n="email"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="phoneNumber"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="url"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="time"==e.input.id?"right labeled":"")?"":n)+'">\\r\\n ',e.prefix&&(r+='\\r\\n <label class="ui label" ref="prefix">\\r\\n ',e.prefix instanceof HTMLElement?r+="\\r\\n "+(null==(n=e.t(e.prefix.outerHTML))?"":n)+"\\r\\n ":r+="\\r\\n "+(null==(n=e.t(e.prefix))?"":n)+"\\r\\n ",r+="\\r\\n </label>\\r\\n "),r+="\\r\\n\\r\\n ","email"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon envelope" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n ","phoneNumber"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon phone" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n ","url"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon linkify" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n\\r\\n\\r\\n ",!e.component.editor&&!e.component.wysiwyg){for(var t in r+="\\r\\n <"+(null==(n=e.input.type)?"":n)+' ref="'+(null==(n=e.input.ref?e.input.ref:"input")?"":n)+'" ',e.input.attr)r+=" ","datetime"===e.component.type&&""!=e.component.format&&(r+=' placeholder="'+(null==(n=e.component.format)?"":n)+'" '),r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';r+=' id="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">'+(null==(n=e.input.content)?"":n)+"</"+(null==(n=e.input.type)?"":n)+">\\r\\n ","signature"===e.component.type||e.component.editor||e.component.wysiwyg||(r+="\\r\\n ",e.component.hideLabel||(r+='\\r\\n <label\\r\\n class="floating-label '+(null==(n=e.component.validate.required?"floating-label-required":"")?"":n)+(null==(n=e.instance.inDataGrid?"floating-label-is-hidden-dp":"")?"":n)+'"\\r\\n for="email">',"day"!=e.component.type&&(r+=null==(n=e.component.label)?"":n),r+="</label>\\r\\n "),r+="\\r\\n "),r+="\\r\\n "}return r+="\\r\\n\\r\\n\\r\\n ",(e.component.editor||e.component.wysiwyg)&&(r+='\\r\\n <div ref="input"></div>\\r\\n '),r+="\\r\\n ",e.component.showCharCount&&(r+='\\r\\n <span class="ui right floated" ref="charcount"></span>\\r\\n '),r+="\\r\\n ",e.component.showWordCount&&(r+='\\r\\n <span class="ui right floated" ref="wordcount"></span>\\r\\n '),r+="\\r\\n ",e.suffix&&(r+='\\r\\n <div class="ui label" ref="suffix">\\r\\n ',e.suffix instanceof HTMLElement?r+="\\r\\n "+(null==(n=e.t(e.suffix.outerHTML))?"":n)+"\\r\\n ":r+="\\r\\n "+(null==(n=e.t(e.suffix))?"":n)+"\\r\\n ",r+="\\r\\n </div>\\r\\n "),r+="\\r\\n\\r\\n ","time"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="suffix">\\r\\n <i class="icon clock" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n</div>\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-input-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},3182:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.value?r+=null==(n=e.value)?"":n:r+="-",r+"</div>\\r\\n"}},773:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7557),l=r(3182);n.default={form:t.default,html:l.default}},1259:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,"textfield"!==e.component.type&&"datetime"!==e.component.type&&"number"!==e.component.type&&"textarea"!==e.component.type&&"currency"!==e.component.type&&"time"!==e.component.type&&"phoneNumber"!==e.component.type&&"url"!==e.component.type&&"email"!==e.component.type&&"password"!==e.component.type&&"tags"!==e.component.type&&(r+='\\r\\n\\r\\n<label class="'+(null==(n=e.label.className)?"":n)+'" for="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">\\r\\n ',e.label.hidden||(r+="\\r\\n "+(null==(n=e.t(e.component.label))?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n "),r+="\\r\\n</label>\\r\\n"),r+"\\r\\n"}},5763:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1259);n.default={form:t.default}},998:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return'<div class="formio-loader">\\r\\n <div class="loader-wrapper">\\r\\n <div class="ui active centered inline loader"></div>\\r\\n </div>\\r\\n</div>'}},4580:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(998);n.default={form:t.default}},3001:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"Loading...\\r\\n"}},1217:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3001);n.default={form:t.default}},2051:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div id="'+(null==(n=e.mapId)?"":n)+'" style="min-height: 300px; height: calc(100vh - 600px);" ref="gmapElement"></div>'}},7131:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2051);n.default={form:t.default}},1524:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui pointing red basic label '+(null==(n=e.level)?"":n)+'">\\r\\n '+(null==(n=e.message)?"":n)+"\\r\\n</div>"}},8594:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1524);n.default={form:t.default}},3622:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<label id="l-'+(null==(n=e.component.key)?"":n)+'" class="control-label '+(null==(n=e.label.className)?"":n)+'">\\r\\n '+(null==(n=e.t(e.component.label,{_userInput:!0}))?"":n)+'\\r\\n \\x3c!-- <span ref="modalLabelValue" class="visually-hidden">. '+(null==(n="signature"===e.component.type?e.self.getValueAsString(e.previewText):e.previewText)?"":n)+'</span> --\\x3e\\r\\n</label>\\r\\n<span class="visually-hidden" ref="modalPreviewLiveRegion" aria-live="assertive"></span>\\r\\n<button style="text-align: left !important; height: 40px !important;" lang="en"\\r\\n class="ui button info open-modal-button form-control '+(null==(n=e.openModalBtnClasses||"")?"":n)+'" ref="openModal"\\r\\n aria-labelledby="l-'+(null==(n=e.component.key)?"":n)+'">\\r\\n '+(null==(n=e.previewText)?"":n)+'\\r\\n</button>\\r\\n<div class="formio-errors invalid-feedback">\\r\\n '+(null==(n=e.messages)?"":n)+"\\r\\n</div>\\r\\n"}},6068:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3622);n.default={form:t.default}},6906:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-dialog formio-dialog-theme-default formio-modaledit-dialog">\\r\\n <div ref="overlay" class="formio-dialog-overlay"></div>\\r\\n <div ref="content" class="formio-modaledit-content">\\r\\n <button ref="close" type="button" role="button" class="ui button primary formio-modaledit-close">\\r\\n '+(null==(n=e.t("Close"))?"":n)+'\\r\\n </button>\\r\\n <div ref="inner" class="reset-margins"></div>\\r\\n </div>\\r\\n</div>'}},4640:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6906);n.default={form:t.default}},8854:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div ref="container" class="formio-modaledit-view-container">\\r\\n <button ref="edit" type="button" role="button" class="ui button warning formio-modaledit-edit">\\r\\n <i class="'+(null==(n=e.iconClass("edit"))?"":n)+'"></i>\\r\\n </button>\\r\\n <div ref="input" class="modaledit-view-inner reset-margins">'+(null==(n=e.content)?"":n)+"</div>\\r\\n</div>"}},2244:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8854);n.default={form:t.default}},5139:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<tr ref="row">\\r\\n <td width="80%">\\r\\n '+(null==(n=e.element)?"":n)+"\\r\\n </td>\\r\\n ",e.disabled||(r+='\\r\\n <td width="20%">\\r\\n <button type="button" class="ui icon button" ref="removeRow">\\r\\n <i class="trash icon"></i>\\r\\n </button>\\r\\n </td>\\r\\n '),r+"\\r\\n</tr>\\r\\n"}},3275:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5139);n.default={form:t.default}},7607:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui celled table">\\r\\n <tbody>\\r\\n '+(null==(n=e.rows)?"":n)+"\\r\\n ",e.disabled||(r+='\\r\\n <tr>\\r\\n <td colspan="2">\\r\\n <button class="ui button primary" ref="addButton"><i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.addAnother))?"":n)+"</button>\\r\\n </td>\\r\\n </tr>\\r\\n "),r+"\\r\\n </tbody>\\r\\n</table>"}},3959:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7607);n.default={form:t.default}},2850:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div class="input-group formio-multiple-mask-container" ref="'+(null==(n=e.input.ref?e.input.ref:"input")?"":n)+'">\\r\\n <select class="form-control formio-multiple-mask-select" id="'+(null==(n=e.key)?"":n)+'-mask" ref="select" ',e.input.attr.disabled&&(r+="disabled"),r+=">\\r\\n ",e.selectOptions.forEach((function(e){r+='\\r\\n <option value="'+(null==(n=e.value)?"":n)+'">'+(null==(n=e.label)?"":n)+"</option>\\r\\n "})),r+='\\r\\n </select>\\r\\n <input ref="mask" ',e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=">\\r\\n</div>"}},4040:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2850);n.default={form:t.default}},6235:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui padded grid un-accordion">\\r\\n ',(!e.component.hideLabel||e.builder||e.component.collapsible||e.component.tooltip)&&(r+='\\r\\n <div class="ui top attached block header '+(null==(n=e.component.customClass)?"":n)+' row">\\r\\n <h3 class="ui column un-accordion-header" ref="header">\\r\\n ',e.component.hideLabel&&!e.builder||(r+="\\r\\n "+(null==(n=e.t(e.component.title))?"":n)+"\\r\\n "),r+="\\r\\n ",e.component.collapsible&&(r+='\\r\\n <i class="formio-collapse-icon '+(null==(n=e.iconClass(e.collapsed?"plus":"minus"))?"":n)+' text-muted"\\r\\n data-title="Collapse Panel"></i>\\r\\n '),r+="\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted"\\r\\n data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n\\r\\n \\x3c!-- <div class="ui icon button" data-position="top left" data-inverted=""> --\\x3e\\r\\n \\x3c!-- <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'"></i> --\\x3e\\r\\n \\x3c!-- </div> --\\x3e\\r\\n '),r+="\\r\\n </h3>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.collapsed&&!e.builder||(r+='\\r\\n <div class="ui bottom attached segment un-panel-body" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</div>\\r\\n"}},883:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6235);n.default={form:t.default}},6327:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="pdf-upload formio-component-file">\\r\\n <h3 class="label">'+(null==(n=e.t("Upload a PDF File"))?"":n)+'</h3>\\r\\n <input type="file" style="opacity: 0; position: absolute;" tabindex="-1" accept=".pdf" ref="hiddenFileInputElement">\\r\\n <div class="fileSelector" ref="fileDrop">\\r\\n <span ref="dragDropText">\\r\\n <i class="'+(null==(n=e.iconClass("cloud-upload"))?"":n)+'"></i>'+(null==(n=e.t("Drop pdf to start, or"))?"":n)+' <a href="#"\\r\\n ref="fileBrowse" class="browse">'+(null==(n=e.t("browse"))?"":n)+'</a>\\r\\n </span>\\r\\n <div class="progress pdf-progress" ref="uploadProgressWrapper" style="display:none;">\\r\\n <div class="progress-bar" ref="uploadProgress" role="progressbar" aria-valuenow="0" aria-valuemin="0"\\r\\n aria-valuemax="100"></div>\\r\\n </div>\\r\\n </div>\\r\\n <div class="alert alert-danger" ref="uploadError">\\r\\n\\r\\n </div>\\r\\n</div>'}},9575:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6327);n.default={form:t.default}},8540:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio builder row formbuilder">\\r\\n <div class="col-xs-4 col-sm-3 col-md-2 formcomponents">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n <div class="col-xs-8 col-sm-9 col-md-10 formarea" ref="form">\\r\\n <div class="formio-drop-zone" ref="iframeDropzone"></div>\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n</div>"}},362:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8540);n.default={form:t.default}},9523:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="'+(null==(n=e.classes)?"":n)+'" ref="webform">\\r\\n <span data-noattach="true" ref="zoomIn" style="position:absolute;right:10px;top:10px;cursor:pointer;"\\r\\n class="ui button basic primary no-disable">\\r\\n <i class="'+(null==(n=e.iconClass("zoom-in"))?"":n)+'"></i>\\r\\n </span>\\r\\n <span data-noattach="true" ref="zoomOut" style="position:absolute;right:10px;top:60px;cursor:pointer;"\\r\\n class="ui button basic primary no-disable">\\r\\n <i class="'+(null==(n=e.iconClass("zoom-out"))?"":n)+'"></i>\\r\\n </span>\\r\\n <div data-noattach="true" ref="iframeContainer"></div>\\r\\n '+(null==(n=e.submitButton)?"":n)+"\\r\\n</div>\\r\\n"}},8555:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9523);n.default={form:t.default}},5520:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="fields '+(null==(n=e.inline?"inline":"grouped")?"":n)+'">\\r\\n ',e.values.forEach((function(t){for(var l in r+='\\r\\n <div class="field">\\r\\n <div class="ui '+(null==(n="radio"===e.input.attr.type?"radio":"")?"":n)+' checkbox" ref="wrapper">\\r\\n <'+(null==(n=e.input.type)?"":n)+' ref="input" ',e.input.attr)r+=" "+(null==(n=l)?"":n)+'="'+(null==(n=e.input.attr[l])?"":n)+'" ';r+=' value="'+(null==(n=t.value)?"":n)+'" ',(e.value===t.value||"object"==typeof e.value&&e.value.hasOwnProperty(t.value)&&e.value[t.value])&&(r+=" checked=true "),r+=" ",t.disabled&&(r+=" disabled=true "),r+='\\r\\n id="'+(null==(n=e.instance.root&&e.instance.root.id)?"":n)+"-"+(null==(n=e.id)?"":n)+"-"+(null==(n=e.row)?"":n)+"-"+(null==(n=t.value)?"":n)+'">\\r\\n <label class="" for="'+(null==(n=e.instance.root&&e.instance.root.id)?"":n)+"-"+(null==(n=e.id)?"":n)+"-"+(null==(n=e.row)?"":n)+"-"+(null==(n=t.value)?"":n)+'">\\r\\n <span>'+(null==(n=e.t(t.label))?"":n)+"</span>\\r\\n </label>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n</div>\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-radio-field">This field is required</p>\\r\\n'),r+="\\r\\n"}},9375:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,(r+='<div ref="value">\\r\\n ')+"\\r\\n "+(null==(n=e.values.filter((function(n){return e.value===n.value||"object"==typeof e.value&&e.value.hasOwnProperty(n.value)&&e.value[n.value]})).map((function(e){})).join(", "))?"":n)+"\\r\\n</div>"}},486:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5520),l=r(9375);n.default={form:t.default,html:l.default}},3844:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<table class="ui table celled">\\r\\n <tbody>\\r\\n <tr>\\r\\n <td>\\r\\n '+(null==(n=e.element)?"":n)+'\\r\\n </td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td colspan="2">\\r\\n <button class="ui button primary" ref="addResource">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.component.addResourceLabel||"Add Resource"))?"":n)+"\\r\\n </button>\\r\\n </td>\\r\\n </tr>\\r\\n </tbody>\\r\\n</table>"}},8162:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3844);n.default={form:t.default}},3576:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+="<option "+(null==(n=e.selected?'selected="selected"':"")?"":n)+" value='"+(null==(n=e.option.value)?"":n)+"' ",e.attrs)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.attrs[t])?"":n)+'" ';return r+">\\r\\n "+(null==(n=e.t(e.option.label))?"":n)+"\\r\\n</option>"}},4151:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.selected&&(r+=null==(n=e.t(e.option.label))?"":n),r}},4142:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3576),l=r(4151);n.default={form:t.default,html:l.default}},1843:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<select ref="'+(null==(n=e.input.ref?e.input.ref:"selectContainer")?"":n)+'" class="ui search dropdown" '+(null==(n=e.input.multiple?"multiple":"")?"":n)+" ",e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=" ",e.input.attr.id||(r+=' id="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'" '),r+=">"+(null==(n=e.selectOptions)?"":n)+'</select>\\r\\n<input type="text" class="formio-select-autocomplete-input" ref="autocompleteInput" ',e.input.attr.autocomplete&&(r+=' autocomplete="'+(null==(n=e.input.attr.autocomplete)?"":n)+'" '),r+=' tabindex="-1" />\\r\\n\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-select-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},8616:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.value?r+=null==(n=e.self.itemValueForHTMLMode(e.value))?"":n:r+="-",r+"</div>\\r\\n"}},4907:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1843),l=r(8616);n.default={form:t.default,html:l.default}},1991:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+=(null==(n=e.element)?"":n)+'\\r\\n\\r\\n<div class="signature-pad-body"\\r\\n style="width: '+(null==(n=e.component.width)?"":n)+";height: "+(null==(n=e.component.height)?"":n)+';padding:0;margin:0;"\\r\\n tabindex="'+(null==(n=e.component.tabindex||0)?"":n)+'" ref="padBody">\\r\\n <div class="signature-info-box">\\r\\n ',e.component.footer&&(r+='\\r\\n <div class="signature-pad-footer">\\r\\n '+(null==(n=e.t(e.component.footer))?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.component.isEnableClicktoSign&&(r+='\\r\\n <div class="click-to-sign-box">\\r\\n <p class="click-to-sign-label">Or</p>\\r\\n \\x3c!-- <button class="ui primary mini button sign-click-btn" ref="clicktoSign">'+(null==(n=e.t("Click to Sign"))?"":n)+'</button> --\\x3e\\r\\n <a class="sign-click-btn" ref="clicktoSign">'+(null==(n=e.t("Click To Sign"))?"":n)+"</a>\\r\\n </div>\\r\\n "),r+='\\r\\n </div>\\r\\n\\r\\n <a class="ui basic button mini icon signature-pad-refresh" ref="refresh">\\r\\n <i class="'+(null==(n=e.iconClass("refresh"))?"":n)+'"></i>\\r\\n </a>\\r\\n <canvas class="signature-pad-canvas" height="'+(null==(n=e.component.height)?"":n)+'" ref="canvas"></canvas>\\r\\n <img style="width: 100%;display: none;" ref="signatureImage">\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},956:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return'<img style="width: 100%;" ref="signatureImage">\\r\\n'}},1783:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1991),l=r(956);n.default={form:t.default,html:l.default}},7029:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table striped celled un-survey-table">\\r\\n <thead>\\r\\n <tr>\\r\\n <th></th>\\r\\n ',e.component.values.forEach((function(t){r+='\\r\\n <th style="text-align: center;">'+(null==(n=e.t(t.label))?"":n)+"</th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n <tbody>\\r\\n ",e.component.questions.forEach((function(t){r+="\\r\\n <tr>\\r\\n <td>"+(null==(n=e.t(t.label))?"":n)+"</td>\\r\\n ",e.component.values.forEach((function(l){r+='\\r\\n <td style="text-align: center;">\\r\\n <div class="ui checkbox radio un-survey-checkbox">\\r\\n <input type="radio" name="'+(null==(n=e.self.getInputName(t))?"":n)+'" value="'+(null==(n=l.value)?"":n)+'"\\r\\n id="'+(null==(n=e.key)?"":n)+"-"+(null==(n=t.value)?"":n)+"-"+(null==(n=l.value)?"":n)+'" ref="input">\\r\\n <label class="" for="'+(null==(n=e.key)?"":n)+"-"+(null==(n=t.value)?"":n)+"-"+(null==(n=l.value)?"":n)+'">'+(null==(n=l.label)?"":n)+"</label>\\r\\n </div>\\r\\n </td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},4062:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table striped celled un-survey-table">\\r\\n <tbody>\\r\\n ',e.component.questions.forEach((function(t){r+="\\r\\n <tr>\\r\\n <th>"+(null==(n=e.t(t.label))?"":n)+"</th>\\r\\n <td>\\r\\n ",e.component.values.forEach((function(l){r+="\\r\\n ",e.value&&e.value.hasOwnProperty(t.value)&&e.value[t.value]===l.value&&(r+="\\r\\n "+(null==(n=e.t(l.label))?"":n)+"\\r\\n "),r+="\\r\\n "})),r+="\\r\\n </td>\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n"}},2053:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7029),l=r(4062);n.default={form:t.default,html:l.default}},6105:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.component.components.forEach((function(t,l){r+='\\r\\n<h4 class="ui top attached block header">'+(null==(n=e.t(t.label))?"":n)+'</h4>\\r\\n<div class="ui bottom attached segment">\\r\\n '+(null==(n=e.tabComponents[l])?"":n)+"\\r\\n</div>\\r\\n"})),r}},6660:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="tab-container'+(null==(n=e.component.verticalLayout?" card-vertical":"")?"":n)+'">\\r\\n <div class="un-tab-header un-has-tab-pagination '+(null==(n=e.component.verticalLayout?"un-tab-header-vertical":"")?"":n)+'">\\r\\n <div class="un-tab-header-pagination un-tab-header-pagination-before">\\r\\n <i class="angle left icon"></i>\\r\\n </div>\\r\\n\\r\\n <div class="un-tab-labels">\\r\\n <div class="ui top attached un-tab-tabular-menu tabular menu'+(null==(n=e.component.verticalLayout?" nav-tabs-vertical":"")?"":n)+'">\\r\\n ',e.component.components.forEach((function(t,l){r+='\\r\\n <a class="item'+(null==(n=e.currentTab===l?" active":"")?"":n)+'" role="presentation"\\r\\n ref="'+(null==(n=e.tabLinkKey)?"":n)+'">'+(null==(n=e.t(t.label))?"":n)+"</a>\\r\\n "})),r+='\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="un-tab-header-pagination un-tab-header-pagination-after">\\r\\n <i class="angle right icon"></i>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n ',e.component.components.forEach((function(t,l){r+='\\r\\n <div role="tabpanel" class="ui bottom attached tab segment'+(null==(n=e.currentTab===l?" active":"")?"":n)+'"\\r\\n ref="'+(null==(n=e.tabKey)?"":n)+'">'+(null==(n=e.tabComponents[l])?"":n)+"</div>\\r\\n "})),r+="\\r\\n</div>\\r\\n"}},7810:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6105),l=r(6660);n.default={flat:t.default,form:l.default}},9213:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.children.forEach((function(e){r+='\\r\\n<td class="editgrid-table-column">\\r\\n '+(null==(n=e)?"":n)+"\\r\\n</td>\\r\\n"})),r}},7501:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9213);n.default={form:t.default}},969:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n \\x3c!-- <caption class="visually-hidden">'+(null==(n=e.t(e.component.label))?"":n)+"</caption> --\\x3e\\r\\n ",e.component.header&&e.component.header.length>0&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.component.header.forEach((function(t){r+="\\r\\n <th>"+(null==(n=e.t(t))?"":n)+"</th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+="\\r\\n <tbody>\\r\\n ",e.tableComponents.forEach((function(t,l){r+='\\r\\n <tr ref="row-'+(null==(n=e.id)?"":n)+'">\\r\\n ',t.forEach((function(t,a){r+='\\r\\n <td ref="'+(null==(n=e.tableKey)?"":n)+"-"+(null==(n=l)?"":n)+'" ',e.cellClassName&&(r+=' class="'+(null==(n=e.cellClassName)?"":n)+'" '),r+=">\\r\\n "+(null==(n=t)?"":n)+"</td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>"}},1713:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(969);n.default={form:t.default}},95:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.node.isRoot?r+='\\r\\n<div class="ui relaxed list">\\r\\n <div class="item" ref="root" role="listitem">\\r\\n ':r+='\\r\\n <div ref="node" class="item tree__level" role="listitem">\\r\\n ',r+="\\r\\n ",e.content&&(r+='\\r\\n <div ref="content" class="tree__node-content content">\\r\\n '+(null==(n=e.content)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.childNodes&&e.childNodes.length&&(r+='\\r\\n <div ref="childNodes" class="tree__node-children list" role="list">\\r\\n '+(null==(n=e.childNodes.join(""))?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.node.isRoot?r+="\\r\\n </div>\\r\\n </div>\\r\\n ":r+="\\r\\n</div>\\r\\n",r}},4319:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(95);n.default={form:t.default}},8438:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="node-edit">\\r\\n <div ref="nodeEdit">'+(null==(n=e.children)?"":n)+"</div>\\r\\n ",e.readOnly||(r+='\\r\\n <div class="node-actions">\\r\\n <button ref="saveNode" class="ui mini primary button saveNode">'+(null==(n=e.t("Save"))?"":n)+'</button>\\r\\n <button ref="cancelNode" class="ui mini negative button cancelNode">'+(null==(n=e.t("Cancel"))?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</div>"}},158:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8438),l=r(4271);n.default={treeView:{form:l.default},treeEdit:{form:t.default}}},4271:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n <div class="row">\\r\\n ',e.values.forEach((function(e){r+='\\r\\n <div class="two wide column">\\r\\n '+(null==(n=e)?"":n)+"\\r\\n </div>\\r\\n "})),r+='\\r\\n <div class="five wide column">\\r\\n <div class="ui mini right floated buttons">\\r\\n ',e.node.hasChildren&&(r+='\\r\\n <button ref="toggleNode" class="ui button toggleNode">'+(null==(n=e.t(e.node.collapsed?"Expand":"Collapse"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n '),r+="\\r\\n ",e.readOnly||(r+='\\r\\n <button ref="addChild" class="ui button primary addChild">'+(null==(n=e.t("Add"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n <button ref="editNode" class="ui button editNode">'+(null==(n=e.t("Edit"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n <button ref="removeNode" class="ui button negative removeNode">'+(null==(n=e.t("Delete"))?"":n)+"</button>\\r\\n ",e.node.revertAvailable&&(r+='\\r\\n <div class="or"></div>\\r\\n <button ref="revertNode" class="ui button negative revertNode">'+(null==(n=e.t("Revert"))?"":n)+"</button>\\r\\n "),r+="\\r\\n "),r+="\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"}},5644:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui visible message"><p>'+(null==(n=e.t(e.component.title))?"":n)+"</p></div>\\r\\n"}},7805:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="'+(null==(n=e.classes)?"":n)+' ui form un-form-wrapper" ref="webform" novalidate>'+(null==(n=e.children)?"":n)+"</div>\\r\\n"}},6957:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5644),l=r(7805);n.default={form:l.default,builder:t.default}},4219:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.disabled&&"textarea"==e.component.type&&!e.instance?.inDataGrid&&(r+='\\r\\n <label class="label">'+(null==(n=e.component.label)?"":n)+"</label>\\r\\n"),r+'\\r\\n\\r\\n<div class="ui segment '+(null==(n=e.disabled&&"textarea"==e.component.type?"un-segment-disabled":"")?"":n)+'">\\r\\n <div class="content" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n</div>\\r\\n"}},2323:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(4219);n.default={form:t.default}},2047:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <div class=" ui stackable grid" style="border-bottom:0;">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <div class="classic-pagination-page four wide computer eight wide tablet sixteen wide mobile column\\r\\n '+(null==(n=e.currentPage<l?" disabled":"")?"":n)+"\\r\\n "+(null==(n=e.currentPage===l?" active":"")?"":n)+"\\r\\n "+(null==(n=e.currentPage>l?" complete":"")?"":n)+'" style="padding: 0;">\\r\\n <div class="ui center aligned header classic-pagination-title">'+(null==(n=e.t(t.title,{_userInput:!0}))?"":n)+"</div>\\r\\n ",e.panels.length>1&&(r+='\\r\\n <div class="classic-pagination-progress" style="border-radius: 0;">\\r\\n <div class="classic-pagination-progress-bar"></div>\\r\\n </div>\\r\\n '),r+='\\r\\n <span ref="'+(null==(n=e.wizardKey)?"":n)+'-link" class="classic-pagination-dot" style="top: 45px;"></span>\\r\\n </div>\\r\\n '})),r+="\\r\\n </div>\\r\\n</nav>"}},7231:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2047);n.default={form:t.default}},6871:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <ul class="ui vertical fluid tabular menu">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <li class=" item page-item'+(null==(n=e.currentPage===l?" active":"")?"":n)+'" style="cursor: pointer;">\\r\\n <span class="page-link" ref="'+(null==(n=e.wizardKey)?"":n)+'-link" style="margin-left: 0px;">\\r\\n '+(null==(n=e.t(t.title,{_userInput:!0}))?"":n)+"\\r\\n ",t.tooltip&&e.currentPage===l&&(r+='\\r\\n <i ref="'+(null==(n=e.wizardKey)?"":n)+'-tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted"\\r\\n data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n </span>\\r\\n </li>\\r\\n "})),r+="\\r\\n </ul>\\r\\n</nav>"}},1975:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6871);n.default={form:t.default}},565:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav class="un-wizard-header" aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header" ref="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <div class="un-wizard-header-content">\\r\\n ',e.form.companyLogo&&(r+='\\r\\n <div class="un-wizard-header-logo">\\r\\n <img src="'+(null==(n=e.form.companyLogo)?"":n)+'" alt="">\\r\\n </div>\\r\\n '),r+='\\r\\n <h1 class="un-wizard-header-title">'+(null==(n=e.form.title)?"":n)+'</h1>\\r\\n <p class="un-wizard-header-description">'+(null==(n=e.form.description)?"":n)+'</p>\\r\\n </div>\\r\\n <div class="un-wizard-step-scrollbar"></div>\\r\\n <div class="ui steps">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <a class="'+(null==(n=e.currentPage===l?" active":"")?"":n)+" "+(null==(n=e.currentPage>l?" completed":"")?"":n)+' step"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-link">\\r\\n <div class="content">\\r\\n <h4 class="title">\\r\\n <span class="step-icon">\\r\\n ',e.currentPage>l&&(r+='\\r\\n <i class="'+(null==(n=e.iconClass("check"))?"":n)+'"></i>\\r\\n '),r+="\\r\\n </span>\\r\\n "+(null==(n=t.title)?"":n)+"\\r\\n ",t.tooltip&&e.currentPage===l&&(r+='\\r\\n <span data-tooltip="'+(null==(n=e.wizardPageTooltip)?"":n)+'" data-position="right center">\\r\\n <i class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'"></i>\\r\\n </span>\\r\\n '),r+="\\r\\n </h4>\\r\\n </div>\\r\\n </a>\\r\\n "})),r+="\\r\\n </div>\\r\\n</nav>\\r\\n"}},869:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(565);n.default={form:t.default}},6997:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui un-wizard-footer" id="'+(null==(n=e.wizardKey)?"":n)+'-nav">\\r\\n ',e.buttons.cancel&&(r+='\\r\\n <div class="item un-wizard-footer-step un-wizard-footer-step-cancel">\\r\\n <button class="ui button basic primary btn-wizard-nav-cancel"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-cancel">'+(null==(n=e.t("cancel"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.previous&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-previous"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-previous">'+(null==(n=e.t("previous"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.next&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-next" ref="'+(null==(n=e.wizardKey)?"":n)+'-next">'+(null==(n=e.t("next"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.submit&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-submit" ref="'+(null==(n=e.wizardKey)?"":n)+'-submit">'+(null==(n=e.t("submit"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+'\\r\\n</div>\\r\\n\\r\\n\\r\\n\\x3c!-- Submit popup. Add this "un-popup-active" class to show the popup --\\x3e\\r\\n<div class="un-popup un-popup-wizard-succes-popup">\\r\\n <div class="un-popup-overlay"></div>\\r\\n <div class="un-popup-content wizard-form-submit-message">\\r\\n <button class="ui button basic icon small un-popup-close-btn"><i class="icon close"></i></button>\\r\\n <span class="un-popup-message-icon">\\r\\n <i class="check icon"></i>\\r\\n </span>\\r\\n <h2 class="un-message-title">Successfully submitted.</h2>\\r\\n <p class="un-message-description">Thank you! Your form has been successfully submitted.</p>\\r\\n <button class="ui button primary fluid un-popup-btn-ok">Ok</button>\\r\\n </div>\\r\\n</div>\\r\\n'}},5861:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6997);n.default={form:t.default}},9469:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-wizard-builder-component-title">'+(null==(n=e.t(e.component.title))?"":n)+"</div>\\r\\n"}},7082:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui form '+(null==(n=e.className)?"":n)+'">\\r\\n <div class="un-wizard-wrapper" style="position: relative;">\\r\\n ',"wizardHeaderVertical"===e.wizardHeaderType?r+='\\r\\n <div class="ui stackable grid">\\r\\n <div class="three wide computer sixteen wide tablet sixteen wide mobile column">\\r\\n '+(null==(n=e.wizardHeader)?"":n)+'\\r\\n </div>\\r\\n <div class="one wide computer one wide mobile one wide tablet column"></div>\\r\\n <div class="wizard-page un-wizard-body ten wide computer fourteen wide tablet fourteen wide mobiles column"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'">\\r\\n '+(null==(n=e.components)?"":n)+'\\r\\n </div>\\r\\n </div>\\r\\n <div class="ui grid stackable" style="margin-top: 10px;">\\r\\n <div class="four wide column"></div>\\r\\n <div class="twelve wide column">\\r\\n '+(null==(n=e.wizardNav)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n ":r+="\\r\\n "+(null==(n=e.wizardHeader)?"":n)+'\\r\\n <div class="wizard-page un-wizard-body" ref="'+(null==(n=e.wizardKey)?"":n)+'">\\r\\n '+(null==(n=e.components)?"":n)+"\\r\\n </div>\\r\\n "+(null==(n=e.wizardNav)?"":n)+"\\r\\n ",r+"\\r\\n </div>\\r\\n</div>\\r\\n"}},9776:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9469),l=r(7082);n.default={form:l.default,builder:t.default}}},n={};function r(t){var l=n[t];if(void 0!==l)return l.exports;var a=n[t]={exports:{}};return e[t].call(a.exports,a,a.exports,r),a.exports}var t={};return(()=>{"use strict";var e=t;Object.defineProperty(e,"__esModule",{value:!0});var n=r(9969);e.default={framework:"semantic",templates:n.default}})(),t})()));
|
|
47717
|
+
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.semantic=n():e.semantic=n()}(self,(()=>(()=>{var e={9969:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7582);n.default={semantic:t.default}},3029:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";if(Array.prototype.join,e.mode.autocomplete){for(var t in r+='\\r\\n<div class="address-autocomplete-container">\\r\\n <input ref="'+(null==(n=e.ref.searchInput)?"":n)+'" ',e.inputAttributes)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.inputAttributes[t])?"":n)+'" ';r+=' value="'+(null==(n=e.displayValue)?"":n)+'" autocomplete="off"\\r\\n aria-label="'+(null==(n=e.t("autocomplete"))?"":n)+'">\\r\\n ',e.component.disableClearIcon||(r+='\\r\\n <i class="address-autocomplete-remove-value-icon icon times" tabindex="'+(null==(n=e.inputAttributes.tabindex)?"":n)+'"\\r\\n ref="'+(null==(n=e.ref.removeValueIcon)?"":n)+'"></i>\\r\\n '),r+="\\r\\n</div>\\r\\n"}return r+="\\r\\n",e.self.manualModeEnabled&&(r+='\\r\\n<div class="form-check checkbox">\\r\\n <label class="form-check-label">\\r\\n <input ref="'+(null==(n=e.ref.modeSwitcher)?"":n)+'" type="checkbox" class="form-check-input"\\r\\n tabindex="'+(null==(n=e.inputAttributes.tabindex)?"":n)+'" ',e.mode.manual&&(r+="checked=true"),r+=" ",e.disabled&&(r+="disabled=true"),r+=">\\r\\n <span>"+(null==(n=e.component.switchToManualModeLabel)?"":n)+"</span>\\r\\n </label>\\r\\n</div>\\r\\n"),r+="\\r\\n",e.self.manualMode&&(r+='\\r\\n<div ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n</div>\\r\\n"),r+"\\r\\n"}},9326:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.displayValue?r+=null==(n=e.displayValue)?"":n:r+="-",r+"</div>"}},3861:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3029),l=r(9326);n.default={form:t.default,html:l.default}},8807:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+="<div ",e.attrs)r+=" ",r+="class"===t?" "+(null==(n=t)?"":n)+'="ui message '+(null==(n=e.attrs[t])?"":n)+'" ':" "+(null==(n=t)?"":n)+'="'+(null==(n=e.attrs[t])?"":n)+'" ',r+=" ";return r+">"+(null==(n=e.message)?"":n)+"</div>"}},7639:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8807);n.default={form:t.default}},9317:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="builder-component" ref="dragComponent">\\r\\n <div class="component-btn-group" data-noattach="true">\\r\\n <div class="ui button mini icon component-settings-button-remove" ref="removeComponent">\\r\\n <i class="'+(null==(n=e.iconClass("remove"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-copy" ref="copyComponent">\\r\\n <i class="'+(null==(n=e.iconClass("copy"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-paste" ref="pasteComponent">\\r\\n <i class="'+(null==(n=e.iconClass("save"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-edit-json" ref="editJson">\\r\\n <i class="'+(null==(n=e.iconClass("wrench"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon component-settings-button-move" ref="moveComponent">\\r\\n <i class="'+(null==(n=e.iconClass("move"))?"":n)+'"></i>\\r\\n </div>\\r\\n <div class="ui button mini icon primary component-settings-button-edit" ref="editComponent" id="'+(null==(n=e.id)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("cog"))?"":n)+'"></i>\\r\\n </div>\\r\\n </div>\\r\\n '+(null==(n=e.html)?"":n)+"\\r\\n</div>\\r\\n"}},9141:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9317);n.default={form:t.default}},4928:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="builder-components drag-container '+(null==(n=e.type)?"":n)+'" ref="'+(null==(n=e.key)?"":n)+'-container">\\r\\n '+(null==(n=e.html)?"":n)+"\\r\\n</div>"}},9766:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(4928);n.default={form:t.default}},126:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable" style="padding: 5px !important;">\\r\\n <div class="nine wide column">\\r\\n <h4 class="lead">'+(null==(n=e.t(e.componentInfo.title))?"":n)+" "+(null==(n=e.t("Component"))?"":n)+'</h4>\\r\\n </div>\\r\\n <div class="seven wide column" style="padding: 5px !important; text-align: end !important;">\\r\\n \\x3c!-- <div class="right floated" style="margin-right: 20px; margin-top: 10px">\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <i class="'+(null==(n=e.iconClass("new-window"))?"":n)+'"> '+(null==(n=e.t("Help"))?"":n)+"</i>\\r\\n </a>\\r\\n </div> --\\x3e\\r\\n ",e.preview||(r+='\\r\\n <div class="preview-button-grp" style="padding:5px !important;">\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;">\\r\\n <i class="help icon"></i>\\r\\n </button>\\r\\n </a>\\r\\n\\r\\n <button class="ui button mini icon" style="margin-right: 10px;" ref="resetUI">\\r\\n <i class="remove icon"></i>\\r\\n </button>\\r\\n\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton">\\r\\n <i class="save icon"></i>\\r\\n </button>\\r\\n\\r\\n \\x3c!-- <button class="ui button default" style="margin-right: 10px;" ref="cancelButton">'+(null==(n=e.t("Cancel"))?"":n)+'</button>\\r\\n <button class="ui button negative" ref="removeButton">'+(null==(n=e.t("Remove"))?"":n)+"</button> --\\x3e\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.preview&&(r+='\\r\\n <div class="preview-button-grp" style="padding:5px !important;">\\r\\n \\x3c!-- <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton" data-tooltip="Save" data-inverted="" data-variation="mini" data-position="bottom center"> --\\x3e\\r\\n <a href="'+(null==(n=e.componentInfo.documentation)?"":n)+'" target="_blank">\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;">\\r\\n <i class="help icon"></i>\\r\\n </button>\\r\\n </a>\\r\\n\\r\\n <button class="ui button mini icon" style="margin-right: 10px;" ref="resetUI">\\r\\n <i class="remove icon"></i>\\r\\n </button>\\r\\n\\r\\n <button class="ui button mini icon primary" style="margin-right: 10px;" ref="saveButton" data-tooltip="Save"\\r\\n data-inverted="" data-variation="mini" data-position="bottom center">\\r\\n <i class="save icon"></i>\\r\\n </button>\\r\\n\\r\\n \\x3c!-- <button class="ui button default" style="margin-right: 10px;" ref="cancelButton">'+(null==(n=e.t("Cancel"))?"":n)+'</button> --\\x3e\\r\\n \\x3c!-- <button class="ui button negative" ref="removeButton">'+(null==(n=e.t("Remove"))?"":n)+"</button> --\\x3e\\r\\n </div>\\r\\n "),r+='\\r\\n\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n<div class="ui" style="margin-top: 10px !important; overflow-y: scroll;height:85%">\\r\\n ',e.preview&&(r+='\\r\\n <div class="eight wide column">\\r\\n \\x3c!-- <button class="ui button mini icon primary" style="margin-right: 10px;" onclick="test()">\\r\\n <i class="save icon"></i>\\r\\n </button> --\\x3e\\r\\n \\x3c!-- <div class="ui accordion">\\r\\n <div class="title">component-edit-container\\r\\n <i class="dropdown icon"></i>\\r\\n What is a dog?\\r\\n </div>\\r\\n <div class="content">\\r\\n <p class="transition hidden">A dog is a type of domesticated animal. Known for its loyalty and faithfulness, it can be found as a welcome guest in many households across the world.</p>\\r\\n </div>\\r\\n <div class="title">\\r\\n <i class="dropdown icon"></i>\\r\\n What kinds of dogs are there?\\r\\n </div>\\r\\n <div class="content">\\r\\n <p class="transition hidden">There are many breeds of dogs. Each breed varies in size and temperament. Owners often select a breed of dog that they find to be compatible with their own lifestyle and desires from a companion.</p>\\r\\n </div>\\r\\n </div> --\\x3e\\r\\n\\r\\n <div class="ui top attached block header">\\r\\n <i class="formio-collapse-icon text-muted" data-title="Collapse Panel"></i>\\r\\n '+(null==(n=e.t("Preview"))?"":n)+'\\r\\n </div>\\r\\n \\x3c!-- height: calc(100vh - 75vh); --\\x3e\\r\\n <div\\r\\n style="opacity: 0.6; --s: 45px;--_g: #0000 90deg,#f0f0f1 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;">\\r\\n <div ref="compnentApikey" style="padding: 5px;color: black;">\\r\\n </div>\\r\\n <div class="ui bottom attached segment" ref="preview"\\r\\n style="opacity: 0.6; --s: 45px;--_g: #0000 90deg,#f0f0f1 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;">\\r\\n '+(null==(n=e.preview)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n ",e.componentInfo.help&&(r+='\\r\\n <div class="ui secondary segment formio-settings-help">\\r\\n '+(null==(n=e.componentInfo.help)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n </div>\\r\\n "),r+='\\r\\n <div class="',e.preview?r+="eight":r+="sixteen",r+' wide column" style="margin-top: 15px;">\\r\\n <div ref="editForm">\\r\\n '+(null==(n=e.editForm)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"}},684:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(126);n.default={form:t.default}},9015:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui primary message no-drag"\\r\\n style="text-align:center; margin-bottom: 5px;opacity: 0.6;--s: 45px;--_g: #0000 90deg,#dee2e6 0;background: conic-gradient(from 90deg at 2px 2px,var(--_g)), conic-gradient(from 90deg at 1px 1px,var(--_g)) !important;background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5) !important;"\\r\\n role="alert" data-noattach="true" data-position="'+(null==(n=e.position)?"":n)+'">\\r\\n <span style="color: var(--primary-color) !important;">Drag and Drop a form component</span>\\r\\n</div>'}},5575:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9015);n.default={form:t.default}},9621:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='\\x3c!-- <div class="ui compact menu"> --\\x3e\\r\\n\\r\\n<div class="ui simple dropdown item"\\r\\n style="padding: 5px !important;width:20% !important; display: inline-grid !important;">\\r\\n <div class="ui secondary form-builder-panel" style="padding: 0" ref="group-panel-'+(null==(n=e.groupKey)?"":n)+'">\\r\\n <div class="form-builder-group-header">\\r\\n <h5 class="panel-title">\\r\\n <button style="box-shadow: none !important;"\\r\\n class="ui builder-sidebar-button button basic fluid builder-group-button" type="button" data-toggle="collapse"\\r\\n data-parent="'+(null==(n=e.groupId)?"":n)+'" ref="sidebar-anchor">\\r\\n '+(null==(n=e.t(e.group.title))?"":n)+'\\r\\n <i class="dropdown icon"></i>\\r\\n </button>\\r\\n </h5>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="menu">\\r\\n <div class="ui item segment" style="padding: 0">\\r\\n <div class="panel-collapse collapse '+(null==(e.group.default,n=" in")?"":n)+'" data-parent="#'+(null==(n=e.groupId)?"":n)+'"\\r\\n data-default="true" id="group-'+(null==(n=e.groupKey)?"":n)+'" ref="sidebar-group">\\r\\n <div id="group-container-'+(null==(n=e.groupKey)?"":n)+'" class="card-body panel-body no-drop" ref="sidebar-container">\\r\\n ',e.group.componentOrder.forEach((function(t){r+='\\r\\n <span data-group="'+(null==(n=e.groupKey)?"":n)+'" data-key="'+(null==(n=e.group.components[t].key)?"":n)+'"\\r\\n data-type="'+(null==(n=e.group.components[t].schema.type)?"":n)+'"\\r\\n class="ui button mini primary fluid formcomponent drag-copy">\\r\\n ',e.group.components[t].icon&&(r+='\\r\\n <i class="'+(null==(n=e.iconClass(e.group.components[t].icon))?"":n)+'" style="margin-right: 5px;"></i>\\r\\n '),r+="\\r\\n "+(null==(n=e.t(e.group.components[t].title))?"":n)+"\\r\\n </span>\\r\\n "})),r+="\\r\\n "+(null==(n=e.subgroups.join(""))?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\x3c!-- </div> --\\x3e\\r\\n\\x3c!-- </div> --\\x3e"}},3157:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9621);n.default={form:t.default}},184:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div id="builder-sidebar-'+(null==(n=e.id)?"":n)+'" class="ui compact menu custommenu" ref="sidebar" style="width: 100%;">\\r\\n \\x3c!-- <div class="ui fixed borderless huge menu"> --\\x3e\\r\\n \\x3c!-- <div class="ui container"> --\\x3e\\r\\n \\x3c!-- <div class="ui container grid "> --\\x3e\\r\\n ',e.groups.forEach((function(e){r+="\\r\\n "+(null==(n=e)?"":n)+"\\r\\n "})),r+="\\r\\n \\x3c!-- </div> --\\x3e\\r\\n \\x3c!-- </div> --\\x3e\\r\\n</div>"}},5326:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(184);n.default={form:t.default}},2049:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='\\r\\n<div class="formio builder formbuilder customFormiobuilder">\\r\\n <div class="four wide column formcomponents card"\\r\\n style="padding: 5px;text-align: center;background: #f8f9fa !important">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n <div class="twelve wide column formarea card" style="background: #f8f9fa !important;">\\r\\n <ol class="ui breadcrumb wizard-pages" style="margin-bottom: 0.5em">\\r\\n ',e.pages.forEach((function(t,l){r+='\\r\\n <li class="section">\\r\\n <button title="'+(null==(n=t.title)?"":n)+'"\\r\\n class="ui mini button ',l===e.self.page?r+="primary":r+="teal",r+=' wizard-page-label"\\r\\n ref="gotoPage">'+(null==(n=t.title)?"":n)+"</button>\\r\\n </li>\\r\\n "})),r+='\\r\\n <li class="wizard-add-page section">\\r\\n <button title="'+(null==(n=e.t("Create Page"))?"":n)+'" class="ui mini button green wizard-page-label" ref="addPage">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t("Page"))?"":n)+'\\r\\n </button>\\r\\n </li>\\r\\n </ol>\\r\\n <div ref="form">\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n</div>"}},4985:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2049);n.default={form:t.default}},1788:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio builder formbuilder customFormiobuilder">\\r\\n \\x3c!-- formbuilder --\\x3e \\r\\n <div class="four wide column formcomponents card"\\r\\n style="padding: 5px;text-align: center;background: #f8f9fa !important">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n \\x3c!-- <div class="formbuilder-editor-container card"\\r\\n style="overflow-y: auto;height: calc(100vh - 35vh);width:100%;background: #f8f9fa !important"> --\\x3e\\r\\n \\x3c!-- <div class="twelve wide column formarea card" ref="form"\\r\\n style="overflow-y: auto;height: calc(100vh - 35vh);padding: 10px;box-shadow:0 0 0 2px #dee2e6;border-top-left-radius:5px;border-bottom-left-radius:5px;"> --\\x3e\\r\\n \\x3c!-- <div class="twelve wide column formarea card" ref="form" style="padding: 10px;background: #f8f9fa !important"> --\\x3e\\r\\n\\r\\n <div class="twelve wide column formarea card" ref="form" style="background: #f8f9fa !important;">\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n\\r\\n \\x3c!-- </div> --\\x3e\\r\\n\\r\\n</div>"}},90:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1788);n.default={form:t.default}},7051:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div ref="buttonMessageContainer">\\r\\n <span class="help-block" ref="buttonMessage"></span>\\r\\n</div>\\r\\n<'+(null==(n=e.input.type)?"":n)+' ref="button"\\r\\n class="ui button un-submit-btn '+(null==(n=e.transform("theme",e.component.theme))?"":n)+" "+(null==(n=e.component.customClass)?"":n)+'" ',e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=">\\r\\n ",e.component.leftIcon&&(r+='<i class="'+(null==(n=e.component.leftIcon)?"":n)+'"></i> '),r+="\\r\\n "+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n ",e.component.rightIcon&&(r+=' <i class="'+(null==(n=e.component.rightIcon)?"":n)+'"></i>'),r+"\\r\\n</"+(null==(n=e.input.type)?"":n)+">\\r\\n"}},1600:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"\\r\\n"}},563:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7051),l=r(1600);n.default={form:t.default,html:l.default}},7340:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div class="ui checkbox '+(null==(n=e.self.labelIsHidden()?"label-is-hidden":"")?"":n)+'">\\r\\n <'+(null==(n=e.input.type)?"":n)+' ref="input" id="'+(null==(n=e.id)?"":n)+'" ',e.input.attr)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=" ",e.checked&&(r+="checked=true"),r+=">\\r\\n </"+(null==(n=e.input.type)?"":n)+'>\\r\\n <label class="'+(null==(n=e.input.labelClass)?"":n)+'" for="'+(null==(n=e.id)?"":n)+'">\\r\\n '+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.self.labelIsHidden()||(r+="<span>"+(null==(n=e.input.label)?"":n)+"</span>"),r+="\\r\\n </label>\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n</div>\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},4635:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<label class="'+(null==(n=e.input.labelClass)?"":n)+'">\\r\\n '+(null==(n=e.input.content)?"":n)+"\\r\\n ",e.self.labelIsHidden()||(r+="<span>"+(null==(n=e.input.label)?"":n)+"</span>"),r+='\\r\\n</label>\\r\\n<div ref="value">',e.checked?r+="True":r+="False",r+"</div>\\r\\n"}},9418:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7340),l=r(4635);n.default={form:t.default,html:l.default}},9992:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n ',e.component.columns.forEach((function(t,l){r+='\\r\\n <div\\r\\n class="'+(null==(n=e.transform("columns",t.width))?"":n)+" wide column "+(null==(n=0===e.component.columns[l].components.length?"column-is-empty":"")?"":n)+'"\\r\\n ref="'+(null==(n=e.columnKey)?"":n)+'">\\r\\n '+(null==(n=e.columnComponents[l])?"":n)+"\\r\\n </div>\\r\\n "})),r+="\\r\\n</div>\\r\\n"}},4974:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9992);n.default={form:t.default}},5007:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="formio-component-modal-wrapper formio-component-modal-wrapper-'+(null==(n=e.component.type)?"":n)+'"\\r\\n ref="componentModalWrapper">\\r\\n <div ref="openModalWrapper"></div>\\r\\n <div class="formio-dialog formio-dialog-theme-default component-rendering-hidden" ref="modalWrapper">\\r\\n <div class="formio-dialog-overlay" ref="modalOverlay"></div>\\r\\n <div class="formio-dialog-content" aria-labelledby="ml-'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'" ',e.self.isIE()||(r+=' role="dialog" '),r+=' ref="modalContents">\\r\\n \\x3c!-- <label class="visually-hidden" id="ml-'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">'+(null==(n=e.t(e.component.label))?"":n)+(null==(n=e.self.isIE()?", dialog":"")?"":n)+"</label> --\\x3e\\r\\n ",e.options.vpat?r+='\\r\\n <button class="formio-dialog-close float-end" title="Close"\\r\\n aria-label="Close button. Click to get back to the form" ref="modalCloseButton"></button>\\r\\n ':r+='\\r\\n \\x3c!-- <button class="formio-dialog-close float-end btn btn-secondary btn-sm" aria-label="Close button. Click to get back to the form" ref="modalClose"></button> --\\x3e\\r\\n <button class="formio-dialog-close float-end ui mini button info"\\r\\n aria-label="Close button. Click to get back to the form" ref="modalClose"></button>\\r\\n\\r\\n ',r+='\\r\\n <div ref="modalContents">\\r\\n ',e.visible&&(r+="\\r\\n "+(null==(n=e.children)?"":n)+"\\r\\n "),r+='\\r\\n <div class="formio-dialog-buttons">\\r\\n ',e.options.vpat&&(r+='\\r\\n <button class="ui button info formio-dialog-button"\\r\\n aria-label="Cancel button. Click to cancel the changes and get back to the form."\\r\\n ref="modalClose">'+(null==(n=e.t("Cancel"))?"":n)+"</button>\\r\\n "),r+'\\r\\n <button class="ui button primary formio-dialog-button" ref="modalSave"\\r\\n aria-label="Save button. Click to save the changes and get back to the form.">'+(null==(n=e.t("Save"))?"":n)+'</button>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n <span class="visually-hidden" ref="modalLiveRegion" aria-live="assertive"></span>\\r\\n </div>\\r\\n</div>'}},8783:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5007);n.default={form:t.default}},1480:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div id="'+(null==(n=e.id)?"":n)+'" class="field '+(null==(n=e.classes)?"":n)+'" ',e.styles&&(r+=' style="'+(null==(n=e.styles)?"":n)+'" '),r+='\\r\\n ref="component">\\r\\n ',e.visible&&(r+="\\r\\n "+(null==(n=e.children)?"":n)+'\\r\\n <div ref="messageContainer"></div>\\r\\n '),r+"\\r\\n</div>\\r\\n"}},3054:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1480);n.default={form:t.default}},8519:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+(null==(n=e.children.join(""))?"":n)}},455:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8519);n.default={form:t.default}},9336:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n</div>"}},3310:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9336);n.default={form:t.default}},5773:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default={"has-error":"error","is-invalid":"error","formio-tab-panel-active":"active","formio-tab-link-active":"active","formio-tab-link-container-active":"active"}},7407:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table datagrid-table\\r\\n '+(null==(n=e.component.striped?"striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"celled":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"selectable":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"compact":"padded")?"":n)+'\\r\\n " ',e.component.layoutFixed&&(r+=' style="table-layout: fixed;" '),r+=">\\r\\n ",e.hasHeader&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.component.reorder&&(r+="<th></th>"),r+="\\r\\n ",e.columns.forEach((function(t){r+='\\r\\n <th class="'+(null==(n=t.validate&&t.validate.required?"field-required":"")?"":n)+'">\\r\\n '+(null==(n=t.hideLabel?"":e.t(t.label||t.title))?"":n)+"\\r\\n ",t.tooltip&&(r+=' <i ref="tooltip" data-title="'+(null==(n=t.tooltip)?"":n)+'"\\r\\n class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>'),r+="\\r\\n </th>\\r\\n "})),r+="\\r\\n ",e.hasExtraColumn&&(r+='\\r\\n <th class="un-remove-row-column">\\r\\n ',e.hasAddButton&&e.hasTopSubmit&&(r+='\\r\\n <button class="ui button primary dataGrid-addRow" ref="'+(null==(n=e.datagridKey)?"":n)+'-addRow">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n </button>\\r\\n "),r+="\\r\\n </th>\\r\\n "),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody ref="'+(null==(n=e.datagridKey)?"":n)+'-tbody">\\r\\n ',e.rows.forEach((function(t,l){r+="\\r\\n ",e.hasGroups&&e.groups[l]&&(r+='\\r\\n <tr ref="'+(null==(n=e.datagridKey)?"":n)+'-group-header" class="datagrid-group-header'+(null==(n=e.hasToggle?" clickable":"")?"":n)+'">\\r\\n <td ref="'+(null==(n=e.datagridKey)?"":n)+'-group-label" colspan="'+(null==(n=e.numColumns)?"":n)+'" class="datagrid-group-label">\\r\\n '+(null==(n=e.groups[l].label)?"":n)+"\\r\\n </td>\\r\\n </tr>\\r\\n "),r+='\\r\\n <tr ref="'+(null==(n=e.datagridKey)?"":n)+'-row">\\r\\n ',e.component.reorder&&(r+='\\r\\n <td>\\r\\n <button type="button" class="formio-drag-button ui icon button"><i aria-hidden="true"\\r\\n class="bars icon"></i></button>\\r\\n </td>\\r\\n '),r+="\\r\\n ",e.columns.forEach((function(l,a){r+='\\r\\n <td class="td-mobile-column '+(null==(n=1==e.columns.length?"td-column-count-1":"")?"":n)+" "+(null==(n=2==e.columns.length?"td-column-count-2":"")?"":n)+" "+(null==(n=e.columns.length>2&&e.columns.length<5?"td-column-count-medium":"")?"":n)+" "+(null==(n=5==e.columns.length?"td-column-count-5":"")?"":n)+" "+(null==(n=e.columns.length>5?"td-column-count-high":"")?"":n)+'" ref="'+(null==(n=e.datagridKey)?"":n)+'">\\r\\n '+(null==(n=t[l.key])?"":n)+'\\r\\n <h4 class="table-header-custom-mob">'+(null==(n=e.columns[a].label)?"":n)+"</h4>\\r\\n </td>\\r\\n "})),r+="\\r\\n ",e.hasExtraColumn&&(r+="\\r\\n ",e.hasRemoveButtons&&(r+='\\r\\n <td class="un-remove-row-column">\\r\\n <button type="button" class="ui button basic icon removeRow formio-'+(null==(n=e.component.type)?"":n)+'-remove"\\r\\n ref="'+(null==(n=e.datagridKey)?"":n)+'-removeRow">\\r\\n \\x3c!-- <i class="'+(null==(n=e.iconClass("remove"))?"":n)+'"></i> --\\x3e\\r\\n <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'" ref="removeLink" aria-hidden="true"></i>\\r\\n <span class="delete-icon-text">Delete</span>\\r\\n </button>\\r\\n </td>\\r\\n '),r+="\\r\\n ",e.canAddColumn&&(r+='\\r\\n <td ref="'+(null==(n=e.key)?"":n)+'-container">\\r\\n '+(null==(n=e.placeholder)?"":n)+"\\r\\n </td>\\r\\n "),r+="\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.hasAddButton&&e.hasBottomSubmit&&(r+='\\r\\n <tfoot>\\r\\n <tr>\\r\\n <td colspan="'+(null==(n=e.numColumns+1)?"":n)+'">\\r\\n <button class="ui button primary dataGrid-addRow" ref="'+(null==(n=e.datagridKey)?"":n)+'-addRow">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n </button>\\r\\n </td>\\r\\n </tr>\\r\\n </tfoot>\\r\\n "),r+="\\r\\n</table>\\r\\n\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},228:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table datagrid-table\\r\\n '+(null==(n=e.component.striped?"striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"celled":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"selectable":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"compact":"padded")?"":n)+'\\r\\n ">\\r\\n ',e.hasHeader&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.columns.forEach((function(t){r+='\\r\\n <th class="'+(null==(n=t.validate&&t.validate.required?"field-required":"")?"":n)+'">\\r\\n '+(null==(n=t.hideLabel?"":e.t(t.label||t.title))?"":n)+"\\r\\n ",t.tooltip&&(r+=' <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>'),r+="\\r\\n </th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+="\\r\\n <tbody>\\r\\n ",e.rows.forEach((function(t){r+="\\r\\n <tr>\\r\\n ",e.columns.forEach((function(l){r+='\\r\\n <td ref="'+(null==(n=e.datagridKey)?"":n)+'">\\r\\n '+(null==(n=t[l.key])?"":n)+"\\r\\n </td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n"}},5887:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7407),l=r(228);n.default={form:t.default,html:l.default}},6111:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n ',e.dayFirst&&e.showDay&&(r+='\\r\\n <div class="four wide column">\\r\\n <label for="'+(null==(n=e.component.key)?"":n)+'-day" class="label">'+(null==(n=e.t("Day"))?"":n)+"</label>\\r\\n "+(null==(n=e.day)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.showMonth&&(r+='\\r\\n <div class="five wide column">\\r\\n <label for="'+(null==(n=e.component.key)?"":n)+'-month" class="label">'+(null==(n=e.t("Month"))?"":n)+'</label>\\r\\n <div class="un-custom-label">\\r\\n '+(null==(n=e.month)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n ",!e.dayFirst&&e.showDay&&(r+='\\r\\n <div class="four wide column un-column-custom-label-day">\\r\\n \\x3c!-- <label for="'+(null==(n=e.component.key)?"":n)+'-day" class="label">'+(null==(n=e.t("Day"))?"":n)+"</label> --\\x3e\\r\\n "+(null==(n=e.day)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.showYear&&(r+='\\r\\n <div class="seven wide column un-column-custom-label-year">\\r\\n \\x3c!-- <label for="'+(null==(n=e.component.key)?"":n)+'-year" class="label">'+(null==(n=e.t("Year"))?"":n)+"</label> --\\x3e\\r\\n "+(null==(n=e.year)?"":n)+"\\r\\n </div>\\r\\n "),r+='\\r\\n</div>\\r\\n<input name="data[day]" type="hidden" class="form-control" lang="en" value="" ref="input">\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},5743:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6111);n.default={form:t.default}},7839:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-dialog formio-dialog-theme-default">\\r\\n <div class="formio-dialog-overlay" ref="dialogOverlay"></div>\\r\\n <div class="formio-dialog-content" ref="dialogContents" role="dialog">\\r\\n <div ref="dialogContents"></div>\\r\\n <button class="formio-dialog-close float-end btn-sm" aria-label="Close modal window." ref="dialogClose"></button>\\r\\n \\x3c!--\\r\\n <div ref="modalClearChanges">\\r\\n <h3 ref="dialogHeader">'+(null==(n=e.t("Do you want to clear changes?"))?"":n)+'</h3>\\r\\n <div style="display:flex; justify-content: flex-end;">\\r\\n <button ref="dialogCancelButton" class="ui button info">'+(null==(n=e.t("Cancel"))?"":n)+'</button>\\r\\n <button ref="dialogYesButton" class="ui button">'+(null==(n=e.t("Yes, delete it"))?"":n)+"</button>\\r\\n </div>\\r\\n </div> --\\x3e\\r\\n\\r\\n </div>\\r\\n</div>\\r\\n"}},4991:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7839);n.default={form:t.default}},7769:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-table-container">\\r\\n <div class="table-responsive">\\r\\n <table class="table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n ',e.header&&(r+='\\r\\n <thead class="editgrid-table-head">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody class="editgrid-table-body">\\r\\n ',e.rows.forEach((function(t,l){r+='\\r\\n <tr ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="editgrid-actions">\\r\\n <button class="ui button primary" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save",{_userInput:!0}))?"":n)+"</button>\\r\\n ",e.component.removeRow&&(r+='\\r\\n <button class="ui button basic" ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel",{_userInput:!0}))?"":n)+"</button>\\r\\n "),r+="\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n ",e.errors[l]&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.footer&&(r+="\\r\\n <tfoot>\\r\\n <tr>\\r\\n "+(null==(n=e.footer)?"":n)+"\\r\\n </tr>\\r\\n <tfoot>\\r\\n "),r+="\\r\\n </table>\\r\\n </div>\\r\\n</div>\\r\\n",!e.readOnly&&e.hasAddButton&&(r+='\\r\\n<button class="ui button primary" ref="'+(null==(n=e.ref.addRow)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.component.addAnother||"Add Another",{_userInput:!0}))?"":n)+"\\r\\n</button>\\r\\n"),r+="\\r\\n"}},9506:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-table-container">\\r\\n <div class="table-responsive">\\r\\n <table class="table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n ',e.header&&(r+='\\r\\n <thead class="editgrid-table-head">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </thead>\\r\\n "),r+='\\r\\n <tbody class="editgrid-table-body">\\r\\n ',e.rows.forEach((function(t,l){r+='\\r\\n <tr ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="editgrid-actions">\\r\\n <button class="ui button primary"\\r\\n ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save",{_userInput:!0}))?"":n)+"</button>\\r\\n ",e.component.removeRow&&(r+='\\r\\n <button class="ui button basic"\\r\\n ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel",{_userInput:!0}))?"":n)+"</button>\\r\\n "),r+="\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n ",e.errors[l]&&(r+='\\r\\n <td class="editgrid-table-column">\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </td>\\r\\n "),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n ",e.footer&&(r+="\\r\\n <tfoot>\\r\\n <tr>\\r\\n "+(null==(n=e.footer)?"":n)+"\\r\\n </tr>\\r\\n <tfoot>\\r\\n "),r+="\\r\\n </table>\\r\\n </div>\\r\\n</div>\\r\\n"}},8081:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7769),l=r(9506);n.default={form:t.default,html:l.default}},9571:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-listgroup ui celled list un-editgrid-listgroup">\\r\\n \\x3c!-- ',e.header&&(r+='\\r\\n <div class="item list-group-header">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </div>\\r\\n "),r+=" --\\x3e\\r\\n ",e.rows.forEach((function(t,l){r+='\\r\\n <div class="item un-editgrid-item" ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n ',!0===e.openRows[l]?r+="\\r\\n \\x3c!-- Edit HTML --\\x3e\\r\\n "+(null==(n=t)?"":n)+"\\r\\n\\r\\n ":(r+='\\r\\n \\x3c!-- View HTML --\\x3e\\r\\n\\r\\n <div class="un-order-header">\\r\\n <h4 class="un-order-header-title">Order '+(null==(n=l+1)?"":n)+'</h4>\\r\\n <div class="un-row-edit-btns-grp">\\r\\n <button class="ui button basic icon small editRow"><i class="icon edit"></i></button>\\r\\n ',e.rows[l].hasRemoveButtons&&!e.rows[l].hasRemoveButtons()||(r+='\\r\\n <button class="ui button basic icon small removeRow"><i class="icon trash"></i></button>\\r\\n '),r+='\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="un-order-lists">\\r\\n ',e.util.eachComponent(e.component.components,(function(t,a,o,i){r+='\\r\\n\\r\\n <div class="un-order-list-item">\\r\\n <p class="un-order-list-item-label">'+(null==(n=t.label)?"":n)+"</p>\\r\\n ",Object.keys(e.value[l]).forEach((function(a,o){r+="\\r\\n ",Object.keys(e.value[l])[o]===t.key&&(r+='\\r\\n <h4 class="un-order-list-item-value">'+(null==(n=Object.values(e.value[l])[o])?"":n)+"</h4>\\r\\n "),r+="\\r\\n "})),r+="\\r\\n </div>\\r\\n\\r\\n "})),r+="\\r\\n </div>\\r\\n\\r\\n\\r\\n "),r+="\\r\\n\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <div class="editgrid-actions">\\r\\n ',e.component.removeRow&&(r+='\\r\\n <button class="ui button basic primary editGrid-cancelRow" ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel"))?"":n)+"</button>\\r\\n "),r+='\\r\\n <button class="ui button primary editGrid-saveRow" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+='\\r\\n\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n ",e.footer&&(r+='\\r\\n <div class="item list-group-footer">\\r\\n '+(null==(n=e.footer)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n</div>\\r\\n",!e.readOnly&&e.hasAddButton&&(r+='\\r\\n<button class="ui button primary editGrid-addRow" ref="'+(null==(n=e.ref.addRow)?"":n)+'">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i> '+(null==(n=e.t(e.component.addAnother||"Add Another"))?"":n)+"\\r\\n</button>\\r\\n"),r+="\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},6344:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="editgrid-listgroup ui celled list">\\r\\n ',e.header&&(r+='\\r\\n \\x3c!-- <div class="item list-group-header">\\r\\n '+(null==(n=e.header)?"":n)+"\\r\\n </div> --\\x3e\\r\\n "),r+="\\r\\n ",e.rows.forEach((function(t,l){r+='\\r\\n <div class="item" ref="'+(null==(n=e.ref.row)?"":n)+'">\\r\\n '+(null==(n=t)?"":n)+"\\r\\n ",e.openRows[l]&&!e.readOnly&&(r+='\\r\\n <div class="editgrid-actions">\\r\\n ',e.component.removeRow&&(r+='\\r\\n <button class="ui button basic primary editGrid-cancelRow"\\r\\n ref="'+(null==(n=e.ref.cancelRow)?"":n)+'">'+(null==(n=e.t(e.component.removeRow||"Cancel"))?"":n)+"</button>\\r\\n "),r+='\\r\\n <button class="ui button primary editGrid-saveRow" ref="'+(null==(n=e.ref.saveRow)?"":n)+'">'+(null==(n=e.t(e.component.saveRow||"Save"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+='\\r\\n <div class="has-error">\\r\\n <div class="editgrid-row-error help-block">\\r\\n '+(null==(n=e.errors[l])?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n ",e.footer&&(r+='\\r\\n <div class="item list-group-footer">\\r\\n '+(null==(n=e.footer)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n</div>\\r\\n"}},859:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9571),l=r(6344);n.default={form:t.default,html:l.default}},1814:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+="<p>"+(null==(n=e.t("error"))?"":n)+"</p>\\r\\n<ul>\\r\\n ",e.errors.forEach((function(t){r+='\\r\\n <li data-component-key="'+(null==(n=t.keyOrPath)?"":n)+'" aria-label="'+(null==(n=t.message)?"":n)+". "+(null==(n=e.t("errorsListNavigationMessage"))?"":n)+'"\\r\\n ref="errorRef" tabIndex="0" , style="cursor:pointer;"><span>'+(null==(n=t.message)?"":n)+"</span></li>\\r\\n "})),r+="\\r\\n</ul>"}},9540:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1814);n.default={form:t.default}},4542:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="field-wrapper\\r\\n '+(null==(n=e.isRightPosition?"field-wrapper--reverse":"")?"":n)+'">\\r\\n ',e.label.hidden||(r+='\\r\\n <div class="field-label\\r\\n '+(null==(n=e.isRightAlign?"field-label--right":"")?"":n)+'" style="'+(null==(n=e.labelStyles)?"":n)+'">\\r\\n '+(null==(n=e.labelMarkup)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n\\r\\n ",e.label.hidden&&e.label.className&&e.component.validate.required&&(r+='\\r\\n <div class="field-label\\r\\n '+(null==(n=e.isRightAlign?"field-label--right":"")?"":n)+'" style="'+(null==(n=e.labelStyles)?"":n)+'">\\r\\n <label class="'+(null==(n=e.label.className)?"":n)+'"></label>\\r\\n </div>\\r\\n '),r+='\\r\\n\\r\\n <div class="filed-content" style="'+(null==(n=e.contentStyles)?"":n)+'">\\r\\n '+(null==(n=e.element)?"":n)+"\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n",e.component.description&&(r+='\\r\\n<div class="form-text text-muted">'+(null==(n=e.t(e.component.description))?"":n)+"</div>\\r\\n"),r+"\\r\\n"}},5505:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.label.hidden||"bottom"===e.label.labelPosition||(r+="\\r\\n"+(null==(n=e.labelMarkup)?"":n)+"\\r\\n"),r+="\\r\\n\\r\\n",e.label.hidden&&e.label.className&&e.component.validate.required&&(r+='\\r\\n<label class="'+(null==(n=e.label.className)?"":n)+'"></label>\\r\\n'),r+="\\r\\n\\r\\n"+(null==(n=e.element)?"":n)+"\\r\\n",e.label.hidden||"bottom"!==e.label.labelPosition||(r+="\\r\\n"+(null==(n=e.labelMarkup)?"":n)+"\\r\\n"),r+="\\r\\n",e.component.description&&(r+='\\r\\n<div class="help-block">\\r\\n <p class="form-text">'+(null==(n=e.t(e.component.description))?"":n)+"</p>\\r\\n</div>\\r\\n"),r+"\\r\\n"}},825:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5505),l=r(4542);n.default={form:t.default,align:l.default}},7771:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<fieldset>\\r\\n <legend ref="header" class="'+(null==(n=e.component.collapsible?"formio-clickable":"")?"":n)+'">\\r\\n '+(null==(n=e.t(e.component.legend))?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n </legend> ",e.collapsed||(r+='\\r\\n <div class="card-body" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</fieldset>"}},9331:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7771);n.default={form:t.default}},753:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.self.imageUpload?(r+='\\r\\n<div class="un-file-uploades">\\r\\n ',e.files.forEach((function(t){r+="\\r\\n ",console.log("[Template:File] \u{1F4C4} Processing file:",{name:t.originalName||t.name,type:t.type}),r+="\\r\\n\\r\\n ","image"===t.type.split("/")[0]&&(r+='\\r\\n <div class="un-file-upload-item">\\r\\n <div class="un-file-upload-item-image">\\r\\n ',"100%"===e.component.imageSize?r+='\\r\\n\\r\\n <img ref="fileImage" class="fileImageData" src="" id="'+(null==(n=t.compnentId)?"":n)+'"\\r\\n alt="'+(null==(n=t.originalName||t.name)?"":n)+'" style="width:'+(null==(n=e.component.imageSize)?"":n)+';pointer-events: all;" />\\r\\n ':r+='\\r\\n\\r\\n <img ref="fileImage" class="fileImageData" src="" id="'+(null==(n=t.compnentId)?"":n)+'"\\r\\n alt="'+(null==(n=t.originalName||t.name)?"":n)+'" style="width:'+(null==(n=e.component.imageSize)?"":n)+'px;pointer-events: all;" />\\r\\n ',r+="\\r\\n </div>\\r\\n ",e.disabled||(r+='\\r\\n <div class="un-file-upload-item-actions">\\r\\n <button class="ui button basic icon tiny" ref="FileView">\\r\\n <i class="icon eye"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="cropImage">\\r\\n <i class="icon crop"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="annotateImage">\\r\\n <i class="icon pencil square"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="removeLink">\\r\\n <i class="icon trash"></i>\\r\\n </button>\\r\\n '),r+="\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n ","image"!==t.type.split("/")[0]&&(r+='\\r\\n\\r\\n <div class="un-file-upload-item" style="border: 1px solid #e4e8eb;">\\r\\n <div class="un-file-upload-item">\\r\\n <div class="un-file-upload-item-image" style="border: none;height: 120px;">\\r\\n <span ref="fileImage" src="" id="'+(null==(n=t.compnentId)?"":n)+'">'+(null==(n=t.originalName||t.name)?"":n)+"</span>\\r\\n </div>\\r\\n ",e.disabled||(r+='\\r\\n <div class="un-file-upload-item-actions">\\r\\n\\r\\n <button class="ui button basic icon tiny" ref="FileView">\\r\\n <i class="icon eye"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="DownloadFile">\\r\\n <i class="icon download"></i>\\r\\n </button>\\r\\n <button class="ui button basic icon tiny" ref="removeLink">\\r\\n <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'"></i>\\r\\n </button>\\r\\n </div>\\r\\n '),r+="\\r\\n </div>\\r\\n </div>\\r\\n "),r+="\\r\\n "})),r+="\\r\\n</div>\\r\\n"):(r+='\\r\\n<ul class="list-group list-group-striped">\\r\\n <li class="list-group-item list-group-header hidden-xs hidden-sm">\\r\\n <div class="row">\\r\\n ',e.disabled||(r+='\\r\\n <div class="col-md-1"></div>\\r\\n '),r+='\\r\\n <div class="col-md-',e.self.hasTypes?r+="7":r+="9",r+='"><strong>'+(null==(n=e.t("File Name"))?"":n)+'</strong>\\r\\n </div>\\r\\n <div class="col-md-2"><strong>'+(null==(n=e.t("Size"))?"":n)+"</strong></div>\\r\\n ",e.self.hasTypes&&(r+='\\r\\n <div class="col-md-2"><strong>'+(null==(n=e.t("Type"))?"":n)+"</strong></div>\\r\\n "),r+="\\r\\n </div>\\r\\n </li>\\r\\n ",e.files.forEach((function(t){r+='\\r\\n <li class="list-group-item">\\r\\n <div class="row">\\r\\n ',e.disabled||(r+='\\r\\n <div class="col-md-1">\\r\\n </div>\\r\\n '),r+='\\r\\n <div class="col-md-',e.self.hasTypes?r+="7":r+="9",r+='">\\r\\n ',e.component.uploadOnly?r+="\\r\\n "+(null==(n=t.originalName||t.name)?"":n)+"\\r\\n ":r+='\\r\\n <a href="'+(null==(n=t.url||"#")?"":n)+'" target="_blank" ref="fileLink">'+(null==(n=t.originalName||t.name)?"":n)+"</a>\\r\\n ",r+='\\r\\n </div>\\r\\n <div class="col-md-2">'+(null==(n=e.fileSize(t.size))?"":n)+"</div>\\r\\n ",e.self.hasTypes&&!e.disabled&&(r+='\\r\\n <div class="col-md-2">\\r\\n <select class="file-type" ref="fileType">\\r\\n ',e.component.fileTypes.map((function(e){r+='\\r\\n <option class="test" value="'+(null==(n=e.value)?"":n)+'" ',e.label===t.fileType&&(r+='selected="selected" '),r+=">"+(null==(n=e.label)?"":n)+"</option>\\r\\n "})),r+="\\r\\n </select>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.self.hasTypes&&e.disabled&&(r+='\\r\\n <div class="col-md-2">'+(null==(n=t.fileType)?"":n)+"</div>\\r\\n "),r+="\\r\\n </div>\\r\\n </li>\\r\\n "})),r+="\\r\\n</ul>\\r\\n"),r+="\\r\\n",e.disabled||!e.component.multiple&&e.files.length||(r+="\\r\\n",e.self.useWebViewCamera?r+='\\r\\n<div class="fileSelector un-file-selector">\\r\\n <button class="ui button primary" ref="galleryButton"><i class="icon book"></i> '+(null==(n=e.t("Gallery"))?"":n)+'</button>\\r\\n <button class="ui button primary" ref="cameraButton"><i class="icon camera"></i> '+(null==(n=e.t("Camera"))?"":n)+"</button>\\r\\n</div>\\r\\n":e.self.cameraMode?r+='\\r\\n<div class="video-container">\\r\\n <video class="video" autoplay="true" ref="videoPlayer"></video>\\r\\n</div>\\r\\n<div class="upload-camera-btns">\\r\\n <button class="ui button primary" ref="takePictureButton"><i class="icon camera"></i>\\r\\n '+(null==(n=e.t("Take Picture"))?"":n)+'</button>\\r\\n <button class="ui button primary" ref="toggleCameraMode">'+(null==(n=e.t("Switch to file upload"))?"":n)+"</button>\\r\\n</div>\\r\\n":(r+='\\r\\n<div class="fileSelector un-file-selector" ref="fileDrop" '+(null==(n=e.fileDropHidden?"hidden":"")?"":n)+'>\\r\\n <span class="un-upload-icon-box">\\r\\n <i class="'+(null==(n=e.iconClass("cloud-upload"))?"":n)+'"></i>\\r\\n </span>\\r\\n <p class="un-upload-text">\\r\\n <a href="#" ref="fileBrowse" class="browse">\\r\\n '+(null==(n=e.t("Click to upload, "))?"":n)+"\\r\\n </a>\\r\\n "+(null==(n=e.t("drop files to attach"))?"":n)+'\\r\\n </p>\\r\\n <p class="un-upload-text">'+(null==(n=e.t("or"))?"":n)+"\\r\\n ",e.self.imageUpload&&(r+='\\r\\n <a href="#" ref="toggleCameraMode">'+(null==(n=e.t("Use Camera"))?"":n)+"</a>\\r\\n "),r+='\\r\\n </p>\\r\\n <div ref="fileProcessingLoader" class="loader-wrapper" style="display:none;">\\r\\n <div class="loader text-center"></div>\\r\\n </div>\\r\\n</div>\\r\\n'),r+="\\r\\n"),r+="\\r\\n",e.statuses.forEach((function(t){r+='\\r\\n<div class="file '+(null==(n="error"===e.statuses.status?" has-error":"")?"":n)+'">\\r\\n \\x3c!-- <div class="row">\\r\\n <div class="fileName col-form-label col-sm-10">'+(null==(n=t.originalName)?"":n)+' <i class="'+(null==(n=e.iconClass("trash"))?"":n)+'"\\r\\n style="font-size:22px !important;color:red;" ref="fileStatusRemove"></i></div>\\r\\n <div class="fileSize col-form-label col-sm-2 text-right">'+(null==(n=e.fileSize(t.size))?"":n)+'</div>\\r\\n </div> --\\x3e\\r\\n <div class="row">\\r\\n <div class="col-sm-12">\\r\\n ',"progress"===t.status?r+='\\r\\n <div class="progress">\\r\\n <div class="progress-bar" role="progressbar" aria-valuenow="'+(null==(n=t.progress)?"":n)+'" aria-valuemin="0"\\r\\n aria-valuemax="100" style="width: '+(null==(n=t.progress)?"":n)+'%">\\r\\n <span class="sr-only">'+(null==(n=t.progress)?"":n)+"% "+(null==(n=e.t("Complete"))?"":n)+"</span>\\r\\n </div>\\r\\n </div>\\r\\n ":"error"===t.status?r+='\\r\\n <div class="alert alert-danger uv-upload-alert bg-'+(null==(n=t.status)?"":n)+'">'+(null==(n=e.t(t.message))?"":n)+"</div>\\r\\n ":r+='\\r\\n <div class="bg-'+(null==(n=t.status)?"":n)+'">'+(null==(n=e.t(t.message))?"":n)+"</div>\\r\\n ",r+="\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"})),r+="\\r\\n",e.component.storage&&!e.support.hasWarning||(r+='\\r\\n<div class="alert alert-warning">\\r\\n ',e.component.storage||(r+="\\r\\n <p>"+(null==(n=e.t("No storage has been set for this field. File uploads are disabled until storage is set up."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.filereader||(r+="\\r\\n <p>"+(null==(n=e.t("File API & FileReader API not supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.formdata||(r+="\\r\\n <p>"+(null==(n=e.t("XHR2's FormData is not supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n ",e.support.progress||(r+="\\r\\n <p>"+(null==(n=e.t("XHR2's upload progress isn't supported."))?"":n)+"</p>\\r\\n "),r+="\\r\\n</div>\\r\\n"),r+="\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r}},4297:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(753);n.default={form:t.default}},3304:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+="<"+(null==(n=e.tag)?"":n)+' class="formio-component-htmlelement '+(null==(n=e.component.className)?"":n)+'" ref="html" ',e.attrs.forEach((function(e){r+=" "+(null==(n=e.attr)?"":n)+'="'+(null==(n=e.value)?"":n)+'" '})),r+=">"+(null==(n=e.t(e.content))?"":n),e.singleTags&&-1!==e.singleTags.indexOf(e.tag)||(r+="</"+(null==(n=e.tag)?"":n)+">"),r}},8446:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3304);n.default={form:t.default}},3713:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,r){var t={"plus-squre-o":"plus square outline","minus-squre-o":"minus square outline","question-sign":"question circle","remove-circle":"trash alternate outline","new-window":"external alternate","files-o":"file outline",move:"arrows alternate",link:"linkify"};return t.hasOwnProperty(n)&&(n=t[n]),n=(n=(n=n||"").replace(/-/g," ")).replace(/ o$/," outline"),r?"icon ".concat(n," loading"):"icon ".concat(n)}},268:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<i ref="'+(null==(n=e.ref)?"":n)+'" class="'+(null==(n=e.className)?"":n)+'" style="'+(null==(n=e.styles)?"":n)+'">'+(null==(n=e.content)?"":n)+"</i>"}},5226:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(268);n.default={form:t.default}},7582:function(e,n,r){"use strict";var t=this&&this.__assign||function(){return t=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var l in n=arguments[r])Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l]);return e},t.apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var l=r(3861),a=r(90),o=r(9141),i=r(9766),s=r(684),u=r(5575),d=r(5326),c=r(3157),p=r(4985),f=r(563),v=r(9418),m=r(4974),b=r(3054),y=r(8783),g=r(455),h=r(7501),_=r(3310),w=r(5887),x=r(5743),j=r(4991),P=r(859),O=r(8081),M=r(825),k=r(9331),C=r(4297),A=r(8446),E=r(5226),L=r(3713),z=r(773),q=r(5763),R=r(4580),S=r(1217),I=r(7131),N=r(8594),T=r(4640),K=r(2244),B=r(6068),H=r(4040),D=r(3275),F=r(3959),G=r(883),V=r(8555),W=r(362),U=r(9575),Y=r(486),X=r(8162),J=r(4907),$=r(4142),Q=r(1783),Z=r(2053),ee=r(7810),ne=r(1713),re=r(4319),te=r(158),le=r(6957),ae=r(2323),oe=r(9776),ie=r(869),se=r(7231),ue=r(1975),de=r(5861),ce=r(5773),pe=r(9540),fe=r(7639);function ve(){document.querySelectorAll(".editGrid-addRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".dataGrid-addRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editGrid-cancelRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editGrid-saveRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".editRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)})),document.querySelectorAll(".removeRow").forEach((function(e){e.removeEventListener("click",me),e.addEventListener("click",me)}))}function me(e){e.preventDefault(),e.stopPropagation(),ve(),be()}function be(){document.querySelectorAll(".formio-component-select").forEach((function(e){var n=e.querySelector(".choices__list--single"),r=null==n?void 0:n.querySelector(".choices__item--selectable[data-id]");(null==r?void 0:r.getAttribute("data-value"))?e.classList.add("has-value"):e.classList.remove("has-value")})),document.querySelectorAll(".floating-label-wrapper").forEach((function(e){var n=e.getElementsByTagName("input");Array.prototype.forEach.call(n,(function(n){n&&!n.classList.contains("flatpickr-input")&&(n.value&&e.classList.add("field-has-value"),n.value&&n.disabled&&e.classList.add("field-has-value"),n.addEventListener("focus",(function(e){e.target.closest(".floating-label-wrapper").classList.add("field-has-value")})),n.addEventListener("blur",(function(e){var n=e.target,r=e.target,t=!1;r.classList.contains("choices__input")&&r.parentElement.childNodes.forEach((function(e){var n=e;n.classList&&n.classList.contains("choices__list--multiple")&&n.childNodes&&n.childNodes.length&&n.childNodes.length>0&&(t=!0)})),""!==r.value||e.target.classList.contains("active")||t||n.closest(".floating-label-wrapper").classList.remove("field-has-value")})))}));var r=e.getElementsByTagName("textarea")[0];r&&(r.value&&e.classList.add("field-has-value"),r.addEventListener("focus",(function(e){e.target.closest(".floating-label-wrapper").classList.add("field-has-value")})),r.addEventListener("blur",(function(e){var n=e.target;""===e.target.value&&n.closest(".floating-label-wrapper").classList.remove("field-has-value")})))}));var e=document.querySelectorAll(".signature-pad-refresh");Array.prototype.forEach.call(e,(function(e){e.addEventListener("click",(function(e){e.currentTarget.closest(".signature-pad-body").classList.remove("field-has-signature")}))}));var n=document.querySelectorAll(".sign-click-btn");Array.prototype.forEach.call(n,(function(e){e.addEventListener("click",(function(e){e.currentTarget.closest(".signature-pad-body").classList.add("field-has-signature")}))}));var r=document.querySelectorAll(".tab-container"),t=document.querySelectorAll(".un-tab-labels .un-tab-tabular-menu"),l=document.querySelectorAll(".un-tab-header-pagination-after"),a=document.querySelectorAll(".un-tab-header-pagination-before"),o=document.querySelectorAll(".un-has-tab-pagination"),i=document.querySelectorAll(".un-tab-tabular-menu");r.forEach((function(e,n){var r=e.scrollWidth;i[n].scrollWidth-r>0?o[n].classList.add("un-tab-header-pagination-controls-enabled"):o[n].classList.remove("un-tab-header-pagination-controls-enabled"),l.forEach((function(e,n){e.addEventListener("click",(function(){t[n].scrollBy({left:100,behavior:"smooth"})}))})),a.forEach((function(e,n){e.addEventListener("click",(function(){t[n].scrollBy({left:-100,behavior:"smooth"})}))})),t.forEach((function(e,n){e.addEventListener("scroll",(function(){var r=e.scrollLeft,t=e.scrollWidth-e.clientWidth;0===r?a[n].classList.add("un-tab-header-pagination-disabled"):a[n].classList.remove("un-tab-header-pagination-disabled"),r>=t?l[n].classList.add("un-tab-header-pagination-disabled"):l[n].classList.remove("un-tab-header-pagination-disabled")}))}))}))}!function e(){document.body?(new MutationObserver((function(){be()})).observe(document.body,{childList:!0,subtree:!0}),ve()):setTimeout(e,20)}(),n.default=t(t({transform:function(e,n){if(!n)return n;var r={1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine",10:"ten",11:"eleven",12:"twelve",13:"thirteen",14:"fourteen",15:"fifteen",16:"sixteen"},t={primary:"primary",info:"teal",success:"green",danger:"red",warning:"yellow"};switch(e){case"columns":return r.hasOwnProperty(n.toString())?r[n.toString()]:n;case"theme":return t.hasOwnProperty(n.toString())?t[n.toString()]:n;case"class":return this.cssClasses.hasOwnProperty(n.toString())?this.cssClasses[n.toString()]:n}return n},defaultIconset:"icon",iconClass:L.default,cssClasses:ce.default,address:l.default,builder:a.default,builderComponent:o.default,builderComponents:i.default,builderEditForm:s.default,builderPlaceholder:u.default,builderSidebar:d.default,builderSidebarGroup:c.default,builderWizard:p.default,button:f.default,checkbox:v.default,columns:m.default,component:b.default,componentModal:y.default,components:g.default,tableComponents:h.default,container:_.default,datagrid:w.default,day:x.default,dialog:j.default,editgrid:P.default,editgridTable:O.default,field:M.default,fieldset:k.default,file:C.default,html:A.default,icon:E.default,input:z.default,label:q.default,loader:R.default,loading:S.default,map:I.default,message:N.default,modaledit:K.default,modaldialog:T.default,modalPreview:B.default,multipleMasksInput:H.default,multiValueRow:D.default,multiValueTable:F.default,panel:G.default,pdf:V.default,pdfBuilder:W.default,pdfBuilderUpload:U.default,radio:Y.default,resourceAdd:X.default,select:J.default,selectOption:$.default,signature:Q.default,survey:Z.default,tab:ee.default,table:ne.default,tree:re.default},te.default),{webform:le.default,well:ae.default,wizard:oe.default,wizardHeader:ie.default,wizardHeaderClassic:se.default,wizardHeaderVertical:ue.default,wizardNav:de.default,errorsList:pe.default,alert:fe.default})},7557:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";if(Array.prototype.join,r+='<div\\r\\n class="ui floating-label-wrapper '+(null==(n=e.component.editor?"":"input")?"":n)+" fluid "+(null==(n=e.suffix?" right":"")?"":n)+(null==(n=e.prefix||e.suffix?" labeled":"")?"":n)+" "+(null==(n="email"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="phoneNumber"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="url"==e.input.id?"left labeled":"")?"":n)+" "+(null==(n="time"==e.input.id?"right labeled":"")?"":n)+'">\\r\\n ',e.prefix&&(r+='\\r\\n <label class="ui label" ref="prefix">\\r\\n ',e.prefix instanceof HTMLElement?r+="\\r\\n "+(null==(n=e.t(e.prefix.outerHTML))?"":n)+"\\r\\n ":r+="\\r\\n "+(null==(n=e.t(e.prefix))?"":n)+"\\r\\n ",r+="\\r\\n </label>\\r\\n "),r+="\\r\\n\\r\\n ","email"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon envelope" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n ","phoneNumber"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon phone" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n ","url"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="prefix">\\r\\n <i class="icon linkify" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n\\r\\n\\r\\n ",!e.component.editor&&!e.component.wysiwyg){for(var t in r+="\\r\\n <"+(null==(n=e.input.type)?"":n)+' ref="'+(null==(n=e.input.ref?e.input.ref:"input")?"":n)+'" ',e.input.attr)r+=" ","datetime"===e.component.type&&""!=e.component.format&&(r+=' placeholder="'+(null==(n=e.component.format)?"":n)+'" '),r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';r+=' id="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">'+(null==(n=e.input.content)?"":n)+"</"+(null==(n=e.input.type)?"":n)+">\\r\\n ","signature"===e.component.type||e.component.editor||e.component.wysiwyg||(r+="\\r\\n ",e.component.hideLabel||(r+='\\r\\n <label\\r\\n class="floating-label '+(null==(n=e.component.validate.required?"floating-label-required":"")?"":n)+(null==(n=e.instance.inDataGrid?"floating-label-is-hidden-dp":"")?"":n)+'"\\r\\n for="email">',"day"!=e.component.type&&(r+=null==(n=e.component.label)?"":n),r+="</label>\\r\\n "),r+="\\r\\n "),r+="\\r\\n "}return r+="\\r\\n\\r\\n\\r\\n ",(e.component.editor||e.component.wysiwyg)&&(r+='\\r\\n <div ref="input"></div>\\r\\n '),r+="\\r\\n ",e.component.showCharCount&&(r+='\\r\\n <span class="ui right floated" ref="charcount"></span>\\r\\n '),r+="\\r\\n ",e.component.showWordCount&&(r+='\\r\\n <span class="ui right floated" ref="wordcount"></span>\\r\\n '),r+="\\r\\n ",e.suffix&&(r+='\\r\\n <div class="ui label" ref="suffix">\\r\\n ',e.suffix instanceof HTMLElement?r+="\\r\\n "+(null==(n=e.t(e.suffix.outerHTML))?"":n)+"\\r\\n ":r+="\\r\\n "+(null==(n=e.t(e.suffix))?"":n)+"\\r\\n ",r+="\\r\\n </div>\\r\\n "),r+="\\r\\n\\r\\n ","time"==e.input.id&&(r+='\\r\\n <div class="ui label" ref="suffix">\\r\\n <i class="icon clock" ref="icon"></i>\\r\\n </div>\\r\\n '),r+="\\r\\n</div>\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-input-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},3182:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.value?r+=null==(n=e.value)?"":n:r+="-",r+"</div>\\r\\n"}},773:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7557),l=r(3182);n.default={form:t.default,html:l.default}},1259:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,"textfield"!==e.component.type&&"datetime"!==e.component.type&&"number"!==e.component.type&&"textarea"!==e.component.type&&"currency"!==e.component.type&&"time"!==e.component.type&&"phoneNumber"!==e.component.type&&"url"!==e.component.type&&"email"!==e.component.type&&"password"!==e.component.type&&"tags"!==e.component.type&&(r+='\\r\\n\\r\\n<label class="'+(null==(n=e.label.className)?"":n)+'" for="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'">\\r\\n ',e.label.hidden||(r+="\\r\\n "+(null==(n=e.t(e.component.label))?"":n)+"\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted" data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n "),r+="\\r\\n</label>\\r\\n"),r+"\\r\\n"}},5763:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1259);n.default={form:t.default}},998:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return'<div class="formio-loader">\\r\\n <div class="loader-wrapper">\\r\\n <div class="ui active centered inline loader"></div>\\r\\n </div>\\r\\n</div>'}},4580:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(998);n.default={form:t.default}},3001:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"Loading...\\r\\n"}},1217:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3001);n.default={form:t.default}},2051:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div id="'+(null==(n=e.mapId)?"":n)+'" style="min-height: 300px; height: calc(100vh - 600px);" ref="gmapElement"></div>'}},7131:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2051);n.default={form:t.default}},1524:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui pointing red basic label '+(null==(n=e.level)?"":n)+'">\\r\\n '+(null==(n=e.message)?"":n)+"\\r\\n</div>"}},8594:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1524);n.default={form:t.default}},3622:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<label id="l-'+(null==(n=e.component.key)?"":n)+'" class="control-label '+(null==(n=e.label.className)?"":n)+'">\\r\\n '+(null==(n=e.t(e.component.label,{_userInput:!0}))?"":n)+'\\r\\n \\x3c!-- <span ref="modalLabelValue" class="visually-hidden">. '+(null==(n="signature"===e.component.type?e.self.getValueAsString(e.previewText):e.previewText)?"":n)+'</span> --\\x3e\\r\\n</label>\\r\\n<span class="visually-hidden" ref="modalPreviewLiveRegion" aria-live="assertive"></span>\\r\\n<button style="text-align: left !important; height: 40px !important;" lang="en"\\r\\n class="ui button info open-modal-button form-control '+(null==(n=e.openModalBtnClasses||"")?"":n)+'" ref="openModal"\\r\\n aria-labelledby="l-'+(null==(n=e.component.key)?"":n)+'">\\r\\n '+(null==(n=e.previewText)?"":n)+'\\r\\n</button>\\r\\n<div class="formio-errors invalid-feedback">\\r\\n '+(null==(n=e.messages)?"":n)+"\\r\\n</div>\\r\\n"}},6068:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3622);n.default={form:t.default}},6906:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-dialog formio-dialog-theme-default formio-modaledit-dialog">\\r\\n <div ref="overlay" class="formio-dialog-overlay"></div>\\r\\n <div ref="content" class="formio-modaledit-content">\\r\\n <button ref="close" type="button" role="button" class="ui button primary formio-modaledit-close">\\r\\n '+(null==(n=e.t("Close"))?"":n)+'\\r\\n </button>\\r\\n <div ref="inner" class="reset-margins"></div>\\r\\n </div>\\r\\n</div>'}},4640:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6906);n.default={form:t.default}},8854:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div ref="container" class="formio-modaledit-view-container">\\r\\n <button ref="edit" type="button" role="button" class="ui button warning formio-modaledit-edit">\\r\\n <i class="'+(null==(n=e.iconClass("edit"))?"":n)+'"></i>\\r\\n </button>\\r\\n <div ref="input" class="modaledit-view-inner reset-margins">'+(null==(n=e.content)?"":n)+"</div>\\r\\n</div>"}},2244:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8854);n.default={form:t.default}},5139:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<tr ref="row">\\r\\n <td width="80%">\\r\\n '+(null==(n=e.element)?"":n)+"\\r\\n </td>\\r\\n ",e.disabled||(r+='\\r\\n <td width="20%">\\r\\n <button type="button" class="ui icon button" ref="removeRow">\\r\\n <i class="trash icon"></i>\\r\\n </button>\\r\\n </td>\\r\\n '),r+"\\r\\n</tr>\\r\\n"}},3275:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5139);n.default={form:t.default}},7607:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui celled table">\\r\\n <tbody>\\r\\n '+(null==(n=e.rows)?"":n)+"\\r\\n ",e.disabled||(r+='\\r\\n <tr>\\r\\n <td colspan="2">\\r\\n <button class="ui button primary" ref="addButton"><i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.addAnother))?"":n)+"</button>\\r\\n </td>\\r\\n </tr>\\r\\n "),r+"\\r\\n </tbody>\\r\\n</table>"}},3959:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7607);n.default={form:t.default}},2850:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<div class="input-group formio-multiple-mask-container" ref="'+(null==(n=e.input.ref?e.input.ref:"input")?"":n)+'">\\r\\n <select class="form-control formio-multiple-mask-select" id="'+(null==(n=e.key)?"":n)+'-mask" ref="select" ',e.input.attr.disabled&&(r+="disabled"),r+=">\\r\\n ",e.selectOptions.forEach((function(e){r+='\\r\\n <option value="'+(null==(n=e.value)?"":n)+'">'+(null==(n=e.label)?"":n)+"</option>\\r\\n "})),r+='\\r\\n </select>\\r\\n <input ref="mask" ',e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=">\\r\\n</div>"}},4040:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2850);n.default={form:t.default}},6235:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui padded grid un-accordion">\\r\\n ',(!e.component.hideLabel||e.builder||e.component.collapsible||e.component.tooltip)&&(r+='\\r\\n <div class="ui top attached block header '+(null==(n=e.component.customClass)?"":n)+' row">\\r\\n <h3 class="ui column un-accordion-header" ref="header">\\r\\n ',e.component.hideLabel&&!e.builder||(r+="\\r\\n "+(null==(n=e.t(e.component.title))?"":n)+"\\r\\n "),r+="\\r\\n ",e.component.collapsible&&(r+='\\r\\n <i class="formio-collapse-icon '+(null==(n=e.iconClass(e.collapsed?"plus":"minus"))?"":n)+' text-muted"\\r\\n data-title="Collapse Panel"></i>\\r\\n '),r+="\\r\\n ",e.component.tooltip&&(r+='\\r\\n <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted"\\r\\n data-tooltip="'+(null==(n=e.component.tooltip)?"":n)+'"></i>\\r\\n\\r\\n \\x3c!-- <div class="ui icon button" data-position="top left" data-inverted=""> --\\x3e\\r\\n \\x3c!-- <i ref="tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'"></i> --\\x3e\\r\\n \\x3c!-- </div> --\\x3e\\r\\n '),r+="\\r\\n </h3>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.collapsed&&!e.builder||(r+='\\r\\n <div class="ui bottom attached segment un-panel-body" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</div>\\r\\n"}},883:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6235);n.default={form:t.default}},6327:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="pdf-upload formio-component-file">\\r\\n <h3 class="label">'+(null==(n=e.t("Upload a PDF File"))?"":n)+'</h3>\\r\\n <input type="file" style="opacity: 0; position: absolute;" tabindex="-1" accept=".pdf" ref="hiddenFileInputElement">\\r\\n <div class="fileSelector" ref="fileDrop">\\r\\n <span ref="dragDropText">\\r\\n <i class="'+(null==(n=e.iconClass("cloud-upload"))?"":n)+'"></i>'+(null==(n=e.t("Drop pdf to start, or"))?"":n)+' <a href="#"\\r\\n ref="fileBrowse" class="browse">'+(null==(n=e.t("browse"))?"":n)+'</a>\\r\\n </span>\\r\\n <div class="progress pdf-progress" ref="uploadProgressWrapper" style="display:none;">\\r\\n <div class="progress-bar" ref="uploadProgress" role="progressbar" aria-valuenow="0" aria-valuemin="0"\\r\\n aria-valuemax="100"></div>\\r\\n </div>\\r\\n </div>\\r\\n <div class="alert alert-danger" ref="uploadError">\\r\\n\\r\\n </div>\\r\\n</div>'}},9575:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6327);n.default={form:t.default}},8540:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio builder row formbuilder">\\r\\n <div class="col-xs-4 col-sm-3 col-md-2 formcomponents">\\r\\n '+(null==(n=e.sidebar)?"":n)+'\\r\\n </div>\\r\\n <div class="col-xs-8 col-sm-9 col-md-10 formarea" ref="form">\\r\\n <div class="formio-drop-zone" ref="iframeDropzone"></div>\\r\\n '+(null==(n=e.form)?"":n)+"\\r\\n </div>\\r\\n</div>"}},362:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8540);n.default={form:t.default}},9523:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="'+(null==(n=e.classes)?"":n)+'" ref="webform">\\r\\n <span data-noattach="true" ref="zoomIn" style="position:absolute;right:10px;top:10px;cursor:pointer;"\\r\\n class="ui button basic primary no-disable">\\r\\n <i class="'+(null==(n=e.iconClass("zoom-in"))?"":n)+'"></i>\\r\\n </span>\\r\\n <span data-noattach="true" ref="zoomOut" style="position:absolute;right:10px;top:60px;cursor:pointer;"\\r\\n class="ui button basic primary no-disable">\\r\\n <i class="'+(null==(n=e.iconClass("zoom-out"))?"":n)+'"></i>\\r\\n </span>\\r\\n <div data-noattach="true" ref="iframeContainer"></div>\\r\\n '+(null==(n=e.submitButton)?"":n)+"\\r\\n</div>\\r\\n"}},8555:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9523);n.default={form:t.default}},5520:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="fields '+(null==(n=e.inline?"inline":"grouped")?"":n)+'">\\r\\n ',e.values.forEach((function(t){for(var l in r+='\\r\\n <div class="field">\\r\\n <div class="ui '+(null==(n="radio"===e.input.attr.type?"radio":"")?"":n)+' checkbox" ref="wrapper">\\r\\n <'+(null==(n=e.input.type)?"":n)+' ref="input" ',e.input.attr)r+=" "+(null==(n=l)?"":n)+'="'+(null==(n=e.input.attr[l])?"":n)+'" ';r+=' value="'+(null==(n=t.value)?"":n)+'" ',(e.value===t.value||"object"==typeof e.value&&e.value.hasOwnProperty(t.value)&&e.value[t.value])&&(r+=" checked=true "),r+=" ",t.disabled&&(r+=" disabled=true "),r+='\\r\\n id="'+(null==(n=e.instance.root&&e.instance.root.id)?"":n)+"-"+(null==(n=e.id)?"":n)+"-"+(null==(n=e.row)?"":n)+"-"+(null==(n=t.value)?"":n)+'">\\r\\n <label class="" for="'+(null==(n=e.instance.root&&e.instance.root.id)?"":n)+"-"+(null==(n=e.id)?"":n)+"-"+(null==(n=e.row)?"":n)+"-"+(null==(n=t.value)?"":n)+'">\\r\\n <span>'+(null==(n=e.t(t.label))?"":n)+"</span>\\r\\n </label>\\r\\n </div>\\r\\n </div>\\r\\n "})),r+="\\r\\n</div>\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-radio-field">This field is required</p>\\r\\n'),r+="\\r\\n"}},9375:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,(r+='<div ref="value">\\r\\n ')+"\\r\\n "+(null==(n=e.values.filter((function(n){return e.value===n.value||"object"==typeof e.value&&e.value.hasOwnProperty(n.value)&&e.value[n.value]})).map((function(e){})).join(", "))?"":n)+"\\r\\n</div>"}},486:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5520),l=r(9375);n.default={form:t.default,html:l.default}},3844:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<table class="ui table celled">\\r\\n <tbody>\\r\\n <tr>\\r\\n <td>\\r\\n '+(null==(n=e.element)?"":n)+'\\r\\n </td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td colspan="2">\\r\\n <button class="ui button primary" ref="addResource">\\r\\n <i class="'+(null==(n=e.iconClass("plus"))?"":n)+'"></i>\\r\\n '+(null==(n=e.t(e.component.addResourceLabel||"Add Resource"))?"":n)+"\\r\\n </button>\\r\\n </td>\\r\\n </tr>\\r\\n </tbody>\\r\\n</table>"}},8162:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3844);n.default={form:t.default}},3576:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+="<option "+(null==(n=e.selected?'selected="selected"':"")?"":n)+" value='"+(null==(n=e.option.value)?"":n)+"' ",e.attrs)r+="\\r\\n "+(null==(n=t)?"":n)+'="'+(null==(n=e.attrs[t])?"":n)+'" ';return r+">\\r\\n "+(null==(n=e.t(e.option.label))?"":n)+"\\r\\n</option>"}},4151:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.selected&&(r+=null==(n=e.t(e.option.label))?"":n),r}},4142:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(3576),l=r(4151);n.default={form:t.default,html:l.default}},1843:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";for(var t in Array.prototype.join,r+='<select ref="'+(null==(n=e.input.ref?e.input.ref:"selectContainer")?"":n)+'" class="ui search dropdown" '+(null==(n=e.input.multiple?"multiple":"")?"":n)+" ",e.input.attr)r+=" "+(null==(n=t)?"":n)+'="'+(null==(n=e.input.attr[t])?"":n)+'" ';return r+=" ",e.input.attr.id||(r+=' id="'+(null==(n=e.instance.id)?"":n)+"-"+(null==(n=e.component.key)?"":n)+'" '),r+=">"+(null==(n=e.selectOptions)?"":n)+'</select>\\r\\n<input type="text" class="formio-select-autocomplete-input" ref="autocompleteInput" ',e.input.attr.autocomplete&&(r+=' autocomplete="'+(null==(n=e.input.attr.autocomplete)?"":n)+'" '),r+=' tabindex="-1" />\\r\\n\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field on-select-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},8616:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div ref="value">',e.value?r+=null==(n=e.self.itemValueForHTMLMode(e.value))?"":n:r+="-",r+"</div>\\r\\n"}},4907:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1843),l=r(8616);n.default={form:t.default,html:l.default}},1991:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+=(null==(n=e.element)?"":n)+'\\r\\n\\r\\n<div class="signature-pad-body"\\r\\n style="width: '+(null==(n=e.component.width)?"":n)+";height: "+(null==(n=e.component.height)?"":n)+';padding:0;margin:0;"\\r\\n tabindex="'+(null==(n=e.component.tabindex||0)?"":n)+'" ref="padBody">\\r\\n <div class="signature-info-box">\\r\\n ',e.component.footer&&(r+='\\r\\n <div class="signature-pad-footer">\\r\\n '+(null==(n=e.t(e.component.footer))?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.component.isEnableClicktoSign&&(r+='\\r\\n <div class="click-to-sign-box">\\r\\n <p class="click-to-sign-label">Or</p>\\r\\n \\x3c!-- <button class="ui primary mini button sign-click-btn" ref="clicktoSign">'+(null==(n=e.t("Click to Sign"))?"":n)+'</button> --\\x3e\\r\\n <a class="sign-click-btn" ref="clicktoSign">'+(null==(n=e.t("Click To Sign"))?"":n)+"</a>\\r\\n </div>\\r\\n "),r+='\\r\\n </div>\\r\\n\\r\\n <a class="ui basic button mini icon signature-pad-refresh" ref="refresh">\\r\\n <i class="'+(null==(n=e.iconClass("refresh"))?"":n)+'"></i>\\r\\n </a>\\r\\n <canvas class="signature-pad-canvas" height="'+(null==(n=e.component.height)?"":n)+'" ref="canvas"></canvas>\\r\\n <img style="width: 100%;display: none;" ref="signatureImage">\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n',e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">This field is required</p>\\r\\n'),r+"\\r\\n"}},956:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return'<img style="width: 100%;" ref="signatureImage">\\r\\n'}},1783:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(1991),l=r(956);n.default={form:t.default,html:l.default}},7029:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table striped celled un-survey-table">\\r\\n <thead>\\r\\n <tr>\\r\\n <th></th>\\r\\n ',e.component.values.forEach((function(t){r+='\\r\\n <th style="text-align: center;">'+(null==(n=e.t(t.label))?"":n)+"</th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n <tbody>\\r\\n ",e.component.questions.forEach((function(t){r+="\\r\\n <tr>\\r\\n <td>"+(null==(n=e.t(t.label))?"":n)+"</td>\\r\\n ",e.component.values.forEach((function(l){r+='\\r\\n <td style="text-align: center;">\\r\\n <div class="ui checkbox radio un-survey-checkbox">\\r\\n <input type="radio" name="'+(null==(n=e.self.getInputName(t))?"":n)+'" value="'+(null==(n=l.value)?"":n)+'"\\r\\n id="'+(null==(n=e.key)?"":n)+"-"+(null==(n=t.value)?"":n)+"-"+(null==(n=l.value)?"":n)+'" ref="input">\\r\\n <label class="" for="'+(null==(n=e.key)?"":n)+"-"+(null==(n=t.value)?"":n)+"-"+(null==(n=l.value)?"":n)+'">'+(null==(n=l.label)?"":n)+"</label>\\r\\n </div>\\r\\n </td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n\\r\\n\\r\\n",e.component.hideLabel&&e.component.validate.required&&(r+='\\r\\n<p class="form-required-text-field">Above fields are required</p>\\r\\n'),r+="\\r\\n"}},4062:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table striped celled un-survey-table">\\r\\n <tbody>\\r\\n ',e.component.questions.forEach((function(t){r+="\\r\\n <tr>\\r\\n <th>"+(null==(n=e.t(t.label))?"":n)+"</th>\\r\\n <td>\\r\\n ",e.component.values.forEach((function(l){r+="\\r\\n ",e.value&&e.value.hasOwnProperty(t.value)&&e.value[t.value]===l.value&&(r+="\\r\\n "+(null==(n=e.t(l.label))?"":n)+"\\r\\n "),r+="\\r\\n "})),r+="\\r\\n </td>\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>\\r\\n"}},2053:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(7029),l=r(4062);n.default={form:t.default,html:l.default}},6105:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.component.components.forEach((function(t,l){r+='\\r\\n<h4 class="ui top attached block header">'+(null==(n=e.t(t.label))?"":n)+'</h4>\\r\\n<div class="ui bottom attached segment">\\r\\n '+(null==(n=e.tabComponents[l])?"":n)+"\\r\\n</div>\\r\\n"})),r}},6660:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="tab-container'+(null==(n=e.component.verticalLayout?" card-vertical":"")?"":n)+'">\\r\\n <div class="un-tab-header un-has-tab-pagination '+(null==(n=e.component.verticalLayout?"un-tab-header-vertical":"")?"":n)+'">\\r\\n <div class="un-tab-header-pagination un-tab-header-pagination-before">\\r\\n <i class="angle left icon"></i>\\r\\n </div>\\r\\n\\r\\n <div class="un-tab-labels">\\r\\n <div class="ui top attached un-tab-tabular-menu tabular menu'+(null==(n=e.component.verticalLayout?" nav-tabs-vertical":"")?"":n)+'">\\r\\n ',e.component.components.forEach((function(t,l){r+='\\r\\n <a class="item'+(null==(n=e.currentTab===l?" active":"")?"":n)+'" role="presentation"\\r\\n ref="'+(null==(n=e.tabLinkKey)?"":n)+'">'+(null==(n=e.t(t.label))?"":n)+"</a>\\r\\n "})),r+='\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <div class="un-tab-header-pagination un-tab-header-pagination-after">\\r\\n <i class="angle right icon"></i>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n ',e.component.components.forEach((function(t,l){r+='\\r\\n <div role="tabpanel" class="ui bottom attached tab segment'+(null==(n=e.currentTab===l?" active":"")?"":n)+'"\\r\\n ref="'+(null==(n=e.tabKey)?"":n)+'">'+(null==(n=e.tabComponents[l])?"":n)+"</div>\\r\\n "})),r+="\\r\\n</div>\\r\\n"}},7810:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6105),l=r(6660);n.default={flat:t.default,form:l.default}},9213:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.children.forEach((function(e){r+='\\r\\n<td class="editgrid-table-column">\\r\\n '+(null==(n=e)?"":n)+"\\r\\n</td>\\r\\n"})),r}},7501:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9213);n.default={form:t.default}},969:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<table class="ui table\\r\\n '+(null==(n=e.component.striped?"table-striped":"")?"":n)+"\\r\\n "+(null==(n=e.component.bordered?"table-bordered":"")?"":n)+"\\r\\n "+(null==(n=e.component.hover?"table-hover":"")?"":n)+"\\r\\n "+(null==(n=e.component.condensed?"table-sm":"")?"":n)+'\\r\\n ">\\r\\n \\x3c!-- <caption class="visually-hidden">'+(null==(n=e.t(e.component.label))?"":n)+"</caption> --\\x3e\\r\\n ",e.component.header&&e.component.header.length>0&&(r+="\\r\\n <thead>\\r\\n <tr>\\r\\n ",e.component.header.forEach((function(t){r+="\\r\\n <th>"+(null==(n=e.t(t))?"":n)+"</th>\\r\\n "})),r+="\\r\\n </tr>\\r\\n </thead>\\r\\n "),r+="\\r\\n <tbody>\\r\\n ",e.tableComponents.forEach((function(t,l){r+='\\r\\n <tr ref="row-'+(null==(n=e.id)?"":n)+'">\\r\\n ',t.forEach((function(t,a){r+='\\r\\n <td ref="'+(null==(n=e.tableKey)?"":n)+"-"+(null==(n=l)?"":n)+'" ',e.cellClassName&&(r+=' class="'+(null==(n=e.cellClassName)?"":n)+'" '),r+=">\\r\\n "+(null==(n=t)?"":n)+"</td>\\r\\n "})),r+="\\r\\n </tr>\\r\\n "})),r+="\\r\\n </tbody>\\r\\n</table>"}},1713:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(969);n.default={form:t.default}},95:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.node.isRoot?r+='\\r\\n<div class="ui relaxed list">\\r\\n <div class="item" ref="root" role="listitem">\\r\\n ':r+='\\r\\n <div ref="node" class="item tree__level" role="listitem">\\r\\n ',r+="\\r\\n ",e.content&&(r+='\\r\\n <div ref="content" class="tree__node-content content">\\r\\n '+(null==(n=e.content)?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.childNodes&&e.childNodes.length&&(r+='\\r\\n <div ref="childNodes" class="tree__node-children list" role="list">\\r\\n '+(null==(n=e.childNodes.join(""))?"":n)+"\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.node.isRoot?r+="\\r\\n </div>\\r\\n </div>\\r\\n ":r+="\\r\\n</div>\\r\\n",r}},4319:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(95);n.default={form:t.default}},8438:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="node-edit">\\r\\n <div ref="nodeEdit">'+(null==(n=e.children)?"":n)+"</div>\\r\\n ",e.readOnly||(r+='\\r\\n <div class="node-actions">\\r\\n <button ref="saveNode" class="ui mini primary button saveNode">'+(null==(n=e.t("Save"))?"":n)+'</button>\\r\\n <button ref="cancelNode" class="ui mini negative button cancelNode">'+(null==(n=e.t("Cancel"))?"":n)+"\\r\\n </div>\\r\\n "),r+"\\r\\n</div>"}},158:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(8438),l=r(4271);n.default={treeView:{form:l.default},treeEdit:{form:t.default}}},4271:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui grid stackable">\\r\\n <div class="row">\\r\\n ',e.values.forEach((function(e){r+='\\r\\n <div class="two wide column">\\r\\n '+(null==(n=e)?"":n)+"\\r\\n </div>\\r\\n "})),r+='\\r\\n <div class="five wide column">\\r\\n <div class="ui mini right floated buttons">\\r\\n ',e.node.hasChildren&&(r+='\\r\\n <button ref="toggleNode" class="ui button toggleNode">'+(null==(n=e.t(e.node.collapsed?"Expand":"Collapse"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n '),r+="\\r\\n ",e.readOnly||(r+='\\r\\n <button ref="addChild" class="ui button primary addChild">'+(null==(n=e.t("Add"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n <button ref="editNode" class="ui button editNode">'+(null==(n=e.t("Edit"))?"":n)+'</button>\\r\\n <div class="or"></div>\\r\\n <button ref="removeNode" class="ui button negative removeNode">'+(null==(n=e.t("Delete"))?"":n)+"</button>\\r\\n ",e.node.revertAvailable&&(r+='\\r\\n <div class="or"></div>\\r\\n <button ref="revertNode" class="ui button negative revertNode">'+(null==(n=e.t("Revert"))?"":n)+"</button>\\r\\n "),r+="\\r\\n "),r+="\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n"}},5644:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="ui visible message"><p>'+(null==(n=e.t(e.component.title))?"":n)+"</p></div>\\r\\n"}},7805:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="'+(null==(n=e.classes)?"":n)+' ui form un-form-wrapper" ref="webform" novalidate>'+(null==(n=e.children)?"":n)+"</div>\\r\\n"}},6957:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(5644),l=r(7805);n.default={form:l.default,builder:t.default}},4219:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,e.disabled&&"textarea"==e.component.type&&!e.instance?.inDataGrid&&(r+='\\r\\n <label class="label">'+(null==(n=e.component.label)?"":n)+"</label>\\r\\n"),r+'\\r\\n\\r\\n<div class="ui segment '+(null==(n=e.disabled&&"textarea"==e.component.type?"un-segment-disabled":"")?"":n)+'">\\r\\n <div class="content" ref="'+(null==(n=e.nestedKey)?"":n)+'">\\r\\n '+(null==(n=e.children)?"":n)+"\\r\\n </div>\\r\\n</div>\\r\\n"}},2323:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(4219);n.default={form:t.default}},2047:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <div class=" ui stackable grid" style="border-bottom:0;">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <div class="classic-pagination-page four wide computer eight wide tablet sixteen wide mobile column\\r\\n '+(null==(n=e.currentPage<l?" disabled":"")?"":n)+"\\r\\n "+(null==(n=e.currentPage===l?" active":"")?"":n)+"\\r\\n "+(null==(n=e.currentPage>l?" complete":"")?"":n)+'" style="padding: 0;">\\r\\n <div class="ui center aligned header classic-pagination-title">'+(null==(n=e.t(t.title,{_userInput:!0}))?"":n)+"</div>\\r\\n ",e.panels.length>1&&(r+='\\r\\n <div class="classic-pagination-progress" style="border-radius: 0;">\\r\\n <div class="classic-pagination-progress-bar"></div>\\r\\n </div>\\r\\n '),r+='\\r\\n <span ref="'+(null==(n=e.wizardKey)?"":n)+'-link" class="classic-pagination-dot" style="top: 45px;"></span>\\r\\n </div>\\r\\n '})),r+="\\r\\n </div>\\r\\n</nav>"}},7231:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(2047);n.default={form:t.default}},6871:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <ul class="ui vertical fluid tabular menu">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <li class=" item page-item'+(null==(n=e.currentPage===l?" active":"")?"":n)+'" style="cursor: pointer;">\\r\\n <span class="page-link" ref="'+(null==(n=e.wizardKey)?"":n)+'-link" style="margin-left: 0px;">\\r\\n '+(null==(n=e.t(t.title,{_userInput:!0}))?"":n)+"\\r\\n ",t.tooltip&&e.currentPage===l&&(r+='\\r\\n <i ref="'+(null==(n=e.wizardKey)?"":n)+'-tooltip" class="'+(null==(n=e.iconClass("question-sign"))?"":n)+' text-muted"\\r\\n data-tooltip="'+(null==(n=t.tooltip)?"":n)+'"></i>\\r\\n '),r+="\\r\\n </span>\\r\\n </li>\\r\\n "})),r+="\\r\\n </ul>\\r\\n</nav>"}},1975:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6871);n.default={form:t.default}},565:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<nav class="un-wizard-header" aria-label="navigation" id="'+(null==(n=e.wizardKey)?"":n)+'-header" ref="'+(null==(n=e.wizardKey)?"":n)+'-header">\\r\\n <div class="un-wizard-header-content">\\r\\n ',e.form.companyLogo&&(r+='\\r\\n <div class="un-wizard-header-logo">\\r\\n <img src="'+(null==(n=e.form.companyLogo)?"":n)+'" alt="">\\r\\n </div>\\r\\n '),r+='\\r\\n <h1 class="un-wizard-header-title">'+(null==(n=e.form.title)?"":n)+'</h1>\\r\\n <p class="un-wizard-header-description">'+(null==(n=e.form.description)?"":n)+'</p>\\r\\n </div>\\r\\n <div class="un-wizard-step-scrollbar"></div>\\r\\n <div class="ui steps">\\r\\n ',e.panels.forEach((function(t,l){r+='\\r\\n <a class="'+(null==(n=e.currentPage===l?" active":"")?"":n)+" "+(null==(n=e.currentPage>l?" completed":"")?"":n)+' step"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-link">\\r\\n <div class="content">\\r\\n <h4 class="title">\\r\\n <span class="step-icon">\\r\\n ',e.currentPage>l&&(r+='\\r\\n <i class="'+(null==(n=e.iconClass("check"))?"":n)+'"></i>\\r\\n '),r+="\\r\\n </span>\\r\\n "+(null==(n=t.title)?"":n)+"\\r\\n ",t.tooltip&&e.currentPage===l&&(r+='\\r\\n <span data-tooltip="'+(null==(n=e.wizardPageTooltip)?"":n)+'" data-position="right center">\\r\\n <i class="'+(null==(n=e.iconClass("question-sign"))?"":n)+'"></i>\\r\\n </span>\\r\\n '),r+="\\r\\n </h4>\\r\\n </div>\\r\\n </a>\\r\\n "})),r+="\\r\\n </div>\\r\\n</nav>\\r\\n"}},869:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(565);n.default={form:t.default}},6997:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui un-wizard-footer" id="'+(null==(n=e.wizardKey)?"":n)+'-nav">\\r\\n ',e.buttons.cancel&&(r+='\\r\\n <div class="item un-wizard-footer-step un-wizard-footer-step-cancel">\\r\\n <button class="ui button basic primary btn-wizard-nav-cancel"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-cancel">'+(null==(n=e.t("cancel"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.previous&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-previous"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'-previous">'+(null==(n=e.t("previous"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.next&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-next" ref="'+(null==(n=e.wizardKey)?"":n)+'-next">'+(null==(n=e.t("next"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+="\\r\\n ",e.buttons.submit&&(r+='\\r\\n <div class="item un-wizard-footer-step">\\r\\n <button class="ui button primary btn-wizard-nav-submit" ref="'+(null==(n=e.wizardKey)?"":n)+'-submit">'+(null==(n=e.t("submit"))?"":n)+"</button>\\r\\n </div>\\r\\n "),r+'\\r\\n</div>\\r\\n\\r\\n\\r\\n\\x3c!-- Submit popup. Add this "un-popup-active" class to show the popup --\\x3e\\r\\n<div class="un-popup un-popup-wizard-succes-popup">\\r\\n <div class="un-popup-overlay"></div>\\r\\n <div class="un-popup-content wizard-form-submit-message">\\r\\n <button class="ui button basic icon small un-popup-close-btn"><i class="icon close"></i></button>\\r\\n <span class="un-popup-message-icon">\\r\\n <i class="check icon"></i>\\r\\n </span>\\r\\n <h2 class="un-message-title">Successfully submitted.</h2>\\r\\n <p class="un-message-description">Thank you! Your form has been successfully submitted.</p>\\r\\n <button class="ui button primary fluid un-popup-btn-ok">Ok</button>\\r\\n </div>\\r\\n</div>\\r\\n'}},5861:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(6997);n.default={form:t.default}},9469:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return""+'<div class="formio-wizard-builder-component-title">'+(null==(n=e.t(e.component.title))?"":n)+"</div>\\r\\n"}},7082:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n,r="";return Array.prototype.join,r+='<div class="ui form '+(null==(n=e.className)?"":n)+'">\\r\\n <div class="un-wizard-wrapper" style="position: relative;">\\r\\n ',"wizardHeaderVertical"===e.wizardHeaderType?r+='\\r\\n <div class="ui stackable grid">\\r\\n <div class="three wide computer sixteen wide tablet sixteen wide mobile column">\\r\\n '+(null==(n=e.wizardHeader)?"":n)+'\\r\\n </div>\\r\\n <div class="one wide computer one wide mobile one wide tablet column"></div>\\r\\n <div class="wizard-page un-wizard-body ten wide computer fourteen wide tablet fourteen wide mobiles column"\\r\\n ref="'+(null==(n=e.wizardKey)?"":n)+'">\\r\\n '+(null==(n=e.components)?"":n)+'\\r\\n </div>\\r\\n </div>\\r\\n <div class="ui grid stackable" style="margin-top: 10px;">\\r\\n <div class="four wide column"></div>\\r\\n <div class="twelve wide column">\\r\\n '+(null==(n=e.wizardNav)?"":n)+"\\r\\n </div>\\r\\n </div>\\r\\n ":r+="\\r\\n "+(null==(n=e.wizardHeader)?"":n)+'\\r\\n <div class="wizard-page un-wizard-body" ref="'+(null==(n=e.wizardKey)?"":n)+'">\\r\\n '+(null==(n=e.components)?"":n)+"\\r\\n </div>\\r\\n "+(null==(n=e.wizardNav)?"":n)+"\\r\\n ",r+"\\r\\n </div>\\r\\n</div>\\r\\n"}},9776:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=r(9469),l=r(7082);n.default={form:l.default,builder:t.default}}},n={};function r(t){var l=n[t];if(void 0!==l)return l.exports;var a=n[t]={exports:{}};return e[t].call(a.exports,a,a.exports,r),a.exports}var t={};return(()=>{"use strict";var e=t;Object.defineProperty(e,"__esModule",{value:!0});var n=r(9969);e.default={framework:"semantic",templates:n.default}})(),t})()));
|
|
47642
47718
|
|
|
47643
47719
|
// === SCRIPT_SEPARATOR ===
|
|
47644
47720
|
|
|
@@ -48640,6 +48716,8 @@ function sendEventCallback({
|
|
|
48640
48716
|
|
|
48641
48717
|
const dataStr = safeStringify(eventStructure);
|
|
48642
48718
|
|
|
48719
|
+
console.log('[Common] \u{1F4E4} sendEventCallback()', { type: eventStructure.type, message: eventStructure.message || eventStructure.errorMessage });
|
|
48720
|
+
|
|
48643
48721
|
if (window.ReactNativeWebView) {
|
|
48644
48722
|
window.ReactNativeWebView.postMessage(dataStr);
|
|
48645
48723
|
} else {
|
|
@@ -48648,6 +48726,7 @@ function sendEventCallback({
|
|
|
48648
48726
|
}
|
|
48649
48727
|
|
|
48650
48728
|
function showFormView() {
|
|
48729
|
+
console.log('[Common] \u{1F504} showFormView() \u2014 switching to form view');
|
|
48651
48730
|
const formHeader = document.getElementById("form-header");
|
|
48652
48731
|
const formEl = document.getElementById("formio");
|
|
48653
48732
|
const stickyFooter = document.getElementById("sticky-footer");
|
|
@@ -48665,6 +48744,7 @@ function showFormView() {
|
|
|
48665
48744
|
}
|
|
48666
48745
|
|
|
48667
48746
|
function showCommentsView() {
|
|
48747
|
+
console.log('[Common] \u{1F4AC} showCommentsView() \u2014 switching to comments view');
|
|
48668
48748
|
const formHeader = document.getElementById("form-header");
|
|
48669
48749
|
const formEl = document.getElementById("formio");
|
|
48670
48750
|
const stickyFooter = document.getElementById("sticky-footer");
|
|
@@ -49256,6 +49336,7 @@ function injectBarcodeModalStyles() {
|
|
|
49256
49336
|
// Listen for "getLocation" custom event
|
|
49257
49337
|
document.addEventListener("getLocation", function (event) {
|
|
49258
49338
|
const { compObj, controlId } = event.detail;
|
|
49339
|
+
console.log('[CustomLocation] \u{1F4CD} getLocation event received', { controlId });
|
|
49259
49340
|
window.compId = controlId;
|
|
49260
49341
|
getLocationFromBrowser(controlId); // Pass controlId to getLocationFromBrowser
|
|
49261
49342
|
});
|
|
@@ -49264,6 +49345,7 @@ document.addEventListener("getLocation", function (event) {
|
|
|
49264
49345
|
function getLocationFromBrowser(componentID) {
|
|
49265
49346
|
// Check if running in Cordova environment
|
|
49266
49347
|
const isCordova = !!(window.cordova || window.PhoneGap || window.phonegap);
|
|
49348
|
+
console.log('[CustomLocation] \u{1F4CD} getLocationFromBrowser()', { componentID, isCordova });
|
|
49267
49349
|
|
|
49268
49350
|
if (!navigator.geolocation) {
|
|
49269
49351
|
showLocationError("Geolocation is not supported by this device.");
|
|
@@ -49313,6 +49395,7 @@ function requestLocation(componentID) {
|
|
|
49313
49395
|
navigator.geolocation.getCurrentPosition(
|
|
49314
49396
|
(position) => {
|
|
49315
49397
|
const data = \`\${position.coords.latitude}, \${position.coords.longitude}\`;
|
|
49398
|
+
console.log('[CustomLocation] \u2705 Location retrieved', { componentID, coords: data });
|
|
49316
49399
|
const customEvent = new CustomEvent("setLocationFromApp", {
|
|
49317
49400
|
detail: {
|
|
49318
49401
|
componentID: componentID,
|
|
@@ -49409,7 +49492,7 @@ function showLocationError(message) {
|
|
|
49409
49492
|
|
|
49410
49493
|
(function(){
|
|
49411
49494
|
document.addEventListener("openCamera", function (event) {
|
|
49412
|
-
console.log(
|
|
49495
|
+
console.log('[CustomCamera] \u{1F4F7} openCamera event received', { controlId: event.detail.controlId });
|
|
49413
49496
|
|
|
49414
49497
|
const { controlId } = event.detail;
|
|
49415
49498
|
window.compId = controlId;
|
|
@@ -49421,12 +49504,14 @@ document.addEventListener("openCamera", function (event) {
|
|
|
49421
49504
|
|
|
49422
49505
|
// If React Native on iOS/Android, send event to native side
|
|
49423
49506
|
if (isReactNative) {
|
|
49507
|
+
console.log('[CustomCamera] \u{1F4F1} Forwarding to React Native side');
|
|
49424
49508
|
window.ReactNativeWebView.postMessage(JSON.stringify({
|
|
49425
49509
|
type: 'openCamera',
|
|
49426
49510
|
controlId: controlId
|
|
49427
49511
|
}));
|
|
49428
49512
|
return;
|
|
49429
49513
|
}
|
|
49514
|
+
console.log('[CustomCamera] \u{1F4F9} Opening browser camera modal');
|
|
49430
49515
|
openCameraModal();
|
|
49431
49516
|
});
|
|
49432
49517
|
|
|
@@ -49532,6 +49617,7 @@ async function startCameraStream(deviceId = null) {
|
|
|
49532
49617
|
}
|
|
49533
49618
|
|
|
49534
49619
|
const streamPromise = navigator.mediaDevices.getUserMedia(constraints);
|
|
49620
|
+
console.log('[CustomCamera] \u{1F504} Requesting camera stream...', { deviceId });
|
|
49535
49621
|
|
|
49536
49622
|
const timeoutPromise = new Promise((_, reject) =>
|
|
49537
49623
|
setTimeout(() => reject(new Error("PermissionTimeout")), 6000)
|
|
@@ -49592,6 +49678,7 @@ async function startCameraStream(deviceId = null) {
|
|
|
49592
49678
|
video.play().then(() => {
|
|
49593
49679
|
showUI();
|
|
49594
49680
|
cameraStarted = true;
|
|
49681
|
+
console.log('[CustomCamera] \u2705 Camera stream live');
|
|
49595
49682
|
}).catch(err => {
|
|
49596
49683
|
console.error("Video play error:", err);
|
|
49597
49684
|
if (!video.paused) {
|
|
@@ -49689,6 +49776,7 @@ function captureImage() {
|
|
|
49689
49776
|
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
49690
49777
|
|
|
49691
49778
|
capturedImageData = canvas.toDataURL("image/jpeg", 0.8);
|
|
49779
|
+
console.log('[CustomCamera] \u{1F4F8} Image captured, dispatching capureImageData event', { controlId: window.compId });
|
|
49692
49780
|
|
|
49693
49781
|
// Stop camera stream
|
|
49694
49782
|
if (videoStream) {
|
|
@@ -49708,6 +49796,7 @@ function captureImage() {
|
|
|
49708
49796
|
}
|
|
49709
49797
|
});
|
|
49710
49798
|
document.dispatchEvent(event);
|
|
49799
|
+
console.log('[CustomCamera] \u{1F4E1} capureImageData dispatched to SmartFile');
|
|
49711
49800
|
|
|
49712
49801
|
// Send success event
|
|
49713
49802
|
if (window.sendEventCallback) {
|
|
@@ -49739,10 +49828,11 @@ function closeCameraModal() {
|
|
|
49739
49828
|
try {
|
|
49740
49829
|
videoStream.getTracks().forEach(track => track.stop());
|
|
49741
49830
|
} catch (e) {
|
|
49742
|
-
console.warn(
|
|
49831
|
+
console.warn('[CustomCamera] \u26A0\uFE0F Error stopping tracks', e);
|
|
49743
49832
|
}
|
|
49744
49833
|
videoStream = null;
|
|
49745
49834
|
cameraStarted = false;
|
|
49835
|
+
console.log('[CustomCamera] \u23F9 Camera closed');
|
|
49746
49836
|
}
|
|
49747
49837
|
|
|
49748
49838
|
// Completely remove from DOM to reset video element state for iOS
|
|
@@ -50597,6 +50687,7 @@ see README and LICENSE for details
|
|
|
50597
50687
|
// === SCRIPT_SEPARATOR ===
|
|
50598
50688
|
|
|
50599
50689
|
let flag = false;
|
|
50690
|
+
|
|
50600
50691
|
class SmartStorage {
|
|
50601
50692
|
constructor() { }
|
|
50602
50693
|
|
|
@@ -50604,77 +50695,127 @@ class SmartStorage {
|
|
|
50604
50695
|
return "SmartStorage";
|
|
50605
50696
|
}
|
|
50606
50697
|
|
|
50698
|
+
static _dbPromise = null;
|
|
50699
|
+
static _listenerAdded = false;
|
|
50700
|
+
|
|
50701
|
+
static preInitialize() {
|
|
50702
|
+
return new SmartStorage().createDb();
|
|
50703
|
+
}
|
|
50704
|
+
|
|
50607
50705
|
// Create Db
|
|
50608
50706
|
createDb() {
|
|
50707
|
+
if (SmartStorage._dbPromise) {
|
|
50708
|
+
return SmartStorage._dbPromise;
|
|
50709
|
+
}
|
|
50710
|
+
|
|
50609
50711
|
if (!("indexedDB" in window)) {
|
|
50610
|
-
console.
|
|
50611
|
-
return;
|
|
50712
|
+
console.warn("[SmartStorage] IndexedDB not supported in this browser");
|
|
50713
|
+
return Promise.reject("IndexedDB not supported");
|
|
50612
50714
|
}
|
|
50613
|
-
document.addEventListener(
|
|
50614
|
-
"deleteOriginalFileFromDB",
|
|
50615
|
-
async (e) => {
|
|
50616
|
-
// if (!flag) {
|
|
50617
|
-
// flag = true;
|
|
50618
|
-
console.log("listening deleteOriginalFileFromDB event");
|
|
50619
|
-
await this.deleteFile(e.detail.fileId);
|
|
50620
|
-
// }
|
|
50621
|
-
},
|
|
50622
|
-
false
|
|
50623
|
-
);
|
|
50624
50715
|
|
|
50625
|
-
|
|
50716
|
+
// Prevent duplicate event listeners
|
|
50717
|
+
if (!SmartStorage._listenerAdded) {
|
|
50718
|
+
document.addEventListener(
|
|
50719
|
+
"deleteOriginalFileFromDB",
|
|
50720
|
+
async (e) => {
|
|
50721
|
+
console.log("[SmartStorage] \u{1F5D1}\uFE0F deleteOriginalFileFromDB event received", { fileId: e.detail.fileId });
|
|
50722
|
+
await this.deleteFile(e.detail.fileId);
|
|
50723
|
+
},
|
|
50724
|
+
false
|
|
50725
|
+
);
|
|
50726
|
+
SmartStorage._listenerAdded = true;
|
|
50727
|
+
}
|
|
50728
|
+
|
|
50729
|
+
SmartStorage._dbPromise = new Promise((resolve, reject) => {
|
|
50626
50730
|
const request = indexedDB.open("Forms-Attachments", 3);
|
|
50731
|
+
console.log("[SmartStorage] \u{1F4E6} Opening IndexedDB: Forms-Attachments v3");
|
|
50627
50732
|
|
|
50628
|
-
request.onsuccess =
|
|
50733
|
+
request.onsuccess = (event) => {
|
|
50629
50734
|
const db = event.target.result;
|
|
50735
|
+
|
|
50630
50736
|
if (!db.objectStoreNames.contains("Files")) {
|
|
50631
|
-
console.warn("[SmartStorage] Files store missing
|
|
50737
|
+
console.warn("[SmartStorage] \u26A0\uFE0F Files store missing \u2014 recreating DB...");
|
|
50632
50738
|
db.close();
|
|
50739
|
+
|
|
50633
50740
|
const deleteReq = indexedDB.deleteDatabase("Forms-Attachments");
|
|
50741
|
+
|
|
50634
50742
|
deleteReq.onsuccess = () => {
|
|
50635
50743
|
const retryReq = indexedDB.open("Forms-Attachments", 3);
|
|
50744
|
+
|
|
50636
50745
|
retryReq.onupgradeneeded = (e) => {
|
|
50637
50746
|
const newDb = e.target.result;
|
|
50638
|
-
newDb.
|
|
50747
|
+
if (!newDb.objectStoreNames.contains("Files")) {
|
|
50748
|
+
newDb.createObjectStore("Files");
|
|
50749
|
+
}
|
|
50750
|
+
};
|
|
50751
|
+
|
|
50752
|
+
retryReq.onsuccess = (e) => {
|
|
50753
|
+
console.log("[SmartStorage] \u2705 DB recreated successfully");
|
|
50754
|
+
resolve(e.target.result);
|
|
50755
|
+
};
|
|
50756
|
+
|
|
50757
|
+
retryReq.onerror = (e) => {
|
|
50758
|
+
SmartStorage._dbPromise = null;
|
|
50759
|
+
reject(e);
|
|
50639
50760
|
};
|
|
50640
|
-
retryReq.onsuccess = (e) => resolve(e.target.result);
|
|
50641
|
-
retryReq.onerror = (e) => reject(e);
|
|
50642
50761
|
};
|
|
50643
|
-
|
|
50762
|
+
|
|
50763
|
+
deleteReq.onerror = (e) => {
|
|
50764
|
+
SmartStorage._dbPromise = null;
|
|
50765
|
+
reject(e);
|
|
50766
|
+
};
|
|
50767
|
+
|
|
50644
50768
|
return;
|
|
50645
50769
|
}
|
|
50770
|
+
|
|
50646
50771
|
resolve(db);
|
|
50772
|
+
console.log("[SmartStorage] \u2705 DB opened successfully");
|
|
50647
50773
|
};
|
|
50648
50774
|
|
|
50649
|
-
request.onupgradeneeded =
|
|
50775
|
+
request.onupgradeneeded = (e) => {
|
|
50650
50776
|
const db = e.target.result;
|
|
50651
50777
|
if (!db.objectStoreNames.contains("Files")) {
|
|
50652
50778
|
db.createObjectStore("Files");
|
|
50653
50779
|
}
|
|
50654
|
-
resolve(db); // Note: resolve here calls with incomplete db during upgrade transaction, but it's typically fine for callers waiting on db handle.
|
|
50655
|
-
// Ideally we resolve in onsuccess, but existing code had it this way too?
|
|
50656
|
-
// Actually, in the original code, it resolved in BOTH. Resolving in upgrade gives the transaction-bound db.
|
|
50657
|
-
// But Standard practice is waiting for success.
|
|
50658
|
-
// The original code had \`resolve(db)\` in \`onupgradeneeded\`.
|
|
50659
50780
|
};
|
|
50660
50781
|
|
|
50661
|
-
request.onerror =
|
|
50782
|
+
request.onerror = (e) => {
|
|
50783
|
+
SmartStorage._dbPromise = null;
|
|
50662
50784
|
reject(e);
|
|
50663
50785
|
};
|
|
50664
50786
|
});
|
|
50787
|
+
|
|
50788
|
+
return SmartStorage._dbPromise;
|
|
50789
|
+
}
|
|
50790
|
+
|
|
50791
|
+
// Helper to safely check platform
|
|
50792
|
+
isPlatform() {
|
|
50793
|
+
return (
|
|
50794
|
+
window.platform &&
|
|
50795
|
+
(window.platform.isBrowser ||
|
|
50796
|
+
window.platform.isAndroid ||
|
|
50797
|
+
window.platform.iosPlatform)
|
|
50798
|
+
);
|
|
50665
50799
|
}
|
|
50666
50800
|
|
|
50667
|
-
// Upload a file
|
|
50668
|
-
async uploadFile(file, fileName) {
|
|
50801
|
+
// Upload a file to indexedDb
|
|
50802
|
+
async uploadFile(file, fileName, dir, progressCallback) {
|
|
50803
|
+
console.log("[SmartStorage] \u2191 uploadFile() called", { fileName, size: (file.size / 1024).toFixed(1) + " KB", type: file.type });
|
|
50669
50804
|
const db = await this.createDb();
|
|
50670
50805
|
const reader = new FileReader();
|
|
50806
|
+
|
|
50671
50807
|
return new Promise((resolve, reject) => {
|
|
50808
|
+
// Trigger initial progress
|
|
50809
|
+
if (typeof progressCallback === "function") {
|
|
50810
|
+
progressCallback({ loaded: 0, total: file.size });
|
|
50811
|
+
}
|
|
50812
|
+
|
|
50672
50813
|
reader.onload = (e) => {
|
|
50673
|
-
const blobObject = new Blob([file], {
|
|
50674
|
-
|
|
50675
|
-
|
|
50676
|
-
const id = uuid.v4(blobObject);
|
|
50814
|
+
const blobObject = new Blob([file], { type: file.type });
|
|
50815
|
+
|
|
50816
|
+
const id = uuid.v4(); // FIXED
|
|
50677
50817
|
const url = e.target.result;
|
|
50818
|
+
|
|
50678
50819
|
const data = {
|
|
50679
50820
|
id,
|
|
50680
50821
|
data: blobObject,
|
|
@@ -50684,25 +50825,33 @@ class SmartStorage {
|
|
|
50684
50825
|
url,
|
|
50685
50826
|
mode: "A",
|
|
50686
50827
|
};
|
|
50687
|
-
|
|
50688
|
-
|
|
50689
|
-
window.platform.isAndroid ||
|
|
50690
|
-
window.platform.iosPlatform
|
|
50691
|
-
) {
|
|
50828
|
+
|
|
50829
|
+
if (this.isPlatform()) {
|
|
50692
50830
|
const trans = db.transaction(["Files"], "readwrite");
|
|
50693
|
-
const
|
|
50831
|
+
const store = trans.objectStore("Files");
|
|
50832
|
+
|
|
50833
|
+
const addReq = store.put(data, id);
|
|
50694
50834
|
|
|
50695
|
-
addReq.onerror =
|
|
50696
|
-
console.
|
|
50697
|
-
|
|
50835
|
+
addReq.onerror = (e) => {
|
|
50836
|
+
console.error("[SmartStorage] Error storing data:", e);
|
|
50837
|
+
reject(e);
|
|
50698
50838
|
};
|
|
50699
|
-
|
|
50839
|
+
|
|
50840
|
+
trans.onerror = (e) => reject(e);
|
|
50841
|
+
|
|
50842
|
+
trans.oncomplete = () => {
|
|
50843
|
+
console.log("[SmartStorage] \u2705 File stored in IndexedDB", { id, fileName, size: (file.size / 1024).toFixed(1) + " KB" });
|
|
50844
|
+
// Success progress
|
|
50845
|
+
if (typeof progressCallback === "function") {
|
|
50846
|
+
progressCallback({ loaded: file.size, total: file.size });
|
|
50847
|
+
}
|
|
50848
|
+
|
|
50700
50849
|
resolve({
|
|
50701
50850
|
storage: "SmartStorage",
|
|
50702
50851
|
name: fileName,
|
|
50703
50852
|
size: file.size,
|
|
50704
50853
|
type: file.type,
|
|
50705
|
-
url
|
|
50854
|
+
url,
|
|
50706
50855
|
id,
|
|
50707
50856
|
mode: "A",
|
|
50708
50857
|
});
|
|
@@ -50713,88 +50862,72 @@ class SmartStorage {
|
|
|
50713
50862
|
name: fileName,
|
|
50714
50863
|
size: file.size,
|
|
50715
50864
|
type: file.type,
|
|
50716
|
-
url
|
|
50865
|
+
url,
|
|
50717
50866
|
id,
|
|
50718
50867
|
mode: "A",
|
|
50719
50868
|
});
|
|
50720
50869
|
}
|
|
50721
50870
|
};
|
|
50722
50871
|
|
|
50723
|
-
reader.onerror = () =>
|
|
50724
|
-
return reject(this);
|
|
50725
|
-
};
|
|
50872
|
+
reader.onerror = (e) => reject(e);
|
|
50726
50873
|
|
|
50727
50874
|
reader.readAsDataURL(file);
|
|
50728
50875
|
});
|
|
50729
50876
|
}
|
|
50730
50877
|
|
|
50731
50878
|
async deleteFile(Id) {
|
|
50732
|
-
if (Id)
|
|
50733
|
-
|
|
50734
|
-
|
|
50735
|
-
// const reader = new FileReader();
|
|
50879
|
+
if (!Id) return;
|
|
50880
|
+
console.log("[SmartStorage] \u{1F5D1}\uFE0F deleteFile() called", { Id });
|
|
50881
|
+
const db = await this.createDb();
|
|
50736
50882
|
|
|
50737
|
-
|
|
50738
|
-
|
|
50739
|
-
|
|
50740
|
-
|
|
50741
|
-
window.platform.iosPlatform
|
|
50742
|
-
) {
|
|
50743
|
-
// reader.onload = () => {
|
|
50744
|
-
const trans = db.transaction(["Files"], "readwrite");
|
|
50745
|
-
const store = trans.objectStore("Files").delete(Id);
|
|
50883
|
+
return new Promise((resolve, reject) => {
|
|
50884
|
+
if (this.isPlatform()) {
|
|
50885
|
+
const trans = db.transaction(["Files"], "readwrite");
|
|
50886
|
+
const store = trans.objectStore("Files");
|
|
50746
50887
|
|
|
50747
|
-
|
|
50748
|
-
trans.oncomplete = () => {
|
|
50749
|
-
const result = store.result;
|
|
50750
|
-
flag = true;
|
|
50751
|
-
resolve(result);
|
|
50752
|
-
};
|
|
50753
|
-
};
|
|
50888
|
+
const req = store.delete(Id);
|
|
50754
50889
|
|
|
50755
|
-
|
|
50756
|
-
|
|
50890
|
+
req.onsuccess = () => {
|
|
50891
|
+
trans.oncomplete = () => {
|
|
50892
|
+
console.log("[SmartStorage] \u2705 File deleted from IndexedDB", { Id });
|
|
50893
|
+
flag = true;
|
|
50894
|
+
resolve(true);
|
|
50757
50895
|
};
|
|
50758
|
-
|
|
50896
|
+
};
|
|
50759
50897
|
|
|
50760
|
-
|
|
50761
|
-
|
|
50762
|
-
|
|
50763
|
-
|
|
50764
|
-
|
|
50765
|
-
|
|
50766
|
-
}
|
|
50767
|
-
});
|
|
50768
|
-
}
|
|
50898
|
+
req.onerror = (e) => reject(e);
|
|
50899
|
+
trans.onerror = (e) => reject(e);
|
|
50900
|
+
} else {
|
|
50901
|
+
resolve(true);
|
|
50902
|
+
}
|
|
50903
|
+
});
|
|
50769
50904
|
}
|
|
50770
50905
|
|
|
50771
|
-
// Download File
|
|
50906
|
+
// Download File from indexedDb
|
|
50772
50907
|
async downloadFile(file) {
|
|
50773
|
-
console.log("
|
|
50774
|
-
|
|
50908
|
+
console.log("[SmartStorage] \u2193 downloadFile() called", { id: file.id, name: file.originalName || file.name });
|
|
50909
|
+
|
|
50775
50910
|
const db = await this.createDb();
|
|
50776
50911
|
const reader = new FileReader();
|
|
50912
|
+
|
|
50777
50913
|
return new Promise((resolve, reject) => {
|
|
50778
|
-
if (
|
|
50779
|
-
window.platform.isBrowser ||
|
|
50780
|
-
window.platform.isAndroid ||
|
|
50781
|
-
window.platform.iosPlatform
|
|
50782
|
-
) {
|
|
50914
|
+
if (this.isPlatform()) {
|
|
50783
50915
|
if (!file.id) {
|
|
50784
|
-
|
|
50785
|
-
|
|
50786
|
-
|
|
50787
|
-
|
|
50788
|
-
const byteNumbers = new Array(
|
|
50789
|
-
for (let i = 0; i <
|
|
50790
|
-
byteNumbers[i] =
|
|
50916
|
+
const index = file.url.indexOf(",");
|
|
50917
|
+
const strImage = file.url.substring(index + 1);
|
|
50918
|
+
|
|
50919
|
+
const binStr = atob(strImage);
|
|
50920
|
+
const byteNumbers = new Array(binStr.length);
|
|
50921
|
+
for (let i = 0; i < binStr.length; i++) {
|
|
50922
|
+
byteNumbers[i] = binStr.charCodeAt(i);
|
|
50791
50923
|
}
|
|
50924
|
+
|
|
50792
50925
|
const byteArray = new Uint8Array(byteNumbers);
|
|
50793
|
-
const blobObject = new Blob([byteArray], {
|
|
50794
|
-
|
|
50795
|
-
});
|
|
50926
|
+
const blobObject = new Blob([byteArray], { type: file.type });
|
|
50927
|
+
|
|
50796
50928
|
reader.onload = () => {
|
|
50797
50929
|
const id = file.uid;
|
|
50930
|
+
|
|
50798
50931
|
const data = {
|
|
50799
50932
|
id,
|
|
50800
50933
|
data: blobObject,
|
|
@@ -50804,111 +50937,106 @@ class SmartStorage {
|
|
|
50804
50937
|
url: file.url,
|
|
50805
50938
|
mode: file.mode || "G",
|
|
50806
50939
|
};
|
|
50940
|
+
|
|
50807
50941
|
const trans = db.transaction(["Files"], "readwrite");
|
|
50808
|
-
const
|
|
50809
|
-
const store = trans.objectStore("Files").get(data.id);
|
|
50942
|
+
const store = trans.objectStore("Files");
|
|
50810
50943
|
|
|
50811
|
-
addReq
|
|
50812
|
-
|
|
50813
|
-
|
|
50814
|
-
|
|
50944
|
+
const addReq = store.put(data, id);
|
|
50945
|
+
const getReq = store.get(id);
|
|
50946
|
+
|
|
50947
|
+
addReq.onerror = (e) => reject(e);
|
|
50948
|
+
trans.onerror = (e) => reject(e);
|
|
50949
|
+
|
|
50950
|
+
getReq.onsuccess = () => {
|
|
50951
|
+
if (!getReq.result) return reject("File not found");
|
|
50815
50952
|
|
|
50816
|
-
store.onsuccess = () => {
|
|
50817
50953
|
trans.oncomplete = () => {
|
|
50818
50954
|
const reader1 = new FileReader();
|
|
50819
|
-
const dbFile =
|
|
50820
|
-
|
|
50821
|
-
reader1.onload = () => {
|
|
50822
|
-
resolve(store.result);
|
|
50823
|
-
};
|
|
50955
|
+
const dbFile = getReq.result.data;
|
|
50824
50956
|
|
|
50825
|
-
reader1.
|
|
50826
|
-
|
|
50827
|
-
};
|
|
50957
|
+
reader1.onload = () => resolve(getReq.result);
|
|
50958
|
+
reader1.onerror = (e) => reject(e);
|
|
50828
50959
|
|
|
50829
50960
|
reader1.readAsDataURL(dbFile);
|
|
50830
50961
|
};
|
|
50831
50962
|
};
|
|
50832
50963
|
|
|
50833
|
-
|
|
50834
|
-
return reject(this);
|
|
50835
|
-
};
|
|
50836
|
-
};
|
|
50837
|
-
|
|
50838
|
-
reader.onerror = () => {
|
|
50839
|
-
return reject(this);
|
|
50964
|
+
getReq.onerror = (e) => reject(e);
|
|
50840
50965
|
};
|
|
50841
50966
|
|
|
50967
|
+
reader.onerror = (e) => reject(e);
|
|
50842
50968
|
reader.readAsDataURL(blobObject);
|
|
50843
50969
|
} else {
|
|
50844
50970
|
const trans = db.transaction(["Files"], "readonly");
|
|
50845
|
-
const store = trans.objectStore("Files")
|
|
50846
|
-
store.onsuccess = () => {
|
|
50847
|
-
trans.oncomplete = () => {
|
|
50848
|
-
let dbFile;
|
|
50849
|
-
if (store.result) {
|
|
50850
|
-
dbFile = store.result.data;
|
|
50851
|
-
}
|
|
50852
|
-
reader.onload = () => {
|
|
50853
|
-
resolve(store.result);
|
|
50854
|
-
};
|
|
50971
|
+
const store = trans.objectStore("Files");
|
|
50855
50972
|
|
|
50856
|
-
|
|
50857
|
-
|
|
50858
|
-
|
|
50973
|
+
const req = store.get(file.id);
|
|
50974
|
+
|
|
50975
|
+
req.onsuccess = () => {
|
|
50976
|
+
if (!req.result) {
|
|
50977
|
+
console.warn("[SmartStorage] \u26A0\uFE0F File not found in IndexedDB", { id: file.id });
|
|
50978
|
+
return reject("File not found");
|
|
50979
|
+
}
|
|
50980
|
+
|
|
50981
|
+
trans.oncomplete = () => {
|
|
50982
|
+
const dbFile = req.result.data;
|
|
50983
|
+
console.log("[SmartStorage] \u2705 File fetched from IndexedDB", { id: file.id, size: (dbFile.size / 1024).toFixed(1) + " KB" });
|
|
50984
|
+
reader.onload = () => resolve(req.result);
|
|
50985
|
+
reader.onerror = (e) => reject(e);
|
|
50859
50986
|
|
|
50860
50987
|
reader.readAsDataURL(dbFile);
|
|
50861
50988
|
};
|
|
50862
50989
|
};
|
|
50863
50990
|
|
|
50864
|
-
|
|
50865
|
-
|
|
50866
|
-
};
|
|
50991
|
+
req.onerror = (e) => reject(e);
|
|
50992
|
+
trans.onerror = (e) => reject(e);
|
|
50867
50993
|
}
|
|
50868
50994
|
} else {
|
|
50869
|
-
const blobObject = new Blob([file], {
|
|
50870
|
-
type: file.type,
|
|
50871
|
-
});
|
|
50872
|
-
reader.readAsDataURL(blobObject);
|
|
50873
|
-
reader.onload = () => {
|
|
50874
|
-
resolve(file);
|
|
50875
|
-
};
|
|
50995
|
+
const blobObject = new Blob([file], { type: file.type });
|
|
50876
50996
|
|
|
50877
|
-
reader.
|
|
50878
|
-
|
|
50879
|
-
|
|
50997
|
+
reader.onload = () => resolve(file);
|
|
50998
|
+
reader.onerror = (e) => reject(e);
|
|
50999
|
+
|
|
51000
|
+
reader.readAsDataURL(blobObject);
|
|
50880
51001
|
}
|
|
50881
51002
|
});
|
|
50882
51003
|
}
|
|
50883
51004
|
|
|
50884
51005
|
async markFileAsDeleted(fileId) {
|
|
50885
|
-
console.log("markFileAsDeleted called");
|
|
51006
|
+
console.log("[SmartStorage] \u{1F4DD} markFileAsDeleted() called", { fileId });
|
|
50886
51007
|
if (!fileId) return;
|
|
50887
51008
|
|
|
50888
51009
|
const db = await this.createDb();
|
|
50889
51010
|
|
|
50890
51011
|
return new Promise((resolve, reject) => {
|
|
50891
|
-
if (
|
|
51012
|
+
if (this.isPlatform()) {
|
|
50892
51013
|
const trans = db.transaction(["Files"], "readwrite");
|
|
50893
51014
|
const store = trans.objectStore("Files");
|
|
50894
51015
|
|
|
50895
51016
|
const getReq = store.get(fileId);
|
|
51017
|
+
|
|
50896
51018
|
getReq.onsuccess = () => {
|
|
50897
51019
|
const fileData = getReq.result;
|
|
50898
|
-
|
|
50899
|
-
|
|
50900
|
-
|
|
50901
|
-
|
|
50902
|
-
|
|
51020
|
+
|
|
51021
|
+
if (!fileData) return reject("File not found");
|
|
51022
|
+
|
|
51023
|
+
fileData.mode = "D";
|
|
51024
|
+
|
|
51025
|
+
const updateReq = store.put(fileData, fileId);
|
|
51026
|
+
|
|
51027
|
+
updateReq.onsuccess = () => {
|
|
51028
|
+
trans.oncomplete = () => {
|
|
51029
|
+
console.log("[SmartStorage] \u2705 File marked as deleted (mode=D)", { fileId });
|
|
51030
|
+
resolve(fileData);
|
|
50903
51031
|
};
|
|
50904
|
-
|
|
50905
|
-
|
|
50906
|
-
|
|
50907
|
-
}
|
|
51032
|
+
};
|
|
51033
|
+
|
|
51034
|
+
updateReq.onerror = (e) => reject(e);
|
|
50908
51035
|
};
|
|
50909
|
-
|
|
51036
|
+
|
|
51037
|
+
getReq.onerror = (e) => reject(e);
|
|
51038
|
+
trans.onerror = (e) => reject(e);
|
|
50910
51039
|
} else {
|
|
50911
|
-
// mobile platform logic if needed
|
|
50912
51040
|
reject("Not supported on mobile platform");
|
|
50913
51041
|
}
|
|
50914
51042
|
});
|
|
@@ -50916,18 +51044,28 @@ class SmartStorage {
|
|
|
50916
51044
|
}
|
|
50917
51045
|
|
|
50918
51046
|
SmartStorage.title = "SmartStorage";
|
|
50919
|
-
|
|
50920
|
-
|
|
50921
|
-
|
|
50922
|
-
|
|
50923
|
-
},
|
|
50924
|
-
};
|
|
51047
|
+
|
|
51048
|
+
// Safe Formio integration
|
|
51049
|
+
if (typeof SmartStorage !== "undefined") {
|
|
51050
|
+
window.SmartStorage = SmartStorage;
|
|
50925
51051
|
}
|
|
50926
51052
|
|
|
50927
|
-
Formio
|
|
50928
|
-
|
|
50929
|
-
}
|
|
51053
|
+
if (typeof Formio !== "undefined") {
|
|
51054
|
+
Formio.providers = Formio.providers || {};
|
|
51055
|
+
Formio.providers.storage = Formio.providers.storage || {};
|
|
51056
|
+
Formio.providers.storage.SmartStorage = SmartStorage;
|
|
50930
51057
|
|
|
51058
|
+
if (Formio.Providers) {
|
|
51059
|
+
Formio.Providers.addProviders("storage", {
|
|
51060
|
+
SmartStorage,
|
|
51061
|
+
});
|
|
51062
|
+
}
|
|
51063
|
+
|
|
51064
|
+
// Proper event dispatch for external pre-initialization
|
|
51065
|
+
document.dispatchEvent(new CustomEvent('smartStorageReady', {
|
|
51066
|
+
detail: { SmartStorage: SmartStorage }
|
|
51067
|
+
}));
|
|
51068
|
+
}
|
|
50931
51069
|
|
|
50932
51070
|
// === SCRIPT_SEPARATOR ===
|
|
50933
51071
|
|
|
@@ -51565,10 +51703,10 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51565
51703
|
startVideo() {
|
|
51566
51704
|
this.getVideoStream()
|
|
51567
51705
|
.then((stream) => {
|
|
51568
|
-
console.log("
|
|
51706
|
+
console.log("[SmartFile] \u{1F4F9} Video stream started");
|
|
51569
51707
|
this.videoStream = stream;
|
|
51570
51708
|
const { videoPlayer } = this.refs;
|
|
51571
|
-
console.log("
|
|
51709
|
+
console.log("[SmartFile] \u{1F4F9} Attaching stream to video player");
|
|
51572
51710
|
if (!videoPlayer) {
|
|
51573
51711
|
alert("Video player not found in template.");
|
|
51574
51712
|
console.warn("Video player not found in template.");
|
|
@@ -51578,7 +51716,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51578
51716
|
}
|
|
51579
51717
|
|
|
51580
51718
|
videoPlayer.srcObject = stream;
|
|
51581
|
-
console.log("
|
|
51719
|
+
console.log("[SmartFile] \u{1F4F9} srcObject assigned to video player");
|
|
51582
51720
|
const width = parseInt(this.component.webcamSize) || 320;
|
|
51583
51721
|
videoPlayer.setAttribute("width", width);
|
|
51584
51722
|
videoPlayer.play();
|
|
@@ -51615,7 +51753,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51615
51753
|
}
|
|
51616
51754
|
|
|
51617
51755
|
browseFiles(attrs = {}) {
|
|
51618
|
-
console.log("
|
|
51756
|
+
console.log("[SmartFile] \u{1F4C2} browseFiles() called", attrs);
|
|
51619
51757
|
return new Promise((resolve) => {
|
|
51620
51758
|
const obj = Object.assign(
|
|
51621
51759
|
{
|
|
@@ -51675,19 +51813,9 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51675
51813
|
if (this.component.multiple) {
|
|
51676
51814
|
options.multiple = true;
|
|
51677
51815
|
}
|
|
51678
|
-
//use "accept" attribute only for desktop devices because of its limited support by mobile browsers
|
|
51679
|
-
if (!this.isMobile.any) {
|
|
51680
|
-
const filePattern = this.component.filePattern.trim() || "";
|
|
51681
|
-
const imagesPattern = "image/*";
|
|
51682
51816
|
|
|
51683
|
-
|
|
51684
|
-
|
|
51685
|
-
} else if (this.imageUpload && !filePattern.includes(imagesPattern)) {
|
|
51686
|
-
options.accept = \`\${imagesPattern},\${filePattern}\`;
|
|
51687
|
-
} else {
|
|
51688
|
-
options.accept = filePattern;
|
|
51689
|
-
}
|
|
51690
|
-
}
|
|
51817
|
+
// Always restrict to image to ensure previewability
|
|
51818
|
+
options.accept = "image/*";
|
|
51691
51819
|
|
|
51692
51820
|
return options;
|
|
51693
51821
|
}
|
|
@@ -51769,14 +51897,14 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51769
51897
|
let file = files[i];
|
|
51770
51898
|
const reader = new FileReader();
|
|
51771
51899
|
reader.onloadend = (evt) => {
|
|
51772
|
-
console.log("
|
|
51900
|
+
console.log("[SmartFile] \u{1F4C4} File read complete, converting to Blob");
|
|
51773
51901
|
const blob = new Blob([new Uint8Array(evt.target.result)], {
|
|
51774
51902
|
type: file.type,
|
|
51775
51903
|
});
|
|
51776
51904
|
blob.name = file.name;
|
|
51777
51905
|
blob.lastModified = file.lastModified;
|
|
51778
51906
|
blob.lastModifiedDate = file.lastModifiedDate;
|
|
51779
|
-
console.log("
|
|
51907
|
+
console.log("[SmartFile] \u{1F4C4} Blob created, forwarding to compressFile");
|
|
51780
51908
|
isfileBrowse = true;
|
|
51781
51909
|
this.compressFile([blob]);
|
|
51782
51910
|
};
|
|
@@ -51814,13 +51942,13 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51814
51942
|
this.refs.fileImage.forEach((fileImage, index) => {
|
|
51815
51943
|
this.addEventListener(fileImage, "click", (event) => {
|
|
51816
51944
|
const fileInfo = this.dataValue[index];
|
|
51817
|
-
console.log("
|
|
51945
|
+
console.log("[SmartFile] \u{1F5BC}\uFE0F Image preview requested", { name: fileInfo?.originalName || fileInfo?.name });
|
|
51818
51946
|
let eventCustom = new CustomEvent("openImagePreview", {
|
|
51819
51947
|
detail: {
|
|
51820
51948
|
data: fileInfo,
|
|
51821
51949
|
},
|
|
51822
51950
|
});
|
|
51823
|
-
console.log("
|
|
51951
|
+
console.log("[SmartFile] \u{1F4E1} Dispatching openImagePreview event");
|
|
51824
51952
|
document.dispatchEvent(eventCustom);
|
|
51825
51953
|
});
|
|
51826
51954
|
});
|
|
@@ -51828,7 +51956,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51828
51956
|
this.refs.cropImage.forEach((cropImage, index) => {
|
|
51829
51957
|
this.addEventListener(cropImage, "click", (event) => {
|
|
51830
51958
|
const fileInfo = this.dataValue[index];
|
|
51831
|
-
console.log("
|
|
51959
|
+
console.log("[SmartFile] \u2702\uFE0F Crop image clicked", { name: fileInfo?.originalName });
|
|
51832
51960
|
let that = this;
|
|
51833
51961
|
const sampleImage = document.getElementsByClassName("fileImageData");
|
|
51834
51962
|
for (var i = 0; i < sampleImage.length; i++) {
|
|
@@ -51850,7 +51978,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51850
51978
|
cropArea.addRenderEventListener(
|
|
51851
51979
|
(imgURL) => (
|
|
51852
51980
|
(target.src = imgURL),
|
|
51853
|
-
console.log("
|
|
51981
|
+
console.log("[SmartFile] \u2702\uFE0F Crop done, re-uploading image"),
|
|
51854
51982
|
(that.dataValue[index].url = imgURL),
|
|
51855
51983
|
b64CroppedImagetoBlob(
|
|
51856
51984
|
imgURL.split(",")[1],
|
|
@@ -51887,7 +52015,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51887
52015
|
type: contentType,
|
|
51888
52016
|
});
|
|
51889
52017
|
blob.name = originalName;
|
|
51890
|
-
console.log(\`Cropped
|
|
52018
|
+
console.log(\`[SmartFile] \u2702\uFE0F Cropped image size: \${(blob.size / 1024 / 1024).toFixed(2)} MB\`);
|
|
51891
52019
|
that.upload([blob], true);
|
|
51892
52020
|
}
|
|
51893
52021
|
});
|
|
@@ -51899,7 +52027,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51899
52027
|
"click",
|
|
51900
52028
|
(event) => {
|
|
51901
52029
|
const fileInfo = this.dataValue[index];
|
|
51902
|
-
console.log("
|
|
52030
|
+
console.log("[SmartFile] \u270F\uFE0F Annotate image clicked", { name: fileInfo?.originalName });
|
|
51903
52031
|
const sampleImage = document.getElementsByClassName("fileImageData");
|
|
51904
52032
|
|
|
51905
52033
|
for (var i = 0; i < sampleImage.length; i++) {
|
|
@@ -51964,7 +52092,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
51964
52092
|
type: contentType,
|
|
51965
52093
|
});
|
|
51966
52094
|
blob.name = originalName;
|
|
51967
|
-
console.log(\`
|
|
52095
|
+
console.log(\`[SmartFile] \u270F\uFE0F Annotated image size: \${(blob.size / 1024 / 1024).toFixed(2)} MB\`);
|
|
51968
52096
|
that.upload([blob], true);
|
|
51969
52097
|
}
|
|
51970
52098
|
});
|
|
@@ -52081,7 +52209,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52081
52209
|
);
|
|
52082
52210
|
}
|
|
52083
52211
|
|
|
52084
|
-
console.log("
|
|
52212
|
+
console.log("[SmartFile] \u{1F4F7} Dispatching openCamera event for controlId:", id);
|
|
52085
52213
|
document.dispatchEvent(eventCustom);
|
|
52086
52214
|
this.redraw();
|
|
52087
52215
|
} else {
|
|
@@ -52138,7 +52266,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52138
52266
|
|
|
52139
52267
|
if (that.component.id === controlId && !window.isListenerSet) {
|
|
52140
52268
|
if (!base64Image) {
|
|
52141
|
-
console.
|
|
52269
|
+
console.warn("[SmartFile] \u26A0\uFE0F No base64 image data received from camera");
|
|
52142
52270
|
return;
|
|
52143
52271
|
}
|
|
52144
52272
|
|
|
@@ -52168,7 +52296,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52168
52296
|
"capureImageDataForAndroidBrowser",
|
|
52169
52297
|
function (event) {
|
|
52170
52298
|
console.log(
|
|
52171
|
-
"
|
|
52299
|
+
"[SmartFile] \u{1F4F1} capureImageDataForAndroidBrowser received for controlId:",
|
|
52172
52300
|
event.detail.controlId
|
|
52173
52301
|
);
|
|
52174
52302
|
|
|
@@ -52245,7 +52373,16 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52245
52373
|
a.click();
|
|
52246
52374
|
document.body.removeChild(a);
|
|
52247
52375
|
} else {
|
|
52248
|
-
|
|
52376
|
+
if (mimeType && mimeType.startsWith('image/')) {
|
|
52377
|
+
if (typeof window.openImagePreviewModal === 'function') {
|
|
52378
|
+
window.openImagePreviewModal(blobUrl, fileName);
|
|
52379
|
+
} else {
|
|
52380
|
+
console.warn('openImagePreviewModal is not defined. Falling back to open in new tab.');
|
|
52381
|
+
window.open(blobUrl, '_blank');
|
|
52382
|
+
}
|
|
52383
|
+
} else {
|
|
52384
|
+
window.open(blobUrl, '_blank');
|
|
52385
|
+
}
|
|
52249
52386
|
}
|
|
52250
52387
|
|
|
52251
52388
|
// Open in new tab
|
|
@@ -52381,9 +52518,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52381
52518
|
}
|
|
52382
52519
|
compressFile(files) {
|
|
52383
52520
|
let that = this;
|
|
52384
|
-
console.log("files[0]
|
|
52385
|
-
console.log("originalFile instanceof Blob", files[0] instanceof Blob); // true
|
|
52386
|
-
console.log(\`originalFile size \${files[0].size / 1024 / 1024} MB\`);
|
|
52521
|
+
console.log("[SmartFile] \u{1F5C1} compressFile() called", { name: files[0]?.name, size: (files[0]?.size / 1024 / 1024).toFixed(2) + " MB", type: files[0]?.type });
|
|
52387
52522
|
|
|
52388
52523
|
//default file compression values
|
|
52389
52524
|
let maxFileSizeMB = 2;
|
|
@@ -52397,10 +52532,7 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52397
52532
|
if (that.component.fileCompressionSize) {
|
|
52398
52533
|
maxFileSizeMB = that.component.fileCompressionSize;
|
|
52399
52534
|
}
|
|
52400
|
-
console.log("
|
|
52401
|
-
console.log(
|
|
52402
|
-
"MaximumCompressionHeightOrWidth = " + MaximumCompressionHeightOrWidth
|
|
52403
|
-
);
|
|
52535
|
+
console.log("[SmartFile] \u{1F4E6} Compression settings", { maxFileSizeMB, MaximumCompressionHeightOrWidth });
|
|
52404
52536
|
|
|
52405
52537
|
var options = {
|
|
52406
52538
|
maxSizeMB: maxFileSizeMB,
|
|
@@ -52413,23 +52545,18 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52413
52545
|
if (files && files[0] && acceptedImageTypes.includes(files[0].type)) {
|
|
52414
52546
|
imageCompression(files[0], options)
|
|
52415
52547
|
.then(function (compressedFile) {
|
|
52416
|
-
console.log(
|
|
52417
|
-
"compressedFile instanceof Blob",
|
|
52418
|
-
compressedFile instanceof Blob
|
|
52419
|
-
); // true
|
|
52420
|
-
console.log(
|
|
52421
|
-
\`compressedFile size \${compressedFile.size / 1024 / 1024} MB\`
|
|
52422
|
-
); // smaller than maxSizeMB
|
|
52548
|
+
console.log("[SmartFile] \u2705 Image compressed", { from: (files[0].size / 1024 / 1024).toFixed(2) + " MB", to: (compressedFile.size / 1024 / 1024).toFixed(2) + " MB" });
|
|
52423
52549
|
that.blobToBase64(compressedFile).then((res) => {
|
|
52424
52550
|
imagUrl = res;
|
|
52425
52551
|
that.upload([compressedFile]);
|
|
52426
52552
|
});
|
|
52427
52553
|
})
|
|
52428
52554
|
.catch(function (error) {
|
|
52429
|
-
console.
|
|
52555
|
+
console.error("[SmartFile] \u274C Image compression failed:", error.message);
|
|
52430
52556
|
alert(error.message);
|
|
52431
52557
|
});
|
|
52432
52558
|
} else {
|
|
52559
|
+
console.log("[SmartFile] \u23E9 File is not an image \u2014 skipping compression, uploading directly");
|
|
52433
52560
|
that.upload(files);
|
|
52434
52561
|
}
|
|
52435
52562
|
}
|
|
@@ -52834,6 +52961,331 @@ class SmartFileComponent extends FieldComponent {
|
|
|
52834
52961
|
Formio.registerComponent("file", SmartFileComponent);
|
|
52835
52962
|
|
|
52836
52963
|
|
|
52964
|
+
// === SCRIPT_SEPARATOR ===
|
|
52965
|
+
|
|
52966
|
+
// Custom lightweight image preview modal UI (like cropo.js style)
|
|
52967
|
+
window.openImagePreviewModal = function (blobUrl, fileName) {
|
|
52968
|
+
const modal = document.createElement('div');
|
|
52969
|
+
modal.style.position = 'fixed';
|
|
52970
|
+
modal.style.top = '0';
|
|
52971
|
+
modal.style.left = '0';
|
|
52972
|
+
modal.style.width = '100vw';
|
|
52973
|
+
modal.style.height = '100vh';
|
|
52974
|
+
modal.style.backgroundColor = 'rgba(0, 0, 0, 0.85)';
|
|
52975
|
+
modal.style.display = 'flex';
|
|
52976
|
+
modal.style.alignItems = 'center';
|
|
52977
|
+
modal.style.justifyContent = 'center';
|
|
52978
|
+
modal.style.zIndex = '999999';
|
|
52979
|
+
|
|
52980
|
+
const modalContent = document.createElement('div');
|
|
52981
|
+
modalContent.style.width = '90vw';
|
|
52982
|
+
modalContent.style.height = '90vh';
|
|
52983
|
+
modalContent.style.backgroundColor = '#fff';
|
|
52984
|
+
modalContent.style.borderRadius = '8px';
|
|
52985
|
+
modalContent.style.display = 'flex';
|
|
52986
|
+
modalContent.style.flexDirection = 'column';
|
|
52987
|
+
modalContent.style.overflow = 'hidden';
|
|
52988
|
+
modalContent.style.boxShadow = '0 4px 12px rgba(0,0,0,0.5)';
|
|
52989
|
+
|
|
52990
|
+
// Header Toolbar
|
|
52991
|
+
const header = document.createElement('div');
|
|
52992
|
+
header.style.backgroundColor = '#2586c7';
|
|
52993
|
+
header.style.color = '#fff';
|
|
52994
|
+
header.style.padding = '10px 15px';
|
|
52995
|
+
header.style.display = 'flex';
|
|
52996
|
+
header.style.justifyContent = 'space-between';
|
|
52997
|
+
header.style.alignItems = 'center';
|
|
52998
|
+
header.style.position = 'relative';
|
|
52999
|
+
|
|
53000
|
+
const resetBtn = document.createElement('button');
|
|
53001
|
+
resetBtn.innerHTML = 'Reset';
|
|
53002
|
+
resetBtn.title = 'Reset Zoom';
|
|
53003
|
+
resetBtn.style.background = 'transparent';
|
|
53004
|
+
resetBtn.style.border = '1px solid #fff';
|
|
53005
|
+
resetBtn.style.borderRadius = '4px';
|
|
53006
|
+
resetBtn.style.color = '#fff';
|
|
53007
|
+
resetBtn.style.fontSize = '12px';
|
|
53008
|
+
resetBtn.style.cursor = 'pointer';
|
|
53009
|
+
resetBtn.style.padding = '4px 10px';
|
|
53010
|
+
|
|
53011
|
+
header.appendChild(resetBtn);
|
|
53012
|
+
|
|
53013
|
+
const title = document.createElement('span');
|
|
53014
|
+
title.textContent = fileName || 'Preview';
|
|
53015
|
+
title.style.fontSize = '16px';
|
|
53016
|
+
title.style.fontWeight = '500';
|
|
53017
|
+
title.style.whiteSpace = 'nowrap';
|
|
53018
|
+
title.style.overflow = 'hidden';
|
|
53019
|
+
title.style.textOverflow = 'ellipsis';
|
|
53020
|
+
title.style.position = 'absolute';
|
|
53021
|
+
title.style.left = '50%';
|
|
53022
|
+
title.style.transform = 'translateX(-50%)';
|
|
53023
|
+
title.style.maxWidth = '50%';
|
|
53024
|
+
header.appendChild(title);
|
|
53025
|
+
|
|
53026
|
+
const closeBtn = document.createElement('button');
|
|
53027
|
+
closeBtn.innerHTML = '\u2715';
|
|
53028
|
+
closeBtn.style.background = 'transparent';
|
|
53029
|
+
closeBtn.style.border = 'none';
|
|
53030
|
+
closeBtn.style.color = '#fff';
|
|
53031
|
+
closeBtn.style.fontSize = '20px';
|
|
53032
|
+
closeBtn.style.cursor = 'pointer';
|
|
53033
|
+
closeBtn.style.padding = '0';
|
|
53034
|
+
closeBtn.style.lineHeight = '1';
|
|
53035
|
+
|
|
53036
|
+
closeBtn.addEventListener('click', (e) => {
|
|
53037
|
+
e.stopPropagation();
|
|
53038
|
+
document.body.removeChild(modal);
|
|
53039
|
+
});
|
|
53040
|
+
header.appendChild(closeBtn);
|
|
53041
|
+
|
|
53042
|
+
// Image Container
|
|
53043
|
+
const imgContainer = document.createElement('div');
|
|
53044
|
+
imgContainer.style.flex = '1';
|
|
53045
|
+
imgContainer.style.display = 'flex';
|
|
53046
|
+
imgContainer.style.alignItems = 'center';
|
|
53047
|
+
imgContainer.style.justifyContent = 'center';
|
|
53048
|
+
imgContainer.style.backgroundColor = '#f0f0f0';
|
|
53049
|
+
imgContainer.style.overflow = 'hidden';
|
|
53050
|
+
|
|
53051
|
+
const img = document.createElement('img');
|
|
53052
|
+
img.src = blobUrl;
|
|
53053
|
+
img.style.maxWidth = '100%';
|
|
53054
|
+
img.style.maxHeight = '100%';
|
|
53055
|
+
img.style.objectFit = 'contain';
|
|
53056
|
+
img.style.transition = 'transform 0.2s ease-in-out';
|
|
53057
|
+
|
|
53058
|
+
imgContainer.appendChild(img);
|
|
53059
|
+
|
|
53060
|
+
let scale = 1;
|
|
53061
|
+
let translateX = 0;
|
|
53062
|
+
let translateY = 0;
|
|
53063
|
+
|
|
53064
|
+
function setTransform(smooth = false) {
|
|
53065
|
+
const cw = imgContainer.offsetWidth;
|
|
53066
|
+
const ch = imgContainer.offsetHeight;
|
|
53067
|
+
const iw = img.offsetWidth * scale;
|
|
53068
|
+
const ih = img.offsetHeight * scale;
|
|
53069
|
+
|
|
53070
|
+
const maxTx = Math.abs(iw - cw) / 2;
|
|
53071
|
+
const maxTy = Math.abs(ih - ch) / 2;
|
|
53072
|
+
|
|
53073
|
+
translateX = Math.max(-maxTx, Math.min(translateX, maxTx));
|
|
53074
|
+
translateY = Math.max(-maxTy, Math.min(translateY, maxTy));
|
|
53075
|
+
|
|
53076
|
+
if (smooth) {
|
|
53077
|
+
img.style.transition = 'transform 0.2s ease-in-out';
|
|
53078
|
+
} else {
|
|
53079
|
+
img.style.transition = 'none';
|
|
53080
|
+
}
|
|
53081
|
+
img.style.transform = \`translate(\${translateX}px, \${translateY}px) scale(\${scale})\`;
|
|
53082
|
+
}
|
|
53083
|
+
|
|
53084
|
+
// Apply the initial small zoom
|
|
53085
|
+
setTransform();
|
|
53086
|
+
|
|
53087
|
+
// Mouse wheel zoom to pointer
|
|
53088
|
+
imgContainer.addEventListener('wheel', (e) => {
|
|
53089
|
+
e.preventDefault();
|
|
53090
|
+
const zoomIntensity = 0.1;
|
|
53091
|
+
const zoom = Math.exp((e.deltaY < 0 ? 1 : -1) * zoomIntensity);
|
|
53092
|
+
let newScale = scale * zoom;
|
|
53093
|
+
if (newScale < 0.5) newScale = 0.5;
|
|
53094
|
+
if (newScale > 50) newScale = 50;
|
|
53095
|
+
|
|
53096
|
+
const ratio = newScale / scale;
|
|
53097
|
+
|
|
53098
|
+
const rect = imgContainer.getBoundingClientRect();
|
|
53099
|
+
const cx = rect.width / 2;
|
|
53100
|
+
const cy = rect.height / 2;
|
|
53101
|
+
|
|
53102
|
+
const mouseX = e.clientX - rect.left - cx;
|
|
53103
|
+
const mouseY = e.clientY - rect.top - cy;
|
|
53104
|
+
|
|
53105
|
+
translateX = mouseX - (mouseX - translateX) * ratio;
|
|
53106
|
+
translateY = mouseY - (mouseY - translateY) * ratio;
|
|
53107
|
+
scale = newScale;
|
|
53108
|
+
|
|
53109
|
+
setTransform(false);
|
|
53110
|
+
}, { passive: false });
|
|
53111
|
+
|
|
53112
|
+
// Touch pinch-to-zoom support (for mobile and Flutter webviews)
|
|
53113
|
+
let lastPinchDistance = null;
|
|
53114
|
+
|
|
53115
|
+
imgContainer.addEventListener('touchstart', (e) => {
|
|
53116
|
+
if (e.touches.length === 2) {
|
|
53117
|
+
e.preventDefault();
|
|
53118
|
+
lastPinchDistance = Math.hypot(
|
|
53119
|
+
e.touches[0].clientX - e.touches[1].clientX,
|
|
53120
|
+
e.touches[0].clientY - e.touches[1].clientY
|
|
53121
|
+
);
|
|
53122
|
+
}
|
|
53123
|
+
}, { passive: false });
|
|
53124
|
+
|
|
53125
|
+
imgContainer.addEventListener('touchmove', (e) => {
|
|
53126
|
+
if (e.touches.length === 2 && lastPinchDistance !== null) {
|
|
53127
|
+
e.preventDefault();
|
|
53128
|
+
const currentDistance = Math.hypot(
|
|
53129
|
+
e.touches[0].clientX - e.touches[1].clientX,
|
|
53130
|
+
e.touches[0].clientY - e.touches[1].clientY
|
|
53131
|
+
);
|
|
53132
|
+
|
|
53133
|
+
const zoom = currentDistance / lastPinchDistance;
|
|
53134
|
+
let newScale = scale * zoom;
|
|
53135
|
+
|
|
53136
|
+
if (newScale < 0.5) newScale = 0.5;
|
|
53137
|
+
if (newScale > 50) newScale = 50;
|
|
53138
|
+
|
|
53139
|
+
const ratio = newScale / scale;
|
|
53140
|
+
|
|
53141
|
+
const rect = imgContainer.getBoundingClientRect();
|
|
53142
|
+
const cx = rect.width / 2;
|
|
53143
|
+
const cy = rect.height / 2;
|
|
53144
|
+
|
|
53145
|
+
const touchCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
|
|
53146
|
+
const touchCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
|
|
53147
|
+
|
|
53148
|
+
const mouseX = touchCenterX - rect.left - cx;
|
|
53149
|
+
const mouseY = touchCenterY - rect.top - cy;
|
|
53150
|
+
|
|
53151
|
+
translateX = mouseX - (mouseX - translateX) * ratio;
|
|
53152
|
+
translateY = mouseY - (mouseY - translateY) * ratio;
|
|
53153
|
+
scale = newScale;
|
|
53154
|
+
lastPinchDistance = currentDistance;
|
|
53155
|
+
|
|
53156
|
+
setTransform(false);
|
|
53157
|
+
}
|
|
53158
|
+
}, { passive: false });
|
|
53159
|
+
|
|
53160
|
+
imgContainer.addEventListener('touchend', (e) => {
|
|
53161
|
+
if (e.touches.length < 2) {
|
|
53162
|
+
lastPinchDistance = null;
|
|
53163
|
+
}
|
|
53164
|
+
});
|
|
53165
|
+
// Footer Toolbar
|
|
53166
|
+
const footer = document.createElement('div');
|
|
53167
|
+
footer.style.backgroundColor = '#2586c7';
|
|
53168
|
+
footer.style.color = '#fff';
|
|
53169
|
+
footer.style.padding = '10px 15px';
|
|
53170
|
+
footer.style.display = 'flex';
|
|
53171
|
+
footer.style.justifyContent = 'center';
|
|
53172
|
+
footer.style.alignItems = 'center';
|
|
53173
|
+
footer.style.gap = '15px';
|
|
53174
|
+
|
|
53175
|
+
const createIconBtn = (icon, title) => {
|
|
53176
|
+
const btn = document.createElement('button');
|
|
53177
|
+
btn.innerHTML = icon;
|
|
53178
|
+
btn.title = title;
|
|
53179
|
+
btn.style.background = 'transparent';
|
|
53180
|
+
btn.style.border = '1px solid #fff';
|
|
53181
|
+
btn.style.borderRadius = '4px';
|
|
53182
|
+
btn.style.color = '#fff';
|
|
53183
|
+
btn.style.fontSize = '18px';
|
|
53184
|
+
btn.style.fontWeight = 'bold';
|
|
53185
|
+
btn.style.cursor = 'pointer';
|
|
53186
|
+
btn.style.width = '35px';
|
|
53187
|
+
btn.style.height = '35px';
|
|
53188
|
+
btn.style.display = 'flex';
|
|
53189
|
+
btn.style.alignItems = 'center';
|
|
53190
|
+
btn.style.justifyContent = 'center';
|
|
53191
|
+
return btn;
|
|
53192
|
+
};
|
|
53193
|
+
|
|
53194
|
+
const zoomInBtn = createIconBtn('+', 'Zoom In');
|
|
53195
|
+
const zoomOutBtn = createIconBtn('\u2212', 'Zoom Out');
|
|
53196
|
+
const leftBtn = createIconBtn('\u2190', 'Move Left');
|
|
53197
|
+
const rightBtn = createIconBtn('\u2192', 'Move Right');
|
|
53198
|
+
const topBtn = createIconBtn('\u2191', 'Move Up');
|
|
53199
|
+
const bottomBtn = createIconBtn('\u2193', 'Move Down');
|
|
53200
|
+
|
|
53201
|
+
footer.appendChild(zoomInBtn);
|
|
53202
|
+
footer.appendChild(zoomOutBtn);
|
|
53203
|
+
footer.appendChild(leftBtn);
|
|
53204
|
+
footer.appendChild(rightBtn);
|
|
53205
|
+
footer.appendChild(topBtn);
|
|
53206
|
+
footer.appendChild(bottomBtn);
|
|
53207
|
+
|
|
53208
|
+
const PAN_STEP = 50;
|
|
53209
|
+
|
|
53210
|
+
zoomInBtn.addEventListener('click', (e) => {
|
|
53211
|
+
e.stopPropagation();
|
|
53212
|
+
let newScale = scale + 0.5;
|
|
53213
|
+
if (newScale > 50) newScale = 50;
|
|
53214
|
+
scale = newScale;
|
|
53215
|
+
setTransform(true);
|
|
53216
|
+
});
|
|
53217
|
+
|
|
53218
|
+
zoomOutBtn.addEventListener('click', (e) => {
|
|
53219
|
+
e.stopPropagation();
|
|
53220
|
+
let newScale = scale - 0.5;
|
|
53221
|
+
if (newScale < 0.5) newScale = 0.5;
|
|
53222
|
+
scale = newScale;
|
|
53223
|
+
setTransform(true);
|
|
53224
|
+
});
|
|
53225
|
+
|
|
53226
|
+
let panInterval = null;
|
|
53227
|
+
let panTimeout = null;
|
|
53228
|
+
|
|
53229
|
+
const addPanEvents = (btn, dx, dy) => {
|
|
53230
|
+
const startPan = (e) => {
|
|
53231
|
+
if (e.type === 'touchstart' && e.cancelable) e.preventDefault();
|
|
53232
|
+
e.stopPropagation();
|
|
53233
|
+
|
|
53234
|
+
translateX += dx;
|
|
53235
|
+
translateY += dy;
|
|
53236
|
+
setTransform(true);
|
|
53237
|
+
|
|
53238
|
+
panTimeout = setTimeout(() => {
|
|
53239
|
+
panInterval = setInterval(() => {
|
|
53240
|
+
translateX += dx * 0.4;
|
|
53241
|
+
translateY += dy * 0.4;
|
|
53242
|
+
setTransform(false);
|
|
53243
|
+
}, 20);
|
|
53244
|
+
}, 300);
|
|
53245
|
+
};
|
|
53246
|
+
|
|
53247
|
+
const stopPan = () => {
|
|
53248
|
+
clearTimeout(panTimeout);
|
|
53249
|
+
clearInterval(panInterval);
|
|
53250
|
+
};
|
|
53251
|
+
|
|
53252
|
+
btn.addEventListener('mousedown', startPan);
|
|
53253
|
+
btn.addEventListener('touchstart', startPan, { passive: false });
|
|
53254
|
+
|
|
53255
|
+
['mouseup', 'mouseleave', 'touchend', 'touchcancel'].forEach(evt => {
|
|
53256
|
+
btn.addEventListener(evt, stopPan);
|
|
53257
|
+
});
|
|
53258
|
+
};
|
|
53259
|
+
|
|
53260
|
+
addPanEvents(leftBtn, PAN_STEP, 0);
|
|
53261
|
+
addPanEvents(rightBtn, -PAN_STEP, 0);
|
|
53262
|
+
addPanEvents(topBtn, 0, PAN_STEP);
|
|
53263
|
+
addPanEvents(bottomBtn, 0, -PAN_STEP);
|
|
53264
|
+
|
|
53265
|
+
// Reset Button
|
|
53266
|
+
resetBtn.addEventListener('click', (e) => {
|
|
53267
|
+
e.stopPropagation();
|
|
53268
|
+
scale = 1;
|
|
53269
|
+
translateX = 0;
|
|
53270
|
+
translateY = 0;
|
|
53271
|
+
setTransform(true);
|
|
53272
|
+
});
|
|
53273
|
+
|
|
53274
|
+
modalContent.appendChild(header);
|
|
53275
|
+
modalContent.appendChild(imgContainer);
|
|
53276
|
+
modalContent.appendChild(footer);
|
|
53277
|
+
|
|
53278
|
+
modal.addEventListener('click', (e) => {
|
|
53279
|
+
if (e.target === modal) {
|
|
53280
|
+
document.body.removeChild(modal);
|
|
53281
|
+
}
|
|
53282
|
+
});
|
|
53283
|
+
|
|
53284
|
+
modal.appendChild(modalContent);
|
|
53285
|
+
document.body.appendChild(modal);
|
|
53286
|
+
};
|
|
53287
|
+
|
|
53288
|
+
|
|
52837
53289
|
// === SCRIPT_SEPARATOR ===
|
|
52838
53290
|
|
|
52839
53291
|
const TextFieldComponentForSmartId = Formio.Components.components.textfield;
|
|
@@ -61374,7 +61826,6 @@ class SmartSelectComponent extends SmartSelectField {
|
|
|
61374
61826
|
searchEnabled: useSearch,
|
|
61375
61827
|
searchChoices: !this.component.searchField,
|
|
61376
61828
|
searchFields: _.get(this, 'component.searchFields', ['label']),
|
|
61377
|
-
shadowRoot: this.root ? this.root.shadowRoot : null,
|
|
61378
61829
|
fuseOptions: this.component.useExactSearch ? Object.assign(fuseObj, commonFuseOptions) : Object.assign({},
|
|
61379
61830
|
_.get(this, 'component.fuseOptions', {}),
|
|
61380
61831
|
Object.assign(fuseObj1, commonFuseOptions)
|
|
@@ -65818,14 +66269,14 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65818
66269
|
|
|
65819
66270
|
// READ ONLY
|
|
65820
66271
|
if (permissionMode === "read") {
|
|
65821
|
-
|
|
66272
|
+
|
|
65822
66273
|
saveBtn.style.display = "none";
|
|
65823
66274
|
submitBtn.style.display = "none";
|
|
65824
66275
|
}
|
|
65825
66276
|
|
|
65826
66277
|
// PUBLIC FORM - writemultiple
|
|
65827
66278
|
else if (isPublic && permissionMode === "writemultiple") {
|
|
65828
|
-
|
|
66279
|
+
|
|
65829
66280
|
saveBtn.style.display = "none";
|
|
65830
66281
|
submitBtn.style.display = "";
|
|
65831
66282
|
submitBtn.innerHTML = '<i class="icon clipboard check large"></i> Complete';
|
|
@@ -65838,7 +66289,7 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65838
66289
|
|
|
65839
66290
|
// PUBLIC FORM - writesingle
|
|
65840
66291
|
else if (isPublic && permissionMode === "writesingle") {
|
|
65841
|
-
|
|
66292
|
+
|
|
65842
66293
|
saveBtn.style.display = "none";
|
|
65843
66294
|
submitBtn.style.display = "";
|
|
65844
66295
|
submitBtn.innerHTML = '<i class="icon save"></i> Submit';
|
|
@@ -65852,9 +66303,7 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65852
66303
|
window.__unviredFormsOptions?.showCompleteAlways === "true";
|
|
65853
66304
|
|
|
65854
66305
|
if (showCompleteAlways) {
|
|
65855
|
-
|
|
65856
|
-
"Mode: PRIVATE WRITEMULTIPLE (ShowCompleteAlways) \u2192 Show Save and Complete"
|
|
65857
|
-
);
|
|
66306
|
+
|
|
65858
66307
|
saveBtn.style.display = "";
|
|
65859
66308
|
submitBtn.style.display = "";
|
|
65860
66309
|
submitBtn.innerHTML = '<i class="icon clipboard check large"></i> Complete';
|
|
@@ -65865,9 +66314,7 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65865
66314
|
toggleDropdown(completeOption, completeDivider, false);
|
|
65866
66315
|
toggleDropdown(saveOption, saveDivider, false);
|
|
65867
66316
|
} else {
|
|
65868
|
-
|
|
65869
|
-
"Mode: PRIVATE WRITEMULTIPLE \u2192 Show save (disabled), Complete hidden initially"
|
|
65870
|
-
);
|
|
66317
|
+
|
|
65871
66318
|
saveBtn.style.display = "";
|
|
65872
66319
|
submitBtn.style.display = "none";
|
|
65873
66320
|
saveBtn.disabled = true;
|
|
@@ -65879,9 +66326,7 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65879
66326
|
|
|
65880
66327
|
// PRIVATE FORM - writesingle
|
|
65881
66328
|
else if (isPrivate && permissionMode === "writesingle") {
|
|
65882
|
-
|
|
65883
|
-
"Mode: PRIVATE WRITESINGLE \u2192 Show submit (disabled), Save in Dropdown"
|
|
65884
|
-
);
|
|
66329
|
+
|
|
65885
66330
|
saveBtn.style.display = "none";
|
|
65886
66331
|
submitBtn.style.display = "";
|
|
65887
66332
|
submitBtn.innerHTML = '<i class="icon clipboard check large"></i> Complete';
|
|
@@ -65893,7 +66338,7 @@ function initialButtonSetup(privateExternal, permission) {
|
|
|
65893
66338
|
|
|
65894
66339
|
// DEFAULT / UNKNOWN
|
|
65895
66340
|
else {
|
|
65896
|
-
|
|
66341
|
+
|
|
65897
66342
|
saveBtn.style.display = "none";
|
|
65898
66343
|
submitBtn.style.display = "";
|
|
65899
66344
|
submitBtn.innerHTML = '<i class="icon clipboard large"></i> Submit';
|
|
@@ -65937,7 +66382,7 @@ function onChangeButtonSetup(
|
|
|
65937
66382
|
|
|
65938
66383
|
// READ ONLY
|
|
65939
66384
|
if (permissionMode === "read") {
|
|
65940
|
-
|
|
66385
|
+
|
|
65941
66386
|
saveBtn.style.display = "none";
|
|
65942
66387
|
submitBtn.style.display = "none";
|
|
65943
66388
|
return;
|
|
@@ -65945,7 +66390,7 @@ function onChangeButtonSetup(
|
|
|
65945
66390
|
|
|
65946
66391
|
// PRIVATE FORM - writesingle
|
|
65947
66392
|
if (isPrivate && permissionMode === "writesingle") {
|
|
65948
|
-
|
|
66393
|
+
|
|
65949
66394
|
// Main: Complete (Submit)
|
|
65950
66395
|
saveBtn.style.display = "none";
|
|
65951
66396
|
submitBtn.style.display = "";
|
|
@@ -65962,7 +66407,7 @@ function onChangeButtonSetup(
|
|
|
65962
66407
|
|
|
65963
66408
|
// PRIVATE FORM - writemultiple
|
|
65964
66409
|
if (isPrivate && permissionMode === "writemultiple") {
|
|
65965
|
-
|
|
66410
|
+
|
|
65966
66411
|
|
|
65967
66412
|
const completeOption = document.getElementById("completeOption");
|
|
65968
66413
|
const saveOption = document.getElementById("saveOption");
|
|
@@ -65992,9 +66437,7 @@ function onChangeButtonSetup(
|
|
|
65992
66437
|
} else {
|
|
65993
66438
|
if (isComplete) {
|
|
65994
66439
|
// 100% Complete: Main button = Complete, Dropdown = Save
|
|
65995
|
-
|
|
65996
|
-
" \u2192 100% Complete: Showing Complete button, Save in dropdown"
|
|
65997
|
-
);
|
|
66440
|
+
|
|
65998
66441
|
saveBtn.style.display = "none";
|
|
65999
66442
|
submitBtn.style.display = "";
|
|
66000
66443
|
submitBtn.innerHTML = '<i class="icon clipboard check large"></i> Complete';
|
|
@@ -66005,9 +66448,7 @@ function onChangeButtonSetup(
|
|
|
66005
66448
|
toggleDropdown(completeOption, completeDivider, false);
|
|
66006
66449
|
} else if (hasAnyValue) {
|
|
66007
66450
|
// 1-99% Complete: Main button = Save, Dropdown = Complete
|
|
66008
|
-
|
|
66009
|
-
" \u2192 Partially filled: Showing Save button, Complete in dropdown"
|
|
66010
|
-
);
|
|
66451
|
+
|
|
66011
66452
|
saveBtn.style.display = "";
|
|
66012
66453
|
submitBtn.style.display = "none";
|
|
66013
66454
|
saveBtn.disabled = false;
|
|
@@ -66017,7 +66458,7 @@ function onChangeButtonSetup(
|
|
|
66017
66458
|
toggleDropdown(saveOption, saveDivider, false);
|
|
66018
66459
|
} else {
|
|
66019
66460
|
// 0% Complete: Main button = Save (disabled), Complete hidden
|
|
66020
|
-
|
|
66461
|
+
|
|
66021
66462
|
saveBtn.style.display = "";
|
|
66022
66463
|
submitBtn.style.display = "none";
|
|
66023
66464
|
saveBtn.disabled = true;
|
|
@@ -66037,7 +66478,7 @@ function onChangeButtonSetup(
|
|
|
66037
66478
|
|
|
66038
66479
|
// PUBLIC FORM - writemultiple (Simple: Only Complete button)
|
|
66039
66480
|
if (isPublic && permissionMode === "writemultiple") {
|
|
66040
|
-
|
|
66481
|
+
|
|
66041
66482
|
saveBtn.style.display = "none";
|
|
66042
66483
|
submitBtn.style.display = "";
|
|
66043
66484
|
submitBtn.innerHTML = '<i class="icon clipboard check large"></i> Complete';
|
|
@@ -66052,7 +66493,7 @@ function onChangeButtonSetup(
|
|
|
66052
66493
|
|
|
66053
66494
|
// PUBLIC FORM - writesingle
|
|
66054
66495
|
if (isPublic && permissionMode === "writesingle") {
|
|
66055
|
-
|
|
66496
|
+
|
|
66056
66497
|
saveBtn.style.display = "none";
|
|
66057
66498
|
submitBtn.style.display = "";
|
|
66058
66499
|
submitBtn.disabled = !hasAnyValue;
|
|
@@ -66065,7 +66506,7 @@ function onChangeButtonSetup(
|
|
|
66065
66506
|
}
|
|
66066
66507
|
|
|
66067
66508
|
// DEFAULT / UNKNOWN
|
|
66068
|
-
|
|
66509
|
+
|
|
66069
66510
|
saveBtn.style.display = "none";
|
|
66070
66511
|
submitBtn.style.display = "";
|
|
66071
66512
|
submitBtn.disabled = !hasAnyValue;
|
|
@@ -66093,6 +66534,7 @@ async function loadRNform(
|
|
|
66093
66534
|
|
|
66094
66535
|
// Reset cache for clean state
|
|
66095
66536
|
resetFormCache();
|
|
66537
|
+
console.log("[FormIO] \u25B6 loadRNform() entered", { mode, permission, privateExternal, language });
|
|
66096
66538
|
|
|
66097
66539
|
attachmentfileKeysSDK = attachmentfileKeys;
|
|
66098
66540
|
|
|
@@ -66167,6 +66609,7 @@ async function loadRNform(
|
|
|
66167
66609
|
}
|
|
66168
66610
|
|
|
66169
66611
|
// Create form (single attempt - Formio is already loaded by index.js)
|
|
66612
|
+
console.log("[FormIO] \u{1F6E0}\uFE0F Creating Formio form...");
|
|
66170
66613
|
formObj = await Formio.createForm(
|
|
66171
66614
|
formElement,
|
|
66172
66615
|
template,
|
|
@@ -66239,10 +66682,11 @@ async function loadRNform(
|
|
|
66239
66682
|
});
|
|
66240
66683
|
}
|
|
66241
66684
|
if (Object.keys(modifyVars).length > 0) {
|
|
66685
|
+
console.log("[FormIO] \u{1F3A8} Applying LESS theme variables...", modifyVars);
|
|
66242
66686
|
window.less
|
|
66243
66687
|
.modifyVars(modifyVars)
|
|
66244
66688
|
.then(() => {
|
|
66245
|
-
console.log("\u2705
|
|
66689
|
+
console.log("[FormIO] \u2705 LESS theme variables applied");
|
|
66246
66690
|
// mark readiness so UI toggles relying on styling can proceed
|
|
66247
66691
|
document.dispatchEvent(new CustomEvent("LessRenderingComplete"));
|
|
66248
66692
|
})
|
|
@@ -66283,6 +66727,7 @@ async function loadRNform(
|
|
|
66283
66727
|
}
|
|
66284
66728
|
|
|
66285
66729
|
// Calculate initial progress immediately
|
|
66730
|
+
console.log("[FormIO] \u{1F4CA} Form ready \u2014 calculating initial progress...");
|
|
66286
66731
|
executeProgressCalculation(privateExternal, permission);
|
|
66287
66732
|
|
|
66288
66733
|
// Hide FormIO submit button component and wizard buttons in readOnly mode
|
|
@@ -66322,6 +66767,7 @@ async function loadRNform(
|
|
|
66322
66767
|
message: "Success: Form rendered successfully.",
|
|
66323
66768
|
data: { submissionData: formPreviousData, formTemplate: template },
|
|
66324
66769
|
});
|
|
66770
|
+
console.log("[FormIO] \u2705 Form rendered successfully \u2014 SDK handover complete");
|
|
66325
66771
|
|
|
66326
66772
|
// Hide SDK loader when form is ready
|
|
66327
66773
|
const sdkLoader = document.getElementById('sdk-form-loader');
|
|
@@ -66544,14 +66990,14 @@ function executeProgressCalculation(privateExternal, permission) {
|
|
|
66544
66990
|
if (filled) filledMandatory++;
|
|
66545
66991
|
});
|
|
66546
66992
|
|
|
66547
|
-
|
|
66548
|
-
console.log("\u2705 Filled mandatory fields:", filledMandatory);
|
|
66993
|
+
|
|
66549
66994
|
const completion =
|
|
66550
66995
|
mandatory === 0 ? 100 : Math.round((filledMandatory / mandatory) * 100);
|
|
66996
|
+
console.log("[FormIO] \u{1F4CA} Progress:", { mandatory, filledMandatory, completion: completion + "%" });
|
|
66551
66997
|
calculationPercentage = completion; // Update global
|
|
66552
66998
|
completeFlag = completion >= 100; // Update global
|
|
66553
66999
|
|
|
66554
|
-
|
|
67000
|
+
|
|
66555
67001
|
|
|
66556
67002
|
onChangeButtonSetup(
|
|
66557
67003
|
completion,
|
|
@@ -66949,8 +67395,9 @@ async function loadCommentsform(
|
|
|
66949
67395
|
users = []
|
|
66950
67396
|
) {
|
|
66951
67397
|
// \u2705 Clean up existing instances before creating new ones
|
|
67398
|
+
console.log('[Comments] \u25B6 loadCommentsform() called', { users: users?.length, commentsData: commentsData?.length });
|
|
66952
67399
|
const cmtContainer = document.getElementById("formio-cmt");
|
|
66953
|
-
if (!cmtContainer) return console.error("formio-cmt not found");
|
|
67400
|
+
if (!cmtContainer) return console.error("[Comments] \u274C formio-cmt container not found");
|
|
66954
67401
|
|
|
66955
67402
|
// Remove previous Recogito overlay if it exists
|
|
66956
67403
|
if (window.commentsResponse) {
|
|
@@ -66975,6 +67422,7 @@ async function loadCommentsform(
|
|
|
66975
67422
|
cmtContainer.innerHTML = "";
|
|
66976
67423
|
|
|
66977
67424
|
// Create Formio form
|
|
67425
|
+
console.log('[Comments] \u{1F6E0}\uFE0F Creating Formio form in read-only mode...');
|
|
66978
67426
|
window.formObj = await Formio.createForm(
|
|
66979
67427
|
cmtContainer,
|
|
66980
67428
|
template,
|
|
@@ -66994,6 +67442,7 @@ async function loadCommentsform(
|
|
|
66994
67442
|
window.formObj.on("change", () => { });
|
|
66995
67443
|
|
|
66996
67444
|
// Initialize Recogito and store globally
|
|
67445
|
+
console.log('[Comments] \u{1F4C3} Initializing Recogito annotation overlay...');
|
|
66997
67446
|
window.commentsResponse = Recogito.init({
|
|
66998
67447
|
content: document.getElementById("formio-cmt"),
|
|
66999
67448
|
locale: localStorage.getItem("language"),
|
|
@@ -67025,14 +67474,17 @@ async function loadCommentsform(
|
|
|
67025
67474
|
// Set annotations after form is ready
|
|
67026
67475
|
window.formObj.formReady.then(() => {
|
|
67027
67476
|
setTimeout(() => {
|
|
67477
|
+
console.log('[Comments] \u2705 Annotations loaded', { count: commentsData?.length });
|
|
67028
67478
|
window.commentsResponse.setAnnotations(commentsData);
|
|
67029
67479
|
}, 500);
|
|
67030
67480
|
const customEve = new CustomEvent("loadAnnotationComplete", {});
|
|
67031
67481
|
document.dispatchEvent(customEve);
|
|
67482
|
+
console.log('[Comments] \u{1F4E1} loadAnnotationComplete dispatched');
|
|
67032
67483
|
});
|
|
67033
67484
|
}
|
|
67034
67485
|
|
|
67035
67486
|
async function goToformRender() {
|
|
67487
|
+
console.log('[Comments] \u{1F504} goToformRender() \u2014 returning to form view');
|
|
67036
67488
|
const cmtEl = document.getElementById("formio-cmt");
|
|
67037
67489
|
if (cmtEl) {
|
|
67038
67490
|
cmtEl.innerHTML = "";
|
|
@@ -67047,7 +67499,9 @@ async function goToformRender() {
|
|
|
67047
67499
|
try {
|
|
67048
67500
|
if (window.commentsResponse && window.commentsResponse.destroy) {
|
|
67049
67501
|
window.commentsResponse.destroy();
|
|
67502
|
+
console.log('[Comments] \u{1F5D1}\uFE0F Previous Recogito instance destroyed');
|
|
67050
67503
|
}
|
|
67504
|
+
console.log('[Comments] \u{1F680} Re-invoking loadRNform()...');
|
|
67051
67505
|
await window.loadRNform(
|
|
67052
67506
|
window.FORM_TEMPLATE,
|
|
67053
67507
|
window.FORM_SUB_TEMP?.data || window.FORM_SUB_TEMP,
|
|
@@ -67081,10 +67535,12 @@ async function goToformRender() {
|
|
|
67081
67535
|
}
|
|
67082
67536
|
|
|
67083
67537
|
function CommentOnBack() {
|
|
67538
|
+
console.log('[Comments] \u23EA CommentOnBack() \u2014 checking for unsaved changes');
|
|
67084
67539
|
let cmCurrentData = window.commentsResponse.getAnnotations();
|
|
67085
67540
|
let cmInitialData = window.FORM_COMMENTS_DATA;
|
|
67086
67541
|
const isSame =
|
|
67087
67542
|
JSON.stringify(cmCurrentData) === JSON.stringify(cmInitialData);
|
|
67543
|
+
console.log('[Comments] \u{1F50D} Annotations changed:', !isSame);
|
|
67088
67544
|
if (isSame) {
|
|
67089
67545
|
goToformRender();
|
|
67090
67546
|
} else {
|
|
@@ -67102,7 +67558,9 @@ function CommentOnBack() {
|
|
|
67102
67558
|
|
|
67103
67559
|
// Function to get annotations
|
|
67104
67560
|
function submitComments() {
|
|
67561
|
+
console.log('[Comments] \u{1F4BE} submitComments() \u2014 sending annotation data to app');
|
|
67105
67562
|
let data = window.commentsResponse.getAnnotations();
|
|
67563
|
+
console.log('[Comments] \u2705 Annotations collected', { count: data?.length });
|
|
67106
67564
|
|
|
67107
67565
|
sendEventCallback({
|
|
67108
67566
|
type: "COMMENTS_DATA",
|
|
@@ -67157,7 +67615,7 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67157
67615
|
);
|
|
67158
67616
|
if (!window.__unviredSdkScriptsLoaded && !window.__unviredSdkScriptsLoading) {
|
|
67159
67617
|
window.__unviredSdkScriptsLoading = true;
|
|
67160
|
-
console.log("
|
|
67618
|
+
console.log("[SDK:10] \u{1F527} Loading SDK scripts (jQuery, Formio, Recogito, LESS, components)...");
|
|
67161
67619
|
if (scriptContents[0] && scriptContents[0].trim()) {
|
|
67162
67620
|
const jqueryScript = document.createElement("script");
|
|
67163
67621
|
jqueryScript.textContent = scriptContents[0];
|
|
@@ -67175,6 +67633,7 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67175
67633
|
formioScript.async = false;
|
|
67176
67634
|
formioScript.onload = () => {
|
|
67177
67635
|
if (typeof window.Formio !== "undefined") {
|
|
67636
|
+
console.log("[SDK:10.2] \u2705 Formio library loaded from:", options.formioLibPath.formioPath);
|
|
67178
67637
|
resolve();
|
|
67179
67638
|
} else {
|
|
67180
67639
|
reject(new Error("Formio script loaded but window.Formio is undefined"));
|
|
@@ -67228,17 +67687,15 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67228
67687
|
}
|
|
67229
67688
|
window.__unviredSdkScriptsLoaded = true;
|
|
67230
67689
|
window.__unviredSdkScriptsLoading = false;
|
|
67231
|
-
console.log("\u2705 All
|
|
67690
|
+
console.log("[SDK:10.6] \u2705 All SDK scripts injected successfully");
|
|
67232
67691
|
} else if (window.__unviredSdkScriptsLoading) {
|
|
67233
|
-
console.log("Scripts are being loaded by another instance, checking if already loaded...");
|
|
67234
67692
|
if (!window.__unviredSdkScriptsLoaded) {
|
|
67235
67693
|
console.warn("\u26A0\uFE0F Scripts marked as loading but not yet loaded - waiting...");
|
|
67236
67694
|
window.__unviredSdkScriptsLoaded = true;
|
|
67237
67695
|
window.__unviredSdkScriptsLoading = false;
|
|
67238
67696
|
}
|
|
67239
|
-
console.log("\u2705 Scripts are available, continuing...");
|
|
67240
67697
|
} else {
|
|
67241
|
-
console.log("
|
|
67698
|
+
console.log("[SDK:10] \u2705 SDK scripts already loaded \u2014 skipping injection");
|
|
67242
67699
|
if (typeof window.Formio === "undefined") {
|
|
67243
67700
|
const errorMsg = `ErrorCode : 005, Formio library not available even though scripts were loaded. Path: ${options.formioLibPath.formioPath}`;
|
|
67244
67701
|
console.error(errorMsg);
|
|
@@ -67256,7 +67713,7 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67256
67713
|
});
|
|
67257
67714
|
throw new Error(errorMsg);
|
|
67258
67715
|
}
|
|
67259
|
-
console.log("\u2705 Formio verified (previously loaded)");
|
|
67716
|
+
console.log("[SDK:10] \u2705 Formio verified (previously loaded)");
|
|
67260
67717
|
}
|
|
67261
67718
|
window.FORM_TEMPLATE = mergedWithMasterData;
|
|
67262
67719
|
window.FORM_PREVIOUS_DATA = submissionData;
|
|
@@ -67304,7 +67761,7 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67304
67761
|
window.platform = { isBrowser: false, isAndroid: false, iosPlatform: true };
|
|
67305
67762
|
}
|
|
67306
67763
|
let envData = {};
|
|
67307
|
-
if (((
|
|
67764
|
+
if (((_c = options.environmentVariable) == null ? void 0 : _c.length) > 0) {
|
|
67308
67765
|
for (let obj of options.environmentVariable) {
|
|
67309
67766
|
for (let key in obj) {
|
|
67310
67767
|
envData[key] = obj[key];
|
|
@@ -67347,21 +67804,24 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67347
67804
|
});
|
|
67348
67805
|
let processedSubmissionData = submissionData;
|
|
67349
67806
|
if (submissionData) {
|
|
67807
|
+
console.log("[SDK:13] \u{1F517} Processing file IDs in submission data (fetching from IndexedDB)...");
|
|
67350
67808
|
processedSubmissionData = await processFileIds(
|
|
67351
67809
|
submissionData,
|
|
67352
|
-
sendEventCallback2
|
|
67810
|
+
sendEventCallback2,
|
|
67811
|
+
fileKeys
|
|
67353
67812
|
);
|
|
67813
|
+
console.log("[SDK:13] \u2705 File IDs processed \u2014 handing off to form renderer");
|
|
67354
67814
|
}
|
|
67355
67815
|
if (loaderElement) {
|
|
67356
67816
|
const loaderText = loaderElement.querySelector(".sdk-loader-text");
|
|
67357
67817
|
if (loaderText) loaderText.textContent = "Initializing Form...";
|
|
67358
67818
|
}
|
|
67359
67819
|
if (typeof window.loadRNform !== "function") {
|
|
67360
|
-
console.log("\u23F3 loadRNform not ready yet
|
|
67820
|
+
console.log("[SDK:14] \u23F3 loadRNform not ready yet \u2014 waiting for web-unvired-formio.js to signal...");
|
|
67361
67821
|
await new Promise((resolve) => {
|
|
67362
67822
|
const onReady = () => {
|
|
67363
67823
|
document.removeEventListener("LoadRNformReady", onReady);
|
|
67364
|
-
console.log("\u2705 loadRNform is now ready");
|
|
67824
|
+
console.log("[SDK:14] \u2705 loadRNform is now ready (LoadRNformReady event received)");
|
|
67365
67825
|
resolve();
|
|
67366
67826
|
};
|
|
67367
67827
|
document.addEventListener("LoadRNformReady", onReady);
|
|
@@ -67370,8 +67830,9 @@ window.CommentOnBack = CommentOnBack;
|
|
|
67370
67830
|
}
|
|
67371
67831
|
});
|
|
67372
67832
|
} else {
|
|
67373
|
-
console.log("\u2705 loadRNform
|
|
67833
|
+
console.log("[SDK:14] \u2705 loadRNform already available \u2014 invoking immediately");
|
|
67374
67834
|
}
|
|
67835
|
+
console.log("[SDK:14] \u{1F680} Handing off to loadRNform (web-unvired-formio.js)...");
|
|
67375
67836
|
await window.loadRNform(
|
|
67376
67837
|
mergedWithMasterData,
|
|
67377
67838
|
processedSubmissionData,
|
|
@@ -67425,22 +67886,22 @@ window.checkDocumentsVisibility = async function() {
|
|
|
67425
67886
|
window.insertAppDocument = async function(doc) {
|
|
67426
67887
|
try {
|
|
67427
67888
|
await insertDocument(doc);
|
|
67428
|
-
console.log("Document inserted");
|
|
67889
|
+
console.log("[AppDocument] \u2705 Document inserted", { id: doc == null ? void 0 : doc.id });
|
|
67429
67890
|
await window.checkDocumentsVisibility();
|
|
67430
67891
|
return true;
|
|
67431
67892
|
} catch (e) {
|
|
67432
|
-
console.error("Failed to insert document", e);
|
|
67893
|
+
console.error("[AppDocument] \u274C Failed to insert document", e);
|
|
67433
67894
|
return false;
|
|
67434
67895
|
}
|
|
67435
67896
|
};
|
|
67436
67897
|
window.deleteAppDocument = async function(id) {
|
|
67437
67898
|
try {
|
|
67438
67899
|
await deleteDocument(id);
|
|
67439
|
-
console.log("Document deleted");
|
|
67900
|
+
console.log("[AppDocument] \u2705 Document deleted", { id });
|
|
67440
67901
|
await window.checkDocumentsVisibility();
|
|
67441
67902
|
return true;
|
|
67442
67903
|
} catch (e) {
|
|
67443
|
-
console.error("Failed to delete document", e);
|
|
67904
|
+
console.error("[AppDocument] \u274C Failed to delete document", e);
|
|
67444
67905
|
return false;
|
|
67445
67906
|
}
|
|
67446
67907
|
};
|