web-mojo 2.1.362 → 2.1.372

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.
Files changed (58) hide show
  1. package/dist/admin.cjs.js +1 -1
  2. package/dist/admin.es.js +10 -10
  3. package/dist/auth.cjs.js +1 -1
  4. package/dist/auth.cjs.js.map +1 -1
  5. package/dist/auth.es.js +3 -3
  6. package/dist/auth.es.js.map +1 -1
  7. package/dist/charts.cjs.js +1 -1
  8. package/dist/charts.es.js +2 -2
  9. package/dist/chunks/{ContextMenu-Bh_lLoz2.js → ContextMenu-BFXKKmA9.js} +2 -2
  10. package/dist/chunks/{ContextMenu-Bh_lLoz2.js.map → ContextMenu-BFXKKmA9.js.map} +1 -1
  11. package/dist/chunks/{ContextMenu-B1iN4ArK.js → ContextMenu-D-w2BOgg.js} +2 -2
  12. package/dist/chunks/{ContextMenu-B1iN4ArK.js.map → ContextMenu-D-w2BOgg.js.map} +1 -1
  13. package/dist/chunks/{DataView-BPZ5eISe.js → DataView-DMNTQ844.js} +2 -2
  14. package/dist/chunks/{DataView-BPZ5eISe.js.map → DataView-DMNTQ844.js.map} +1 -1
  15. package/dist/chunks/{DataView-pFA8BU-t.js → DataView-DyVN7Dgw.js} +2 -2
  16. package/dist/chunks/{DataView-pFA8BU-t.js.map → DataView-DyVN7Dgw.js.map} +1 -1
  17. package/dist/chunks/{Dialog-xGWlYBDO.js → Dialog-BQkDAgaw.js} +2 -2
  18. package/dist/chunks/{Dialog-xGWlYBDO.js.map → Dialog-BQkDAgaw.js.map} +1 -1
  19. package/dist/chunks/{Dialog-BccYQCCA.js → Dialog-DJd5Dc9M.js} +5 -5
  20. package/dist/chunks/{Dialog-BccYQCCA.js.map → Dialog-DJd5Dc9M.js.map} +1 -1
  21. package/dist/chunks/{FilePreviewView-DvZzrOtt.js → FilePreviewView-DCxHAjbW.js} +6 -6
  22. package/dist/chunks/{FilePreviewView-DvZzrOtt.js.map → FilePreviewView-DCxHAjbW.js.map} +1 -1
  23. package/dist/chunks/{FilePreviewView-BGZUCgI4.js → FilePreviewView-QaWuYNyQ.js} +2 -2
  24. package/dist/chunks/{FilePreviewView-BGZUCgI4.js.map → FilePreviewView-QaWuYNyQ.js.map} +1 -1
  25. package/dist/chunks/FormView-CUjBGNVX.js +2 -0
  26. package/dist/chunks/FormView-CUjBGNVX.js.map +1 -0
  27. package/dist/chunks/{FormView-rtiwVHoR.js → FormView-ztYkGiQH.js} +77 -5
  28. package/dist/chunks/FormView-ztYkGiQH.js.map +1 -0
  29. package/dist/chunks/{MetricsChart-DE3G8LgS.js → MetricsChart-6XZQB-72.js} +3 -3
  30. package/dist/chunks/{MetricsChart-DE3G8LgS.js.map → MetricsChart-6XZQB-72.js.map} +1 -1
  31. package/dist/chunks/{MetricsChart-BJ9LBu5Q.js → MetricsChart-BL0Pv-jr.js} +2 -2
  32. package/dist/chunks/{MetricsChart-BJ9LBu5Q.js.map → MetricsChart-BL0Pv-jr.js.map} +1 -1
  33. package/dist/chunks/{PDFViewer-DRKZrcCF.js → PDFViewer-C5d3FQTe.js} +3 -3
  34. package/dist/chunks/{PDFViewer-DRKZrcCF.js.map → PDFViewer-C5d3FQTe.js.map} +1 -1
  35. package/dist/chunks/{PDFViewer-D7kCo1x3.js → PDFViewer-ClLGECuY.js} +2 -2
  36. package/dist/chunks/{PDFViewer-D7kCo1x3.js.map → PDFViewer-ClLGECuY.js.map} +1 -1
  37. package/dist/chunks/{Page-DnYOBzbF.js → Page-BRjl-24B.js} +2 -2
  38. package/dist/chunks/{Page-DnYOBzbF.js.map → Page-BRjl-24B.js.map} +1 -1
  39. package/dist/chunks/{Page-CC9vB_Gi.js → Page-Bpv-mpMU.js} +2 -2
  40. package/dist/chunks/{Page-CC9vB_Gi.js.map → Page-Bpv-mpMU.js.map} +1 -1
  41. package/dist/chunks/{TopNav-FSY-N8Q-.js → TopNav-CpTPzR0u.js} +2 -2
  42. package/dist/chunks/{TopNav-FSY-N8Q-.js.map → TopNav-CpTPzR0u.js.map} +1 -1
  43. package/dist/chunks/{TopNav-CkWwWYMm.js → TopNav-QbLM7l64.js} +2 -2
  44. package/dist/chunks/{TopNav-CkWwWYMm.js.map → TopNav-QbLM7l64.js.map} +1 -1
  45. package/dist/chunks/{WebApp-BM2CoF7q.js → WebApp-BlQQJ2mI.js} +2 -2
  46. package/dist/chunks/{WebApp-BM2CoF7q.js.map → WebApp-BlQQJ2mI.js.map} +1 -1
  47. package/dist/chunks/{WebApp-DYte9XVv.js → WebApp-Cd8arpc1.js} +12 -12
  48. package/dist/chunks/{WebApp-DYte9XVv.js.map → WebApp-Cd8arpc1.js.map} +1 -1
  49. package/dist/docit.cjs.js +1 -1
  50. package/dist/docit.es.js +5 -5
  51. package/dist/index.cjs.js +1 -1
  52. package/dist/index.es.js +11 -11
  53. package/dist/lightbox.cjs.js +1 -1
  54. package/dist/lightbox.es.js +4 -4
  55. package/package.json +1 -1
  56. package/dist/chunks/FormView-DRPt29EF.js +0 -2
  57. package/dist/chunks/FormView-DRPt29EF.js.map +0 -1
  58. package/dist/chunks/FormView-rtiwVHoR.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { M as Mustache, h as MOJOUtils, V as View } from "./WebApp-DYte9XVv.js";
1
+ import { M as Mustache, h as MOJOUtils, V as View } from "./WebApp-Cd8arpc1.js";
2
2
  class FormBuilder {
3
3
  constructor(config = {}) {
4
4
  this.fields = config.fields || [];
@@ -286,11 +286,11 @@ class FormBuilder {
286
286
  buttongroup: `
287
287
  <div class="btn-group btn-group-{{size}}" role="group">
288
288
  {{#options}}
289
- <button type="button" class="{{buttonClass}} {{#active}}active{{/active}}"
289
+ <button type="button" class="{{buttonClass}} {{#active}}active{{/active}} {{#action}}data-action='{{action}}'{{/action}}"
290
290
  data-action="select-button-option"
291
291
  data-field="{{fieldName}}"
292
292
  data-value="{{value}}">
293
- {{label}}
293
+ {{#icon}}<i class="{{icon}} me-1"></i> {{/icon}} {{label}}
294
294
  </button>
295
295
  {{/options}}
296
296
  </div>
@@ -306,6 +306,29 @@ class FormBuilder {
306
306
  {{/fields}}
307
307
  </div>
308
308
  </div>
309
+ `,
310
+ color: `
311
+ <div class="mojo-form-control">
312
+ {{#label}}
313
+ <label for="{{fieldId}}" class="{{labelClass}}">
314
+ {{label}}{{#required}}<span class="text-danger">*</span>{{/required}}
315
+ </label>
316
+ {{/label}}
317
+ <div class="d-flex align-items-center gap-2">
318
+ <input type="color" id="{{fieldId}}" name="{{name}}"
319
+ class="{{inputClass}}{{#error}} is-invalid{{/error}}"
320
+ value="{{fieldValue}}"
321
+ {{#required}}required{{/required}} {{#disabled}}disabled{{/disabled}}
322
+ {{#readonly}}readonly{{/readonly}} data-change-action="validate-field" {{{attrs}}}>
323
+ <button type="button" class="btn-sm text-muted border-0 bg-transparent p-1"
324
+ data-action="clear-color" data-field="{{name}}"
325
+ title="Clear color">
326
+ <i class="bi bi-x fs-5"></i>
327
+ </button>
328
+ </div>
329
+ {{#help}}<div class="{{helpClass}}">{{help}}</div>{{/help}}
330
+ {{#error}}<div class="{{errorClass}}">{{error}}</div>{{/error}}
331
+ </div>
309
332
  `
310
333
  };
311
334
  }
@@ -490,6 +513,7 @@ class FormBuilder {
490
513
  buildFieldHTML(field) {
491
514
  const { type, columns, class: fieldClass = "" } = field;
492
515
  let fieldHTML = "";
516
+ console.log("buildFieldHTML - Processing field type:", type, "for field:", field.name);
493
517
  switch (type) {
494
518
  case "text":
495
519
  fieldHTML = this.renderTextField(field);
@@ -1297,7 +1321,41 @@ class FormBuilder {
1297
1321
  * @returns {string} Field HTML
1298
1322
  */
1299
1323
  renderColorField(field) {
1300
- return this.renderInputField(field, "color");
1324
+ const {
1325
+ name,
1326
+ label,
1327
+ value = "",
1328
+ placeholder = "",
1329
+ required = false,
1330
+ disabled = false,
1331
+ readonly = false,
1332
+ class: fieldClass = "",
1333
+ attributes = {},
1334
+ help = field.helpText || field.help || ""
1335
+ } = field;
1336
+ const inputClass = `${this.options.inputClass} ${fieldClass}`.trim();
1337
+ const error = this.errors[name];
1338
+ const fieldValue = this.getFieldValue(name) ?? value;
1339
+ const attrs = Object.entries(attributes).map(([key, val]) => `${key}="${this.escapeHtml(val)}"`).join(" ");
1340
+ const fieldId = this.getFieldId(name);
1341
+ const context = {
1342
+ labelClass: this.options.labelClass,
1343
+ inputClass,
1344
+ helpClass: this.options.helpClass,
1345
+ errorClass: this.options.errorClass,
1346
+ fieldId,
1347
+ name,
1348
+ fieldValue: this.escapeHtml(fieldValue),
1349
+ label: label ? this.escapeHtml(label) : null,
1350
+ placeholder: placeholder ? this.escapeHtml(placeholder) : null,
1351
+ help: help ? this.escapeHtml(help) : null,
1352
+ error: error ? this.escapeHtml(error) : null,
1353
+ required,
1354
+ disabled,
1355
+ readonly,
1356
+ attrs
1357
+ };
1358
+ return Mustache.render(this.templates.color, context);
1301
1359
  }
1302
1360
  /**
1303
1361
  * Render range field
@@ -1791,6 +1849,7 @@ class FormBuilder {
1791
1849
  options: field.options.map((option) => ({
1792
1850
  value: option.value,
1793
1851
  label: option.label,
1852
+ action: option.action,
1794
1853
  active: option.value === selectedValue,
1795
1854
  buttonClass: this.getButtonClass(option.value === selectedValue, field.variant)
1796
1855
  }))
@@ -4526,6 +4585,19 @@ class FormView extends View {
4526
4585
  this.emit("change", { field: fieldName, value: null, form: this });
4527
4586
  await this.updateField(fieldName);
4528
4587
  }
4588
+ /**
4589
+ * Handle clear color action
4590
+ */
4591
+ async onActionClearColor(event, element) {
4592
+ const fieldName = element.getAttribute("data-field");
4593
+ if (!fieldName) return;
4594
+ const colorInput = this.element.querySelector(`input[name="${fieldName}"]`);
4595
+ if (colorInput) {
4596
+ colorInput.value = "";
4597
+ this.handleFieldChange(fieldName, "");
4598
+ await this.updateField(fieldName);
4599
+ }
4600
+ }
4529
4601
  /**
4530
4602
  * Handle button group selection
4531
4603
  */
@@ -5841,4 +5913,4 @@ export {
5841
5913
  applyFileDropMixin as a,
5842
5914
  FormView$1 as b
5843
5915
  };
5844
- //# sourceMappingURL=FormView-rtiwVHoR.js.map
5916
+ //# sourceMappingURL=FormView-ztYkGiQH.js.map