@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-78812.3 → 0.0.0-bugfix-dev-KB-76362.1

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 (261) hide show
  1. package/dist/cjs/RecordValidationProcessor-10846595.js +108 -0
  2. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-button.cjs.entry.js +2 -2
  9. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-card-item_3.cjs.entry.js +20 -13
  11. package/dist/cjs/ez-chart.cjs.entry.js +2 -2
  12. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-combo-box.cjs.entry.js +11 -47
  16. package/dist/cjs/ez-custom-form-input_2.cjs.entry.js +4 -5
  17. package/dist/cjs/ez-date-input.cjs.entry.js +3 -9
  18. package/dist/cjs/ez-date-time-input.cjs.entry.js +3 -9
  19. package/dist/cjs/ez-dialog.cjs.entry.js +3 -11
  20. package/dist/cjs/ez-dropdown_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-form-view.cjs.entry.js +3 -3
  23. package/dist/cjs/ez-form.cjs.entry.js +326 -6
  24. package/dist/cjs/ez-grid.cjs.entry.js +70519 -14637
  25. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/ez-list.cjs.entry.js +101 -152
  28. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-modal.cjs.entry.js +2 -2
  31. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-number-input.cjs.entry.js +1 -8
  33. package/dist/cjs/ez-popover.cjs.entry.js +2 -2
  34. package/dist/cjs/ez-popup.cjs.entry.js +2 -2
  35. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-scroller_2.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-search.cjs.entry.js +23 -72
  38. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-split-button.cjs.entry.js +2 -2
  40. package/dist/cjs/ez-split-item.cjs.entry.js +1 -1
  41. package/dist/cjs/ez-split-panel.cjs.entry.js +1 -1
  42. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  43. package/dist/cjs/ez-text-area.cjs.entry.js +5 -67
  44. package/dist/cjs/ez-text-input.cjs.entry.js +8 -50
  45. package/dist/cjs/ez-time-input.cjs.entry.js +1 -7
  46. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  47. package/dist/cjs/ez-tree.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  49. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  50. package/dist/cjs/ezui.cjs.js +2 -2
  51. package/dist/cjs/filter-column.cjs.entry.js +1 -1
  52. package/dist/cjs/{index-a7b0c73d.js → index-9e5554cb.js} +3 -0
  53. package/dist/cjs/loader.cjs.js +2 -2
  54. package/dist/collection/collection-manifest.json +1 -1
  55. package/dist/collection/components/ez-button/ez-button.css +2 -2
  56. package/dist/collection/components/ez-card-item/ez-card-item.css +5 -14
  57. package/dist/collection/components/ez-combo-box/ez-combo-box.js +14 -75
  58. package/dist/collection/components/ez-date-input/ez-date-input.js +4 -35
  59. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +4 -35
  60. package/dist/collection/components/ez-dialog/ez-dialog.css +3 -3
  61. package/dist/collection/components/ez-dialog/ez-dialog.js +1 -9
  62. package/dist/collection/components/ez-filter-input/ez-filter-input.css +11 -0
  63. package/dist/collection/components/ez-filter-input/ez-filter-input.js +52 -22
  64. package/dist/collection/components/ez-form/ez-form.js +0 -1
  65. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +2 -3
  66. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  67. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +27 -100
  68. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +0 -8
  69. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +46 -164
  70. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +0 -7
  71. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +0 -1
  72. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +0 -1
  73. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +0 -1
  74. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +0 -1
  75. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +1 -4
  76. package/dist/collection/components/ez-grid/ez-grid.js +3 -90
  77. package/dist/collection/components/ez-icon/ez-icon.css +149 -153
  78. package/dist/collection/components/ez-list/ez-list.css +5 -5
  79. package/dist/collection/components/ez-list/ez-list.js +170 -152
  80. package/dist/collection/components/ez-modal/ez-modal.css +0 -4
  81. package/dist/collection/components/ez-modal/ez-modal.js +2 -2
  82. package/dist/collection/components/ez-number-input/ez-number-input.js +0 -25
  83. package/dist/collection/components/ez-popover/ez-popover.css +10 -3
  84. package/dist/collection/components/ez-popup/ez-popup.css +7 -3
  85. package/dist/collection/components/ez-search/ez-search.css +1 -1
  86. package/dist/collection/components/ez-search/ez-search.js +24 -98
  87. package/dist/collection/components/ez-split-button/ez-split-button.css +2 -2
  88. package/dist/collection/components/ez-text-area/ez-text-area.css +0 -49
  89. package/dist/collection/components/ez-text-area/ez-text-area.js +2 -102
  90. package/dist/collection/components/ez-text-input/ez-text-input.css +53 -27
  91. package/dist/collection/components/ez-text-input/ez-text-input.js +6 -84
  92. package/dist/collection/components/ez-time-input/ez-time-input.js +0 -24
  93. package/dist/collection/utils/form/DataBinder.js +3 -18
  94. package/dist/collection/utils/form/FormMetadata.js +1 -1
  95. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +1 -1
  96. package/dist/custom-elements/index.js +71095 -15526
  97. package/dist/esm/RecordValidationProcessor-9c6cc267.js +105 -0
  98. package/dist/esm/ez-actions-button.entry.js +1 -1
  99. package/dist/esm/ez-alert-list.entry.js +1 -1
  100. package/dist/esm/ez-alert.entry.js +1 -1
  101. package/dist/esm/ez-application.entry.js +1 -1
  102. package/dist/esm/ez-badge.entry.js +1 -1
  103. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  104. package/dist/esm/ez-button.entry.js +2 -2
  105. package/dist/esm/ez-calendar.entry.js +1 -1
  106. package/dist/esm/ez-card-item_3.entry.js +20 -13
  107. package/dist/esm/ez-chart.entry.js +2 -2
  108. package/dist/esm/ez-check.entry.js +1 -1
  109. package/dist/esm/ez-chip.entry.js +1 -1
  110. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  111. package/dist/esm/ez-combo-box.entry.js +12 -48
  112. package/dist/esm/ez-custom-form-input_2.entry.js +4 -5
  113. package/dist/esm/ez-date-input.entry.js +3 -9
  114. package/dist/esm/ez-date-time-input.entry.js +3 -9
  115. package/dist/esm/ez-dialog.entry.js +3 -11
  116. package/dist/esm/ez-dropdown_2.entry.js +1 -1
  117. package/dist/esm/ez-file-item.entry.js +1 -1
  118. package/dist/esm/ez-form-view.entry.js +3 -3
  119. package/dist/esm/ez-form.entry.js +325 -5
  120. package/dist/esm/ez-grid.entry.js +70546 -14664
  121. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  122. package/dist/esm/ez-icon.entry.js +2 -2
  123. package/dist/esm/ez-list.entry.js +102 -153
  124. package/dist/esm/ez-loading-bar.entry.js +1 -1
  125. package/dist/esm/ez-modal-container.entry.js +1 -1
  126. package/dist/esm/ez-modal.entry.js +2 -2
  127. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  128. package/dist/esm/ez-number-input.entry.js +1 -8
  129. package/dist/esm/ez-popover.entry.js +2 -2
  130. package/dist/esm/ez-popup.entry.js +2 -2
  131. package/dist/esm/ez-radio-button.entry.js +1 -1
  132. package/dist/esm/ez-scroller_2.entry.js +1 -1
  133. package/dist/esm/ez-search.entry.js +23 -72
  134. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  135. package/dist/esm/ez-split-button.entry.js +2 -2
  136. package/dist/esm/ez-split-item.entry.js +1 -1
  137. package/dist/esm/ez-split-panel.entry.js +1 -1
  138. package/dist/esm/ez-tabselector.entry.js +1 -1
  139. package/dist/esm/ez-text-area.entry.js +5 -67
  140. package/dist/esm/ez-text-input.entry.js +8 -50
  141. package/dist/esm/ez-time-input.entry.js +1 -7
  142. package/dist/esm/ez-toast.entry.js +1 -1
  143. package/dist/esm/ez-tree.entry.js +1 -1
  144. package/dist/esm/ez-upload.entry.js +1 -1
  145. package/dist/esm/ez-view-stack.entry.js +1 -1
  146. package/dist/esm/ezui.js +3 -3
  147. package/dist/esm/filter-column.entry.js +1 -1
  148. package/dist/esm/{index-baa5e267.js → index-5a720e56.js} +3 -1
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/ezui/ezui.esm.js +1 -1
  151. package/dist/ezui/p-00687830.entry.js +1 -0
  152. package/dist/ezui/{p-44caad9a.entry.js → p-0378416a.entry.js} +1 -1
  153. package/dist/ezui/p-044d46d5.entry.js +1 -0
  154. package/dist/ezui/{p-1285c902.entry.js → p-11b09aa1.entry.js} +1 -1
  155. package/dist/ezui/{p-77a4bd35.entry.js → p-11bfeca3.entry.js} +1 -1
  156. package/dist/ezui/p-190c190f.entry.js +304 -0
  157. package/dist/ezui/{p-8888d9ed.entry.js → p-1b08bf3c.entry.js} +1 -1
  158. package/dist/ezui/p-2de9f0aa.entry.js +1 -0
  159. package/dist/ezui/{p-baf80b13.entry.js → p-30951bd7.entry.js} +1 -1
  160. package/dist/ezui/p-36180f4d.entry.js +1 -0
  161. package/dist/ezui/{p-7409eeaa.entry.js → p-3b546374.entry.js} +1 -1
  162. package/dist/ezui/p-3f8c33e0.entry.js +1 -0
  163. package/dist/ezui/p-52100a6e.entry.js +1 -0
  164. package/dist/ezui/{p-6d79930d.entry.js → p-554522db.entry.js} +1 -1
  165. package/dist/ezui/p-5a40c77a.entry.js +1 -0
  166. package/dist/ezui/p-61059f6b.entry.js +1 -0
  167. package/dist/ezui/p-68267f59.entry.js +1 -0
  168. package/dist/ezui/{p-1f50fa05.entry.js → p-6b51c9cc.entry.js} +1 -1
  169. package/dist/ezui/p-6ec40dec.entry.js +1 -0
  170. package/dist/ezui/{p-5ed81457.entry.js → p-6fc26622.entry.js} +1 -1
  171. package/dist/ezui/{p-f9e551de.entry.js → p-70f1c812.entry.js} +1 -1
  172. package/dist/ezui/{p-555c9018.entry.js → p-7567ccdd.entry.js} +1 -1
  173. package/dist/ezui/{p-1e7a8633.entry.js → p-81461d2f.entry.js} +1 -1
  174. package/dist/ezui/p-823cc11b.entry.js +1 -0
  175. package/dist/ezui/{p-8df1ca33.entry.js → p-82fa4b09.entry.js} +1 -1
  176. package/dist/ezui/p-85b500bb.entry.js +1 -0
  177. package/dist/ezui/{p-bcb53f27.entry.js → p-868b56f7.entry.js} +1 -1
  178. package/dist/ezui/p-8ac13678.entry.js +1 -0
  179. package/dist/ezui/{p-09de35a2.entry.js → p-91ccae0c.entry.js} +1 -1
  180. package/dist/ezui/{p-c0d9c4f8.entry.js → p-92748142.entry.js} +1 -1
  181. package/dist/ezui/p-940760bf.entry.js +1 -0
  182. package/dist/ezui/p-9e08ddb0.entry.js +1 -0
  183. package/dist/ezui/{p-c4320a39.entry.js → p-a563df31.entry.js} +1 -1
  184. package/dist/ezui/{p-990b4318.entry.js → p-a921e3e7.entry.js} +1 -1
  185. package/dist/ezui/p-b2a1398f.entry.js +1 -0
  186. package/dist/ezui/{p-17be134a.entry.js → p-b2f6bc0a.entry.js} +1 -1
  187. package/dist/ezui/{p-c3045972.entry.js → p-b858fc6e.entry.js} +1 -1
  188. package/dist/ezui/p-ba5f4ee7.entry.js +1 -0
  189. package/dist/ezui/{p-e347df9c.entry.js → p-bef7daac.entry.js} +1 -1
  190. package/dist/ezui/{p-9f5fa3f9.entry.js → p-c2b20f78.entry.js} +1 -1
  191. package/dist/ezui/p-d40b93a7.entry.js +1 -0
  192. package/dist/ezui/p-d4aba783.entry.js +1 -0
  193. package/dist/ezui/{p-7fdd479f.entry.js → p-e18d9e6a.entry.js} +1 -1
  194. package/dist/ezui/p-e3ec7422.entry.js +1 -0
  195. package/dist/ezui/{p-23a36bb6.js → p-e4c7eb39.js} +2 -2
  196. package/dist/ezui/{p-0306dff7.entry.js → p-e6b38ade.entry.js} +1 -1
  197. package/dist/ezui/{p-90bcd2ba.entry.js → p-e7395eae.entry.js} +1 -1
  198. package/dist/ezui/{p-650e4b6d.entry.js → p-f1c2c19e.entry.js} +1 -1
  199. package/dist/ezui/p-f291db18.entry.js +1 -0
  200. package/dist/ezui/p-f42855b9.js +1 -0
  201. package/dist/ezui/{p-6e429cff.entry.js → p-fc194825.entry.js} +1 -1
  202. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +1 -7
  203. package/dist/types/components/ez-date-input/ez-date-input.d.ts +1 -6
  204. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +1 -6
  205. package/dist/types/components/ez-dialog/ez-dialog.d.ts +0 -2
  206. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +11 -4
  207. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  208. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +0 -12
  209. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +2 -7
  210. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +1 -2
  211. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +7 -19
  212. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +1 -3
  213. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +1 -1
  214. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  215. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +1 -1
  216. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +1 -1
  217. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +1 -1
  218. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +1 -1
  219. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +0 -1
  220. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +1 -1
  221. package/dist/types/components/ez-grid/ez-grid.d.ts +1 -11
  222. package/dist/types/components/ez-list/ez-list.d.ts +26 -3
  223. package/dist/types/components/ez-modal/ez-modal.d.ts +1 -1
  224. package/dist/types/components/ez-number-input/ez-number-input.d.ts +0 -4
  225. package/dist/types/components/ez-search/ez-search.d.ts +2 -10
  226. package/dist/types/components/ez-text-area/ez-text-area.d.ts +0 -17
  227. package/dist/types/components/ez-text-input/ez-text-input.d.ts +0 -9
  228. package/dist/types/components/ez-time-input/ez-time-input.d.ts +0 -4
  229. package/dist/types/components.d.ts +44 -109
  230. package/dist/types/utils/form/DataBinder.d.ts +0 -3
  231. package/package.json +4 -11
  232. package/dist/cjs/DataBinder-3b083480.js +0 -445
  233. package/dist/cjs/FocusResolver-885f2173.js +0 -35
  234. package/dist/collection/utils/FocusResolver.js +0 -31
  235. package/dist/esm/DataBinder-02fa9bb9.js +0 -441
  236. package/dist/esm/FocusResolver-1ccbf850.js +0 -33
  237. package/dist/ezui/p-0a75bb05.entry.js +0 -1
  238. package/dist/ezui/p-0db68715.entry.js +0 -1
  239. package/dist/ezui/p-15d7af92.entry.js +0 -1
  240. package/dist/ezui/p-19098a3f.entry.js +0 -1
  241. package/dist/ezui/p-1f830a2f.entry.js +0 -1
  242. package/dist/ezui/p-2aa8e4b2.entry.js +0 -1
  243. package/dist/ezui/p-2bb2a0c4.entry.js +0 -1
  244. package/dist/ezui/p-3175fe8c.entry.js +0 -1
  245. package/dist/ezui/p-43b41d3e.entry.js +0 -309
  246. package/dist/ezui/p-455e737c.js +0 -1
  247. package/dist/ezui/p-7ed30844.entry.js +0 -1
  248. package/dist/ezui/p-97af4b13.entry.js +0 -1
  249. package/dist/ezui/p-a5b91a77.entry.js +0 -1
  250. package/dist/ezui/p-a80b1287.entry.js +0 -1
  251. package/dist/ezui/p-bc2f844e.entry.js +0 -1
  252. package/dist/ezui/p-bfad39eb.entry.js +0 -1
  253. package/dist/ezui/p-cd2e78f0.entry.js +0 -1
  254. package/dist/ezui/p-d0ca26fe.entry.js +0 -1
  255. package/dist/ezui/p-d24a7b4c.entry.js +0 -1
  256. package/dist/ezui/p-dc628ed3.js +0 -1
  257. package/dist/ezui/p-dc8b36c3.entry.js +0 -1
  258. package/dist/ezui/p-e5e16038.entry.js +0 -1
  259. package/dist/ezui/p-fec696ab.entry.js +0 -1
  260. package/dist/ezui/p-ffd246f5.entry.js +0 -1
  261. package/dist/types/utils/FocusResolver.d.ts +0 -5
@@ -1,441 +0,0 @@
1
- import { UserInterface, Action, StringUtils, ApplicationContext, WaitingChangeException, DataUnitAction } from '@sankhyalabs/core';
2
- import { A as ApplicationUtils } from './ApplicationUtils-eaf91331.js';
3
-
4
- const buildFieldMetadata = (descriptor, config) => {
5
- let { name, label, group } = Object.assign({}, config);
6
- let { readOnly, required } = Object.assign({}, config);
7
- let props;
8
- let userInterface;
9
- if (descriptor) {
10
- label = label || descriptor.label;
11
- name = name || descriptor.name;
12
- required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
13
- readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
14
- props = descriptor.properties;
15
- userInterface = descriptor.userInterface;
16
- }
17
- return {
18
- name, label, group,
19
- readOnly, required,
20
- props,
21
- userInterface: userInterface || UserInterface.SHORTTEXT,
22
- };
23
- };
24
-
25
- class RecordValidationProcessor {
26
- constructor(dataUnit, validationSource, validator) {
27
- this._dataUnit = dataUnit;
28
- this._validationSource = validationSource;
29
- this._validator = validator;
30
- }
31
- validate(isSaving = true) {
32
- return new Promise((accept, reject) => {
33
- const records = this._dataUnit.getModifiedRecords();
34
- for (let i = 0; i < records.length; i++) {
35
- const record = records[i];
36
- const invalidResults = [];
37
- let validationResult = this.validateRequired(record);
38
- if (validationResult && !validationResult.isValid) {
39
- invalidResults.push(validationResult);
40
- }
41
- if (this._validator) {
42
- validationResult = this._validator.validateRecord(record);
43
- if (validationResult && !validationResult.isValid) {
44
- invalidResults.push(validationResult);
45
- }
46
- }
47
- if (invalidResults.length > 0) {
48
- if (!isSaving && invalidResults[0].invalidFields.length > 0) {
49
- this._validationSource.markAsInvalid(invalidResults[0].invalidFields[0], record.__record__id__);
50
- reject();
51
- break;
52
- }
53
- this.processValidationResult(invalidResults, record.__record__id__);
54
- reject();
55
- break;
56
- }
57
- }
58
- return accept();
59
- });
60
- }
61
- validateRequired(record) {
62
- const requiredFields = this._validationSource.getRequiredFields();
63
- const invalidFields = [];
64
- new Set(requiredFields).forEach(field => {
65
- const value = record[field];
66
- if (value == undefined || value === "") {
67
- const errorMessage = this._validationSource.getMessageForField(field, record.__record__id__);
68
- if (errorMessage) {
69
- invalidFields.push({ name: field, message: errorMessage });
70
- }
71
- else {
72
- invalidFields.push({ name: field, message: "Essa informação é obrigatória" });
73
- }
74
- }
75
- });
76
- if (invalidFields.length > 0) {
77
- return { isValid: false, invalidFields, infoMessage: "Há pelo menos um campo obrigatório não preenchido." };
78
- }
79
- return undefined;
80
- }
81
- processValidationResult(validationResult, recordId) {
82
- validationResult.forEach(invalidResult => {
83
- const invalidFields = invalidResult.invalidFields;
84
- this._dataUnit.savingCanceled(invalidFields, recordId);
85
- if (invalidFields) {
86
- invalidFields.forEach(field => {
87
- this.markAsInvalid(field, recordId);
88
- });
89
- }
90
- if (invalidResult.infoMessage) {
91
- ApplicationUtils.info(invalidResult.infoMessage);
92
- }
93
- if (invalidResult.errorMessage) {
94
- const { errorTitle, errorMessage } = invalidResult;
95
- ApplicationUtils.error(errorTitle, errorMessage);
96
- }
97
- });
98
- }
99
- markAsInvalid(field, recordId) {
100
- this._dataUnit.setInvalidField(field.name, field.message, recordId);
101
- this._validationSource.markAsInvalid(field, recordId);
102
- }
103
- }
104
-
105
- class DataBinder {
106
- constructor(dataUnit) {
107
- this.onDataUnitEvent = (action) => {
108
- var _a, _b;
109
- switch (action.type) {
110
- case Action.DATA_LOADED:
111
- case Action.DATA_SAVED:
112
- case Action.RECORDS_REMOVED:
113
- case Action.RECORDS_ADDED:
114
- case Action.RECORDS_COPIED:
115
- case Action.EDITION_CANCELED:
116
- case Action.SELECTION_CHANGED:
117
- case Action.NEXT_SELECTED:
118
- case Action.PREVIOUS_SELECTED:
119
- this.clearInvalid();
120
- case Action.DATA_CHANGED:
121
- case Action.CHANGE_UNDONE:
122
- case Action.CHANGE_REDONE:
123
- case Action.RECORD_LOADED:
124
- (_a = this._fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
125
- this.updateValue(field.fieldName, field.field);
126
- });
127
- this.clearFieldError(Object.keys(action.payload)[0]);
128
- break;
129
- case Action.FIELD_INVALIDATED:
130
- (_b = this._fields) === null || _b === void 0 ? void 0 : _b.forEach(field => {
131
- this.updateErrorMessage(field.fieldName, field.field);
132
- });
133
- break;
134
- }
135
- };
136
- this._uuid = StringUtils.generateUUID();
137
- this._fields = new Map();
138
- this._dataUnit = dataUnit;
139
- this.applyDefaultValues();
140
- this._dataUnit.subscribe(this.onDataUnitEvent);
141
- this._dataUnit.addInterceptor(this);
142
- this.setContextDataBinder(dataUnit);
143
- }
144
- get dataBinderId() {
145
- return this._uuid;
146
- }
147
- setContextDataBinder(dataUnit) {
148
- const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__") || new Map();
149
- const dataBinders = [...(dataBindersByDataUnit.get(dataUnit.dataUnitId) || []), this];
150
- dataBindersByDataUnit.set(dataUnit.dataUnitId, dataBinders);
151
- ApplicationContext.setContextValue("__DATABINDER_BY_DATAUNIT__", dataBindersByDataUnit);
152
- }
153
- applyDefaultValues() {
154
- const recordIds = (this._dataUnit.getAddedRecords() || []).map(r => r.__record__id__);
155
- if (recordIds.length > 0) {
156
- const defaultValues = this.getDefaultValues();
157
- if (defaultValues) {
158
- Object.keys(defaultValues).forEach(field => {
159
- this._dataUnit.setFieldValue(field, defaultValues[field], recordIds);
160
- });
161
- }
162
- }
163
- }
164
- bind(fields, currentContextName, formMetadata, recordsValidator) {
165
- fields.forEach(fieldElement => {
166
- const { fieldName, contextName } = fieldElement.dataset;
167
- if (contextName == undefined || contextName === currentContextName) {
168
- this.updateBind(fieldName, fieldElement);
169
- }
170
- });
171
- this._formMetadata = formMetadata;
172
- this._recordValidatorProcessor = new RecordValidationProcessor(this._dataUnit, {
173
- getRequiredFields: () => this.getFormRequiredFields(),
174
- markAsInvalid: field => this.markInvalid(field),
175
- getMessageForField: field => this.getErrorMessage(field),
176
- }, recordsValidator);
177
- }
178
- getFormRequiredFields() {
179
- return this._formMetadata.getRequiredFields();
180
- }
181
- disconnectDataUnit() {
182
- const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__") || new Map();
183
- const dataBinders = dataBindersByDataUnit.get(this._dataUnit.dataUnitId);
184
- const dataBindersFiltered = dataBinders.filter((dataBinder) => dataBinder.dataBinderId !== this.dataBinderId);
185
- dataBindersByDataUnit.set(this._dataUnit.dataUnitId, dataBindersFiltered);
186
- ApplicationContext.setContextValue("__DATABINDER_BY_DATAUNIT__", dataBindersByDataUnit);
187
- }
188
- onDisconnectedCallback() {
189
- this._dataUnit.unsubscribe(this.onDataUnitEvent);
190
- this._dataUnit.removeInterceptor(this);
191
- this.disconnectDataUnit();
192
- }
193
- getCurrentRecordId() {
194
- const record = this._dataUnit.getSelectedRecord();
195
- return record === null || record === void 0 ? void 0 : record.__record__id__;
196
- }
197
- markInvalid(field) {
198
- if (this._fields.has(field.name)) {
199
- const fieldElement = this._fields.get(field.name).field;
200
- this.updateErrorMessage(field.name, fieldElement, field.message);
201
- }
202
- }
203
- setFocus(fieldName) {
204
- if (!this._fields.has(fieldName)) {
205
- return;
206
- }
207
- const fieldElement = this._fields.get(fieldName).field;
208
- if (typeof fieldElement["setFocus"] != "function") {
209
- return;
210
- }
211
- fieldElement["setFocus"]();
212
- }
213
- clearInvalid(recordId) {
214
- this._dataUnit.clearInvalid(recordId);
215
- this._fields.forEach(fieldBinder => {
216
- const fieldElement = fieldBinder.field;
217
- fieldElement["errorMessage"] = "";
218
- });
219
- }
220
- clearFieldError(fieldName) {
221
- var _a;
222
- const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
223
- if (field["errorMessage"]) {
224
- field["errorMessage"] = "";
225
- this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
226
- }
227
- }
228
- updateValue(fieldName, field) {
229
- const bind = this._fields.get(fieldName);
230
- try {
231
- if (bind) {
232
- bind.listen = false;
233
- }
234
- field["value"] = this._dataUnit.getFieldValue(fieldName);
235
- this.updateErrorMessage(fieldName, field);
236
- }
237
- finally {
238
- if (bind) {
239
- bind.listen = true;
240
- }
241
- }
242
- }
243
- validate() {
244
- return this._recordValidatorProcessor.validate();
245
- }
246
- static async validateByDataunit(dataUnit) {
247
- try {
248
- const dataBinders = this.getDataBindersByDataUnit(dataUnit);
249
- await Promise.all(dataBinders.map((dataBinder) => dataBinder.validate()));
250
- return true;
251
- }
252
- catch (_a) {
253
- return false;
254
- }
255
- }
256
- static getDataBindersByDataUnit(dataUnit) {
257
- const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__");
258
- return dataBindersByDataUnit.get(dataUnit.dataUnitId) || [];
259
- }
260
- updateErrorMessage(fieldName, field, message) {
261
- if (message == undefined) {
262
- message = this._dataUnit.getInvalidMessage(this.getCurrentRecordId(), fieldName);
263
- }
264
- if (!field["errorMessage"]) {
265
- field["errorMessage"] = message;
266
- }
267
- }
268
- getErrorMessage(fieldName) {
269
- if (this._fields.has(fieldName)) {
270
- const fieldElement = this._fields.get(fieldName).field;
271
- return fieldElement["errorMessage"];
272
- }
273
- return undefined;
274
- }
275
- updateBind(fieldName, field) {
276
- const oldBind = this._fields.get(fieldName);
277
- if (oldBind) {
278
- oldBind.destroy();
279
- }
280
- this.bindSearchOptionsLoader(fieldName, field);
281
- field["value"] = this._dataUnit.getFieldValue(fieldName);
282
- this.updateErrorMessage(fieldName, field);
283
- this._fields.set(fieldName, Bind.create(fieldName, field, (fieldName, waitingChange) => this.changeStarted(fieldName, waitingChange), (fieldName) => this.cancelWaitingChange(fieldName), (fieldName, newValue) => this.setFieldValue(fieldName, newValue)));
284
- this.applyEzUploadContext(fieldName, field);
285
- }
286
- changeStarted(fieldName, waitingChange) {
287
- /**
288
- * se o waitingChange não é blocante, add um event listener pra
289
- * fazer o accept da promise
290
- *
291
- * se não tiver promise no waitingChange, eu crio uma e resolvo no bind
292
- *
293
- *
294
- */
295
- if (this._dataUnit.records.length === 0) {
296
- this._dataUnit.addRecord();
297
- }
298
- if (!waitingChange.blocking && waitingChange.promise == undefined) {
299
- const bind = this._fields.get(fieldName);
300
- if (bind) {
301
- waitingChange.promise = new Promise((resolve, reject) => {
302
- bind.waitingChangePromiseResolve = resolve;
303
- bind.waitingChangePromiseReject = reject;
304
- });
305
- }
306
- }
307
- this._dataUnit.startChange(fieldName, waitingChange);
308
- }
309
- cancelWaitingChange(fieldName) {
310
- if (this._dataUnit.waitingForChange(fieldName)) {
311
- this._dataUnit.cancelWaitingChange(fieldName);
312
- const bind = this._fields.get(fieldName);
313
- if (bind) {
314
- bind.rejectWaitingChange(new WaitingChangeException("Change canceled", fieldName));
315
- }
316
- }
317
- }
318
- setFieldValue(fieldName, newValue) {
319
- if (this._dataUnit.records.length === 0) {
320
- this._dataUnit.addRecord();
321
- }
322
- this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
323
- const record = this._dataUnit.getSelectedRecord();
324
- this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
325
- if (this._dataUnit.waitingForChange(fieldName)) {
326
- const bind = this._fields.get(fieldName);
327
- if (bind) {
328
- bind.acceptWaitingChange();
329
- }
330
- }
331
- }
332
- bindSearchOptionsLoader(fieldName, field) {
333
- if (field.nodeName === "EZ-SEARCH" && field["optionLoader"] == undefined) {
334
- const loader = ApplicationContext.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");
335
- if (loader) {
336
- field["optionLoader"] = (arg) => {
337
- return loader(arg, fieldName, this._dataUnit);
338
- };
339
- }
340
- }
341
- }
342
- applyEzUploadContext(fieldName, field) {
343
- var _a, _b;
344
- if (field.nodeName === "EZ-UPLOAD") {
345
- field["urlUpload"] = ApplicationContext.getContextValue("__EZUI__UPLOAD__ADD__URL__");
346
- field["urlDelete"] = ApplicationContext.getContextValue("__EZUI__UPLOAD__DEL__URL__");
347
- const descriptor = this._dataUnit.getField(fieldName);
348
- const destination = (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.DESTINATION;
349
- if (destination) {
350
- field["requestHeaders"] = { XTRAINF: `{"destination": "${destination}"}` };
351
- }
352
- field["maxFiles"] = ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.MAX_FILES) || 0;
353
- }
354
- }
355
- interceptAction(action) {
356
- if (action.type === Action.RECORDS_COPIED) {
357
- const cleanFields = this._formMetadata.getCleanOnCopyFields();
358
- if (cleanFields) {
359
- const records = action.payload;
360
- return new DataUnitAction(Action.RECORDS_COPIED, records.map(record => {
361
- const newRecord = Object.assign({}, record);
362
- cleanFields.forEach(fieldName => delete newRecord[fieldName]);
363
- return newRecord;
364
- }));
365
- }
366
- }
367
- if (action.type === Action.SAVING_DATA) {
368
- return new Promise((resolve) => {
369
- this.validate()
370
- .then(() => resolve(action))
371
- .catch(() => { });
372
- });
373
- }
374
- if (action.type === Action.RECORDS_ADDED) {
375
- const defaultValues = this.getDefaultValues();
376
- if (defaultValues) {
377
- const records = action.payload;
378
- return new DataUnitAction(Action.RECORDS_ADDED, records.map(record => {
379
- return Object.assign(Object.assign({}, record), defaultValues);
380
- }));
381
- }
382
- }
383
- return action;
384
- }
385
- getDefaultValues() {
386
- var _a;
387
- const rawDefaultValues = (_a = this._formMetadata) === null || _a === void 0 ? void 0 : _a.getDefaultValues();
388
- if (rawDefaultValues) {
389
- const defaultValues = {};
390
- for (const field in rawDefaultValues) {
391
- defaultValues[field] = this._dataUnit.valueFromString(field, rawDefaultValues[field]);
392
- }
393
- return defaultValues;
394
- }
395
- return undefined;
396
- }
397
- }
398
- class Bind {
399
- constructor() {
400
- this.listen = true;
401
- this.startChangeEventName = "ezStartChange";
402
- this.cancelWaitingChangeEventName = "ezCancelWaitingChange";
403
- this.changeEventName = "ezChange";
404
- }
405
- destroy() {
406
- this.field.removeEventListener(this.startChangeEventName, this.startChangeListener);
407
- this.field.removeEventListener(this.cancelWaitingChangeEventName, this.cancelWaitingChangeListener);
408
- this.field.removeEventListener(this.changeEventName, this.changeListener);
409
- }
410
- acceptWaitingChange() {
411
- if (this.waitingChangePromiseResolve) {
412
- this.waitingChangePromiseResolve();
413
- this.waitingChangePromiseReject = undefined;
414
- this.waitingChangePromiseResolve = undefined;
415
- }
416
- }
417
- rejectWaitingChange(reason) {
418
- if (this.waitingChangePromiseReject) {
419
- this.waitingChangePromiseReject(reason);
420
- this.waitingChangePromiseReject = undefined;
421
- this.waitingChangePromiseResolve = undefined;
422
- }
423
- }
424
- static create(fieldName, field, startChangeCallback, cancelWaitingChangeCallback, changeCallback) {
425
- const b = new Bind();
426
- b.field = field;
427
- b.fieldName = fieldName;
428
- b.startChangeListener = (evt) => { if (b.listen)
429
- startChangeCallback(fieldName, evt.detail); };
430
- b.field.addEventListener(b.startChangeEventName, b.startChangeListener);
431
- b.cancelWaitingChangeListener = () => { if (b.listen)
432
- cancelWaitingChangeCallback(fieldName); };
433
- b.field.addEventListener(b.cancelWaitingChangeEventName, b.cancelWaitingChangeListener);
434
- b.changeListener = (evt) => { if (b.listen)
435
- changeCallback(fieldName, evt.detail); };
436
- b.field.addEventListener(b.changeEventName, b.changeListener);
437
- return b;
438
- }
439
- }
440
-
441
- export { DataBinder as D, RecordValidationProcessor as R, buildFieldMetadata as b };
@@ -1,33 +0,0 @@
1
- class FocusResolver {
2
- static resolveFocus(element, selectText = true) {
3
- var _a;
4
- if (!element)
5
- return;
6
- (_a = element.focus) === null || _a === void 0 ? void 0 : _a.call(element);
7
- if (element.setFocus) {
8
- element.setFocus({ selectText });
9
- return;
10
- }
11
- this.resolveFocusOnChild(element, selectText);
12
- }
13
- static resolveFocusOnChild(element, selectText = true) {
14
- var _a, _b;
15
- if (this.isGridCell(element) && element.firstElementChild) {
16
- this.resolveFocusOnChild(element.firstElementChild);
17
- return;
18
- }
19
- if (!element || !element.classList.contains('hydrated'))
20
- return;
21
- const firstChild = element.firstElementChild;
22
- if (!(firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) && !(firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus))
23
- return;
24
- (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) === null || _a === void 0 ? void 0 : _a.call(firstChild);
25
- (_b = firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus) === null || _b === void 0 ? void 0 : _b.call(firstChild, { selectText });
26
- }
27
- static isGridCell(element) {
28
- var _a;
29
- return ((_a = element === null || element === void 0 ? void 0 : element.getAttribute) === null || _a === void 0 ? void 0 : _a.call(element, "role")) === 'gridcell';
30
- }
31
- }
32
-
33
- export { FocusResolver as F };
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-23a36bb6.js";import{DateUtils as n,ElementIDUtils as h}from"@sankhyalabs/core";import{C as r}from"./p-9e11fc7b.js";const o=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this.ezStartChange=i(this,"ezStartChange",7),this.ezCancelWaitingChange=i(this,"ezCancelWaitingChange",7),this._changePending=!1,this._focused=!1,this._valuePromiseCallbacks=[],this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.mode="regular",this.canShowError=!0,this.autoFocus=!1}observeLabel(){this._textInput&&(this._textInput.label=this.label)}observeErrorMessage(){var t;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(t=this.errorMessage)||void 0===t?void 0:t.trim())||this.setInputValue())}observeValue(t,i){if(this._textInput&&t!=i){const e=n.validateDate(t),s=n.validateDate(i);if((null==e?void 0:e.getTime())!==(null==s?void 0:s.getTime())){const t=this.getTextValue(e)||"";!n.strToDate(t)&&this._focused||(this._textInput.value||"")===t||(this._textInput.value=t,this._focused=!1,this.errorMessage=""),this.ezChange.emit(null===e?void 0:e)}}this._changePending=!1}async setFocus(t){this._textInput.setFocus(t)}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async getValueAsync(){return this._changePending?new Promise((t=>{this._valuePromiseCallbacks.push(t)})):Promise.resolve(this.value)}changeValue(t){const i=n.validateDate(this.value),e=n.validateDate(t);(null==i?void 0:i.getTime())!==(null==e?void 0:e.getTime())?this.value=e:this._changePending=!1}showCalendar(){let t;this.handleBlur(),this._calendar.value=this.value,this.isFixed()?(t=29,this._calendar.fitHorizontal(0)):t=this.errorMessage||"slim"===this.mode?6:-13,this._calendar.fitVertical(t,this._elem.clientHeight)}hideCalendar(){this.changeValue(this._calendar.value),this._calendar.hide()}handleBlur(){if(this._changePending)try{const t=this._textInput.value,i=n.strToDate(t);if(i||!t){this.errorMessage="";const t=n.validateDate(this.value),e=n.validateDate(i);(null==t?void 0:t.getTime())===(null==e?void 0:e.getTime())?(e&&(this._textInput.value=this.getTextValue(e)||"",this._focused=!1),this.ezCancelWaitingChange.emit()):(this._focused=!1,this.changeValue(e))}else this.changeValue(void 0),this.ezCancelWaitingChange.emit(),this.errorMessage="O valor digitado não é uma data válida"}finally{for(const t of this._valuePromiseCallbacks)t(this.value);this._valuePromiseCallbacks=[]}}getTextValue(t){return t?n.formatDate(t):void 0}handleInput(t){const i=n.strToDate(this._textInput.value),e=n.validateDate(this.value),s=n.validateDate(i);(null==e?void 0:e.getTime())!==(null==s?void 0:s.getTime())&&(this._changePending=!0,this._focused=!0,this.ezStartChange.emit({waitmessage:"",blocking:!1})),"H"!==t.data&&"h"!==t.data||this.changeValue(new Date)}setInputValue(){const t=this.getTextValue(this.value)||"";(this._textInput.value||"")!==t&&(this._textInput.value=t)}isFixed(){return"true"===this._elem.dataset.isFixed}componentDidLoad(){r.applyVarsTextInput(this._elem,this._textInput),this.setInputValue(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}render(){return h.addIDInfoIfNotExists(this._elem,"input"),e(s,null,e("ez-text-input",{"data-element-id":h.getInternalIDInfo("textInput"),ref:t=>this._textInput=t,"data-slave-mode":"true",label:this.label,onBlur:()=>this.handleBlur(),onInput:t=>this.handleInput(t),restrict:"0123456789/",enabled:this.enabled,errorMessage:this.errorMessage,mode:this.mode,canShowError:this.canShowError},e("button",{disabled:!this.enabled,tabindex:-1,class:"btn-open-cal",onClick:()=>this.showCalendar(),slot:"leftIcon"})),e("ez-calendar",{ref:t=>this._calendar=t,"data-element-id":h.getInternalIDInfo("calendar"),onEzChange:t=>{this.hideCalendar(),t.stopPropagation()},floating:!0,"data-is-fixed":this._elem.dataset.isFixed}))}get _elem(){return a(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};o.style=':host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--ez-date-input__calendar-image:url(\'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="15px"><path d="M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z"/></svg>\')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:not-allowed}.btn-open-cal::after{content:\'\';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}';export{o as ez_date_input}
@@ -1 +0,0 @@
1
- import{r as e,c as t,h as i,H as n,g as a}from"./p-23a36bb6.js";import{StringUtils as o,ElementIDUtils as r}from"@sankhyalabs/core";import{C as s}from"./p-9e11fc7b.js";const d=class{constructor(i){e(this,i),this.ezClick=t(this,"ezClick",7),this.item=void 0,this.enableKey=!0,this.compacted=!1}componentWillRender(){this.createDetailList()}componentDidLoad(){var e,t;const i={id:o.toCamelCase((null===(e=this.item)||void 0===e?void 0:e.key)||(null===(t=this.item)||void 0===t?void 0:t.title)||"")};r.addIDInfo(this._element,null,i)}createDetailList(){var e,t,i;this._details={detailsLeft:[],detailsRight:[]};let n=0;if(null===(e=this.item)||void 0===e?void 0:e.details)for(const e in this.item.details)n<3?this._details.detailsLeft.push({label:e,value:null===(t=this.item.details[e])||void 0===t?void 0:t.toString()}):this._details.detailsRight.push({label:e,value:null===(i=this.item.details[e])||void 0===i?void 0:i.toString()}),n++}buildDetailContentTitle(e){var t,i;if(null!=(null==e?void 0:e.label)||null!=(null==e?void 0:e.value))return`${null===(t=o.replaceAccentuatedCharsHtmlEntities(null==e?void 0:e.label))||void 0===t?void 0:t.replace(/<[^>]*>/g,"")}: ${null===(i=o.replaceAccentuatedCharsHtmlEntities(null==e?void 0:e.value))||void 0===i?void 0:i.replace(/<[^>]*>/g,"")}`}buildDetailContent(e){return i("div",{class:"card-item__detail "+(this.compacted?"":"card-item__detail-default"),title:this.buildDetailContentTitle(e)},i("label",{class:"card-item__detail-label "+(this.compacted?"card-item__detail-label-compacted":"")},`${e.label}: `)," ",i("label",{class:"card-item__detail-value "+(this.compacted?"card-item__detail-value-compacted":""),innerHTML:e.value}))}render(){return i(n,null,this.item&&i("div",{class:`card-item ${this.compacted?"card-item__compacted":"card-item__expanded"} `,onClick:()=>{this.ezClick.emit(this.item)}},i("div",{class:"ez-row card-item__content"},i("div",{class:"ez-col ez-col--sd-11 card-item__details"},i("label",{class:"card-item__title "+(this.compacted?"card-item__title-compacted":"")},this.enableKey&&i("span",{class:"card-item__key",innerHTML:this.item.key}),i("span",{innerHTML:this.item.title})),i("div",{class:this.compacted?"card-item__details-container_compacted":"card-item__details-container_default"},i("div",{class:"card-item__details-container__left "+(this.compacted?"card-item__details-container__left-compacted":"")},this._details.detailsLeft.map((e=>this.buildDetailContent(e)))),i("div",{class:"card-item__details-container__right "+(this.compacted?"card-item__details-container__right-compacted":"")},this._details.detailsRight.map((e=>this.buildDetailContent(e)))))),i("div",{class:"ez-col ez-col--sd-1 card-item__details-slot"},i("slot",{name:"rightSlot"})))))}get _element(){return a(this)}};d.style=":host { \n /*@doc Define o tamanho da fonte do componente.*/\n --ez-card-item--font-size: var(--text--medium, 14px);\n\n /*@doc Define o tamanho da fonte do componente no modo compacto.*/\n --ez-card-item--font-size-compacted: var(--text--extra-small, 10px);\n\n /*@doc Define a família da fonte do componente.*/\n --ez-card-item--font-family: var(--font-pattern, Arial);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--font-weight: var(--text-weight--medium, 400);\n\n /*@doc Define o peso da fonte do title do componente.*/\n --ez-card-item--font-weight-large: var(--text-weight--large, 600);\n\n /*@doc Define a cor da fonte do componente.*/\n --ez-card-item--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte da key do componente.*/\n --ez-card-item__key--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte do label do detalhe do componente.*/\n --ez-card-item__detail-label--color: var(--text--secondary, #A2ABB9);\n\n /*@doc Define o espaçamento inferior dos detalhes do componente.*/\n --ez-card-item__detail--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define o espaçamento inferior do title do componente.*/\n --ez-card-item__title--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define a cor do highlight / marcação nos textos do componente.*/\n --ez-card-item__highlight--color: var(--color--primary-300, #E2F4EF);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--detail-label--font-weight: var(--text-weight--large, 400);\n\n width: 100%;\n display: flex;\n cursor: pointer;\n}\n\n.card-item {\n display: flex;\n flex-direction: column;\n width: 100%;\n cursor: pointer;\n z-index: 0;\n position: relative;\n container-type: inline-size;\n container-name: box;\n white-space: pre-line;\n}\n\n.card-item__detail{\n display: inline-block;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: var(--opacity--soft);\n}\n\n\n\n.card-item__expanded {\n padding: var(--space--medium);\n}\n\n.card-item:hover {\n background: #F0F3F7;\n border-radius: 12px;\n}\n\n.card-item__title {\n display: flex;\n align-items: center;\n line-height: 18px;\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight-large);\n color: var(--ez-card-item--color);\n padding-bottom: var(--ez-card-item__title--padding-bottom);\n gap: var(--space--small, 6px);\n}\n\n.card-item__key {\n /*public*/\n color: var(--ez-card-item__key--color);\n}\n\n.card-item__details {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n justify-content: space-between;\n width: 100%;\n}\n\n.card-item__details-container__left {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n cursor: pointer;\n width: 50%;\n}\n\n.card-item__details-container__right {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n width: 50%;\n cursor: pointer;\n}\n\n.card-item__detail{\n cursor: pointer;\n}\n\n.card-item__detail-default:not(:last-child) {\n padding-bottom: var(--ez-card-item__detail--padding-bottom);\n}\n\n.card-item__detail-label {\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--detail-label--font-weight);\n}\n\n.card-item__detail-value {\n cursor: pointer;\n line-break: anywhere;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight);\n}\n\n.card-item__highlight {\n position: relative;\n border-radius: 8px;\n z-index: -1;\n\n /*public*/\n background-color: var(--ez-card-item__highlight--color);\n outline: 2px solid var(--ez-card-item__highlight--color);\n box-shadow: -4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color);\n}\n\n.card-item__content{\n display: flex;\n align-items: center;\n}\n\n.card-item__details-container_default{\n display: flex;\n}\n\n.card-item__details-slot{\n margin-left: auto;\n}\n\n/* Modo compacto */\n.card-item__compacted {\n padding: var(--space--medium);\n padding-bottom: 0px;\n padding-right: 0px;\n}\n\n.card-item__detail-label-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__detail-value-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__title-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__details-container__left-compacted{\n width: 100%;\n}\n\n.card-item__details-container__right-compacted {\n width: 100%;\n}\n\n\n@container box (max-width: 550px) {\n .card-item__details {\n flex-direction: column;\n }\n\n .card-item__details-container__left {\n width: 100%;\n }\n \n .card-item__details-container__right {\n width: 100%;\n }\n}\n\n@container box (max-width: 200px) {\n .card-item__title {\n font-size: 10px;\n }\n\n .card-item__detail-label {\n font-size: 10px;\n }\n\n .card-item__detail-value {\n font-size: 10px;\n }\n\n}";const l=class{constructor(i){e(this,i),this.ezChange=t(this,"ezChange",7),this.ezSearching=t(this,"ezSearching",7),this.ezFocusIn=t(this,"ezFocusIn",7),this._searchingText="",this.handleFocus=()=>{this._textInput.value=""===this._searchingText?"":this._searchingText,this.ezFocusIn.emit()},this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.restrict=void 0,this.mode="regular",this.asyncSearch=!1,this.canShowError=!0,this.autoFocus=!1}observeLabel(){this._textInput&&(this._textInput.label=this.label)}observeErrorMessage(){this._textInput&&(this._textInput.errorMessage=this.errorMessage)}observeValue(e,t){this._textInput&&e!=t&&(this._textInput.value=e,this.ezChange.emit(e))}async setFocus(e){this._textInput.setFocus(e)}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async setValue(e){this.asyncSearch&&null!=this._textInput&&(e!==this.value?(this.value=e,this._searchingText=""):this._textInput.value=e)}async endSearch(){this.asyncSearch&&null!=this._textInput&&this._textInput.value!==this.value&&(this._textInput.value=this.value)}handleChange(e){const t=e.detail;this.errorMessage="",this.asyncSearch?(this._searchingText=t,this.ezSearching.emit(t)):t!==this.value&&(this.value=t)}componentDidLoad(){s.applyVarsTextInput(this._elem,this._textInput),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}render(){return r.addIDInfoIfNotExists(this._elem,"input"),i("ez-text-input",{"data-element-id":r.getInternalIDInfo("textInput"),ref:e=>this._textInput=e,label:this.label,onEzChange:e=>this.handleChange(e),value:this.value,enabled:this.enabled,errorMessage:this.errorMessage,restrict:this.restrict,mode:this.mode,onFocusin:this.handleFocus,canShowError:this.canShowError},i("ez-icon",{slot:"leftIcon",iconName:"search"}))}get _elem(){return a(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};l.style=":host{display:block;width:100%}";const c=class{constructor(t){e(this,t),this.message=void 0}render(){return i("div",{class:"multi-selection__message"},i("span",{class:"multi-selection__text-message"},this.message))}};c.style=".multi-selection__message{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;min-height:320px;text-align:center}.multi-selection__text-message{margin-top:-30px;font-family:var(--font-pattern);font-size:var(--text--meduim);padding:var(--space-xs);color:var(--text--primary)}";export{d as ez_card_item,l as ez_filter_input,c as multi_selection_box_message}
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,f as n,H as r,g as s}from"./p-23a36bb6.js";import{DateUtils as o,Action as l,StringUtils as a,DataUnit as h,ElementIDUtils as u}from"@sankhyalabs/core";import{b as c,D as d}from"./p-455e737c.js";import"./p-2187f86c.js";import"./p-ab574d59.js";const f=/child\[([^\]]+)\]/,p=/\$\{.+\}/;class v{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[],this._defaultValues={}}static getDetailName(t){const e=f.exec(t);return e?e[1]:void 0}getSheet(t){return this._sheets.get(t)}getAllSheets(){return this._sheets}addSheet(t){this._sheets.set(t.name,t)}addRequiredFields(t){this._requiredFields=this._requiredFields.concat(t)}getRequiredFields(){return this._requiredFields}addCleanOnCopyFields(t){this._cleanOnCopyFields=this._cleanOnCopyFields.concat(t)}getCleanOnCopyFields(){return this._cleanOnCopyFields}addDefaultValues(t){return this._defaultValues=Object.assign(Object.assign({},this._defaultValues),t)}getDefaultValues(){const t={};return Object.entries(this._defaultValues).forEach((([e,i])=>{if("string"==typeof i){const t=p.exec(i);t&&(i=this.getDefaultVar(t[0]))}t[e]=i})),t}getDefaultVar(t){return"${data}"===t?o.getToday():"${datahora}"===t?o.getToday(!0):this._defaultVars?this._defaultVars.get(t):void 0}setDefaultVars(t){this._defaultVars=t}}const m=(t,e)=>"__main"==t[0].label?-1:(t[0].order||1e4)-(e[0].order||1e4);function b(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var y="function"==typeof Symbol&&Symbol.observable||"@@observable",w=function(){return Math.random().toString(36).substring(7).split("").join(".")},g={INIT:"@@redux/INIT"+w(),REPLACE:"@@redux/REPLACE"+w(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+w()}};function E(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function O(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(b(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(b(1));return i(O)(t,e)}if("function"!=typeof t)throw new Error(b(2));var r=t,s=e,o=[],l=o,a=!1;function h(){l===o&&(l=o.slice())}function u(){if(a)throw new Error(b(3));return s}function c(t){if("function"!=typeof t)throw new Error(b(4));if(a)throw new Error(b(5));var e=!0;return h(),l.push(t),function(){if(e){if(a)throw new Error(b(6));e=!1,h();var i=l.indexOf(t);l.splice(i,1),o=null}}}function d(t){if(!E(t))throw new Error(b(7));if(void 0===t.type)throw new Error(b(8));if(a)throw new Error(b(9));try{a=!0,s=r(s,t)}finally{a=!1}for(var e=o=l,i=0;i<e.length;i++)(0,e[i])();return t}function f(t){if("function"!=typeof t)throw new Error(b(10));r=t,d({type:g.REPLACE})}function p(){var t,e=c;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(b(11));function i(){t.next&&t.next(u())}return i(),{unsubscribe:e(i)}}})[y]=function(){return this},t}return d({type:g.INIT}),(n={dispatch:d,subscribe:c,getState:u,replaceReducer:f})[y]=p,n}const C={};function j(t=C,e){switch(e.type){case F.METADATA_LOADED:return Object.assign(Object.assign({},t),{formMetadata:e.payload,currentSheet:void 0});case F.CHANGE_TAB:return Object.assign(Object.assign({},t),{currentSheet:e.payload});default:return t}}function _(t){return t.formMetadata}function A(t){const e=function(t){return t.currentSheet}(t);return e?t.formMetadata.getSheet(e):Array.from(t.formMetadata.getAllSheets().values())[0]}var F;!function(t){t.METADATA_LOADED="FORM/METADATA_LOADED",t.CHANGE_TAB="FORM/CHANGE_TAB"}(F||(F={}));const z=class{constructor(i){t(this,i),this.ezFormRequestClearFieldToFocus=e(this,"ezFormRequestClearFieldToFocus",7),this.ezFormSetFields=e(this,"ezFormSetFields",7),this.ezReady=e(this,"ezReady",7),this.formItemsReady=e(this,"formItemsReady",7),this._customEditors=new Map,this.onDataUnitAction=t=>{t.type===l.METADATA_LOADED&&this.processMetadata()},this._fieldsProps=new Map,this.dataUnit=void 0,this.config=void 0,this.recordsValidator=void 0,this.fieldToFocus=void 0,this.onlyStaticFields=!1}validate(){return this._dataBinder.validate()}async addCustomEditor(t,e,i){if(this._formView)return void this._formView.addCustomEditor(t,e,i);const n=new Map(this._customEditors);n.set(t,{customEditor:e,detailContext:i}),this._customEditors=n}observeConfig(){this.processMetadata()}async setFieldProp(t,e,i){const n=new Map(this._fieldsProps),r=this._fieldsProps.get(t);n.set(t,Object.assign(Object.assign({},r),{[e]:i})),this._fieldsProps=n}getDynamicContent(){var t;const e=_(this._store.getState());if(!e)return null;const n=Array.from(e.getAllSheets().values()),r=A(null===(t=this._store)||void 0===t?void 0:t.getState());let s=[];if(n.length>1){const t=n.map(((t,e)=>({tabKey:t.name,label:t.label,index:e}))),e="selector";s.push(i("ez-tabselector",{tabs:this.buildIdTabSelector(t),onEzChange:t=>this._store.dispatch(function(t){return{type:F.CHANGE_TAB,payload:"string"==typeof t?t:t.tabKey}}(t.detail)),selectedTab:r.name,"data-element-id":e}))}return s=s.concat(this.buildFormContent(r)),s}buildFormContent(t){const e=null==t?void 0:t.fields;if(null==t)return;this.ezFormSetFields.emit(e);const n=`${a.replaceAccentuatedChars(a.toCamelCase(null==t?void 0:t.label),!1)}_selectorContainer`;return i("div",{class:"dynamic-content","data-element-id":n},i("ez-form-view",{ref:t=>this._formView=t,class:"ez-row ez-padding-vertical--small",fields:e,selectedRecord:this.dataUnit.getSelectedRecord()}))}processMetadata(){if(this.bindFields()&&this.dataUnit&&this._store){const t=((t,e,i=!1)=>{var n,r;null!=t&&!0!==(null==t?void 0:t.emptyConfig)||(t=(t=>{const e=t.metadata;let i;return e&&(i=e.fields.filter((t=>!1!==t.visible)).map((t=>({name:t.name,defaultValue:t.defaultValue})))),{emptyConfig:!1,fields:i}})(e));const s=new Map,o=new Map,l=[],a=[],h={};null===(n=null==t?void 0:t.tabs)||void 0===n||n.forEach((t=>{o.has(t.label)||!1!==t.visible||o.set(t.label,t)})),null===(r=null==t?void 0:t.fields)||void 0===r||r.forEach((t=>{var i,n,r;if(!1!==t.visible){const u=((t,e)=>("string"==typeof t?Array.from(e.keys()).find((e=>e.label===t)):t)||{label:t,visible:!0})(t.tab||"__main",s);if(o.has(u.label))return;const d=e.getField(t.name);if(d&&d.visible&&u.visible){s.has(u)||s.set(u,[]);const e=c(d,t);s.get(u).push(e),e.required&&l.push(t.name),((null==t.cleanOnCopy?null===(i=d.properties)||void 0===i?void 0:i.cleanOnCopy:t.cleanOnCopy)||(null===(n=d.properties)||void 0===n?void 0:n.cleanOnCopy))&&a.push(t.name);let o=null==t.defaultValue?null===(r=d.properties)||void 0===r?void 0:r.defaultValue:t.defaultValue;if(o&&null!=o.value){const{type:e,value:i}=o;if(e)if("V"===e)o=i;else try{const t=JSON.parse(i);o=t&&"value"in t?t:i}catch(t){}h[t.name]=o}}}}));const u=new v;if(u.setDefaultVars(t.defaultVars),i){const t=e.metadata;null!=t&&null!=t.children&&t.children.forEach((t=>{const{label:e,name:i,fields:n}=(t=>({name:`child[${t.name}]`,label:t.label,fields:[]}))(t);s.set({name:i,label:e},n)}))}return Array.from(s.entries()).sort(m).forEach((([t,e])=>{u.addSheet({label:"__main"===t.label?"Principal":t.label,name:t.name||t.label,fields:e})})),u.addRequiredFields(l),u.addCleanOnCopyFields(a),u.addDefaultValues(h),u})(this.config,this.dataUnit);this._store.dispatch({type:F.METADATA_LOADED,payload:t})}}isStatic(){var t;return(null===(t=this._staticFields)||void 0===t?void 0:t.length)>0}bindFields(){return!this.isStatic()||!1===this.onlyStaticFields}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new h("ez-form")),this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new d(this.dataUnit),this._store=O(j),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata(),u.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}componentDidRender(){const t=_(this._store.getState());t.addRequiredFields(this._staticFields.filter((t=>t.dataset.required)).map((t=>t.dataset.fieldName))),this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")),this.dataUnit.dataUnitId,t,this.recordsValidator),this.ezReady.emit(),this.handleFieldToFocus(),this.setCustomEditors(),this.setFieldsProps()}setCustomEditors(){if(this._formView)for(const[t,e]of this._customEditors)this._formView.addCustomEditor(t,e.customEditor,e.detailContext),this._customEditors.delete(t)}handleFieldToFocus(){var t;if(null==this.fieldToFocus)return;const e=A(null===(t=this._store)||void 0===t?void 0:t.getState());(null==e?void 0:e.fields).some((t=>t.name===this.fieldToFocus))&&requestAnimationFrame((()=>{this._dataBinder.setFocus(this.fieldToFocus),this.ezFormRequestClearFieldToFocus.emit()}))}setFieldsProps(){if(this._formView)for(const[t,e]of this._fieldsProps){for(const i in e)this._formView.setFieldProp(t,i,e[i]);this._fieldsProps.delete(t)}}disconnectedCallback(){this.dataUnit.unsubscribe(this.onDataUnitAction),this._dataBinder.onDisconnectedCallback()}buildIdTabSelector(t){return t&&t.forEach((t=>t[u.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=a.toCamelCase(t.label))),t}render(){return i(r,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return s(this)}static get watchers(){return{config:["observeConfig"]}}};z.style=".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)}";export{z as ez_form}
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as i,H as e,g as h}from"./p-23a36bb6.js";import{TimeFormatter as r,MaskFormatter as a,NumberUtils as o,ElementIDUtils as n}from"@sankhyalabs/core";import{C as l}from"./p-9e11fc7b.js";const u=class{constructor(i){t(this,i),this.ezChange=s(this,"ezChange",7),this.ezStartChange=s(this,"ezStartChange",7),this.ezCancelWaitingChange=s(this,"ezCancelWaitingChange",7),this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.showSeconds=!1,this.mode="regular",this.canShowError=!0,this.autoFocus=!1}observeErrorMessage(){var t;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(t=this.errorMessage)||void 0===t?void 0:t.trim())||(this.prepareValue(this._viewValue),(this._textInput.value||"")!==this._viewValue&&(this._textInput.value=this._viewValue)))}observeShowSeconds(){this.prepareMask(this.showSeconds?"##:##:##":"##:##")}observeValue(t,s){if(this._textInput&&t!=s){let i=this.validateValue(t);i!=this.validateValue(s)&&(this._viewValue=null==i?"":i.toString(),this.prepareValue(this._viewValue),this._viewValue&&!r.validateTime(this._viewValue,this.showSeconds)?(this.setError("Favor inserir um horário válido."),i=void 0):this.setError(""),this.ezChange.emit(null===i?void 0:i))}}prepareMask(t){null==this._maskFormatter?this._maskFormatter=new a(t):this._maskFormatter.mask=t}validateValue(t){return isNaN(t)||void 0===t?null:t}setError(t){this.errorMessage=t,this._textInput&&(null==t?void 0:t.trim())&&this.ezCancelWaitingChange.emit()}getViewValue(){return this._viewValue}prepareValue(t){try{this._viewValue=r.prepareValue(t,this.showSeconds),this._textInput&&this._textInput.value!==this._viewValue&&(this._textInput.value=this._viewValue)}catch(t){this.setError(t.message)}}async setFocus({selectText:t}){this._textInput.setFocus({selectText:t})}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}handleBlur(){if(this._textInput){this._viewValue=this._textInput.value,this.prepareValue(this._viewValue);const t=o.stringToNumber(this._viewValue.replace(/\D/g,""));this.value=["string","number"].includes(typeof t)?t:null}}handleInput(){const t=this._textInput.value;["string","number"].includes(typeof t)&&o.stringToNumber(t.replace(/\D/g,""))!==this.value&&this.ezStartChange.emit({waitmessage:"",blocking:!1})}componentDidLoad(){l.applyVarsTextInput(this._elem,this._textInput),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}componentWillLoad(){this.observeShowSeconds(),this.value?this.prepareValue(this.value.toString()):this._viewValue&&this.prepareValue(this._viewValue)}render(){return n.addIDInfoIfNotExists(this._elem,"input"),i(e,null,i("ez-text-input",{class:"time__input","data-element-id":n.getInternalIDInfo("textInput"),ref:t=>this._textInput=t,"data-slave-mode":"true",value:this._viewValue,enabled:this.enabled,label:this.label,restrict:"0123456789:",onBlur:()=>this.handleBlur(),onInput:()=>this.handleInput(),errorMessage:this.errorMessage,mode:this.mode,canShowError:this.canShowError},i("ez-icon",{slot:"leftIcon",iconName:"timer-outline"})))}static get assetsDirs(){return["../assets"]}get _elem(){return h(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],showSeconds:["observeShowSeconds"],value:["observeValue"]}}};u.style=":host{display:flex;flex-wrap:wrap;position:relative;width:100%}.time__input{height:100%}";export{u as ez_time_input}
@@ -1 +0,0 @@
1
- import{r as i,c as o,h as t,H as s,g as e}from"./p-23a36bb6.js";import{ObjectUtils as r,FloatingManager as l,StringUtils as a,ElementIDUtils as h}from"@sankhyalabs/core";import"./p-2187f86c.js";import{C as n}from"./p-9e11fc7b.js";import"./p-ab574d59.js";import"./p-b853763b.js";import"./p-4607fb89.js";const b=class{constructor(t){i(this,t),this.ezChange=o(this,"ezChange",7),this._changeDeboucingTimeout=null,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._textEmptyList="Nenhum resultado encontrado",this._lookupMode=!1,this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.limitCharsToSearch=3,this.value=void 0,this.label=void 0,this.enabled=!0,this.options=void 0,this.errorMessage=void 0,this.showSelectedValue=!1,this.showOptionValue=!1,this.suppressSearch=!1,this.optionLoader=void 0,this.suppressEmptyOption=!1,this.stopPropagateEnterKeyEvent=!0,this.canShowError=!0,this.mode="regular",this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1,this.autoFocus=!1}observeErrorMessage(){var i;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(i=this.errorMessage)||void 0===i?void 0:i.trim())||this.setInputValue())}observeValue(i,o){if(this._textInput&&i!=o)try{if("string"==typeof i)return void this.setInputValue();const t=this.getSelectedOption(i),s=this.getSelectedOption(o),e=this.getSelectedOption(this.value);this.isDifferentValues(e,t)&&(this.value=t),this.isDifferentValues(t,s)&&(this.setInputValue(),this._lookupMode||this.ezChange.emit(null===t?void 0:t)),this.resetOptions()}finally{this._lookupMode=!1}}observeOptions(i,o){r.equals(i,o)||this.loadOptions(c.PRELOAD)}async getValueAsync(){return new Promise(this._showLoading?i=>{let o=setInterval((()=>{this._showLoading||(clearInterval(o),i(this.value))}),100)}:i=>i(this.value))}async setFocus(i){this._textInput&&this._textInput.setFocus(i)}async setBlur(){this._textInput&&this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async clearValue(){this.clearSearch()}scrollListener(){var i;null!=this._floatingID&&((null===(i=this.listOptionsPosition)||void 0===i?void 0:i.hardPosition)?this.hideOptions():window.requestAnimationFrame((()=>{this.updateListPosition()})))}updateListPosition(){let{verticalPosition:i,horizontalPosition:o,fromBottom:t,fromRight:s,bottomLimit:e,hardPosition:r}=this.getListPosition();const l=this._listWrapper.getBoundingClientRect(),a=this._listContainer.getBoundingClientRect(),h=this._textInput.getBoundingClientRect(),n=e||window.innerHeight;!t&&(l.top<0||a.bottom+l.height>n)&&(t=!0),r||(i=i||0,o=o||0,t?i=window.innerHeight-h.top+i:i+=a.top,s?o=window.innerWidth-h.right+o:o+=a.left),null!=i&&(this._listWrapper.style[t?"bottom":"top"]=`${i}px`,this._listWrapper.style[t?"top":"bottom"]=""),null!=o&&(this._listWrapper.style[s?"right":"left"]=`${o}px`,this._listWrapper.style[s?"left":"right"]="")}getListPosition(){return this.listOptionsPosition?this.listOptionsPosition:{verticalPosition:this.errorMessage||!this.canShowError||"slim"===this.mode?6:-13}}isDifferentValues(i,o){return r.objectToString(i||{})!==r.objectToString(o||{})}getFormattedText(i){if(null!=i)return this.showSelectedValue&&null!=i.value?i.label?`${i.value} - ${i.label}`:i.value:i.label}getText(){const i=this.getSelectedOption(this.value),o=this.getFormattedText(i);if(null!=o)return String(o).replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"')}getSelectedOption(i){return"string"==typeof i||i instanceof String?this._visibleOptions.find((o=>o.value===i)):i}updateVisibleOptions(){let i=this._source||[];if(this._criteria){const o=this._criteria.toUpperCase();i=i.filter((i=>i.label.toLocaleUpperCase().indexOf(o)>-1))}this.hasToAddEmptyoption(i)&&(i=[{value:void 0,label:""}].concat(i)),this._visibleOptions=i,this._maxWidthValue=this.getMaxWidthValue()}hasToAddEmptyoption(i){return!this.suppressEmptyOption&&!i.filter((i=>!i.value)).length}getMaxWidthValue(){var i;if(this.showOptionValue){const o=[];return null===(i=this._visibleOptions)||void 0===i||i.forEach((i=>{const t=this.getWidthValue(i.value);o.includes(t)||o.push(t)})),o.length>1?Math.max(...o):0}return 0}getWidthValue(i){if(null!=this._itemValueBasis){const o=this._itemValueBasis;if(null!=i)return o.innerHTML=i,o.clientWidth>0?o.clientWidth+2:0;o.innerHTML=""}return 0}buildItem(i,o){const s=this.showOptionValue&&this._maxWidthValue>0?`${this._maxWidthValue}px`:"";return i.label=i.label||i.value,t("li",{class:o===this._preSelection?"item preselected":"item",id:`item_${i.value}`,onMouseDown:()=>this.selectOption(i),onMouseOver:()=>this._preSelection=o},this.showOptionValue?t("span",{class:"item__value",title:i.value,style:{width:s,minWidth:s,maxWidth:s}},i.value):void 0,t("span",{class:"item__label "+(this.showOptionValue?"item__label--bold":""),title:i.label},i.label))}showOptions(){var i,o;if(!this.enabled)return;if(this.isOptionsVisible())return;const t=null!==(o=null===(i=this.value)||void 0===i?void 0:i.value)&&void 0!==o?o:this.value,s=this._visibleOptions.findIndex((i=>i.value===t));this._preSelection=-1===s?0:s,this._resizeObserver&&this._resizeObserver.observe(this._textInput),this._floatingID=l.float(this._listWrapper,this._listContainer,{autoClose:!0,isFixed:!0,backClickListener:()=>this.hideOptions()}),this.setFocus(),window.requestAnimationFrame((()=>{this.updateListPosition(),this.listOptionsPosition||this._listWrapper.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}))}hideOptions(){void 0!==this._floatingID&&l.close(this._floatingID),this._floatingID=void 0,this._resizeObserver&&this._resizeObserver.unobserve(this._textInput)}isOptionsVisible(){return void 0!==this._floatingID&&l.isFloating(this._floatingID)}nextOption(){this.isOptionsVisible()&&(this.showOptions(),this._preSelection=void 0===this._preSelection?0:Math.min(this._preSelection+1,this._visibleOptions.length-1),this.scrollToOption(this._visibleOptions[this._preSelection]))}previousOption(){this._preSelection=void 0===this._preSelection?0:Math.max(this._preSelection-1,0),this.scrollToOption(this._visibleOptions[this._preSelection])}scrollToOption(i){window.requestAnimationFrame((()=>{const o=(null==i?void 0:i.value)?this._optionsList.querySelector(`li#item_${i.value.replace(/[<>\[\]#=]/g,"\\$&").replace(/:/g,"\\:")}`):void 0;o&&o.scrollIntoView({behavior:"smooth",block:"nearest"})}))}selectCurrentOption(i=!0){void 0!==this._preSelection?(this.selectOption(this._visibleOptions[this._preSelection],i),this._preSelection=void 0):this.controlListWithOnlyOne(i)}controlListWithOnlyOne(i=!0){var o;const t=null===(o=this._visibleOptions)||void 0===o?void 0:o.filter((i=>""!==i.label&&null!=i.value));if((null==t?void 0:t.length)>0){let o=a.decodeHtmlEntities(t[0].label);this.selectOption({value:t[0].value,label:o},i)}}updateSource(i){this._startLoading=!1,i instanceof Promise?(this._showLoading=!0,i.then((i=>{this._showLoading=!1,this.updateSource(i)})).catch((()=>this._showLoading=!1)),this.updateVisibleOptions()):(this._showLoading=!1,Array.isArray(i)?(this._source=i,this.updateVisibleOptions(),this._tabPressed&&(this._tabPressed=!1)):this.selectOption(i))}selectOption(i,o=!0){var t,s;const e=this.getSelectedOption(this.value);(null===(t=null==e?void 0:e.value)||void 0===t?void 0:t.toString())!==(null===(s=null==i?void 0:i.value)||void 0===s?void 0:s.toString())||null==e&&null!=i&&"value"in i?this.value=(null==i?void 0:i.value)?i:void 0:this.resetOptions(),o&&setTimeout((()=>{this.setFocus()}),0)}loadOptions(i,o=""){this._criteria=o,this._startLoading=!0,this.updateSource(this.optionLoader?this.optionLoader({mode:i,argument:o}):this.options)}cancelPreselection(){!this._textInput.value&&this.value?this.selectOption(void 0):window.setTimeout((()=>{this.setInputValue(!1)}),this._deboucingTime)}setInputValue(i=!0){const o=this.getText();(this._textInput.value||"")!==o&&(this._textInput.value=o,i&&(this.errorMessage=null))}clearSearch(){this.value=null}resetOptions(){this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions()}componentWillLoad(){if(void 0===this.options){this.options=[];const i=this.el.querySelectorAll("option");i&&i.forEach((i=>{let o=i.innerText,t=i.getAttribute("value");t||(t=o),this.options.push({label:o,value:t}),i.hidden=!0}))}this.loadOptions(c.PRELOAD)}componentDidRender(){var i;void 0===this._floatingID&&this._listWrapper.remove(),null===(i=this._optionsList)||void 0===i||i.querySelectorAll(".item").forEach((i=>{h.addIDInfoIfNotExists(i,"itemComboBox")}))}componentDidLoad(){n.applyVarsTextInput(this.el,this._textInput),this.setInputValue(!1),this._resizeObserver=new ResizeObserver((i=>{window.requestAnimationFrame((()=>{if(!Array.isArray(i)||!i.length)return;const{clientWidth:o}=this._listContainer;o>0&&this._listWrapper&&(this._listWrapper.style.width=`${o}px`)}))})),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}handlerIconClick(){this.showOptions()}onTextInputChangeHandler(i){var o;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=window.setTimeout((()=>{this.onTextInputChangeHandler(i)}),this._deboucingTime));const t=null===(o=i.target.value)||void 0===o?void 0:o.trim();this._criteria||(this._textInput.value=i.data||t),this._criteria=t,t?(this.updateVisibleOptions(),this.showOptions()):(this._preSelection=void 0,this.updateVisibleOptions())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}onTextInputClickHandler(){this.showOptions()}keyDownHandler(i){switch(this._tabPressed=!1,i.ctrlKey&&("f"!==i.key&&"F"!==i.key||(this.loadOptions(c.ADVANCED),i.stopPropagation(),i.stopImmediatePropagation(),i.preventDefault())),i.key){case"ArrowDown":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),this.showOptions(),this.nextOption();break;case"ArrowUp":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),this.showOptions(),this.previousOption();break;case"Enter":this.handleEventPropagation(i),this.isOptionsVisible()&&this.selectCurrentOption();break;case"Escape":this.isOptionsVisible()&&i.stopPropagation(),this.cancelPreselection(),this.resetOptions();break;case"Tab":this._tabPressed=!0,this.isOptionsVisible()&&this.selectCurrentOption(!1),this.resetOptions()}}handleEventPropagation(i){this._listContainer.hasChildNodes()&&this.stopPropagateEnterKeyEvent&&i.stopPropagation()}onTextInputFocusOutHandler(){this.hideErrorOnFocusOut&&this.cancelPreselection()}canShowListOptions(){return!this._showLoading&&this._visibleOptions.length>0}render(){return h.addIDInfoIfNotExists(this.el,"input"),t(s,null,t("ez-text-input",{"data-element-id":h.getInternalIDInfo("textInput"),class:this.suppressSearch?"suppressed-search-input":"",ref:i=>this._textInput=i,"data-slave-mode":"true",enabled:this.enabled&&!this.suppressSearch,onInput:i=>this.onTextInputChangeHandler(i),onClick:()=>this.onTextInputClickHandler(),onFocusout:()=>this.onTextInputFocusOutHandler(),onKeyDown:i=>this.keyDownHandler(i),label:this.label,canShowError:this.canShowError,errorMessage:this.errorMessage,mode:this.mode},t("button",{class:"btn",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handlerIconClick()},t("ez-icon",{iconName:"chevron-down"}))),t("section",{class:"list-container",ref:i=>this._listContainer=i},t("div",{class:"list-wrapper",ref:i=>this._listWrapper=i},t("ul",{class:"list-options",ref:i=>this._optionsList=i},!this._showLoading&&0===this._visibleOptions.length&&t("div",{class:"message"},t("span",{class:"message__no-result"},this._textEmptyList)),this._showLoading&&t("div",{class:"message"},t("div",{class:"message__loading"})),this.showOptionValue?t("span",{class:"item__value item__value--hidden",ref:i=>this._itemValueBasis=i}):void 0,this.canShowListOptions()&&this._visibleOptions.map(((i,o)=>this.buildItem(i,o)))))))}get el(){return e(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"],options:["observeOptions"]}}};var c;!function(i){i.ADVANCED="ADVANCED",i.PRELOAD="PRELOAD",i.PREDICTIVE="PREDICTIVE"}(c||(c={})),b.style=":host{--ez-combo-box--height:42px;--ez-combo-box--width:100%;--ez-combo-box__icon--width:48px;--ez-combo-box--border-radius:var(--border--radius-medium, 12px);--ez-combo-box--border-radius-small:var(--border--radius-small, 6px);--ez-combo-box--font-size:var(--text--medium, 14px);--ez-combo-box--font-family:var(--font-pattern, Arial);--ez-combo-box--font-weight--large:var(--text-weight--large, 500);--ez-combo-box--font-weight--medium:var(--text-weight--medium, 400);--ez-combo-box--background-color--xlight:var(--background--xlight, #fff);--ez-combo-box--background-medium:var(--background--medium, #f0f3f7);--ez-combo-box--line-height:calc(var(--text--medium, 14px) + 4px);--ez-combo-box__input--background-color:var(--background--medium, #e0e0e0);--ez-combo-box__input--border:var(--border--medium, 2px solid);--ez-combo-box__input--border-color:var(--ez-combo-box__input--background-color);--ez-combo-box__input--focus--border-color:var(--color--primary, #008561);--ez-combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__input--error--border-color:#CC2936;--ez-combo-box__btn--color:var(--title--primary, #2B3A54);--ez-combo-box__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__btn-hover--color:var(--color--primary, #4e4e4e);--ez-combo-box__label--color:var(--title--primary, #2B3A54);--ez-combo-box__list-title--primary:var(--title--primary, #2B3A54);--ez-combo-box__list-text--primary:var(--text--primary, #626e82);--ez-combo-box__list-height:calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium) + 4px);--ez-combo-box__list-min-width:64px;--ez-combo-box--space--medium:var(--space--medium, 12px);--ez-combo-box--space--small:var(--space--small, 6px);--ez-combo-box__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-combo-box__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-combo-box__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-combo-box__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-combo-box__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-combo-box__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-combo-box--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{min-width:var(--ez-combo-box__list-min-width);position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:0;z-index:var(--more-visible, 2);max-height:calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small) + 9px);background-color:var(--ez-combo-box--background-color--xlight);border-radius:var(--ez-combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-combo-box--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;gap:3px;scrollbar-color:var(--ez-combo-box__scrollbar--color-clicked) var(--ez-combo-box__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-combo-box__scrollbar--color-background);width:var(--ez-combo-box__scrollbar--width);max-width:var(--ez-combo-box__scrollbar--width);min-width:var(--ez-combo-box__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-combo-box__scrollbar--color-background);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__scrollbar--color-default);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-combo-box__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-combo-box__scrollbar--color-clicked)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-combo-box--border-radius-small);padding:var(--ez-combo-box--space--small);min-height:var(--ez-combo-box__list-height);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size);line-height:var(--ez-combo-box--line-height)}.item__label{font-weight:var(--ez-combo-box--font-weight--medium)}.item__label--bold{font-weight:var(--ez-combo-box--font-weight--large)}.item__value{text-align:center;color:var(--ez-combo-box__list-text--primary);font-weight:var(--ez-combo-box--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;min-height:var(--ez-combo-box__list-height)}.message__no-result{color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.message__loading{border-radius:50%;width:14px;height:14px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-combo-box__list-title--primary);border-top:3px solid transparent}li:hover{background-color:var(--ez-combo-box--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-combo-box__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-combo-box__btn-disabled--color)}.btn:hover{color:var(--ez-combo-box__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";export{b as ez_combo_box}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as r}from"./p-23a36bb6.js";import{MaskFormatter as s,ElementIDUtils as n}from"@sankhyalabs/core";const a=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.mask=void 0,this.cleanValueMask=!1,this.canShowError=!0,this.restrict=void 0,this.mode="regular",this.noBorder=!1,this.password=!1,this.autoFocus=!1}observeErrorMessage(){this._inputElem&&this.isInvalid().then((t=>{var i,e;t?(this._inputElem.classList.add("hasError"),null===(i=this._messageBoxElem)||void 0===i||i.classList.add("hasError")):(this._inputElem.classList.remove("hasError"),null===(e=this._messageBoxElem)||void 0===e||e.classList.remove("hasError"))}))}observeMask(){this.mask&&(null==this._maskFormatter?this._maskFormatter=new s(this.mask):this._maskFormatter.mask=this.mask)}observeValue(t,i){this._inputElem&&t!=i&&(this._inputElem.value=this.value||"",this.handleChange(),this.adjustFloatingLabel(),this.isSlaveMode()||(this.errorMessage="",this.ezChange.emit(this.value)))}adjustFloatingLabel(){if(this.label&&this._labelElem){this._inputElem&&!this._inputElem.classList.contains("input--with--label")&&this._inputElem.classList.add("input--with--label");const t=this.value&&this.value.toString().length>0,i=this._labelElem.classList.contains("input__label--floated");t||this.isFocused()?i||this._labelElem.classList.add("input__label--floated"):i&&this._labelElem.classList.remove("input__label--floated")}}isFocused(){return null!==this._hostElement.shadowRoot.activeElement}isSlaveMode(){var t,i;return"true"===(null===(i=null===(t=this._hostElement)||void 0===t?void 0:t.dataset)||void 0===i?void 0:i.slaveMode)}adjustColorContentSlot(t=""){this._contentLeftSlot&&(this._contentLeftSlot.style.color=t)}adjustBorderInput(){this.noBorder&&this._inputElem.classList.add("input__slim--noborder")}async setFocus(t){const{selectText:i}=t||{};i&&this._inputElem.select(),this._inputElem.focus()}async setBlur(){this._inputElem.blur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}handleFocusout(){const t=this._inputElem.value;if(t&&this._maskFormatter)try{this.cleanValueMask?this.applyMask(t):this._inputElem.value=this._maskFormatter.format(t)}catch(t){this.errorMessage=t.message}this.controlChangeValue(),this.adjustFloatingLabel(),this.adjustColorContentSlot()}isValidValue(t){return!this.restrict||Array.from(t).reduce(((t,i)=>t&&this.restrict.indexOf(i)>-1),!0)}controlChangeValue(){this._inputElem&&(this.value||"")!==this._inputElem.value&&(this.value=this.cleanValueMask?this._maskFormatter.removeMask(this._inputElem.value):this._inputElem.value)}applyMask(t){if(!t||""===t)return t;if(this._maskFormatter)try{const i=this._maskFormatter.applyMask(this._maskFormatter.removeMask(t));return this._inputElem?(this._inputElem.value=i,this._inputElem.value):(this.value=i,this.value)}catch(t){this.errorMessage=t.message}return t}handleChange(){if(!this._inputElem)return;const t=this._inputElem.value;this.isValidValue(t)?this._lastValidValue=t:this._inputElem.value=null==this._lastValidValue?"":this._lastValidValue,this.controlChangeValue()}handleSlotChange(t){const i=t.target,e=i.assignedElements()[0];e&&(e.style.position="absolute",e.style.display="flex",e.style.alignItems="center",e.style.justifyContent="center",e.style.overflow="hidden",e.style.top="0px",e.style.width="var(--ez-text-input__icon--width)",e.style.height="slim"!=this.mode?"var(--ez-text-input--height)":"var(--ez-text-input--height--slim)","leftIcon"==i.name?(e.style.left="0px",e.style.borderRadius="var(--ez-text-input--border-radius) 0 0 var(--ez-text-input--border-radius)",this._inputElem.classList.add("icon--left"),this._labelElem&&this._labelElem.classList.add("input__label--left"),this._contentLeftSlot=e):"rightIcon"==i.name&&(e.style.right="0px",e.style.borderRadius="0 var(--ez-text-input--border-radius) var(--ez-text-input--border-radius) 0",this._inputElem.classList.add("icon--right"),this._labelElem&&this._labelElem.classList.add("input__label--right")),i.name&&n.addIDInfo(e,i.name)),this.observeErrorMessage()}doFocus(){this.label&&this._labelElem&&!this._labelElem.classList.contains("input__label--floated")&&this._labelElem.classList.add("input__label--floated"),this.adjustColorContentSlot("var(--ez-text-input__input--focus--icon-color)")}componentDidLoad(){this.observeErrorMessage(),this.observeMask(),this.adjustFloatingLabel(),this.adjustBorderInput(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})})),this._inputElem.addEventListener("focus",(()=>{this._inputElem.setSelectionRange(0,this._inputElem.value.length)}))}componentWillLoad(){if(this.observeMask(),this.value){if(this._maskFormatter)try{this.cleanValueMask?this.applyMask(this.value):this.value=this._maskFormatter.format(this.value)}catch(t){this.errorMessage=t.message}this.isValidValue(this.value)||(this._lastValidValue="",this.value="")}}render(){return n.addIDInfoIfNotExists(this._hostElement,"input"),e(o,{style:this._hostElement.classList.contains("grid_editor")?{height:"100%"}:null},e("slot",{name:"leftIcon",onSlotchange:t=>{this.handleSlotChange(t)}}),this.label&&"slim"!=this.mode?e("label",{ref:t=>this._labelElem=t,class:this.enabled?"input__label":"input__label input__label--disabled",onClick:()=>this._inputElem.focus(),title:this.label},this.label):null,e("input",{"data-element-id":n.getInternalIDInfo("input"),onFocus:()=>this.doFocus(),ref:t=>this._inputElem=t,type:this.password?"password":"text",class:"slim"===this.mode?"input--slim":"",placeholder:"slim"===this.mode&&this.label?this.label:"",value:this.mask&&this.cleanValueMask?this.applyMask(this.value):this.value,disabled:!this.enabled,onInput:()=>{this.handleChange()},onFocusout:()=>{this.handleFocusout()}}),e("slot",{name:"rightIcon",onSlotchange:t=>{this.handleSlotChange(t)}}),this.canShowError&&"slim"!=this.mode&&e("span",{class:"message-box",ref:t=>this._messageBoxElem=t,title:this.errorMessage,"data-element-id":n.getInternalIDInfo("message_box")},this.errorMessage))}get _hostElement(){return r(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],mask:["observeMask"],value:["observeValue"]}}};a.style=":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--height--slim:32px;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #2B3A54);--ez-text-input__input--background-color:var(--background--light, #ffffff);--ez-text-input__input--border:var(--border--small, 1px solid);--ez-text-input__input--border-color:var(--color--strokes,#DCE0E8);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--background--medium, #F0F3F7);--ez-text-input__input--disabled--color:var(--text--primary, #626E82);--ez-text-input__input--error--border-color:var(--color-alert--error-800,#BD0025);--ez-text-input__input--noborder-color:white;--ez-text-input__input--padding:var(--space--medium, 6px);--ez-text-input__placeholder--color:var(--text--secondary, #a2abb9);--ez-text-input__message_box--font-size:var(--text--extra-small, 10px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color-alert--error-800,#BD0025);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;--ez-text-input__input--focus--icon-color:var(--title--primary, #2B3A54);--ez-text-input__input--disabled--focus--icon-color:var(--text--primary, #626E82);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width)}:host(.grid_editor){--ez-text-input--height--slim:25px}input{width:100%;box-sizing:border-box;height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color);font-weight:var(--ez-text-input--font-weight);padding:var(--ez-text-input__input--padding)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input:disabled.hasError{color:var(--ez-text-input__input--disabled--color)}input.text--right{text-align:right}input:disabled,input:read-only{cursor:not-allowed}.message-box{min-height:14px;min-width:100%;margin-top:3px;line-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}.input--slim{padding-top:var(--space--small, 3px);padding-bottom:var(--space--small, 3px);height:var(--ez-text-input--height--slim)}.input__slim--title{font-size:16px;font-weight:bold}.input--slim::-webkit-input-placeholder,.input--slim:-moz-placeholder,.input--slim::-moz-placeholder,.input--slim:-ms-input-placeholder,.input--slim::placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input__placeholder--color)}.input--slim:disabled::-webkit-input-placeholder,.input--slim:disabled:-moz-placeholder,.input--slim:disabled::-moz-placeholder,.input--slim:disabled:-ms-input-placeholder,.input--slim:disabled::placeholder{color:var(--ez-text-input__input--disabled--color)}input.input__slim--noborder{box-shadow:0 0 0 0;border:0 none;outline:0;background:var(--ez-text-input__input--noborder-color)}";export{a as ez_text_input}