@unvired/turboforms-embed-sdk 2.0.42 → 2.0.43
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 +203 -13
- package/dist/turboforms.esm.js +3 -3
- package/dist/turboforms.html +1 -1
- package/dist/turboforms.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,10 +13,24 @@ A powerful, lightweight JavaScript SDK for rendering dynamic forms with advanced
|
|
|
13
13
|
|
|
14
14
|
## 📦 Installation
|
|
15
15
|
|
|
16
|
+
### Using NPM
|
|
17
|
+
|
|
16
18
|
```bash
|
|
17
19
|
npm install unvired-forms-sdk
|
|
18
20
|
```
|
|
19
21
|
|
|
22
|
+
### Using CDN
|
|
23
|
+
|
|
24
|
+
You can include the SDK directly in your HTML using a CDN (e.g., jsDelivr) without requiring a build step:
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<script type="module">
|
|
28
|
+
import { loadForm } from 'https://cdn.jsdelivr.net/npm/unvired-forms-sdk/dist/unvired-forms-sdk.js';
|
|
29
|
+
|
|
30
|
+
// Initialize your form here
|
|
31
|
+
</script>
|
|
32
|
+
```
|
|
33
|
+
|
|
20
34
|
## 🚀 Usage Examples
|
|
21
35
|
|
|
22
36
|
### Vanilla JavaScript
|
|
@@ -50,9 +64,6 @@ npm install unvired-forms-sdk
|
|
|
50
64
|
},
|
|
51
65
|
container: document.getElementById('form-container'),
|
|
52
66
|
options: {
|
|
53
|
-
formioLibPath: {
|
|
54
|
-
formioPath: "./dist/assets/formio.full.min.js"
|
|
55
|
-
},
|
|
56
67
|
mode: "render",
|
|
57
68
|
platform: "web",
|
|
58
69
|
showBackButton: true,
|
|
@@ -94,9 +105,6 @@ const UnviredForm = ({ formData, onSubmit, onBack }) => {
|
|
|
94
105
|
},
|
|
95
106
|
container: containerRef.current,
|
|
96
107
|
options: {
|
|
97
|
-
formioLibPath: {
|
|
98
|
-
formioPath: "./assets/formio.full.min.js"
|
|
99
|
-
},
|
|
100
108
|
mode: "render",
|
|
101
109
|
platform: "web",
|
|
102
110
|
showBackButton: true
|
|
@@ -148,9 +156,6 @@ export class UnviredFormComponent {
|
|
|
148
156
|
},
|
|
149
157
|
container: this.formContainer.nativeElement,
|
|
150
158
|
options: {
|
|
151
|
-
formioLibPath: {
|
|
152
|
-
formioPath: "./assets/formio.full.min.js"
|
|
153
|
-
},
|
|
154
159
|
mode: "render",
|
|
155
160
|
platform: "web"
|
|
156
161
|
}
|
|
@@ -184,9 +189,6 @@ document.addEventListener('deviceready', function() {
|
|
|
184
189
|
},
|
|
185
190
|
container: document.getElementById('form-container'),
|
|
186
191
|
options: {
|
|
187
|
-
formioLibPath: {
|
|
188
|
-
formioPath: "./js/formio.full.min.js"
|
|
189
|
-
},
|
|
190
192
|
mode: "render",
|
|
191
193
|
platform: "cordova",
|
|
192
194
|
showBackButton: true
|
|
@@ -196,6 +198,186 @@ document.addEventListener('deviceready', function() {
|
|
|
196
198
|
}, false);
|
|
197
199
|
```
|
|
198
200
|
|
|
201
|
+
### CDN Web Integration
|
|
202
|
+
|
|
203
|
+
```html
|
|
204
|
+
<!DOCTYPE html>
|
|
205
|
+
<html>
|
|
206
|
+
<head>
|
|
207
|
+
<title>Unvired Forms Integration (CDN)</title>
|
|
208
|
+
</head>
|
|
209
|
+
<body>
|
|
210
|
+
<div id="form-container"></div>
|
|
211
|
+
|
|
212
|
+
<script type="module">
|
|
213
|
+
// Import directly from the CDN
|
|
214
|
+
import { loadForm } from 'https://cdn.jsdelivr.net/npm/unvired-forms-sdk/dist/unvired-forms-sdk.js';
|
|
215
|
+
|
|
216
|
+
const formInstance = loadForm({
|
|
217
|
+
formsData: formTemplateData, // Provide your Form.io JSON schema here
|
|
218
|
+
submissionData: {},
|
|
219
|
+
eventCallback: function (event) {
|
|
220
|
+
console.log('Form event:', event);
|
|
221
|
+
|
|
222
|
+
switch (event.type) {
|
|
223
|
+
case 'FORM_SUBMIT':
|
|
224
|
+
console.log('Form submitted:', event.data);
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
container: document.getElementById('form-container'),
|
|
229
|
+
options: {
|
|
230
|
+
mode: "render",
|
|
231
|
+
platform: "web",
|
|
232
|
+
showBackButton: true
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
</script>
|
|
236
|
+
</body>
|
|
237
|
+
</html>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### React Native Integration
|
|
241
|
+
|
|
242
|
+
Using `react-native-webview`:
|
|
243
|
+
|
|
244
|
+
```jsx
|
|
245
|
+
import React, { useRef } from 'react';
|
|
246
|
+
import { StyleSheet, SafeAreaView } from 'react-native';
|
|
247
|
+
import { WebView } from 'react-native-webview';
|
|
248
|
+
|
|
249
|
+
const UnviredFormNative = ({ formData }) => {
|
|
250
|
+
const webViewRef = useRef(null);
|
|
251
|
+
|
|
252
|
+
const htmlContent = `
|
|
253
|
+
<!DOCTYPE html>
|
|
254
|
+
<html>
|
|
255
|
+
<head>
|
|
256
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
257
|
+
</head>
|
|
258
|
+
<body style="margin: 0; padding: 0;">
|
|
259
|
+
<div id="form-container"></div>
|
|
260
|
+
<script type="module">
|
|
261
|
+
import { loadForm } from 'https://cdn.jsdelivr.net/npm/unvired-forms-sdk/dist/unvired-forms-sdk.js';
|
|
262
|
+
|
|
263
|
+
const formInstance = loadForm({
|
|
264
|
+
formsData: ${JSON.stringify(formData)},
|
|
265
|
+
submissionData: {},
|
|
266
|
+
eventCallback: function(event) {
|
|
267
|
+
window.ReactNativeWebView.postMessage(JSON.stringify(event));
|
|
268
|
+
},
|
|
269
|
+
container: document.getElementById('form-container'),
|
|
270
|
+
options: {
|
|
271
|
+
mode: "render",
|
|
272
|
+
platform: "web"
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
</script>
|
|
276
|
+
</body>
|
|
277
|
+
</html>
|
|
278
|
+
`;
|
|
279
|
+
|
|
280
|
+
const onMessage = (event) => {
|
|
281
|
+
const formEvent = JSON.parse(event.nativeEvent.data);
|
|
282
|
+
if (formEvent.type === 'FORM_SUBMIT') {
|
|
283
|
+
console.log('Form submitted:', formEvent.data);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
return (
|
|
288
|
+
<SafeAreaView style={styles.container}>
|
|
289
|
+
<WebView
|
|
290
|
+
ref={webViewRef}
|
|
291
|
+
originWhitelist={['*']}
|
|
292
|
+
source={{ html: htmlContent }}
|
|
293
|
+
onMessage={onMessage}
|
|
294
|
+
javaScriptEnabled={true}
|
|
295
|
+
/>
|
|
296
|
+
</SafeAreaView>
|
|
297
|
+
);
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
const styles = StyleSheet.create({
|
|
301
|
+
container: { flex: 1 }
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
export default UnviredFormNative;
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Flutter Integration
|
|
308
|
+
|
|
309
|
+
Using `webview_flutter`:
|
|
310
|
+
|
|
311
|
+
```dart
|
|
312
|
+
import 'dart:convert';
|
|
313
|
+
import 'package:flutter/material.dart';
|
|
314
|
+
import 'package:webview_flutter/webview_flutter.dart';
|
|
315
|
+
|
|
316
|
+
class UnviredFormScreen extends StatefulWidget {
|
|
317
|
+
final Map<String, dynamic> formData;
|
|
318
|
+
|
|
319
|
+
UnviredFormScreen({required this.formData});
|
|
320
|
+
|
|
321
|
+
@override
|
|
322
|
+
_UnviredFormScreenState createState() => _UnviredFormScreenState();
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
class _UnviredFormScreenState extends State<UnviredFormScreen> {
|
|
326
|
+
late WebViewController _controller;
|
|
327
|
+
|
|
328
|
+
@override
|
|
329
|
+
void initState() {
|
|
330
|
+
super.initState();
|
|
331
|
+
|
|
332
|
+
final htmlContent = '''
|
|
333
|
+
<!DOCTYPE html>
|
|
334
|
+
<html>
|
|
335
|
+
<head>
|
|
336
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
337
|
+
</head>
|
|
338
|
+
<body>
|
|
339
|
+
<div id="form-container"></div>
|
|
340
|
+
<script type="module">
|
|
341
|
+
import { loadForm } from 'https://cdn.jsdelivr.net/npm/unvired-forms-sdk/dist/unvired-forms-sdk.js';
|
|
342
|
+
|
|
343
|
+
const formInstance = loadForm({
|
|
344
|
+
formsData: ${jsonEncode(widget.formData)},
|
|
345
|
+
submissionData: {},
|
|
346
|
+
eventCallback: function(event) {
|
|
347
|
+
FormChannel.postMessage(JSON.stringify(event));
|
|
348
|
+
},
|
|
349
|
+
container: document.getElementById('form-container'),
|
|
350
|
+
options: { mode: "render", platform: "web" }
|
|
351
|
+
});
|
|
352
|
+
</script>
|
|
353
|
+
</body>
|
|
354
|
+
</html>
|
|
355
|
+
''';
|
|
356
|
+
|
|
357
|
+
_controller = WebViewController()
|
|
358
|
+
..setJavaScriptMode(JavaScriptMode.unrestricted)
|
|
359
|
+
..addJavaScriptChannel(
|
|
360
|
+
'FormChannel',
|
|
361
|
+
onMessageReceived: (JavaScriptMessage message) {
|
|
362
|
+
final event = jsonDecode(message.message);
|
|
363
|
+
if (event['type'] == 'FORM_SUBMIT') {
|
|
364
|
+
print('Form submitted: ${event['data']}');
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
)
|
|
368
|
+
..loadHtmlString(htmlContent);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
@override
|
|
372
|
+
Widget build(BuildContext context) {
|
|
373
|
+
return Scaffold(
|
|
374
|
+
appBar: AppBar(title: Text('Unvired Form')),
|
|
375
|
+
body: WebViewWidget(controller: _controller),
|
|
376
|
+
);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
199
381
|
## 📋 API Reference
|
|
200
382
|
|
|
201
383
|
### loadFormParams
|
|
@@ -212,7 +394,6 @@ document.addEventListener('deviceready', function() {
|
|
|
212
394
|
|
|
213
395
|
| Property | Type | Description |
|
|
214
396
|
|----------|------|-------------|
|
|
215
|
-
| `formioLibPath` | object | FormIO library paths configuration |
|
|
216
397
|
| `nestedFormData` | array | Nested form data |
|
|
217
398
|
| `masterData` | array | Master data for dropdowns |
|
|
218
399
|
| `title` | string | Form title |
|
|
@@ -231,6 +412,15 @@ document.addEventListener('deviceready', function() {
|
|
|
231
412
|
| `permission` | string | Access permission ('writesingle', 'writemultiple', 'read') |
|
|
232
413
|
| `controlData` | object | Data for initial control values |
|
|
233
414
|
| `showLoader` | boolean | Show/hide initial SDK loading spinner |
|
|
415
|
+
| `commentsData` | array | Comments data |
|
|
416
|
+
| `vobArr` | array | Voice of Business data |
|
|
417
|
+
| `showComments` | boolean | Show/hide comments |
|
|
418
|
+
| `showDocuments` | boolean | Show/hide documents |
|
|
419
|
+
| `showHelp` | boolean | Show/hide help |
|
|
420
|
+
| `showFooter` | boolean | Show/hide form footer |
|
|
421
|
+
| `showHeader` | boolean | Show/hide form header |
|
|
422
|
+
| `showCompleteAlways` | boolean | Always show complete button |
|
|
423
|
+
| `requireCompleteForm` | boolean | Require form to be 100% complete before submission |
|
|
234
424
|
|
|
235
425
|
### Event Types
|
|
236
426
|
|
package/dist/turboforms.esm.js
CHANGED
|
@@ -131,7 +131,7 @@ var ke=Object.create;var ie=Object.defineProperty;var Ee=Object.getOwnPropertyDe
|
|
|
131
131
|
|
|
132
132
|
/* === STYLE_SEPARATOR === */
|
|
133
133
|
|
|
134
|
-
.tf-formio-sdk table.table,.tf-formio-sdk table.datagrid-table,.tf-formio-sdk .table>:not(caption)>*>*{border:1px solid var(--tf-border-color)!important;margin-bottom:.5rem!important;font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .formio-component-datagrid{border-radius:8px!important;overflow:visible!important}.tf-formio-sdk table.table td,.tf-formio-sdk table.table th{font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .table td .formio-component-signature{width:100%!important}.tf-formio-sdk .table-responsive{display:block!important;width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;transition:all .2s ease}.tf-formio-sdk .table-responsive::-webkit-scrollbar{width:0px!important}.tf-formio-sdk .table-responsive:has(.choices.is-open){z-index:9999!important}.tf-formio-sdk .formio-component-datagrid .table-responsive:has(.choices.is-open){overflow-x:auto!important;overflow-y:auto!important}.tf-formio-sdk .table-responsive:not(.formio-component-datagrid .table-responsive):has(.choices.is-open){overflow-x:auto!important;overflow-y:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) thead{z-index:1!important;position:relative!important;overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) tbody{overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) table.table,.tf-formio-sdk .table-responsive:has(.choices.is-open) .table>:not(caption)>*>*,.tf-formio-sdk table.table:has(.choices.is-open),.tf-formio-sdk table.table:has(.choices.is-open) td,.tf-formio-sdk table.table:has(.choices.is-open) th,.tf-formio-sdk tr:has(.choices.is-open) td{border:1px solid var(--tf-border-color)!important;border-color:var(--tf-border-color)!important;visibility:visible!important;opacity:1!important}.tf-formio-sdk table.table:has(.choices.is-open){border-spacing:0!important}.tf-formio-sdk.formio-form table.table thead th,.tf-formio-sdk.formio-form table.table tbody td,.tf-formio-sdk.formio-form table.table tfoot td,.tf-formio-sdk .formio-component-datagrid table thead th,.tf-formio-sdk .formio-component-datagrid table tbody td,.tf-formio-sdk .formio-component-datagrid table tfoot td{padding:.5rem .75rem!important;vertical-align:top!important;border:1px solid var(--tf-border-color)!important;word-wrap:break-word!important;overflow:visible!important;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color)!important;line-height:1.2!important}.tf-formio-sdk .formio-component-datagrid table tbody td{border:1px solid var(--tf-border-color)!important}.tf-formio-sdk .formio-component-datagrid table tfoot td{border:none!important}.tf-formio-sdk .table-striped>tbody>tr:nth-of-type(odd)>*{color:var(--tf-app-font-color)!important;--bs-table-color-type: var(--tf-app-font-color) !important}.tf-formio-sdk .formio-component-datagrid table.datagrid-table thead th:last-child,.tf-formio-sdk .formio-component-datagrid table.datagrid-table tbody tr td:last-child,.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){text-align:center!important;min-width:45px!important}@media (min-width: 769px){.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){width:1%!important}}.tf-formio-sdk tr:has(.choices.is-open){z-index:100!important;position:relative!important}.tf-formio-sdk .formio-component-datagrid table tfoot tr td,.tf-formio-sdk .formio-form table tfoot tr td{text-align:left!important;padding-left:.75rem!important;background-color:transparent!important}@media (max-width: 768px){.tf-formio-sdk .table-responsive,.tf-formio-sdk .formio-component-table,.tf-formio-sdk .formio-component-datagrid,.tf-formio-sdk .formio-component-multiple{overflow:visible!important}.tf-formio-sdk .formio-form table.table thead,.tf-formio-sdk .formio-component-datagrid table thead,.tf-formio-sdk .formio-component-multiple table thead{display:none!important}.tf-formio-sdk .formio-form table.table,.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component table,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr,.tf-formio-sdk .formio-component td{display:block!important;width:100%!important}.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr{border-style:none!important}.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component-datagrid tr{
|
|
134
|
+
.tf-formio-sdk table.table,.tf-formio-sdk table.datagrid-table,.tf-formio-sdk .table>:not(caption)>*>*{border:1px solid var(--tf-border-color)!important;margin-bottom:.5rem!important;font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .formio-component-datagrid{border-radius:8px!important;overflow:visible!important}.tf-formio-sdk table.table td,.tf-formio-sdk table.table th{font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .table td .formio-component-signature{width:100%!important}.tf-formio-sdk .table-responsive{display:block!important;width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;transition:all .2s ease}.tf-formio-sdk .table-responsive::-webkit-scrollbar{width:0px!important}.tf-formio-sdk .table-responsive:has(.choices.is-open){z-index:9999!important}.tf-formio-sdk .formio-component-datagrid .table-responsive:has(.choices.is-open){overflow-x:auto!important;overflow-y:auto!important}.tf-formio-sdk .table-responsive:not(.formio-component-datagrid .table-responsive):has(.choices.is-open){overflow-x:auto!important;overflow-y:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) thead{z-index:1!important;position:relative!important;overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) tbody{overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) table.table,.tf-formio-sdk .table-responsive:has(.choices.is-open) .table>:not(caption)>*>*,.tf-formio-sdk table.table:has(.choices.is-open),.tf-formio-sdk table.table:has(.choices.is-open) td,.tf-formio-sdk table.table:has(.choices.is-open) th,.tf-formio-sdk tr:has(.choices.is-open) td{border:1px solid var(--tf-border-color)!important;border-color:var(--tf-border-color)!important;visibility:visible!important;opacity:1!important}.tf-formio-sdk table.table:has(.choices.is-open){border-spacing:0!important}.tf-formio-sdk.formio-form table.table thead th,.tf-formio-sdk.formio-form table.table tbody td,.tf-formio-sdk.formio-form table.table tfoot td,.tf-formio-sdk .formio-component-datagrid table thead th,.tf-formio-sdk .formio-component-datagrid table tbody td,.tf-formio-sdk .formio-component-datagrid table tfoot td{padding:.5rem .75rem!important;vertical-align:top!important;border:1px solid var(--tf-border-color)!important;word-wrap:break-word!important;overflow:visible!important;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color)!important;line-height:1.2!important;border-radius:5px}.tf-formio-sdk .formio-component-datagrid table tbody td{border:1px solid var(--tf-border-color)!important}.tf-formio-sdk .formio-component-datagrid table tfoot td{border:none!important}.tf-formio-sdk .table-striped>tbody>tr:nth-of-type(odd)>*{color:var(--tf-app-font-color)!important;--bs-table-color-type: var(--tf-app-font-color) !important}.tf-formio-sdk .formio-component-datagrid table.datagrid-table thead th:last-child,.tf-formio-sdk .formio-component-datagrid table.datagrid-table tbody tr td:last-child,.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){text-align:center!important;min-width:45px!important}@media (min-width: 769px){.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){width:1%!important}}.tf-formio-sdk tr:has(.choices.is-open){z-index:100!important;position:relative!important}.tf-formio-sdk .formio-component-datagrid table tfoot tr td,.tf-formio-sdk .formio-form table tfoot tr td{text-align:left!important;padding-left:.75rem!important;background-color:transparent!important}@media (max-width: 768px){.tf-formio-sdk .table-responsive,.tf-formio-sdk .formio-component-table,.tf-formio-sdk .formio-component-datagrid,.tf-formio-sdk .formio-component-multiple{overflow:visible!important}.tf-formio-sdk .formio-form table.table thead,.tf-formio-sdk .formio-component-datagrid table thead,.tf-formio-sdk .formio-component-multiple table thead{display:none!important}.tf-formio-sdk .formio-form table.table,.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component table,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr,.tf-formio-sdk .formio-component td{display:block!important;width:100%!important;border-radius:10px}.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr{border-style:none!important}.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component-datagrid tr{border-radius:10px!important}.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component-datagrid td{border:none!important;border-bottom:1px solid #f1f5f9!important;padding:.6rem .8rem!important;font-size:.8125rem!important}.tf-formio-sdk table td:has(>[ref=removeRow]),.tf-formio-sdk table td:has(>.formio-button-remove-row){text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:.8rem!important;width:100%!important}.tf-formio-sdk .formio-component-datagrid td[data-label]:before{content:attr(data-label);display:block;font-family:var(--tf-app-font-family)!important;font-weight:600;margin-bottom:.25rem;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color, #333);text-align:left}}.tf-formio-sdk .formio-component-datagrid .row [class*=col-]{min-width:60px!important}.tf-formio-sdk .formio-component-datagrid .row [class*=col-].formio-component-select,.tf-formio-sdk .formio-component-datagrid .row [class*=col-]:has([class*=formio-component-select]),.tf-formio-sdk .formio-component-datagrid .row [class*=col-]:has(.formio-component-select){min-width:50px!important}.tf-formio-sdk .formio-component-datagrid .col-form-label{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.tf-formio-sdk .formio-component-table table,.tf-formio-sdk .formio-component-datagrid table{width:100%!important}.tf-formio-sdk .table td .formio-component{width:100%!important;max-width:100%!important}.tf-formio-sdk .table td label:not(.custom-control-label){max-width:100%!important;word-break:break-word!important;white-space:normal!important;line-height:1.1!important;font-size:.75rem!important;margin-bottom:2px!important;display:block!important}
|
|
135
135
|
|
|
136
136
|
/* === STYLE_SEPARATOR === */
|
|
137
137
|
|
|
@@ -199,7 +199,7 @@ var ke=Object.create;var ie=Object.defineProperty;var Ee=Object.getOwnPropertyDe
|
|
|
199
199
|
</div>
|
|
200
200
|
${(W=e.themeData)!=null&&W.isCard?"</div>":""}
|
|
201
201
|
<div id="sticky-footer" class="${e.showFooter===!1?"footer-hidden":""}">
|
|
202
|
-
<div class="build-version">SDK v2.0.
|
|
202
|
+
<div class="build-version">SDK v2.0.43</div>
|
|
203
203
|
|
|
204
204
|
<button class="footer-btn footer-btn-secondary" id="prevBtn" style="display:none" onclick="FormOnPrevious()">
|
|
205
205
|
<i class="bi bi-chevron-left"></i> Previous
|
|
@@ -262,4 +262,4 @@ var ke=Object.create;var ie=Object.defineProperty;var Ee=Object.getOwnPropertyDe
|
|
|
262
262
|
|
|
263
263
|
// === SCRIPT_SEPARATOR ===
|
|
264
264
|
|
|
265
|
-
`);if(!window.__unviredSdkScriptsLoaded&&!window.__unviredSdkScriptsLoading){window.__unviredSdkScriptsLoading=!0,l.info("[TF_SDK:14] \u2705 Loading SDK scripts (jQuery, Formio, Recogito, LESS, components)...");let m=d=>{if(b){let C=b.querySelector(".sdk-loader-text");C&&(C.textContent=d)}};if(m("Loading Core Components..."),c[0]&&c[0].trim()){let d=document.createElement("script");d.textContent=c[0],d.setAttribute("data-unvired-script","jquery"),document.head.appendChild(d)}if(c[4]&&c[4].trim()){let d=document.createElement("script");d.textContent=c[4],d.setAttribute("data-unvired-script","choices"),document.head.appendChild(d)}if(m("Loading Formio Library..."),c[5]&&c[5].trim()){let d=document.createElement("script");d.textContent=c[5],d.setAttribute("data-unvired-script","formio"),document.head.appendChild(d),l.info("[TF_SDK:15] \u2705 Bundled Formio library injected.")}if(e.showComments){m("Loading Annotation Tools...");for(let d=1;d<=2;d++)if(c[d]&&c[d].trim()){let C=document.createElement("script");C.textContent=c[d],C.setAttribute("data-unvired-script",`recogito-${d}`),document.head.appendChild(C),await new Promise(A=>setTimeout(A,0))}}else l.info("[TF_SDK:16] \u2705 Skipping Recogito (comments disabled, optimized load)");if(m("Initializing Engine..."),c[3]&&c[3].trim()){let d=document.createElement("script");d.textContent=c[3],d.setAttribute("data-unvired-script","less"),document.head.appendChild(d)}window.form=window.form||{},window.platform=window.platform||{},window.ResizeObserver=window.ResizeObserver||ResizeObserver,typeof browserMD5File!="undefined"&&(window.form.BMF=new browserMD5File),window.less=window.less||{},typeof window.__Html5QrcodeLibrary__!="undefined"&&(window.html5QrCode=window.__Html5QrcodeLibrary__),typeof window.Html5QrcodeScanner=="undefined"&&(window.Html5QrcodeScanner=class{constructor(){l.warn("[TF_SDK:17] \u26A0\uFE0F Barcode library (Html5QrcodeScanner) is not loaded.")}render(){}clear(){}}),m("Initializing Components...");for(let d=6;d<c.length;d++){let C=c[d];if(C&&C.trim()){let A=document.createElement("script");A.textContent=C,A.setAttribute("data-unvired-script",`script-${d}`),document.head.appendChild(A),d%5===0&&await new Promise(V=>setTimeout(V,0))}}window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1,l.info("[TF_SDK:18] \u2705 All SDK scripts injected successfully"),document.addEventListener("click",function(d){let C=document.getElementById("unvired-more-btn"),A=document.getElementById("moreTooltip");C&&A&&!C.contains(d.target)&&!A.contains(d.target)&&(A.style.display="none")})}else if(window.__unviredSdkScriptsLoading)window.__unviredSdkScriptsLoaded||(l.warn("[TF_SDK:19] \u26A0\uFE0F Scripts marked as loading but not yet loaded - waiting..."),window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1);else{if(l.info("[TF_SDK:20] \u2705 SDK scripts already loaded \u2014 skipping injection"),typeof window.Formio=="undefined"){let m="ErrorCode : 005, Formio library not available even though scripts were loaded.";throw l.error("[TF_SDK:21] \u274C ",m),b&&b.classList.add("hidden"),s({type:"ERROR",errorMessage:m,data:{technicalError:new Error(m),formioPath:"bundled",timestamp:new Date().toISOString()}}),new Error(m)}l.info("[TF_SDK:22] \u2705 Formio verified (previously loaded)")}window.FORM_TEMPLATE=h,window.FORM_PREVIOUS_DATA=n,window.FORM_MODE=e.mode,window.FORM_COMMENTS_DATA=e.commentsData,window.FORM_VOB_ARR=e.vobArr,window.FORM_PLATFORM=e.platform,window.FORM_LANGUAGE=e.language,window.FORM_TRASLATIONS=e.translations,window.FORM_ENV=e.environmentVariable,window.FORM_THEME_DATA=e.themeData,window.FORM_USER_DATA=e.userData,window.FORM_USERS_LIST=e.usersList,window.FORM_CONTROL_DATA=e.controlData,window.FORM_PRIVATE_EXTERNAL=e.privateExternal,window.FORM_PERMISSION=e.permission,window.FORM_ATTACHMENT_FILE_KEYS=i,window.sendEventCallback=s,window.FORM_EVENTS={FORM_RENDER:"FORM_RENDER",SAVE:"FORM_SAVE",SUBMIT:"FORM_SUBMIT",SUBMIT_ERROR:"FORM_SUBMIT_ERROR",BACK_NAVIGATION:"FORM_BACK_NAVIGATION",ONCHANGE:"FORM_ONCHANGE",FORM_LOADED:"FORM_LOADED"};let v=r.querySelector("#form-back-btn"),E=r.querySelector("#unvired-more-btn");v&&(e.showBackButton?v.style.setProperty("display","flex","important"):v.style.setProperty("display","none","important")),E&&!e.showMoreButton&&E.style.setProperty("display","none","important"),window.__unviredFormsOptions=e,window.checkDocumentsVisibility(),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility(),e.platform==="web"?window.platform={isBrowser:!0,isAndroid:!1,iosPlatform:!1}:e.platform==="android"?window.platform={isBrowser:!1,isAndroid:!0,iosPlatform:!1}:e.platform==="ios"&&(window.platform={isBrowser:!1,isAndroid:!1,iosPlatform:!0});let O={};if(((oe=e.environmentVariable)==null?void 0:oe.length)>0)for(let m of e.environmentVariable)for(let d in m)O[d]=m[d];Object.keys(O).length>0&&(window.env=O);let S=r.querySelector("#sticky-header"),N=r.querySelector("#sticky-footer"),L=r.querySelector("#formio-wrapper"),H=r.querySelector("#comments-header");e.mode==="pdf"||e.mode==="print"?(r.classList.add(`${e.mode}-mode`),L&&L.classList.add(`${e.mode}-mode`),S&&(S.style.display="none"),N&&(N.style.display="none")):(S&&(S.style.display="flex"),N&&(N.style.display="flex")),H&&(H.style.display="none"),e.themeData&&Object.keys(e.themeData).length>0&&(window.FORM_THEME_DATA=e.themeData),e.language&&(window.FORMIO_LANGUAGE=e.language),e.translations&&(window.FORMIO_I18N=e.translations),e.userData&&(window.firstName=e.userData.firstName,window.lastName=e.userData.lastName,window.form=window.form||{},Object.assign(window.form,e.userData)),window.less=window.less||{},Object.assign(window.less,{async:!0,environment:"production",fileAsync:!1,onReady:!0,useFileCache:!0});let _=n;if(n&&(l.info("[TF_SDK:23] \u2705 Processing file IDs in submission data (fetching from IndexedDB)..."),_=await pe(n,s,i),l.info("[TF_SDK:24] \u2705 File IDs processed \u2014 handing off to form renderer")),b){let m=b.querySelector(".sdk-loader-text");m&&(m.textContent="Initializing Form...")}return typeof window.loadTRform!="function"?(l.info("[TF_SDK:25] \u2705 loadTRform not ready yet \u2014 waiting for web-turbo-formio.js to signal..."),await new Promise(m=>{let d=()=>{document.removeEventListener("LoadRNformReady",d),l.info("[TF_SDK:26] \u2705 loadTRform is now ready (LoadRNformReady event received)"),m()};document.addEventListener("LoadRNformReady",d),typeof window.loadTRform=="function"&&d()})):l.info("[TF_SDK:27] \u2705 loadTRform already available \u2014 invoking immediately"),l.info("[TF_SDK:28] \u2705 Handing off to loadTRform (web-turbo-formio.js)..."),await window.loadTRform(h,_,e.themeData,e.mode,e.language,e.translations,e.controlData,e.privateExternal,e.permission,i),Ce(),{sendAction:m=>{var d;m.type==="SET_IMAGE_DATA"&&((d=window.setImageData)==null||d.call(window,m.imageData,m.controlId,m.fileName))},destroy:()=>{r.innerHTML=""}}}window.closeDocumentsModal=function(){if(typeof $!="undefined"&&$.fn.modal)$("#documentsModal").modal("hide");else{let t=document.getElementById("documentsModal");t&&(t.style.display="none",t.classList.remove("active"))}};window.checkDocumentsVisibility=async function(){let t=document.getElementById("documentsOption"),n=document.getElementById("documentsDivider"),o=await te();t.style.display=o?"block":"none",n&&(n.style.display=o?"block":"none"),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility()};window.insertAppDocument=async function(t){try{return await be(t),l.info("[TF_SDK:29] \u2705 Document inserted",{id:t==null?void 0:t.id}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:30] \u274C Failed to insert document",n),!1}};window.deleteAppDocument=async function(t){try{return await ge(t),l.info("[TF_SDK:31] \u2705 Document deleted",{id:t}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:32] \u274C Failed to delete document",n),!1}};window.getAllDocuments=me;window.hasDocuments=te;function He(){return"2.0.
|
|
265
|
+
`);if(!window.__unviredSdkScriptsLoaded&&!window.__unviredSdkScriptsLoading){window.__unviredSdkScriptsLoading=!0,l.info("[TF_SDK:14] \u2705 Loading SDK scripts (jQuery, Formio, Recogito, LESS, components)...");let m=d=>{if(b){let C=b.querySelector(".sdk-loader-text");C&&(C.textContent=d)}};if(m("Loading Core Components..."),c[0]&&c[0].trim()){let d=document.createElement("script");d.textContent=c[0],d.setAttribute("data-unvired-script","jquery"),document.head.appendChild(d)}if(c[4]&&c[4].trim()){let d=document.createElement("script");d.textContent=c[4],d.setAttribute("data-unvired-script","choices"),document.head.appendChild(d)}if(m("Loading Formio Library..."),c[5]&&c[5].trim()){let d=document.createElement("script");d.textContent=c[5],d.setAttribute("data-unvired-script","formio"),document.head.appendChild(d),l.info("[TF_SDK:15] \u2705 Bundled Formio library injected.")}if(e.showComments){m("Loading Annotation Tools...");for(let d=1;d<=2;d++)if(c[d]&&c[d].trim()){let C=document.createElement("script");C.textContent=c[d],C.setAttribute("data-unvired-script",`recogito-${d}`),document.head.appendChild(C),await new Promise(A=>setTimeout(A,0))}}else l.info("[TF_SDK:16] \u2705 Skipping Recogito (comments disabled, optimized load)");if(m("Initializing Engine..."),c[3]&&c[3].trim()){let d=document.createElement("script");d.textContent=c[3],d.setAttribute("data-unvired-script","less"),document.head.appendChild(d)}window.form=window.form||{},window.platform=window.platform||{},window.ResizeObserver=window.ResizeObserver||ResizeObserver,typeof browserMD5File!="undefined"&&(window.form.BMF=new browserMD5File),window.less=window.less||{},typeof window.__Html5QrcodeLibrary__!="undefined"&&(window.html5QrCode=window.__Html5QrcodeLibrary__),typeof window.Html5QrcodeScanner=="undefined"&&(window.Html5QrcodeScanner=class{constructor(){l.warn("[TF_SDK:17] \u26A0\uFE0F Barcode library (Html5QrcodeScanner) is not loaded.")}render(){}clear(){}}),m("Initializing Components...");for(let d=6;d<c.length;d++){let C=c[d];if(C&&C.trim()){let A=document.createElement("script");A.textContent=C,A.setAttribute("data-unvired-script",`script-${d}`),document.head.appendChild(A),d%5===0&&await new Promise(V=>setTimeout(V,0))}}window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1,l.info("[TF_SDK:18] \u2705 All SDK scripts injected successfully"),document.addEventListener("click",function(d){let C=document.getElementById("unvired-more-btn"),A=document.getElementById("moreTooltip");C&&A&&!C.contains(d.target)&&!A.contains(d.target)&&(A.style.display="none")})}else if(window.__unviredSdkScriptsLoading)window.__unviredSdkScriptsLoaded||(l.warn("[TF_SDK:19] \u26A0\uFE0F Scripts marked as loading but not yet loaded - waiting..."),window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1);else{if(l.info("[TF_SDK:20] \u2705 SDK scripts already loaded \u2014 skipping injection"),typeof window.Formio=="undefined"){let m="ErrorCode : 005, Formio library not available even though scripts were loaded.";throw l.error("[TF_SDK:21] \u274C ",m),b&&b.classList.add("hidden"),s({type:"ERROR",errorMessage:m,data:{technicalError:new Error(m),formioPath:"bundled",timestamp:new Date().toISOString()}}),new Error(m)}l.info("[TF_SDK:22] \u2705 Formio verified (previously loaded)")}window.FORM_TEMPLATE=h,window.FORM_PREVIOUS_DATA=n,window.FORM_MODE=e.mode,window.FORM_COMMENTS_DATA=e.commentsData,window.FORM_VOB_ARR=e.vobArr,window.FORM_PLATFORM=e.platform,window.FORM_LANGUAGE=e.language,window.FORM_TRASLATIONS=e.translations,window.FORM_ENV=e.environmentVariable,window.FORM_THEME_DATA=e.themeData,window.FORM_USER_DATA=e.userData,window.FORM_USERS_LIST=e.usersList,window.FORM_CONTROL_DATA=e.controlData,window.FORM_PRIVATE_EXTERNAL=e.privateExternal,window.FORM_PERMISSION=e.permission,window.FORM_ATTACHMENT_FILE_KEYS=i,window.sendEventCallback=s,window.FORM_EVENTS={FORM_RENDER:"FORM_RENDER",SAVE:"FORM_SAVE",SUBMIT:"FORM_SUBMIT",SUBMIT_ERROR:"FORM_SUBMIT_ERROR",BACK_NAVIGATION:"FORM_BACK_NAVIGATION",ONCHANGE:"FORM_ONCHANGE",FORM_LOADED:"FORM_LOADED"};let v=r.querySelector("#form-back-btn"),E=r.querySelector("#unvired-more-btn");v&&(e.showBackButton?v.style.setProperty("display","flex","important"):v.style.setProperty("display","none","important")),E&&!e.showMoreButton&&E.style.setProperty("display","none","important"),window.__unviredFormsOptions=e,window.checkDocumentsVisibility(),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility(),e.platform==="web"?window.platform={isBrowser:!0,isAndroid:!1,iosPlatform:!1}:e.platform==="android"?window.platform={isBrowser:!1,isAndroid:!0,iosPlatform:!1}:e.platform==="ios"&&(window.platform={isBrowser:!1,isAndroid:!1,iosPlatform:!0});let O={};if(((oe=e.environmentVariable)==null?void 0:oe.length)>0)for(let m of e.environmentVariable)for(let d in m)O[d]=m[d];Object.keys(O).length>0&&(window.env=O);let S=r.querySelector("#sticky-header"),N=r.querySelector("#sticky-footer"),L=r.querySelector("#formio-wrapper"),H=r.querySelector("#comments-header");e.mode==="pdf"||e.mode==="print"?(r.classList.add(`${e.mode}-mode`),L&&L.classList.add(`${e.mode}-mode`),S&&(S.style.display="none"),N&&(N.style.display="none")):(S&&(S.style.display="flex"),N&&(N.style.display="flex")),H&&(H.style.display="none"),e.themeData&&Object.keys(e.themeData).length>0&&(window.FORM_THEME_DATA=e.themeData),e.language&&(window.FORMIO_LANGUAGE=e.language),e.translations&&(window.FORMIO_I18N=e.translations),e.userData&&(window.firstName=e.userData.firstName,window.lastName=e.userData.lastName,window.form=window.form||{},Object.assign(window.form,e.userData)),window.less=window.less||{},Object.assign(window.less,{async:!0,environment:"production",fileAsync:!1,onReady:!0,useFileCache:!0});let _=n;if(n&&(l.info("[TF_SDK:23] \u2705 Processing file IDs in submission data (fetching from IndexedDB)..."),_=await pe(n,s,i),l.info("[TF_SDK:24] \u2705 File IDs processed \u2014 handing off to form renderer")),b){let m=b.querySelector(".sdk-loader-text");m&&(m.textContent="Initializing Form...")}return typeof window.loadTRform!="function"?(l.info("[TF_SDK:25] \u2705 loadTRform not ready yet \u2014 waiting for web-turbo-formio.js to signal..."),await new Promise(m=>{let d=()=>{document.removeEventListener("LoadRNformReady",d),l.info("[TF_SDK:26] \u2705 loadTRform is now ready (LoadRNformReady event received)"),m()};document.addEventListener("LoadRNformReady",d),typeof window.loadTRform=="function"&&d()})):l.info("[TF_SDK:27] \u2705 loadTRform already available \u2014 invoking immediately"),l.info("[TF_SDK:28] \u2705 Handing off to loadTRform (web-turbo-formio.js)..."),await window.loadTRform(h,_,e.themeData,e.mode,e.language,e.translations,e.controlData,e.privateExternal,e.permission,i),Ce(),{sendAction:m=>{var d;m.type==="SET_IMAGE_DATA"&&((d=window.setImageData)==null||d.call(window,m.imageData,m.controlId,m.fileName))},destroy:()=>{r.innerHTML=""}}}window.closeDocumentsModal=function(){if(typeof $!="undefined"&&$.fn.modal)$("#documentsModal").modal("hide");else{let t=document.getElementById("documentsModal");t&&(t.style.display="none",t.classList.remove("active"))}};window.checkDocumentsVisibility=async function(){let t=document.getElementById("documentsOption"),n=document.getElementById("documentsDivider"),o=await te();t.style.display=o?"block":"none",n&&(n.style.display=o?"block":"none"),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility()};window.insertAppDocument=async function(t){try{return await be(t),l.info("[TF_SDK:29] \u2705 Document inserted",{id:t==null?void 0:t.id}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:30] \u274C Failed to insert document",n),!1}};window.deleteAppDocument=async function(t){try{return await ge(t),l.info("[TF_SDK:31] \u2705 Document deleted",{id:t}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:32] \u274C Failed to delete document",n),!1}};window.getAllDocuments=me;window.hasDocuments=te;function He(){return"2.0.43"}function Se(t){let n=typeof t=="string"?document.getElementById(t):t;n||(n=document.querySelector(".tf-formio-sdk")||document.body);let o=n.querySelectorAll("table"),r=0,e=null;return o.forEach(i=>{let a=i.getBoundingClientRect().width;a>r&&(r=a,e=i)}),{maxWidth:r,widestTable:e}}window.getMaxTableWidth=Se;typeof window!="undefined"&&(window.TurboForms=window.TurboForms||{loadForm:ze,getBuildVersion:He,getMaxTableWidth:Se});export{He as getBuildVersion,Se as getMaxTableWidth,ze as loadForm};
|
package/dist/turboforms.html
CHANGED
|
@@ -42902,7 +42902,7 @@ window.CommentOnBack = CommentOnBack;
|
|
|
42902
42902
|
|
|
42903
42903
|
|
|
42904
42904
|
<div id="sticky-footer">
|
|
42905
|
-
<div class="build-version">SDK v2.0.
|
|
42905
|
+
<div class="build-version">SDK v2.0.43</div>
|
|
42906
42906
|
<div class="relative-position">
|
|
42907
42907
|
<button id="unvired-more-btn" class="ui button primary dataGrid-addRow" onclick="toggleTooltip()">
|
|
42908
42908
|
<i class="icon options"></i>
|
package/dist/turboforms.js
CHANGED
|
@@ -131,7 +131,7 @@ var TurboForms=(()=>{var Oe=Object.create;var q=Object.defineProperty;var Pe=Obj
|
|
|
131
131
|
|
|
132
132
|
/* === STYLE_SEPARATOR === */
|
|
133
133
|
|
|
134
|
-
.tf-formio-sdk table.table,.tf-formio-sdk table.datagrid-table,.tf-formio-sdk .table>:not(caption)>*>*{border:1px solid var(--tf-border-color)!important;margin-bottom:.5rem!important;font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .formio-component-datagrid{border-radius:8px!important;overflow:visible!important}.tf-formio-sdk table.table td,.tf-formio-sdk table.table th{font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .table td .formio-component-signature{width:100%!important}.tf-formio-sdk .table-responsive{display:block!important;width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;transition:all .2s ease}.tf-formio-sdk .table-responsive::-webkit-scrollbar{width:0px!important}.tf-formio-sdk .table-responsive:has(.choices.is-open){z-index:9999!important}.tf-formio-sdk .formio-component-datagrid .table-responsive:has(.choices.is-open){overflow-x:auto!important;overflow-y:auto!important}.tf-formio-sdk .table-responsive:not(.formio-component-datagrid .table-responsive):has(.choices.is-open){overflow-x:auto!important;overflow-y:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) thead{z-index:1!important;position:relative!important;overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) tbody{overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) table.table,.tf-formio-sdk .table-responsive:has(.choices.is-open) .table>:not(caption)>*>*,.tf-formio-sdk table.table:has(.choices.is-open),.tf-formio-sdk table.table:has(.choices.is-open) td,.tf-formio-sdk table.table:has(.choices.is-open) th,.tf-formio-sdk tr:has(.choices.is-open) td{border:1px solid var(--tf-border-color)!important;border-color:var(--tf-border-color)!important;visibility:visible!important;opacity:1!important}.tf-formio-sdk table.table:has(.choices.is-open){border-spacing:0!important}.tf-formio-sdk.formio-form table.table thead th,.tf-formio-sdk.formio-form table.table tbody td,.tf-formio-sdk.formio-form table.table tfoot td,.tf-formio-sdk .formio-component-datagrid table thead th,.tf-formio-sdk .formio-component-datagrid table tbody td,.tf-formio-sdk .formio-component-datagrid table tfoot td{padding:.5rem .75rem!important;vertical-align:top!important;border:1px solid var(--tf-border-color)!important;word-wrap:break-word!important;overflow:visible!important;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color)!important;line-height:1.2!important}.tf-formio-sdk .formio-component-datagrid table tbody td{border:1px solid var(--tf-border-color)!important}.tf-formio-sdk .formio-component-datagrid table tfoot td{border:none!important}.tf-formio-sdk .table-striped>tbody>tr:nth-of-type(odd)>*{color:var(--tf-app-font-color)!important;--bs-table-color-type: var(--tf-app-font-color) !important}.tf-formio-sdk .formio-component-datagrid table.datagrid-table thead th:last-child,.tf-formio-sdk .formio-component-datagrid table.datagrid-table tbody tr td:last-child,.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){text-align:center!important;min-width:45px!important}@media (min-width: 769px){.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){width:1%!important}}.tf-formio-sdk tr:has(.choices.is-open){z-index:100!important;position:relative!important}.tf-formio-sdk .formio-component-datagrid table tfoot tr td,.tf-formio-sdk .formio-form table tfoot tr td{text-align:left!important;padding-left:.75rem!important;background-color:transparent!important}@media (max-width: 768px){.tf-formio-sdk .table-responsive,.tf-formio-sdk .formio-component-table,.tf-formio-sdk .formio-component-datagrid,.tf-formio-sdk .formio-component-multiple{overflow:visible!important}.tf-formio-sdk .formio-form table.table thead,.tf-formio-sdk .formio-component-datagrid table thead,.tf-formio-sdk .formio-component-multiple table thead{display:none!important}.tf-formio-sdk .formio-form table.table,.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component table,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr,.tf-formio-sdk .formio-component td{display:block!important;width:100%!important}.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr{border-style:none!important}.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component-datagrid tr{
|
|
134
|
+
.tf-formio-sdk table.table,.tf-formio-sdk table.datagrid-table,.tf-formio-sdk .table>:not(caption)>*>*{border:1px solid var(--tf-border-color)!important;margin-bottom:.5rem!important;font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .formio-component-datagrid{border-radius:8px!important;overflow:visible!important}.tf-formio-sdk table.table td,.tf-formio-sdk table.table th{font-weight:var(--tf-app-font-weight)!important}.tf-formio-sdk .table td .formio-component-signature{width:100%!important}.tf-formio-sdk .table-responsive{display:block!important;width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;transition:all .2s ease}.tf-formio-sdk .table-responsive::-webkit-scrollbar{width:0px!important}.tf-formio-sdk .table-responsive:has(.choices.is-open){z-index:9999!important}.tf-formio-sdk .formio-component-datagrid .table-responsive:has(.choices.is-open){overflow-x:auto!important;overflow-y:auto!important}.tf-formio-sdk .table-responsive:not(.formio-component-datagrid .table-responsive):has(.choices.is-open){overflow-x:auto!important;overflow-y:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) thead{z-index:1!important;position:relative!important;overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) tbody{overflow:visible!important}.tf-formio-sdk .table-responsive:has(.choices.is-open) table.table,.tf-formio-sdk .table-responsive:has(.choices.is-open) .table>:not(caption)>*>*,.tf-formio-sdk table.table:has(.choices.is-open),.tf-formio-sdk table.table:has(.choices.is-open) td,.tf-formio-sdk table.table:has(.choices.is-open) th,.tf-formio-sdk tr:has(.choices.is-open) td{border:1px solid var(--tf-border-color)!important;border-color:var(--tf-border-color)!important;visibility:visible!important;opacity:1!important}.tf-formio-sdk table.table:has(.choices.is-open){border-spacing:0!important}.tf-formio-sdk.formio-form table.table thead th,.tf-formio-sdk.formio-form table.table tbody td,.tf-formio-sdk.formio-form table.table tfoot td,.tf-formio-sdk .formio-component-datagrid table thead th,.tf-formio-sdk .formio-component-datagrid table tbody td,.tf-formio-sdk .formio-component-datagrid table tfoot td{padding:.5rem .75rem!important;vertical-align:top!important;border:1px solid var(--tf-border-color)!important;word-wrap:break-word!important;overflow:visible!important;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color)!important;line-height:1.2!important;border-radius:5px}.tf-formio-sdk .formio-component-datagrid table tbody td{border:1px solid var(--tf-border-color)!important}.tf-formio-sdk .formio-component-datagrid table tfoot td{border:none!important}.tf-formio-sdk .table-striped>tbody>tr:nth-of-type(odd)>*{color:var(--tf-app-font-color)!important;--bs-table-color-type: var(--tf-app-font-color) !important}.tf-formio-sdk .formio-component-datagrid table.datagrid-table thead th:last-child,.tf-formio-sdk .formio-component-datagrid table.datagrid-table tbody tr td:last-child,.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){text-align:center!important;min-width:45px!important}@media (min-width: 769px){.tf-formio-sdk table td:has([ref=removeRow]),.tf-formio-sdk table td:has(.formio-button-remove-row),.tf-formio-sdk table th:has([ref=removeRow]),.tf-formio-sdk table th:has(.formio-button-remove-row){width:1%!important}}.tf-formio-sdk tr:has(.choices.is-open){z-index:100!important;position:relative!important}.tf-formio-sdk .formio-component-datagrid table tfoot tr td,.tf-formio-sdk .formio-form table tfoot tr td{text-align:left!important;padding-left:.75rem!important;background-color:transparent!important}@media (max-width: 768px){.tf-formio-sdk .table-responsive,.tf-formio-sdk .formio-component-table,.tf-formio-sdk .formio-component-datagrid,.tf-formio-sdk .formio-component-multiple{overflow:visible!important}.tf-formio-sdk .formio-form table.table thead,.tf-formio-sdk .formio-component-datagrid table thead,.tf-formio-sdk .formio-component-multiple table thead{display:none!important}.tf-formio-sdk .formio-form table.table,.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component table,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr,.tf-formio-sdk .formio-component td{display:block!important;width:100%!important;border-radius:10px}.tf-formio-sdk .formio-form tbody,.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component tbody,.tf-formio-sdk .formio-component tr{border-style:none!important}.tf-formio-sdk .formio-form tr,.tf-formio-sdk .formio-component-datagrid tr{border-radius:10px!important}.tf-formio-sdk .formio-form td,.tf-formio-sdk .formio-component-datagrid td{border:none!important;border-bottom:1px solid #f1f5f9!important;padding:.6rem .8rem!important;font-size:.8125rem!important}.tf-formio-sdk table td:has(>[ref=removeRow]),.tf-formio-sdk table td:has(>.formio-button-remove-row){text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:.8rem!important;width:100%!important}.tf-formio-sdk .formio-component-datagrid td[data-label]:before{content:attr(data-label);display:block;font-family:var(--tf-app-font-family)!important;font-weight:600;margin-bottom:.25rem;font-size:var(--tf-app-font-size-base)!important;color:var(--tf-app-font-color, #333);text-align:left}}.tf-formio-sdk .formio-component-datagrid .row [class*=col-]{min-width:60px!important}.tf-formio-sdk .formio-component-datagrid .row [class*=col-].formio-component-select,.tf-formio-sdk .formio-component-datagrid .row [class*=col-]:has([class*=formio-component-select]),.tf-formio-sdk .formio-component-datagrid .row [class*=col-]:has(.formio-component-select){min-width:50px!important}.tf-formio-sdk .formio-component-datagrid .col-form-label{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.tf-formio-sdk .formio-component-table table,.tf-formio-sdk .formio-component-datagrid table{width:100%!important}.tf-formio-sdk .table td .formio-component{width:100%!important;max-width:100%!important}.tf-formio-sdk .table td label:not(.custom-control-label){max-width:100%!important;word-break:break-word!important;white-space:normal!important;line-height:1.1!important;font-size:.75rem!important;margin-bottom:2px!important;display:block!important}
|
|
135
135
|
|
|
136
136
|
/* === STYLE_SEPARATOR === */
|
|
137
137
|
|
|
@@ -199,7 +199,7 @@ var TurboForms=(()=>{var Oe=Object.create;var q=Object.defineProperty;var Pe=Obj
|
|
|
199
199
|
</div>
|
|
200
200
|
${(W=e.themeData)!=null&&W.isCard?"</div>":""}
|
|
201
201
|
<div id="sticky-footer" class="${e.showFooter===!1?"footer-hidden":""}">
|
|
202
|
-
<div class="build-version">SDK v2.0.
|
|
202
|
+
<div class="build-version">SDK v2.0.43</div>
|
|
203
203
|
|
|
204
204
|
<button class="footer-btn footer-btn-secondary" id="prevBtn" style="display:none" onclick="FormOnPrevious()">
|
|
205
205
|
<i class="bi bi-chevron-left"></i> Previous
|
|
@@ -262,4 +262,4 @@ var TurboForms=(()=>{var Oe=Object.create;var q=Object.defineProperty;var Pe=Obj
|
|
|
262
262
|
|
|
263
263
|
// === SCRIPT_SEPARATOR ===
|
|
264
264
|
|
|
265
|
-
`);if(!window.__unviredSdkScriptsLoaded&&!window.__unviredSdkScriptsLoading){window.__unviredSdkScriptsLoading=!0,l.info("[TF_SDK:14] \u2705 Loading SDK scripts (jQuery, Formio, Recogito, LESS, components)...");let m=d=>{if(b){let C=b.querySelector(".sdk-loader-text");C&&(C.textContent=d)}};if(m("Loading Core Components..."),c[0]&&c[0].trim()){let d=document.createElement("script");d.textContent=c[0],d.setAttribute("data-unvired-script","jquery"),document.head.appendChild(d)}if(c[4]&&c[4].trim()){let d=document.createElement("script");d.textContent=c[4],d.setAttribute("data-unvired-script","choices"),document.head.appendChild(d)}if(m("Loading Formio Library..."),c[5]&&c[5].trim()){let d=document.createElement("script");d.textContent=c[5],d.setAttribute("data-unvired-script","formio"),document.head.appendChild(d),l.info("[TF_SDK:15] \u2705 Bundled Formio library injected.")}if(e.showComments){m("Loading Annotation Tools...");for(let d=1;d<=2;d++)if(c[d]&&c[d].trim()){let C=document.createElement("script");C.textContent=c[d],C.setAttribute("data-unvired-script",`recogito-${d}`),document.head.appendChild(C),await new Promise(A=>setTimeout(A,0))}}else l.info("[TF_SDK:16] \u2705 Skipping Recogito (comments disabled, optimized load)");if(m("Initializing Engine..."),c[3]&&c[3].trim()){let d=document.createElement("script");d.textContent=c[3],d.setAttribute("data-unvired-script","less"),document.head.appendChild(d)}window.form=window.form||{},window.platform=window.platform||{},window.ResizeObserver=window.ResizeObserver||ResizeObserver,typeof browserMD5File!="undefined"&&(window.form.BMF=new browserMD5File),window.less=window.less||{},typeof window.__Html5QrcodeLibrary__!="undefined"&&(window.html5QrCode=window.__Html5QrcodeLibrary__),typeof window.Html5QrcodeScanner=="undefined"&&(window.Html5QrcodeScanner=class{constructor(){l.warn("[TF_SDK:17] \u26A0\uFE0F Barcode library (Html5QrcodeScanner) is not loaded.")}render(){}clear(){}}),m("Initializing Components...");for(let d=6;d<c.length;d++){let C=c[d];if(C&&C.trim()){let A=document.createElement("script");A.textContent=C,A.setAttribute("data-unvired-script",`script-${d}`),document.head.appendChild(A),d%5===0&&await new Promise(V=>setTimeout(V,0))}}window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1,l.info("[TF_SDK:18] \u2705 All SDK scripts injected successfully"),document.addEventListener("click",function(d){let C=document.getElementById("unvired-more-btn"),A=document.getElementById("moreTooltip");C&&A&&!C.contains(d.target)&&!A.contains(d.target)&&(A.style.display="none")})}else if(window.__unviredSdkScriptsLoading)window.__unviredSdkScriptsLoaded||(l.warn("[TF_SDK:19] \u26A0\uFE0F Scripts marked as loading but not yet loaded - waiting..."),window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1);else{if(l.info("[TF_SDK:20] \u2705 SDK scripts already loaded \u2014 skipping injection"),typeof window.Formio=="undefined"){let m="ErrorCode : 005, Formio library not available even though scripts were loaded.";throw l.error("[TF_SDK:21] \u274C ",m),b&&b.classList.add("hidden"),s({type:"ERROR",errorMessage:m,data:{technicalError:new Error(m),formioPath:"bundled",timestamp:new Date().toISOString()}}),new Error(m)}l.info("[TF_SDK:22] \u2705 Formio verified (previously loaded)")}window.FORM_TEMPLATE=h,window.FORM_PREVIOUS_DATA=n,window.FORM_MODE=e.mode,window.FORM_COMMENTS_DATA=e.commentsData,window.FORM_VOB_ARR=e.vobArr,window.FORM_PLATFORM=e.platform,window.FORM_LANGUAGE=e.language,window.FORM_TRASLATIONS=e.translations,window.FORM_ENV=e.environmentVariable,window.FORM_THEME_DATA=e.themeData,window.FORM_USER_DATA=e.userData,window.FORM_USERS_LIST=e.usersList,window.FORM_CONTROL_DATA=e.controlData,window.FORM_PRIVATE_EXTERNAL=e.privateExternal,window.FORM_PERMISSION=e.permission,window.FORM_ATTACHMENT_FILE_KEYS=i,window.sendEventCallback=s,window.FORM_EVENTS={FORM_RENDER:"FORM_RENDER",SAVE:"FORM_SAVE",SUBMIT:"FORM_SUBMIT",SUBMIT_ERROR:"FORM_SUBMIT_ERROR",BACK_NAVIGATION:"FORM_BACK_NAVIGATION",ONCHANGE:"FORM_ONCHANGE",FORM_LOADED:"FORM_LOADED"};let v=r.querySelector("#form-back-btn"),E=r.querySelector("#unvired-more-btn");v&&(e.showBackButton?v.style.setProperty("display","flex","important"):v.style.setProperty("display","none","important")),E&&!e.showMoreButton&&E.style.setProperty("display","none","important"),window.__unviredFormsOptions=e,window.checkDocumentsVisibility(),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility(),e.platform==="web"?window.platform={isBrowser:!0,isAndroid:!1,iosPlatform:!1}:e.platform==="android"?window.platform={isBrowser:!1,isAndroid:!0,iosPlatform:!1}:e.platform==="ios"&&(window.platform={isBrowser:!1,isAndroid:!1,iosPlatform:!0});let O={};if(((ie=e.environmentVariable)==null?void 0:ie.length)>0)for(let m of e.environmentVariable)for(let d in m)O[d]=m[d];Object.keys(O).length>0&&(window.env=O);let S=r.querySelector("#sticky-header"),N=r.querySelector("#sticky-footer"),L=r.querySelector("#formio-wrapper"),H=r.querySelector("#comments-header");e.mode==="pdf"||e.mode==="print"?(r.classList.add(`${e.mode}-mode`),L&&L.classList.add(`${e.mode}-mode`),S&&(S.style.display="none"),N&&(N.style.display="none")):(S&&(S.style.display="flex"),N&&(N.style.display="flex")),H&&(H.style.display="none"),e.themeData&&Object.keys(e.themeData).length>0&&(window.FORM_THEME_DATA=e.themeData),e.language&&(window.FORMIO_LANGUAGE=e.language),e.translations&&(window.FORMIO_I18N=e.translations),e.userData&&(window.firstName=e.userData.firstName,window.lastName=e.userData.lastName,window.form=window.form||{},Object.assign(window.form,e.userData)),window.less=window.less||{},Object.assign(window.less,{async:!0,environment:"production",fileAsync:!1,onReady:!0,useFileCache:!0});let _=n;if(n&&(l.info("[TF_SDK:23] \u2705 Processing file IDs in submission data (fetching from IndexedDB)..."),_=await me(n,s,i),l.info("[TF_SDK:24] \u2705 File IDs processed \u2014 handing off to form renderer")),b){let m=b.querySelector(".sdk-loader-text");m&&(m.textContent="Initializing Form...")}return typeof window.loadTRform!="function"?(l.info("[TF_SDK:25] \u2705 loadTRform not ready yet \u2014 waiting for web-turbo-formio.js to signal..."),await new Promise(m=>{let d=()=>{document.removeEventListener("LoadRNformReady",d),l.info("[TF_SDK:26] \u2705 loadTRform is now ready (LoadRNformReady event received)"),m()};document.addEventListener("LoadRNformReady",d),typeof window.loadTRform=="function"&&d()})):l.info("[TF_SDK:27] \u2705 loadTRform already available \u2014 invoking immediately"),l.info("[TF_SDK:28] \u2705 Handing off to loadTRform (web-turbo-formio.js)..."),await window.loadTRform(h,_,e.themeData,e.mode,e.language,e.translations,e.controlData,e.privateExternal,e.permission,i),ke(),{sendAction:m=>{var d;m.type==="SET_IMAGE_DATA"&&((d=window.setImageData)==null||d.call(window,m.imageData,m.controlId,m.fileName))},destroy:()=>{r.innerHTML=""}}}window.closeDocumentsModal=function(){if(typeof $!="undefined"&&$.fn.modal)$("#documentsModal").modal("hide");else{let t=document.getElementById("documentsModal");t&&(t.style.display="none",t.classList.remove("active"))}};window.checkDocumentsVisibility=async function(){let t=document.getElementById("documentsOption"),n=document.getElementById("documentsDivider"),o=await ne();t.style.display=o?"block":"none",n&&(n.style.display=o?"block":"none"),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility()};window.insertAppDocument=async function(t){try{return await ve(t),l.info("[TF_SDK:29] \u2705 Document inserted",{id:t==null?void 0:t.id}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:30] \u274C Failed to insert document",n),!1}};window.deleteAppDocument=async function(t){try{return await ye(t),l.info("[TF_SDK:31] \u2705 Document deleted",{id:t}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:32] \u274C Failed to delete document",n),!1}};window.getAllDocuments=ge;window.hasDocuments=ne;function Ae(){return"2.0.
|
|
265
|
+
`);if(!window.__unviredSdkScriptsLoaded&&!window.__unviredSdkScriptsLoading){window.__unviredSdkScriptsLoading=!0,l.info("[TF_SDK:14] \u2705 Loading SDK scripts (jQuery, Formio, Recogito, LESS, components)...");let m=d=>{if(b){let C=b.querySelector(".sdk-loader-text");C&&(C.textContent=d)}};if(m("Loading Core Components..."),c[0]&&c[0].trim()){let d=document.createElement("script");d.textContent=c[0],d.setAttribute("data-unvired-script","jquery"),document.head.appendChild(d)}if(c[4]&&c[4].trim()){let d=document.createElement("script");d.textContent=c[4],d.setAttribute("data-unvired-script","choices"),document.head.appendChild(d)}if(m("Loading Formio Library..."),c[5]&&c[5].trim()){let d=document.createElement("script");d.textContent=c[5],d.setAttribute("data-unvired-script","formio"),document.head.appendChild(d),l.info("[TF_SDK:15] \u2705 Bundled Formio library injected.")}if(e.showComments){m("Loading Annotation Tools...");for(let d=1;d<=2;d++)if(c[d]&&c[d].trim()){let C=document.createElement("script");C.textContent=c[d],C.setAttribute("data-unvired-script",`recogito-${d}`),document.head.appendChild(C),await new Promise(A=>setTimeout(A,0))}}else l.info("[TF_SDK:16] \u2705 Skipping Recogito (comments disabled, optimized load)");if(m("Initializing Engine..."),c[3]&&c[3].trim()){let d=document.createElement("script");d.textContent=c[3],d.setAttribute("data-unvired-script","less"),document.head.appendChild(d)}window.form=window.form||{},window.platform=window.platform||{},window.ResizeObserver=window.ResizeObserver||ResizeObserver,typeof browserMD5File!="undefined"&&(window.form.BMF=new browserMD5File),window.less=window.less||{},typeof window.__Html5QrcodeLibrary__!="undefined"&&(window.html5QrCode=window.__Html5QrcodeLibrary__),typeof window.Html5QrcodeScanner=="undefined"&&(window.Html5QrcodeScanner=class{constructor(){l.warn("[TF_SDK:17] \u26A0\uFE0F Barcode library (Html5QrcodeScanner) is not loaded.")}render(){}clear(){}}),m("Initializing Components...");for(let d=6;d<c.length;d++){let C=c[d];if(C&&C.trim()){let A=document.createElement("script");A.textContent=C,A.setAttribute("data-unvired-script",`script-${d}`),document.head.appendChild(A),d%5===0&&await new Promise(V=>setTimeout(V,0))}}window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1,l.info("[TF_SDK:18] \u2705 All SDK scripts injected successfully"),document.addEventListener("click",function(d){let C=document.getElementById("unvired-more-btn"),A=document.getElementById("moreTooltip");C&&A&&!C.contains(d.target)&&!A.contains(d.target)&&(A.style.display="none")})}else if(window.__unviredSdkScriptsLoading)window.__unviredSdkScriptsLoaded||(l.warn("[TF_SDK:19] \u26A0\uFE0F Scripts marked as loading but not yet loaded - waiting..."),window.__unviredSdkScriptsLoaded=!0,window.__unviredSdkScriptsLoading=!1);else{if(l.info("[TF_SDK:20] \u2705 SDK scripts already loaded \u2014 skipping injection"),typeof window.Formio=="undefined"){let m="ErrorCode : 005, Formio library not available even though scripts were loaded.";throw l.error("[TF_SDK:21] \u274C ",m),b&&b.classList.add("hidden"),s({type:"ERROR",errorMessage:m,data:{technicalError:new Error(m),formioPath:"bundled",timestamp:new Date().toISOString()}}),new Error(m)}l.info("[TF_SDK:22] \u2705 Formio verified (previously loaded)")}window.FORM_TEMPLATE=h,window.FORM_PREVIOUS_DATA=n,window.FORM_MODE=e.mode,window.FORM_COMMENTS_DATA=e.commentsData,window.FORM_VOB_ARR=e.vobArr,window.FORM_PLATFORM=e.platform,window.FORM_LANGUAGE=e.language,window.FORM_TRASLATIONS=e.translations,window.FORM_ENV=e.environmentVariable,window.FORM_THEME_DATA=e.themeData,window.FORM_USER_DATA=e.userData,window.FORM_USERS_LIST=e.usersList,window.FORM_CONTROL_DATA=e.controlData,window.FORM_PRIVATE_EXTERNAL=e.privateExternal,window.FORM_PERMISSION=e.permission,window.FORM_ATTACHMENT_FILE_KEYS=i,window.sendEventCallback=s,window.FORM_EVENTS={FORM_RENDER:"FORM_RENDER",SAVE:"FORM_SAVE",SUBMIT:"FORM_SUBMIT",SUBMIT_ERROR:"FORM_SUBMIT_ERROR",BACK_NAVIGATION:"FORM_BACK_NAVIGATION",ONCHANGE:"FORM_ONCHANGE",FORM_LOADED:"FORM_LOADED"};let v=r.querySelector("#form-back-btn"),E=r.querySelector("#unvired-more-btn");v&&(e.showBackButton?v.style.setProperty("display","flex","important"):v.style.setProperty("display","none","important")),E&&!e.showMoreButton&&E.style.setProperty("display","none","important"),window.__unviredFormsOptions=e,window.checkDocumentsVisibility(),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility(),e.platform==="web"?window.platform={isBrowser:!0,isAndroid:!1,iosPlatform:!1}:e.platform==="android"?window.platform={isBrowser:!1,isAndroid:!0,iosPlatform:!1}:e.platform==="ios"&&(window.platform={isBrowser:!1,isAndroid:!1,iosPlatform:!0});let O={};if(((ie=e.environmentVariable)==null?void 0:ie.length)>0)for(let m of e.environmentVariable)for(let d in m)O[d]=m[d];Object.keys(O).length>0&&(window.env=O);let S=r.querySelector("#sticky-header"),N=r.querySelector("#sticky-footer"),L=r.querySelector("#formio-wrapper"),H=r.querySelector("#comments-header");e.mode==="pdf"||e.mode==="print"?(r.classList.add(`${e.mode}-mode`),L&&L.classList.add(`${e.mode}-mode`),S&&(S.style.display="none"),N&&(N.style.display="none")):(S&&(S.style.display="flex"),N&&(N.style.display="flex")),H&&(H.style.display="none"),e.themeData&&Object.keys(e.themeData).length>0&&(window.FORM_THEME_DATA=e.themeData),e.language&&(window.FORMIO_LANGUAGE=e.language),e.translations&&(window.FORMIO_I18N=e.translations),e.userData&&(window.firstName=e.userData.firstName,window.lastName=e.userData.lastName,window.form=window.form||{},Object.assign(window.form,e.userData)),window.less=window.less||{},Object.assign(window.less,{async:!0,environment:"production",fileAsync:!1,onReady:!0,useFileCache:!0});let _=n;if(n&&(l.info("[TF_SDK:23] \u2705 Processing file IDs in submission data (fetching from IndexedDB)..."),_=await me(n,s,i),l.info("[TF_SDK:24] \u2705 File IDs processed \u2014 handing off to form renderer")),b){let m=b.querySelector(".sdk-loader-text");m&&(m.textContent="Initializing Form...")}return typeof window.loadTRform!="function"?(l.info("[TF_SDK:25] \u2705 loadTRform not ready yet \u2014 waiting for web-turbo-formio.js to signal..."),await new Promise(m=>{let d=()=>{document.removeEventListener("LoadRNformReady",d),l.info("[TF_SDK:26] \u2705 loadTRform is now ready (LoadRNformReady event received)"),m()};document.addEventListener("LoadRNformReady",d),typeof window.loadTRform=="function"&&d()})):l.info("[TF_SDK:27] \u2705 loadTRform already available \u2014 invoking immediately"),l.info("[TF_SDK:28] \u2705 Handing off to loadTRform (web-turbo-formio.js)..."),await window.loadTRform(h,_,e.themeData,e.mode,e.language,e.translations,e.controlData,e.privateExternal,e.permission,i),ke(),{sendAction:m=>{var d;m.type==="SET_IMAGE_DATA"&&((d=window.setImageData)==null||d.call(window,m.imageData,m.controlId,m.fileName))},destroy:()=>{r.innerHTML=""}}}window.closeDocumentsModal=function(){if(typeof $!="undefined"&&$.fn.modal)$("#documentsModal").modal("hide");else{let t=document.getElementById("documentsModal");t&&(t.style.display="none",t.classList.remove("active"))}};window.checkDocumentsVisibility=async function(){let t=document.getElementById("documentsOption"),n=document.getElementById("documentsDivider"),o=await ne();t.style.display=o?"block":"none",n&&(n.style.display=o?"block":"none"),typeof window.checkMoreButtonVisibility=="function"&&window.checkMoreButtonVisibility()};window.insertAppDocument=async function(t){try{return await ve(t),l.info("[TF_SDK:29] \u2705 Document inserted",{id:t==null?void 0:t.id}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:30] \u274C Failed to insert document",n),!1}};window.deleteAppDocument=async function(t){try{return await ye(t),l.info("[TF_SDK:31] \u2705 Document deleted",{id:t}),await window.checkDocumentsVisibility(),!0}catch(n){return l.error("[TF_SDK:32] \u274C Failed to delete document",n),!1}};window.getAllDocuments=ge;window.hasDocuments=ne;function Ae(){return"2.0.43"}function re(t){let n=typeof t=="string"?document.getElementById(t):t;n||(n=document.querySelector(".tf-formio-sdk")||document.body);let o=n.querySelectorAll("table"),r=0,e=null;return o.forEach(i=>{let a=i.getBoundingClientRect().width;a>r&&(r=a,e=i)}),{maxWidth:r,widestTable:e}}window.getMaxTableWidth=re;typeof window!="undefined"&&(window.TurboForms=window.TurboForms||{loadForm:Ee,getBuildVersion:Ae,getMaxTableWidth:re});return Fe(Ge);})();
|
package/package.json
CHANGED