@sankhyalabs/ezui 2.11.0 → 2.12.0

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 (222) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  2. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
  12. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  16. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-form-view.cjs.entry.js +140 -0
  19. package/dist/cjs/ez-form.cjs.entry.js +228 -330
  20. package/dist/cjs/ez-grid.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-scroller.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-sidebar-button.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-tabselector.cjs.entry.js +6 -3
  34. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-text-edit.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-tree.cjs.entry.js +109 -22
  40. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  41. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  42. package/dist/cjs/ezui.cjs.js +2 -2
  43. package/dist/cjs/{index-fb179d74.js → index-5e208fa5.js} +8 -0
  44. package/dist/cjs/loader.cjs.js +2 -2
  45. package/dist/collection/collection-manifest.json +1 -0
  46. package/dist/collection/components/ez-form/{structure/FormSheetMetadata.js → FormMetadata.js} +39 -54
  47. package/dist/collection/components/ez-form/ez-form.css +7 -1
  48. package/dist/collection/components/ez-form/ez-form.js +128 -19
  49. package/dist/collection/components/ez-form/interfaces/IDefaultConfig.js +1 -0
  50. package/dist/collection/components/ez-form/interfaces/IFieldConfig.js +1 -0
  51. package/dist/collection/components/ez-form/interfaces/IFormConfig.js +1 -0
  52. package/dist/collection/components/ez-form/interfaces/IFormSheetMetadata.js +1 -0
  53. package/dist/collection/components/ez-form/interfaces/IInvalidField.js +1 -0
  54. package/dist/collection/components/ez-form/interfaces/IRecordValidator.js +1 -0
  55. package/dist/collection/components/ez-form/interfaces/ITabConfig.js +1 -0
  56. package/dist/collection/components/ez-form/interfaces/IValidationResult.js +1 -0
  57. package/dist/collection/components/ez-form/interfaces/index.js +1 -0
  58. package/dist/collection/components/ez-form/store/form.slice.js +6 -2
  59. package/dist/collection/components/ez-form-view/ez-form-view.css +6 -0
  60. package/dist/collection/components/ez-form-view/ez-form-view.js +71 -0
  61. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +26 -0
  62. package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/CheckBox.tpl.js +4 -4
  63. package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/ComboBox.tpl.js +2 -2
  64. package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/DateInput.tpl.js +1 -1
  65. package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/NumberInput.tpl.js +3 -3
  66. package/dist/collection/components/ez-form-view/interfaces/IFormViewField.js +1 -0
  67. package/dist/collection/components/ez-form-view/interfaces/index.js +1 -0
  68. package/dist/collection/components/ez-tabselector/ez-tabselector.js +5 -2
  69. package/dist/collection/components/ez-tree/ez-tree.css +8 -6
  70. package/dist/collection/components/ez-tree/ez-tree.js +89 -11
  71. package/dist/collection/components/ez-tree/subcomponents/DefaultTooltipResolver.js +3 -0
  72. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +4 -4
  73. package/dist/collection/components/ez-tree/subcomponents/index.js +1 -0
  74. package/dist/collection/components/ez-tree/types/Node.js +26 -4
  75. package/dist/collection/components/ez-tree/types/Tree.js +23 -2
  76. package/dist/custom-elements/index.d.ts +6 -0
  77. package/dist/custom-elements/index.js +478 -355
  78. package/dist/esm/ez-actions-button.entry.js +1 -1
  79. package/dist/esm/ez-alert.entry.js +1 -1
  80. package/dist/esm/ez-application.entry.js +1 -1
  81. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  82. package/dist/esm/ez-button.entry.js +1 -1
  83. package/dist/esm/ez-calendar.entry.js +1 -1
  84. package/dist/esm/ez-card-item.entry.js +1 -1
  85. package/dist/esm/ez-check.entry.js +1 -1
  86. package/dist/esm/ez-chip.entry.js +1 -1
  87. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  88. package/dist/esm/ez-combo-box.entry.js +1 -1
  89. package/dist/esm/ez-date-input.entry.js +1 -1
  90. package/dist/esm/ez-date-time-input.entry.js +1 -1
  91. package/dist/esm/ez-dialog.entry.js +1 -1
  92. package/dist/esm/ez-dropdown.entry.js +1 -1
  93. package/dist/esm/ez-file-item.entry.js +1 -1
  94. package/dist/esm/ez-filter-input.entry.js +1 -1
  95. package/dist/esm/ez-form-view.entry.js +136 -0
  96. package/dist/esm/ez-form.entry.js +229 -331
  97. package/dist/esm/ez-grid.entry.js +1 -1
  98. package/dist/esm/ez-icon.entry.js +1 -1
  99. package/dist/esm/ez-list.entry.js +1 -1
  100. package/dist/esm/ez-loading-bar.entry.js +1 -1
  101. package/dist/esm/ez-modal-container.entry.js +1 -1
  102. package/dist/esm/ez-modal.entry.js +1 -1
  103. package/dist/esm/ez-number-input.entry.js +1 -1
  104. package/dist/esm/ez-popover.entry.js +1 -1
  105. package/dist/esm/ez-popup.entry.js +1 -1
  106. package/dist/esm/ez-radio-button.entry.js +1 -1
  107. package/dist/esm/ez-scroller.entry.js +1 -1
  108. package/dist/esm/ez-search.entry.js +1 -1
  109. package/dist/esm/ez-sidebar-button.entry.js +1 -1
  110. package/dist/esm/ez-tabselector.entry.js +6 -3
  111. package/dist/esm/ez-text-area.entry.js +1 -1
  112. package/dist/esm/ez-text-edit.entry.js +1 -1
  113. package/dist/esm/ez-text-input.entry.js +1 -1
  114. package/dist/esm/ez-time-input.entry.js +1 -1
  115. package/dist/esm/ez-toast.entry.js +1 -1
  116. package/dist/esm/ez-tree.entry.js +109 -22
  117. package/dist/esm/ez-upload.entry.js +1 -1
  118. package/dist/esm/ez-view-stack.entry.js +1 -1
  119. package/dist/esm/ezui.js +2 -2
  120. package/dist/esm/{index-b77dcd0d.js → index-c5203f95.js} +8 -0
  121. package/dist/esm/loader.js +2 -2
  122. package/dist/ezui/ezui.esm.js +1 -1
  123. package/dist/ezui/{p-22f06920.entry.js → p-0c3f7bf2.entry.js} +1 -1
  124. package/dist/ezui/{p-46c3cd8e.entry.js → p-0cd0545d.entry.js} +1 -1
  125. package/dist/ezui/{p-e881ec6d.entry.js → p-1a27bb9f.entry.js} +1 -1
  126. package/dist/ezui/{p-e9b4b3bd.entry.js → p-1b94b9dc.entry.js} +1 -1
  127. package/dist/ezui/{p-42f85e36.entry.js → p-20c01161.entry.js} +1 -1
  128. package/dist/ezui/{p-6c43b275.entry.js → p-24717f87.entry.js} +1 -1
  129. package/dist/ezui/{p-52a18a6c.entry.js → p-3320768e.entry.js} +1 -1
  130. package/dist/ezui/{p-6cdfe0db.entry.js → p-36ed5c45.entry.js} +1 -1
  131. package/dist/ezui/{p-b5efd273.entry.js → p-3b2091dd.entry.js} +1 -1
  132. package/dist/ezui/{p-42376b77.entry.js → p-47bcc678.entry.js} +1 -1
  133. package/dist/ezui/{p-5e3079cb.entry.js → p-47ca5e09.entry.js} +1 -1
  134. package/dist/ezui/{p-6a53943d.entry.js → p-4c444816.entry.js} +1 -1
  135. package/dist/ezui/{p-fe1f0c92.entry.js → p-608d13e8.entry.js} +1 -1
  136. package/dist/ezui/{p-d04f3bb1.entry.js → p-626b8940.entry.js} +1 -1
  137. package/dist/ezui/{p-bdb5e325.entry.js → p-6630eca2.entry.js} +1 -1
  138. package/dist/ezui/{p-b7a8708e.entry.js → p-67b9a2cb.entry.js} +1 -1
  139. package/dist/ezui/{p-7e9ab877.entry.js → p-6dec5cfa.entry.js} +1 -1
  140. package/dist/ezui/{p-5d19cd0d.entry.js → p-6f9aba86.entry.js} +1 -1
  141. package/dist/ezui/p-7799666d.entry.js +1 -0
  142. package/dist/ezui/{p-6ccf5720.js → p-7b80df03.js} +1 -1
  143. package/dist/ezui/{p-87dd65ba.entry.js → p-7d42065a.entry.js} +1 -1
  144. package/dist/ezui/{p-f58201e8.entry.js → p-81897c04.entry.js} +1 -1
  145. package/dist/ezui/{p-74a3f9d8.entry.js → p-91f8c816.entry.js} +1 -1
  146. package/dist/ezui/p-97d2d2f6.entry.js +1 -0
  147. package/dist/ezui/{p-4b93860c.entry.js → p-98c448c9.entry.js} +1 -1
  148. package/dist/ezui/{p-f8f87959.entry.js → p-99aea44b.entry.js} +1 -1
  149. package/dist/ezui/p-a4b4645d.entry.js +1 -0
  150. package/dist/ezui/{p-e3743d12.entry.js → p-ab5eee38.entry.js} +1 -1
  151. package/dist/ezui/{p-7d8e693d.entry.js → p-ad7151e0.entry.js} +1 -1
  152. package/dist/ezui/{p-2686fa5b.entry.js → p-ad8b7412.entry.js} +1 -1
  153. package/dist/ezui/{p-ba7b2b8f.entry.js → p-b2e861cb.entry.js} +1 -1
  154. package/dist/ezui/{p-8c273b22.entry.js → p-b2efb22c.entry.js} +1 -1
  155. package/dist/ezui/{p-9171043f.entry.js → p-b5557d33.entry.js} +1 -1
  156. package/dist/ezui/p-ba03ac61.entry.js +1 -0
  157. package/dist/ezui/{p-a4405e80.entry.js → p-bc324ee8.entry.js} +1 -1
  158. package/dist/ezui/{p-07d07b75.entry.js → p-bd9792e2.entry.js} +1 -1
  159. package/dist/ezui/{p-21782390.entry.js → p-bf8a633d.entry.js} +1 -1
  160. package/dist/ezui/{p-620e71e2.entry.js → p-c071db26.entry.js} +1 -1
  161. package/dist/ezui/{p-b9d91679.entry.js → p-c3529df3.entry.js} +1 -1
  162. package/dist/ezui/{p-297d4378.entry.js → p-ca7435a6.entry.js} +1 -1
  163. package/dist/ezui/{p-e628c8bd.entry.js → p-e203c89f.entry.js} +1 -1
  164. package/dist/ezui/{p-a7380524.entry.js → p-fc97f773.entry.js} +1 -1
  165. package/dist/types/components/ez-form/DataBinder.d.ts +1 -1
  166. package/dist/types/components/ez-form/FormMetadata.d.ts +16 -0
  167. package/dist/types/components/ez-form/ez-form.d.ts +21 -43
  168. package/dist/types/components/ez-form/interfaces/IDefaultConfig.d.ts +5 -0
  169. package/dist/types/components/ez-form/interfaces/IFieldConfig.d.ts +13 -0
  170. package/dist/types/components/ez-form/interfaces/IFormConfig.d.ts +7 -0
  171. package/dist/types/components/ez-form/interfaces/IFormSheetMetadata.d.ts +9 -0
  172. package/dist/types/components/ez-form/interfaces/IInvalidField.d.ts +4 -0
  173. package/dist/types/components/ez-form/interfaces/IRecordValidator.d.ts +6 -0
  174. package/dist/types/components/ez-form/interfaces/ITabConfig.d.ts +5 -0
  175. package/dist/types/components/ez-form/interfaces/IValidationResult.d.ts +8 -0
  176. package/dist/types/components/ez-form/interfaces/index.d.ts +8 -0
  177. package/dist/types/components/ez-form/store/form.slice.d.ts +5 -3
  178. package/dist/types/components/ez-form-view/fieldbuilder/FieldBuilder.d.ts +2 -0
  179. package/dist/types/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.d.ts +3 -0
  180. package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +2 -0
  181. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +4 -0
  182. package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +2 -0
  183. package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +3 -0
  184. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +2 -0
  185. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +2 -0
  186. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +2 -0
  187. package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +10 -0
  188. package/dist/types/components/ez-form-view/interfaces/index.d.ts +1 -0
  189. package/dist/types/components/ez-tree/ez-tree.d.ts +13 -0
  190. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +1 -0
  191. package/dist/types/components/ez-tree/subcomponents/DefaultTooltipResolver.d.ts +2 -0
  192. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +2 -0
  193. package/dist/types/components/ez-tree/subcomponents/index.d.ts +1 -0
  194. package/dist/types/components/ez-tree/types/Node.d.ts +1 -0
  195. package/dist/types/components/ez-tree/types/Tree.d.ts +1 -0
  196. package/dist/types/components.d.ts +65 -2
  197. package/package.json +1 -1
  198. package/react/components.d.ts +1 -0
  199. package/react/components.js +1 -0
  200. package/react/components.js.map +1 -1
  201. package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +0 -48
  202. package/dist/collection/components/ez-form/structure/FormItem.js +0 -11
  203. package/dist/collection/components/ez-form/structure/FormSheet.js +0 -6
  204. package/dist/ezui/p-98c78c29.entry.js +0 -1
  205. package/dist/ezui/p-99e07a6b.entry.js +0 -1
  206. package/dist/ezui/p-a928ea8d.entry.js +0 -1
  207. package/dist/types/components/ez-form/fieldbuilder/FieldBuilder.d.ts +0 -2
  208. package/dist/types/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.d.ts +0 -3
  209. package/dist/types/components/ez-form/fieldbuilder/tpl/ComboBox.tpl.d.ts +0 -6
  210. package/dist/types/components/ez-form/fieldbuilder/tpl/DateInput.tpl.d.ts +0 -15
  211. package/dist/types/components/ez-form/fieldbuilder/tpl/FileInput.tpl.d.ts +0 -5
  212. package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +0 -7
  213. package/dist/types/components/ez-form/fieldbuilder/tpl/SearchInput.tpl.d.ts +0 -6
  214. package/dist/types/components/ez-form/fieldbuilder/tpl/TextArea.tpl.d.ts +0 -5
  215. package/dist/types/components/ez-form/fieldbuilder/tpl/TextInput.tpl.d.ts +0 -5
  216. package/dist/types/components/ez-form/structure/FormItem.d.ts +0 -9
  217. package/dist/types/components/ez-form/structure/FormSheet.d.ts +0 -10
  218. package/dist/types/components/ez-form/structure/FormSheetMetadata.d.ts +0 -35
  219. /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/FileInput.tpl.js +0 -0
  220. /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/SearchInput.tpl.js +0 -0
  221. /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/TextArea.tpl.js +0 -0
  222. /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/TextInput.tpl.js +0 -0
@@ -1,287 +1,8 @@
1
- import { h, r as registerInstance, c as createEvent, f as forceUpdate, H as Host, g as getElement } from './index-b77dcd0d.js';
2
- import { UserInterface, Action, WaitingChangeException, ApplicationContext, StringUtils, DataUnitAction, DataUnit, ElementIDUtils } from '@sankhyalabs/core';
3
- import { C as CheckMode } from './CheckMode-bdb2ec19.js';
1
+ import { r as registerInstance, c as createEvent, h, f as forceUpdate, H as Host, g as getElement } from './index-c5203f95.js';
2
+ import { Action, WaitingChangeException, ApplicationContext, UserInterface, StringUtils, DataUnitAction, DataUnit, ElementIDUtils } from '@sankhyalabs/core';
4
3
  import { A as ApplicationUtils } from './ApplicationUtils-9fda4796.js';
5
4
  import './DialogType-54a62731.js';
6
5
 
7
- class FormMetadata {
8
- constructor() {
9
- this._sheets = new Map();
10
- this._requiredFields = [];
11
- this._cleanOnCopyFields = [];
12
- this._defaultValues = {};
13
- }
14
- getSheet(name) {
15
- return this._sheets.get(name);
16
- }
17
- getAllSheets() {
18
- return this._sheets;
19
- }
20
- addSheet(sheet) {
21
- this._sheets.set(sheet.name, sheet);
22
- this._requiredFields = this._requiredFields.concat(sheet.requiredFields);
23
- this._cleanOnCopyFields = this._cleanOnCopyFields.concat(sheet.cleanOnCopyFields);
24
- this._defaultValues = sheet.defaultValues;
25
- }
26
- getRequiredFields() {
27
- return this._requiredFields;
28
- }
29
- getCleanOnCopyFields() {
30
- return this._cleanOnCopyFields;
31
- }
32
- getDefaultValues() {
33
- return this._defaultValues;
34
- }
35
- }
36
- const isRequiredField = (descriptor, config) => {
37
- if (descriptor.required) {
38
- //Se for required pelo descritor não olha pra configuração.
39
- return true;
40
- }
41
- return config === null || config === void 0 ? void 0 : config.required;
42
- };
43
- const isReadOnlyField = (descriptor, config) => {
44
- if (descriptor.readOnly) {
45
- //Se for readOnly pelo descritor não olha pra configuração.
46
- return true;
47
- }
48
- return config === null || config === void 0 ? void 0 : config.readOnly;
49
- };
50
- const buildFromDataUnit = (dataUnit) => {
51
- var _a, _b;
52
- const unitMD = dataUnit.metadata;
53
- const metadata = new FormMetadata();
54
- if (unitMD) {
55
- const visibleFields = (_a = unitMD.fields) === null || _a === void 0 ? void 0 : _a.filter(descriptor => descriptor.visible !== false);
56
- const items = new Map();
57
- (_b = unitMD === null || unitMD === void 0 ? void 0 : unitMD.fields) === null || _b === void 0 ? void 0 : _b.forEach((descriptor) => {
58
- if (descriptor.visible !== false) {
59
- resolveFieldGroup(items, null, descriptor);
60
- }
61
- });
62
- let defaultValues = {};
63
- visibleFields
64
- .filter(descriptor => descriptor.defaultValue)
65
- .map((descriptor) => defaultValues[descriptor.name] = descriptor.defaultValue);
66
- metadata.addSheet({
67
- label: unitMD.label,
68
- name: unitMD.name,
69
- items: Array.from(items.values()),
70
- requiredFields: visibleFields
71
- .filter(descriptor => descriptor.required)
72
- .map(descriptor => descriptor.name),
73
- cleanOnCopyFields: visibleFields
74
- .filter(descriptor => { var _a, _b; return ((_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy) || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum); })
75
- .map(descriptor => descriptor.name),
76
- defaultValues
77
- });
78
- }
79
- return metadata;
80
- };
81
- function getTabConfig(tab, sheets) {
82
- const tabConfig = (typeof tab === "string" ? Array.from(sheets.keys()).find(t => t.label === tab) : tab);
83
- return tabConfig || { label: tab, visible: true };
84
- }
85
- function sortTabs(a, b) {
86
- return a[0].label == '__main' ? -1 : (a[0].order || 10000) - (b[0].order || 10000);
87
- }
88
- function resolveFieldGroup(items, field, descriptor) {
89
- const fieldMD = { config: field, descriptor: descriptor };
90
- let group = (field === null || field === void 0 ? void 0 : field.group) || descriptor.group;
91
- if (group) {
92
- const key = `group::${group}`;
93
- if (!items.has(key)) {
94
- items.set(key, { label: group, items: [fieldMD] });
95
- }
96
- else {
97
- items.get(key).items.push(fieldMD);
98
- }
99
- }
100
- else {
101
- items.set((field === null || field === void 0 ? void 0 : field.name) || descriptor.name, fieldMD);
102
- }
103
- }
104
- const buildFromConfig = (config, dataUnit) => {
105
- var _a, _b;
106
- const sheets = new Map();
107
- const hiddenTabs = new Map();
108
- const requiredFields = [];
109
- const cleanOnCopyFields = [];
110
- const defaultValues = {};
111
- (_a = config === null || config === void 0 ? void 0 : config.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
112
- if (!hiddenTabs.has(tab.label) && tab.visible === false) {
113
- hiddenTabs.set(tab.label, tab);
114
- }
115
- });
116
- (_b = config === null || config === void 0 ? void 0 : config.fields) === null || _b === void 0 ? void 0 : _b.forEach((field) => {
117
- var _a, _b, _c, _d;
118
- if (field.visible !== false) {
119
- const tabConfig = getTabConfig(field.tab || "__main", sheets);
120
- if (hiddenTabs.has(tabConfig.label)) {
121
- return;
122
- }
123
- const descriptor = dataUnit.getField(field.name);
124
- if (descriptor && tabConfig.visible) {
125
- if (!sheets.has(tabConfig)) {
126
- sheets.set(tabConfig, new Map());
127
- }
128
- const tabItens = sheets.get(tabConfig);
129
- if (isRequiredField(descriptor, field)) {
130
- requiredFields.push(field.name);
131
- }
132
- const cleanOnCopy = field.cleanOnCopy == undefined ? (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy : field.cleanOnCopy;
133
- if (cleanOnCopy || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum) || ((_c = descriptor.properties) === null || _c === void 0 ? void 0 : _c.cleanOnCopy)) {
134
- cleanOnCopyFields.push(field.name);
135
- }
136
- const defaultValue = field.defaultValue == undefined ? (_d = descriptor.properties) === null || _d === void 0 ? void 0 : _d.defaultValue : field.defaultValue;
137
- if (defaultValue) {
138
- defaultValues[field.name] = field.defaultValue;
139
- }
140
- resolveFieldGroup(tabItens, field, descriptor);
141
- }
142
- }
143
- });
144
- const metadata = new FormMetadata();
145
- Array.from(sheets.entries())
146
- .sort(sortTabs)
147
- .forEach(([key, value]) => {
148
- metadata.addSheet({
149
- label: (key.label === "__main") ? "Principal" : key.label,
150
- name: key.label,
151
- items: Array.from(value.values()),
152
- requiredFields,
153
- cleanOnCopyFields,
154
- defaultValues
155
- });
156
- });
157
- return metadata;
158
- };
159
-
160
- const buildTextArea = ({ name, label, readOnly }) => {
161
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small", key: name },
162
- h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name })));
163
- };
164
-
165
- const buildTextInput = ({ name, label, readOnly }) => {
166
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
167
- h("ez-text-input", { label: label, "data-field-name": name, key: name, enabled: !readOnly })));
168
- };
169
-
170
- const buildSwitch = (fieldConfig) => {
171
- return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, true);
172
- };
173
- const buildCheckBox = (fieldConfig) => {
174
- return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, false);
175
- };
176
- function buildField$1(fieldName, fieldLabel, readOnly, switchMode = false) {
177
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
178
- h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, key: fieldName })));
179
- }
180
-
181
- const buildComboBox = ({ name, label, readOnly, required }, properties) => {
182
- const prop = properties === null || properties === void 0 ? void 0 : properties.options;
183
- let options;
184
- if (typeof prop === "string") {
185
- const parsed = JSON.parse(prop);
186
- options = Object.keys(parsed).map(key => { return { value: key, label: parsed[key] }; });
187
- }
188
- else {
189
- options = prop;
190
- }
191
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
192
- h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name, options: options })));
193
- };
194
-
195
- const buildSearch = ({ name, label, readOnly, required }) => {
196
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
197
- h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name })));
198
- };
199
-
200
- const buildFile = ({ name, label, readOnly }) => {
201
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
202
- h("ez-upload", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
203
- };
204
-
205
- const buildDate = ({ name, label, readOnly }) => {
206
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
207
- h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
208
- };
209
- const buildTime = ({ name, label, readOnly }) => {
210
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
211
- h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
212
- };
213
- const buildTimeDate = ({ name, label, readOnly }) => {
214
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
215
- h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
216
- };
217
-
218
- const buildDecimal = ({ name, label, readOnly }, properties) => {
219
- const precision = Number((properties === null || properties === void 0 ? void 0 : properties.precision) || 2);
220
- const prettyPrecision = Number((properties === null || properties === void 0 ? void 0 : properties.prettyPrecision) || precision);
221
- return buildNumeric(name, label, readOnly, precision, prettyPrecision);
222
- };
223
- const buildInteger = ({ name, label, readOnly }) => {
224
- return buildNumeric(name, label, readOnly, 0, 0);
225
- };
226
- function buildNumeric(fieldName, fieldLabel, readOnly, precision, prettyPrecision) {
227
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
228
- h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, key: fieldName })));
229
- }
230
-
231
- const uiBuilders = new Map();
232
- uiBuilders.set(UserInterface.LONGTEXT, buildTextArea);
233
- uiBuilders.set(UserInterface.CHECKBOX, buildCheckBox);
234
- uiBuilders.set(UserInterface.SWITCH, buildSwitch);
235
- uiBuilders.set(UserInterface.OPTIONSELECTOR, buildComboBox);
236
- uiBuilders.set(UserInterface.SEARCH, buildSearch);
237
- uiBuilders.set(UserInterface.FILE, buildFile);
238
- uiBuilders.set(UserInterface.DATE, buildDate);
239
- uiBuilders.set(UserInterface.TIME, buildTime);
240
- uiBuilders.set(UserInterface.DATETIME, buildTimeDate);
241
- uiBuilders.set(UserInterface.DECIMALNUMBER, buildDecimal);
242
- uiBuilders.set(UserInterface.INTEGERNUMBER, buildInteger);
243
- const buildField = (field) => {
244
- const descriptor = field.descriptor;
245
- const config = Object.assign({}, field.config);
246
- let builder;
247
- let props;
248
- if (descriptor) {
249
- if (!config.label) {
250
- config.label = descriptor.label;
251
- }
252
- if (!config.name) {
253
- config.name = descriptor.name;
254
- }
255
- // Forçamos uma avaliação priorizando o descriptor.
256
- config.required = isRequiredField(descriptor, config);
257
- config.readOnly = isReadOnlyField(descriptor, config);
258
- props = descriptor.properties;
259
- builder = uiBuilders.get(descriptor.userInterface);
260
- }
261
- if (config.required) {
262
- config.label = `${config.label} (obrigatório) *`;
263
- }
264
- if (!builder) {
265
- builder = buildTextInput;
266
- }
267
- return builder(config, props);
268
- };
269
-
270
- const FormItem = ({ source }) => {
271
- if ("items" in source) {
272
- const fieldSet = source;
273
- return h("ez-collapsible-box", { label: source.label, "header-size": "large", key: source.label }, fieldSet.items.map(fi => buildField(fi)));
274
- }
275
- else {
276
- return buildField(source);
277
- }
278
- };
279
-
280
- const FormSheet = ({ store, source, dataElementId }) => {
281
- return (h("div", { class: "dynamic-content ez-box__container", "data-element-id": dataElementId },
282
- h("div", { class: "ez-row ez-padding-vertical--small" }, source.items.map(item => h(FormItem, { store: store, source: item })))));
283
- };
284
-
285
6
  /**
286
7
  * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
287
8
  *
@@ -605,45 +326,6 @@ function createStore(reducer, preloadedState, enhancer) {
605
326
  }, _ref2[$$observable] = observable, _ref2;
606
327
  }
607
328
 
608
- const inicialState = {};
609
- /////////////////////////////// REDUCERS ///////////////////////////////
610
- function formReducer(state = inicialState, action) {
611
- switch (action.type) {
612
- case FormActions.METADATA_LOADED:
613
- return Object.assign(Object.assign({}, state), { formMetadata: action.payload, currentSheet: undefined });
614
- case FormActions.CHANGE_TAB:
615
- return Object.assign(Object.assign({}, state), { currentSheet: action.payload });
616
- default:
617
- return state;
618
- }
619
- }
620
- /////////////////////////////// ACTION CREATORS ///////////////////////////////
621
- function loadMetadata(formMetadata) {
622
- return {
623
- type: FormActions.METADATA_LOADED,
624
- payload: formMetadata
625
- };
626
- }
627
- function changeTab(currentSheet) {
628
- return {
629
- type: FormActions.CHANGE_TAB,
630
- payload: currentSheet.tabKey
631
- };
632
- }
633
- /////////////////////////////// SELECTORS ///////////////////////////////
634
- function selectFormMetadata(state) {
635
- return state.formMetadata;
636
- }
637
- function selectCurrentSheet(state) {
638
- return state.currentSheet ? state.formMetadata.getSheet(state.currentSheet) : Array.from(state.formMetadata.getAllSheets().values())[0];
639
- }
640
- /////////////////////////////// TYPES ///////////////////////////////
641
- var FormActions;
642
- (function (FormActions) {
643
- FormActions["METADATA_LOADED"] = "FORM/METADATA_LOADED";
644
- FormActions["CHANGE_TAB"] = "FORM/CHANGE_TAB";
645
- })(FormActions || (FormActions = {}));
646
-
647
329
  class DataBinder {
648
330
  constructor(dataUnit) {
649
331
  this._invalidFields = new Map();
@@ -850,7 +532,187 @@ class Bind {
850
532
  }
851
533
  }
852
534
 
853
- const ezFormCss = "ez-form{display:flex;flex-direction:column;width:100%}.dynamic-content ez-collapsible-box{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}";
535
+ const inicialState = {};
536
+ /////////////////////////////// REDUCERS ///////////////////////////////
537
+ function formReducer(state = inicialState, action) {
538
+ switch (action.type) {
539
+ case FormActions.METADATA_LOADED:
540
+ return Object.assign(Object.assign({}, state), { formMetadata: action.payload, currentSheet: undefined });
541
+ case FormActions.CHANGE_TAB:
542
+ return Object.assign(Object.assign({}, state), { currentSheet: action.payload });
543
+ default:
544
+ return state;
545
+ }
546
+ }
547
+ /////////////////////////////// ACTION CREATORS ///////////////////////////////
548
+ function loadMetadata(formMetadata) {
549
+ return {
550
+ type: FormActions.METADATA_LOADED,
551
+ payload: formMetadata
552
+ };
553
+ }
554
+ function changeTab(currentSheet) {
555
+ return {
556
+ type: FormActions.CHANGE_TAB,
557
+ payload: typeof currentSheet === "string" ? currentSheet : currentSheet.tabKey
558
+ };
559
+ }
560
+ /////////////////////////////// SELECTORS ///////////////////////////////
561
+ function selectFormMetadata(state) {
562
+ return state.formMetadata;
563
+ }
564
+ function selectCurrentSheetId(state) {
565
+ return state.currentSheet;
566
+ }
567
+ function selectCurrentSheet(state) {
568
+ const currentSheetId = selectCurrentSheetId(state);
569
+ return currentSheetId ? state.formMetadata.getSheet(currentSheetId) : Array.from(state.formMetadata.getAllSheets().values())[0];
570
+ }
571
+ /////////////////////////////// TYPES ///////////////////////////////
572
+ var FormActions;
573
+ (function (FormActions) {
574
+ FormActions["METADATA_LOADED"] = "FORM/METADATA_LOADED";
575
+ FormActions["CHANGE_TAB"] = "FORM/CHANGE_TAB";
576
+ })(FormActions || (FormActions = {}));
577
+
578
+ class FormMetadata {
579
+ constructor() {
580
+ this._sheets = new Map();
581
+ this._requiredFields = [];
582
+ this._cleanOnCopyFields = [];
583
+ this._defaultValues = {};
584
+ }
585
+ getSheet(name) {
586
+ return this._sheets.get(name);
587
+ }
588
+ getAllSheets() {
589
+ return this._sheets;
590
+ }
591
+ addSheet(sheet) {
592
+ this._sheets.set(sheet.name, sheet);
593
+ this._requiredFields = this._requiredFields.concat(sheet.requiredFields);
594
+ this._cleanOnCopyFields = this._cleanOnCopyFields.concat(sheet.cleanOnCopyFields);
595
+ this._defaultValues = sheet.defaultValues;
596
+ }
597
+ getRequiredFields() {
598
+ return this._requiredFields;
599
+ }
600
+ getCleanOnCopyFields() {
601
+ return this._cleanOnCopyFields;
602
+ }
603
+ getDefaultValues() {
604
+ return this._defaultValues;
605
+ }
606
+ }
607
+ const buildFromDataUnit = (dataUnit) => {
608
+ const unitMD = dataUnit.metadata;
609
+ const metadata = new FormMetadata();
610
+ if (unitMD) {
611
+ const visibleFields = (unitMD.fields || []).filter(descriptor => descriptor.visible !== false);
612
+ const fields = visibleFields.map(descriptor => buildFormField(descriptor));
613
+ let defaultValues = {};
614
+ visibleFields
615
+ .filter(descriptor => descriptor.defaultValue)
616
+ .forEach((descriptor) => defaultValues[descriptor.name] = descriptor.defaultValue);
617
+ metadata.addSheet({
618
+ name: unitMD.name,
619
+ label: unitMD.label,
620
+ fields,
621
+ requiredFields: visibleFields
622
+ .filter(descriptor => descriptor.required)
623
+ .map(descriptor => descriptor.name),
624
+ cleanOnCopyFields: visibleFields
625
+ .filter(descriptor => { var _a, _b; return ((_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy) || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum); })
626
+ .map(descriptor => descriptor.name),
627
+ defaultValues
628
+ });
629
+ }
630
+ return metadata;
631
+ };
632
+ const buildFromConfig = (config, dataUnit) => {
633
+ var _a, _b;
634
+ const sheets = new Map();
635
+ const hiddenTabs = new Map();
636
+ const requiredFields = [];
637
+ const cleanOnCopyFields = [];
638
+ const defaultValues = {};
639
+ (_a = config === null || config === void 0 ? void 0 : config.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
640
+ if (!hiddenTabs.has(tab.label) && tab.visible === false) {
641
+ hiddenTabs.set(tab.label, tab);
642
+ }
643
+ });
644
+ (_b = config === null || config === void 0 ? void 0 : config.fields) === null || _b === void 0 ? void 0 : _b.forEach((field) => {
645
+ var _a, _b, _c, _d;
646
+ if (field.visible !== false) {
647
+ const tabConfig = getTabConfig(field.tab || "__main", sheets);
648
+ if (hiddenTabs.has(tabConfig.label)) {
649
+ return;
650
+ }
651
+ const descriptor = dataUnit.getField(field.name);
652
+ if (descriptor && tabConfig.visible) {
653
+ if (!sheets.has(tabConfig)) {
654
+ sheets.set(tabConfig, []);
655
+ }
656
+ const formField = buildFormField(descriptor, field);
657
+ sheets.get(tabConfig).push(formField);
658
+ if (formField.required) {
659
+ requiredFields.push(field.name);
660
+ }
661
+ const cleanOnCopy = field.cleanOnCopy == undefined ? (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy : field.cleanOnCopy;
662
+ if (cleanOnCopy || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum) || ((_c = descriptor.properties) === null || _c === void 0 ? void 0 : _c.cleanOnCopy)) {
663
+ cleanOnCopyFields.push(field.name);
664
+ }
665
+ const defaultValue = field.defaultValue == undefined ? (_d = descriptor.properties) === null || _d === void 0 ? void 0 : _d.defaultValue : field.defaultValue;
666
+ if (defaultValue) {
667
+ defaultValues[field.name] = field.defaultValue;
668
+ }
669
+ }
670
+ }
671
+ });
672
+ const metadata = new FormMetadata();
673
+ Array.from(sheets.entries())
674
+ .sort(sortTabs)
675
+ .forEach(([key, fields]) => {
676
+ metadata.addSheet({
677
+ label: (key.label === "__main") ? "Principal" : key.label,
678
+ name: key.label,
679
+ fields,
680
+ requiredFields,
681
+ cleanOnCopyFields,
682
+ defaultValues
683
+ });
684
+ });
685
+ return metadata;
686
+ };
687
+ const buildFormField = (descriptor, config) => {
688
+ let { name, label, group } = Object.assign({}, config);
689
+ let { readOnly, required } = Object.assign({}, config);
690
+ let props;
691
+ let userInterface;
692
+ if (descriptor) {
693
+ label = label || descriptor.label;
694
+ name = name || descriptor.name;
695
+ required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
696
+ readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
697
+ props = descriptor.properties;
698
+ userInterface = descriptor.userInterface;
699
+ }
700
+ return {
701
+ name, label, group,
702
+ readOnly, required,
703
+ props,
704
+ userInterface: userInterface || UserInterface.SHORTTEXT
705
+ };
706
+ };
707
+ const getTabConfig = (tab, sheets) => {
708
+ const tabConfig = (typeof tab === "string" ? Array.from(sheets.keys()).find(t => t.label === tab) : tab);
709
+ return tabConfig || { label: tab, visible: true };
710
+ };
711
+ const sortTabs = (a, b) => {
712
+ return a[0].label == '__main' ? -1 : (a[0].order || 10000) - (b[0].order || 10000);
713
+ };
714
+
715
+ const ezFormCss = ".sc-ez-form-h{display:flex;flex-direction:column;width:100%}.dynamic-content.sc-ez-form ez-collapsible-box.sc-ez-form{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}.multi-level__container.sc-ez-form{display:grid;grid-template-columns:minmax(20%, 300px) auto;width:100%}";
854
716
 
855
717
  let EzForm = class {
856
718
  constructor(hostRef) {
@@ -933,17 +795,40 @@ let EzForm = class {
933
795
  }
934
796
  });
935
797
  }
798
+ resolveLevel(items) {
799
+ if (!this.levelResolver) {
800
+ return items;
801
+ }
802
+ return this.levelResolver(items);
803
+ }
804
+ getMultiLevelContent(sheets, currentSheet, currentSheetId) {
805
+ const treeItems = this.resolveLevel(sheets.map(sheet => {
806
+ const item = {
807
+ id: sheet.name,
808
+ label: sheet.label
809
+ };
810
+ return item;
811
+ }));
812
+ return (h("div", { class: "multi-level__container" }, h("div", null, h("ez-tree", { selectedId: currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.name, items: treeItems, onEzChange: (evt) => {
813
+ var _a;
814
+ const selectedItem = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.id;
815
+ if (selectedItem && selectedItem !== (currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.name)) {
816
+ this._store.dispatch(changeTab(selectedItem));
817
+ }
818
+ } })), h("div", null, this.buildFormContent(currentSheetId, currentSheet))));
819
+ }
936
820
  getDynamicContent() {
937
- var _a;
821
+ var _a, _b;
938
822
  const formMD = selectFormMetadata(this._store.getState());
939
823
  if (!formMD)
940
824
  return null;
941
- const currentSheet = selectCurrentSheet((_a = this._store) === null || _a === void 0 ? void 0 : _a.getState());
942
- if (!currentSheet) {
943
- return null;
944
- }
945
825
  const allSheets = Array.from(formMD.getAllSheets().values());
946
- const result = [];
826
+ const currentSheetId = selectCurrentSheetId((_a = this._store) === null || _a === void 0 ? void 0 : _a.getState());
827
+ const currentSheet = selectCurrentSheet((_b = this._store) === null || _b === void 0 ? void 0 : _b.getState());
828
+ if (this.multiLevel) {
829
+ return this.getMultiLevelContent(allSheets, currentSheet, currentSheetId);
830
+ }
831
+ let result = [];
947
832
  if (allSheets.length > 1) {
948
833
  const tabs = allSheets.map((sheet, index) => {
949
834
  return { tabKey: sheet.name, label: sheet.label, index };
@@ -951,12 +836,25 @@ let EzForm = class {
951
836
  const idTabSelector = `selector`;
952
837
  result.push(h("ez-tabselector", { tabs: this.buildIdTabSelector(tabs), onEzChange: (evt) => this._store.dispatch(changeTab(evt.detail)), selectedTab: currentSheet.name, "data-element-id": idTabSelector }));
953
838
  }
954
- const idFormSheet = `${StringUtils.replaceAccentuatedChars(StringUtils.toCamelCase(currentSheet.label), false)}_selectorContainer`;
955
- result.push(h(FormSheet, { store: this._store, source: currentSheet, dataElementId: idFormSheet }));
839
+ result = result.concat(this.buildFormContent(currentSheetId, currentSheet));
956
840
  return result;
957
841
  }
842
+ buildFormContent(sheetId, currentSheet) {
843
+ const fields = currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.fields;
844
+ if (this.contentBuilder != undefined) {
845
+ const customContent = this.contentBuilder(sheetId, fields);
846
+ if (customContent != undefined) {
847
+ return h("div", { "innerHTML": customContent });
848
+ }
849
+ }
850
+ if (currentSheet == undefined) {
851
+ return;
852
+ }
853
+ const idFormSheet = `${StringUtils.replaceAccentuatedChars(StringUtils.toCamelCase(currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.label), false)}_selectorContainer`;
854
+ return (h("div", { class: "dynamic-content ez-box__container", "data-element-id": idFormSheet }, h("ez-form-view", { class: "ez-row ez-padding-vertical--small", fields: fields })));
855
+ }
958
856
  processMetadata() {
959
- if (!this.isStatic() && this.dataUnit) {
857
+ if (!this.isStatic() && this.dataUnit && this._store) {
960
858
  const metadata = this.config != undefined && Object.values(this.config).length > 0 ? buildFromConfig(this.config, this.dataUnit) : buildFromDataUnit(this.dataUnit);
961
859
  this._store.dispatch(loadMetadata(metadata));
962
860
  }
@@ -996,7 +894,7 @@ let EzForm = class {
996
894
  }
997
895
  if (action.type === Action.RECORDS_ADDED) {
998
896
  const metadata = selectFormMetadata(this._store.getState());
999
- const defaultValues = metadata.getDefaultValues();
897
+ const defaultValues = metadata === null || metadata === void 0 ? void 0 : metadata.getDefaultValues();
1000
898
  if (defaultValues) {
1001
899
  const records = action.payload;
1002
900
  return new DataUnitAction(Action.RECORDS_ADDED, records.map(record => {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b77dcd0d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-c5203f95.js';
2
2
  import { Action, ObjectUtils as ObjectUtils$1, ApplicationContext, StringUtils as StringUtils$1, UserInterface, NumberUtils as NumberUtils$1, DataType, SortMode, ElementIDUtils } from '@sankhyalabs/core';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-b77dcd0d.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-c5203f95.js';
2
2
  import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
 
4
4
  const ezIconCss = ":host{display:flex;overflow:hidden;position:relative;--ez-icon--color:var(--icon--color, #ffffff)}svg{display:flex;justify-content:center;align-items:center;fill:var(--ez-icon--color)}.x-small{width:12px;height:12px}.small{width:16px;height:16px}.medium{width:20px;height:20px}.large{width:24px;height:24px}.x-large{width:30px;height:30px}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{color:var(--ez-icon--color)}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{font-family:'ez-icons' !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ez-icon-2chevron-down:before{content:\"\\ea01\"}.ez-icon-2chevron-up:before{content:\"\\ea02\"}.ez-icon-account-outline:before{content:\"\\ea03\"}.ez-icon-account:before{content:\"\\ea04\"}.ez-icon-actions-sprite-v1:before{content:\"\\ea05\"}.ez-icon-alert-circle-inverted:before{content:\"\\ea06\"}.ez-icon-alert-circle:before{content:\"\\ea07\"}.ez-icon-alert-mail:before{content:\"\\ea08\"}.ez-icon-alert-popup:before{content:\"\\ea09\"}.ez-icon-anexo:before{content:\"\\ea0a\"}.ez-icon-antecipação:before{content:\"\\ea0b\"}.ez-icon-apps:before{content:\"\\ea0c\"}.ez-icon-arrow_back:before{content:\"\\ea0d\"}.ez-icon-arrow_downward:before{content:\"\\ea0e\"}.ez-icon-baixa:before{content:\"\\ea0f\"}.ez-icon-balance:before{content:\"\\ea10\"}.ez-icon-bell-inverted:before{content:\"\\ea11\"}.ez-icon-bell:before{content:\"\\ea12\"}.ez-icon-boleto:before{content:\"\\ea13\"}.ez-icon-business-center:before{content:\"\\ea14\"}.ez-icon-calendar-clock:before{content:\"\\ea15\"}.ez-icon-calendar:before{content:\"\\ea16\"}.ez-icon-cash-remove:before{content:\"\\ea17\"}.ez-icon-check-circle-inverted:before{content:\"\\ea18\"}.ez-icon-check-circle:before{content:\"\\ea19\"}.ez-icon-check:before{content:\"\\ea1a\"}.ez-icon-chevron-down:before{content:\"\\ea1b\"}.ez-icon-chevron-left:before{content:\"\\ea1c\"}.ez-icon-chevron-right:before{content:\"\\ea1d\"}.ez-icon-chevron-up:before{content:\"\\ea1e\"}.ez-icon-circle--medium:before{content:\"\\ea1f\"}.ez-icon-circle:before{content:\"\\ea20\"}.ez-icon-cleaning:before{content:\"\\ea21\"}.ez-icon-clipboard:before{content:\"\\ea22\"}.ez-icon-close:before{content:\"\\ea23\"}.ez-icon-cobrar:before{content:\"\\ea24\"}.ez-icon-code:before{content:\"\\ea25\"}.ez-icon-configuration:before{content:\"\\ea26\"}.ez-icon-copy:before{content:\"\\ea27\"}.ez-icon-credit_card:before{content:\"\\ea28\"}.ez-icon-crop:before{content:\"\\ea29\"}.ez-icon-custom:before{content:\"\\ea2a\"}.ez-icon-delete:before{content:\"\\ea2b\"}.ez-icon-description:before{content:\"\\ea2c\"}.ez-icon-dividir:before{content:\"\\ea2d\"}.ez-icon-docx:before{content:\"\\ea2e\"}.ez-icon-dot-notification:before{content:\"\\ea2f\"}.ez-icon-dots-horizontal:before{content:\"\\ea30\"}.ez-icon-dots-vertical:before{content:\"\\ea31\"}.ez-icon-drag-indicator:before{content:\"\\ea32\"}.ez-icon-dual-chevron-down:before{content:\"\\ea33\"}.ez-icon-dual-chevron-up:before{content:\"\\ea34\"}.ez-icon-edit-file:before{content:\"\\ea35\"}.ez-icon-edit-table:before{content:\"\\ea36\"}.ez-icon-edit-time:before{content:\"\\ea37\"}.ez-icon-edit:before{content:\"\\ea38\"}.ez-icon-email:before{content:\"\\ea39\"}.ez-icon-estorno:before{content:\"\\ea3a\"}.ez-icon-exe:before{content:\"\\ea3b\"}.ez-icon-expand:before{content:\"\\ea3c\"}.ez-icon-expandir_card:before{content:\"\\ea3d\"}.ez-icon-extrato:before{content:\"\\ea3e\"}.ez-icon-eye-off:before{content:\"\\ea3f\"}.ez-icon-eye:before{content:\"\\ea40\"}.ez-icon-favorite:before{content:\"\\ea41\"}.ez-icon-figma:before{content:\"\\ea42\"}.ez-icon-file-download:before{content:\"\\ea43\"}.ez-icon-file-upload:before{content:\"\\ea44\"}.ez-icon-filter:before{content:\"\\ea45\"}.ez-icon-find-file:before{content:\"\\ea46\"}.ez-icon-find-page:before{content:\"\\ea47\"}.ez-icon-format-color-fill:before{content:\"\\ea48\"}.ez-icon-generic:before{content:\"\\ea49\"}.ez-icon-gif:before{content:\"\\ea4a\"}.ez-icon-graph_bar:before{content:\"\\ea4b\"}.ez-icon-handshake:before{content:\"\\ea4c\"}.ez-icon-help-inverted:before{content:\"\\ea4d\"}.ez-icon-help:before{content:\"\\ea4e\"}.ez-icon-hide_menu:before{content:\"\\ea4f\"}.ez-icon-home:before{content:\"\\ea50\"}.ez-icon-icons104:before{content:\"\\ea51\"}.ez-icon-language:before{content:\"\\ea52\"}.ez-icon-launch:before{content:\"\\ea53\"}.ez-icon-lightbulb:before{content:\"\\ea54\"}.ez-icon-list:before{content:\"\\ea55\"}.ez-icon-location:before{content:\"\\ea56\"}.ez-icon-lock-outline:before{content:\"\\ea57\"}.ez-icon-lock:before{content:\"\\ea58\"}.ez-icon-menu:before{content:\"\\ea59\"}.ez-icon-mid:before{content:\"\\ea5a\"}.ez-icon-minus:before{content:\"\\ea5b\"}.ez-icon-money-off:before{content:\"\\ea5c\"}.ez-icon-money:before{content:\"\\ea5d\"}.ez-icon-more:before{content:\"\\ea5e\"}.ez-icon-mp3:before{content:\"\\ea5f\"}.ez-icon-mp4:before{content:\"\\ea60\"}.ez-icon-north-west:before{content:\"\\ea61\"}.ez-icon-number:before{content:\"\\ea62\"}.ez-icon-ordem-ascendente:before{content:\"\\ea63\"}.ez-icon-ordem-descendente:before{content:\"\\ea64\"}.ez-icon-parcelar:before{content:\"\\ea65\"}.ez-icon-pause:before{content:\"\\ea66\"}.ez-icon-payments:before{content:\"\\ea67\"}.ez-icon-pdf:before{content:\"\\ea68\"}.ez-icon-play:before{content:\"\\ea69\"}.ez-icon-plus:before{content:\"\\ea6a\"}.ez-icon-png:before{content:\"\\ea6b\"}.ez-icon-power:before{content:\"\\ea6c\"}.ez-icon-pptx:before{content:\"\\ea6d\"}.ez-icon-print:before{content:\"\\ea6e\"}.ez-icon-push-pin:before{content:\"\\ea6f\"}.ez-icon-rateio:before{content:\"\\ea70\"}.ez-icon-receipt:before{content:\"\\ea71\"}.ez-icon-recolher_card:before{content:\"\\ea72\"}.ez-icon-restore:before{content:\"\\ea73\"}.ez-icon-return:before{content:\"\\ea74\"}.ez-icon-save:before{content:\"\\ea75\"}.ez-icon-search:before{content:\"\\ea76\"}.ez-icon-settings-inverted:before{content:\"\\ea77\"}.ez-icon-settings:before{content:\"\\ea78\"}.ez-icon-share:before{content:\"\\ea79\"}.ez-icon-shield:before{content:\"\\ea7a\"}.ez-icon-show_menu:before{content:\"\\ea7b\"}.ez-icon-south-east:before{content:\"\\ea7c\"}.ez-icon-sync:before{content:\"\\ea7d\"}.ez-icon-table:before{content:\"\\ea7e\"}.ez-icon-tag_code:before{content:\"\\ea7f\"}.ez-icon-text:before{content:\"\\ea80\"}.ez-icon-timeline:before{content:\"\\ea81\"}.ez-icon-timer-outline:before{content:\"\\ea82\"}.ez-icon-tune:before{content:\"\\ea83\"}.ez-icon-txt:before{content:\"\\ea84\"}.ez-icon-un-pin:before{content:\"\\ea85\"}.ez-icon-unfold_less:before{content:\"\\ea86\"}.ez-icon-unfold_more:before{content:\"\\ea87\"}.ez-icon-user-circle:before{content:\"\\ea88\"}.ez-icon-warning-outline:before{content:\"\\ea89\"}.ez-icon-warning_triangle:before{content:\"\\ea8a\"}.ez-icon-whatshot:before{content:\"\\ea8b\"}.ez-icon-xlsx:before{content:\"\\ea8c\"}.ez-icon-zip:before{content:\"\\ea8d\"}.x-small--font{font-size:12px}.small--font{font-size:16px}.medium--font{font-size:20px}.large--font{font-size:24px}.x-large--font{font-size:30px}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-b77dcd0d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-c5203f95.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
3
 
4
4
  const ezListCss = ":host{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon--padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item--margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:var(--border--small, 1px solid);--ez-list__item--border-color:var(--title--primary, #2b3a54);--ez-list__item--font-family:var(--font-pattern, \"Roboto\");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item--border-radius:var(--border--radius-small, 6px);--ez-list__selected-item--background-color:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, \"Roboto\");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group-overlay--font-family:var(--font-pattern, \"Roboto\");--ez-list__group-overlay--font-size:var(--text--medium, 14px);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable-list--padding-bottom:var(--space--small, 6px);--ez-list__draggable-icon--image:url('data:image/svg+xml;utf8,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z\"/></svg>');--ez-list__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-list__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-list__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-list__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-list__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-list__scrollbar--width:var(--space--medium, 12px);max-height:100%;width:100%;background-color:#fff;display:flex;z-index:var(--ez-list__host--z-index)}p{margin:0}.draggable{display:flex;align-items:center;border-top:1px dashed #fff;justify-content:space-between;background-color:#fff;flex:1;width:100%;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size)}.dragging{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container{margin:0px !important}.item-content{display:flex;justify-content:flex-start;align-items:center;width:100%}.group-container .item-content{max-width:calc(100% - 41px)}.items-container .item-content{max-width:calc(100% - 100px)}.draggable-list{padding:0;margin:0;width:100%;max-height:100%;scrollbar-width:thin;color:var(--text-color);scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.draggable-list li{background-color:#fff;display:flex;height:32px;margin:var(--ez-list__item--margin);font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color)}.over{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space{height:var(--ez-list__last-droppable-space--height)}.draggable-selected{background-color:var(--background--strong) !important}.draggable-selected div:hover{background-color:var(--background--strong) !important}.draggable-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.draggable-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar-thumb:vertical:hover,.draggable-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.draggable-list::-webkit-scrollbar-thumb:vertical:active,.draggable-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.draggable-icon{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon::after{content:'';display:flex;width:18px;height:18px;background-color:var(--ez-list__icon--color);-webkit-mask-image:var(--ez-list__draggable-icon--image);mask-image:var(--ez-list__draggable-icon--image)}*{box-sizing:border-box}.checkbox{width:fit-content}.text--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-container{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-name{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none;font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom)}.group{display:flex;flex-direction:column}.group-container::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.group-container::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container::-webkit-scrollbar-thumb:vertical:hover,.group-container::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.group-container::-webkit-scrollbar-thumb:vertical:active,.group-container::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.section-container{display:flex;position:relative;height:100%}.items-container{width:100%;max-height:100%;overflow-y:auto;outline:none;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-items-container{width:100%;max-height:100%;height:100%;outline:none}.items-container::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.items-container::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container::-webkit-scrollbar-thumb:vertical:hover,.items-container::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.items-container::-webkit-scrollbar-thumb:vertical:active,.items-container::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.group-overlay{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer;font-family:var(--ez-list__group-overlay--font-family);font-size:var(--ez-list__group-overlay--font-size)}.presetedHeight{min-height:100px}.overlay-text{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item{background:var(--ez-list__selected-item--background-color);border-radius:var(--ez-list__selected-item--border-radius)}.slot-item{align-items:flex-end}.overGroup{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-b77dcd0d.js';
1
+ import { r as registerInstance, h, H as Host } from './index-c5203f95.js';
2
2
 
3
3
  const ezLoadingBarCss = ":host{position:fixed;top:0px;width:100%}.loading-bar{width:100%;margin:0 auto;position:absolute;background-color:var(--color--primary-300, #e2f4ef);height:5px}.loading-bar:before{content:'';position:absolute}.loading-bar__container{position:absolute;top:0;right:100%;bottom:0;left:0;background-color:var(--color--primary, #008561);width:0;animation:loading 2s linear infinite}@keyframes loading{0%{left:0%;right:100%;width:0%}25%{left:0%;right:75%;width:25%}50%{left:0%;right:50%;width:90%}70%{right:0%;left:75%;width:25%}100%{left:100%;right:0%;width:0%}}@-webkit-keyframes loading{0%{left:0%;right:100%;width:0%}25%{left:0%;right:75%;width:25%}50%{left:0%;right:50%;width:90%}70%{right:0%;left:75%;width:25%}100%{left:100%;right:0%;width:0%}}";
4
4