@sankhyalabs/ezui 3.5.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  2. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-breadcrumb.cjs.entry.js +12 -2
  5. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-combo-box.cjs.entry.js +16 -10
  12. package/dist/cjs/ez-date-input.cjs.entry.js +2 -2
  13. package/dist/cjs/ez-date-time-input.cjs.entry.js +4 -12
  14. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  16. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-filter-input_4.cjs.entry.js +67 -6
  18. package/dist/cjs/ez-form-view.cjs.entry.js +30 -23
  19. package/dist/cjs/ez-form.cjs.entry.js +562 -545
  20. package/dist/cjs/ez-grid.cjs.entry.js +8 -5
  21. package/dist/cjs/ez-guide-navigator.cjs.entry.js +51 -3
  22. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-list.cjs.entry.js +11 -8
  24. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-text-edit.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  40. package/dist/cjs/ezui.cjs.js +2 -2
  41. package/dist/cjs/{index-b54f47a1.js → index-892780f1.js} +0 -5
  42. package/dist/cjs/loader.cjs.js +2 -2
  43. package/dist/collection/collection-manifest.json +2 -2
  44. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.js +12 -2
  45. package/dist/collection/components/ez-combo-box/ez-combo-box.js +16 -10
  46. package/dist/collection/components/ez-date-input/ez-date-input.js +1 -1
  47. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +3 -11
  48. package/dist/collection/components/ez-form/ez-form.css +0 -6
  49. package/dist/collection/components/ez-form/ez-form.js +18 -239
  50. package/dist/collection/components/ez-form-view/ez-form-view.js +51 -0
  51. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +4 -4
  52. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +2 -2
  53. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +2 -2
  54. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +2 -2
  55. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +6 -6
  56. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +2 -2
  57. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +2 -2
  58. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  59. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +5 -2
  60. package/dist/collection/components/ez-grid/ez-grid.css +4 -2
  61. package/dist/collection/components/ez-grid/ez-grid.js +1 -1
  62. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.css +1 -1
  63. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +218 -1
  64. package/dist/collection/components/ez-list/ez-list.css +5 -2
  65. package/dist/collection/components/ez-list/ez-list.js +27 -6
  66. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +2 -0
  67. package/dist/collection/components/ez-tree/ez-tree.js +151 -3
  68. package/dist/collection/components/ez-tree/types/Node.js +7 -1
  69. package/dist/collection/components/ez-tree/types/Tree.js +6 -0
  70. package/dist/collection/{components/ez-form → utils/form}/DataBinder.js +118 -4
  71. package/dist/collection/{components/ez-form → utils/form}/FormMetadata.js +83 -36
  72. package/dist/collection/utils/form/index.js +2 -0
  73. package/dist/collection/utils/index.js +2 -0
  74. package/dist/custom-elements/index.js +712 -565
  75. package/dist/esm/ez-actions-button.entry.js +1 -1
  76. package/dist/esm/ez-alert.entry.js +1 -1
  77. package/dist/esm/ez-application.entry.js +1 -1
  78. package/dist/esm/ez-breadcrumb.entry.js +13 -3
  79. package/dist/esm/ez-button.entry.js +1 -1
  80. package/dist/esm/ez-calendar.entry.js +1 -1
  81. package/dist/esm/ez-card-item.entry.js +1 -1
  82. package/dist/esm/ez-check.entry.js +1 -1
  83. package/dist/esm/ez-chip.entry.js +1 -1
  84. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  85. package/dist/esm/ez-combo-box.entry.js +17 -11
  86. package/dist/esm/ez-date-input.entry.js +2 -2
  87. package/dist/esm/ez-date-time-input.entry.js +4 -12
  88. package/dist/esm/ez-dialog.entry.js +1 -1
  89. package/dist/esm/ez-dropdown.entry.js +1 -1
  90. package/dist/esm/ez-file-item.entry.js +1 -1
  91. package/dist/esm/ez-filter-input_4.entry.js +67 -6
  92. package/dist/esm/ez-form-view.entry.js +30 -23
  93. package/dist/esm/ez-form.entry.js +563 -546
  94. package/dist/esm/ez-grid.entry.js +8 -5
  95. package/dist/esm/ez-guide-navigator.entry.js +51 -3
  96. package/dist/esm/ez-icon.entry.js +1 -1
  97. package/dist/esm/ez-list.entry.js +11 -8
  98. package/dist/esm/ez-loading-bar.entry.js +1 -1
  99. package/dist/esm/ez-modal-container.entry.js +1 -1
  100. package/dist/esm/ez-modal.entry.js +1 -1
  101. package/dist/esm/ez-number-input.entry.js +1 -1
  102. package/dist/esm/ez-popover.entry.js +1 -1
  103. package/dist/esm/ez-popup.entry.js +1 -1
  104. package/dist/esm/ez-radio-button.entry.js +1 -1
  105. package/dist/esm/ez-search.entry.js +1 -1
  106. package/dist/esm/ez-tabselector.entry.js +1 -1
  107. package/dist/esm/ez-text-area.entry.js +1 -1
  108. package/dist/esm/ez-text-edit.entry.js +1 -1
  109. package/dist/esm/ez-text-input.entry.js +1 -1
  110. package/dist/esm/ez-time-input.entry.js +1 -1
  111. package/dist/esm/ez-toast.entry.js +1 -1
  112. package/dist/esm/ez-upload.entry.js +1 -1
  113. package/dist/esm/ez-view-stack.entry.js +1 -1
  114. package/dist/esm/ezui.js +3 -3
  115. package/dist/esm/{index-c27164d3.js → index-de655f48.js} +0 -5
  116. package/dist/esm/loader.js +3 -3
  117. package/dist/ezui/ezui.esm.js +1 -1
  118. package/dist/ezui/{p-85c1e00f.entry.js → p-06b3e801.entry.js} +1 -1
  119. package/dist/ezui/{p-216e1153.entry.js → p-07b99b94.entry.js} +1 -1
  120. package/dist/ezui/p-09271677.entry.js +1 -0
  121. package/dist/ezui/{p-044a3427.entry.js → p-0c7e81fe.entry.js} +1 -1
  122. package/dist/ezui/p-0e53898b.entry.js +1 -0
  123. package/dist/ezui/{p-124859c3.entry.js → p-36f7ec68.entry.js} +1 -1
  124. package/dist/ezui/p-4555df8f.entry.js +1 -0
  125. package/dist/ezui/{p-1806b3c6.entry.js → p-493e2af4.entry.js} +1 -1
  126. package/dist/ezui/p-50883460.entry.js +1 -0
  127. package/dist/ezui/p-581df847.entry.js +1 -0
  128. package/dist/ezui/{p-78b28632.entry.js → p-600f1732.entry.js} +1 -1
  129. package/dist/ezui/{p-74379544.entry.js → p-622c2d53.entry.js} +1 -1
  130. package/dist/ezui/{p-bb011a51.entry.js → p-62481744.entry.js} +1 -1
  131. package/dist/ezui/{p-064e558f.entry.js → p-6818dd0a.entry.js} +1 -1
  132. package/dist/ezui/{p-e8271a0e.entry.js → p-695facd0.entry.js} +1 -1
  133. package/dist/ezui/p-6cf406ff.entry.js +1 -0
  134. package/dist/ezui/{p-07d71b7a.entry.js → p-7147d43a.entry.js} +1 -1
  135. package/dist/ezui/{p-108acc0f.entry.js → p-7c8fb43e.entry.js} +1 -1
  136. package/dist/ezui/{p-00ea9b50.js → p-7ffd12e7.js} +2 -2
  137. package/dist/ezui/{p-aaba630e.entry.js → p-86d29565.entry.js} +1 -1
  138. package/dist/ezui/p-8d5ec02b.entry.js +1 -0
  139. package/dist/ezui/{p-149442dd.entry.js → p-9613fae6.entry.js} +1 -1
  140. package/dist/ezui/{p-38520b9c.entry.js → p-99d822cc.entry.js} +1 -1
  141. package/dist/ezui/p-9a1549c2.entry.js +1 -0
  142. package/dist/ezui/{p-330aef41.entry.js → p-a323b415.entry.js} +1 -1
  143. package/dist/ezui/{p-7ff5d0cc.entry.js → p-a4b281ca.entry.js} +1 -1
  144. package/dist/ezui/{p-e6cf82e8.entry.js → p-a67e056f.entry.js} +1 -1
  145. package/dist/ezui/p-ada6e6b0.entry.js +1 -0
  146. package/dist/ezui/{p-93c8bdc6.entry.js → p-b3c7b243.entry.js} +1 -1
  147. package/dist/ezui/{p-936ae3ac.entry.js → p-b941aeee.entry.js} +1 -1
  148. package/dist/ezui/{p-d015295f.entry.js → p-bbccda3f.entry.js} +1 -1
  149. package/dist/ezui/{p-66dba09c.entry.js → p-c0184982.entry.js} +1 -1
  150. package/dist/ezui/{p-ce1408dd.entry.js → p-cc40fcb3.entry.js} +1 -1
  151. package/dist/ezui/{p-80f79b1c.entry.js → p-cc5cfcb7.entry.js} +1 -1
  152. package/dist/ezui/{p-77c1ae43.entry.js → p-dc15b6d1.entry.js} +2 -2
  153. package/dist/ezui/{p-eae59101.entry.js → p-e6f3d036.entry.js} +1 -1
  154. package/dist/ezui/p-e748b5d3.entry.js +1 -0
  155. package/dist/ezui/{p-be4cc43f.entry.js → p-e85f1a6a.entry.js} +1 -1
  156. package/dist/ezui/{p-1cfae451.entry.js → p-eceb9382.entry.js} +1 -1
  157. package/dist/ezui/{p-bb0607a6.entry.js → p-fd87638e.entry.js} +1 -1
  158. package/dist/types/components/ez-breadcrumb/ez-breadcrumb.d.ts +2 -1
  159. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +0 -1
  160. package/dist/types/components/ez-form/ez-form.d.ts +3 -23
  161. package/dist/types/components/ez-form/store/form.slice.d.ts +2 -2
  162. package/dist/types/components/ez-form-view/ez-form-view.d.ts +7 -0
  163. package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +1 -1
  164. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +1 -1
  165. package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +1 -1
  166. package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +2 -2
  167. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +1 -1
  168. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +1 -1
  169. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  170. package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +1 -0
  171. package/dist/types/components/ez-guide-navigator/ez-guide-navigator.d.ts +32 -0
  172. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +1 -0
  173. package/dist/types/components/ez-list/ez-list.d.ts +4 -0
  174. package/dist/types/components/ez-tree/ez-tree.d.ts +18 -0
  175. package/dist/types/components.d.ts +79 -31
  176. package/dist/types/utils/form/DataBinder.d.ts +31 -0
  177. package/dist/types/utils/form/FormMetadata.d.ts +23 -0
  178. package/dist/types/utils/form/index.d.ts +2 -0
  179. package/dist/types/utils/form/interfaces/IFormCardConfig.d.ts +5 -0
  180. package/dist/types/utils/form/interfaces/IFormConfig.d.ts +12 -0
  181. package/dist/types/utils/form/interfaces/IFormSheetMetadata.d.ts +6 -0
  182. package/dist/types/{components/ez-form → utils/form}/interfaces/IRecordValidator.d.ts +1 -2
  183. package/dist/types/utils/form/interfaces/ISummaryField.d.ts +4 -0
  184. package/dist/types/{interfaces/ez-form → utils/form/interfaces}/ITabConfig.d.ts +1 -0
  185. package/dist/types/{components/ez-form → utils/form}/interfaces/index.d.ts +6 -4
  186. package/dist/types/utils/index.d.ts +2 -0
  187. package/package.json +3 -3
  188. package/dist/collection/interfaces/ez-form/IDefaultConfig.js +0 -1
  189. package/dist/collection/interfaces/ez-form/IFieldConfig.js +0 -1
  190. package/dist/collection/interfaces/ez-form/IFieldMetadata.js +0 -1
  191. package/dist/collection/interfaces/ez-form/IFieldSetMetadata.js +0 -1
  192. package/dist/collection/interfaces/ez-form/IFormSheetMetadata.js +0 -1
  193. package/dist/collection/interfaces/ez-form/IInvalidField.js +0 -1
  194. package/dist/collection/interfaces/ez-form/IRecordValidator.js +0 -1
  195. package/dist/collection/interfaces/ez-form/IValidationResult.js +0 -1
  196. package/dist/collection/interfaces/ez-form/index.js +0 -1
  197. package/dist/ezui/p-1a1c2eda.entry.js +0 -1
  198. package/dist/ezui/p-51ecf138.entry.js +0 -1
  199. package/dist/ezui/p-5473e08d.entry.js +0 -1
  200. package/dist/ezui/p-74b3615b.entry.js +0 -1
  201. package/dist/ezui/p-77d70bae.entry.js +0 -1
  202. package/dist/ezui/p-90c3d4fd.entry.js +0 -1
  203. package/dist/ezui/p-97cfbd29.entry.js +0 -1
  204. package/dist/ezui/p-a0e47238.entry.js +0 -1
  205. package/dist/ezui/p-bfca509e.entry.js +0 -1
  206. package/dist/ezui/p-cd1e0679.entry.js +0 -1
  207. package/dist/types/components/ez-form/DataBinder.d.ts +0 -22
  208. package/dist/types/components/ez-form/FormMetadata.d.ts +0 -16
  209. package/dist/types/components/ez-form/interfaces/IFormConfig.d.ts +0 -7
  210. package/dist/types/components/ez-form/interfaces/IFormSheetMetadata.d.ts +0 -9
  211. package/dist/types/components/ez-form/interfaces/ITabConfig.d.ts +0 -5
  212. package/dist/types/interfaces/ez-form/IDefaultConfig.d.ts +0 -5
  213. package/dist/types/interfaces/ez-form/IFieldConfig.d.ts +0 -13
  214. package/dist/types/interfaces/ez-form/IFieldMetadata.d.ts +0 -6
  215. package/dist/types/interfaces/ez-form/IFieldSetMetadata.d.ts +0 -5
  216. package/dist/types/interfaces/ez-form/IFormConfig.d.ts +0 -7
  217. package/dist/types/interfaces/ez-form/IFormSheetMetadata.d.ts +0 -10
  218. package/dist/types/interfaces/ez-form/IInvalidField.d.ts +0 -4
  219. package/dist/types/interfaces/ez-form/IRecordValidator.d.ts +0 -6
  220. package/dist/types/interfaces/ez-form/IValidationResult.d.ts +0 -8
  221. package/dist/types/interfaces/ez-form/index.d.ts +0 -10
  222. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IDefaultConfig.js +0 -0
  223. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IFieldConfig.js +0 -0
  224. /package/dist/collection/{components/ez-form/interfaces/IFormConfig.js → utils/form/interfaces/IFormCardConfig.js} +0 -0
  225. /package/dist/collection/{interfaces/ez-form → utils/form/interfaces}/IFormConfig.js +0 -0
  226. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IFormSheetMetadata.js +0 -0
  227. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IInvalidField.js +0 -0
  228. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IRecordValidator.js +0 -0
  229. /package/dist/collection/{components/ez-form/interfaces/ITabConfig.js → utils/form/interfaces/ISummaryField.js} +0 -0
  230. /package/dist/collection/{interfaces/ez-form → utils/form/interfaces}/ITabConfig.js +0 -0
  231. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IValidationResult.js +0 -0
  232. /package/dist/collection/{components/ez-form → utils/form}/interfaces/index.js +0 -0
  233. /package/dist/types/{components/ez-form → utils/form}/interfaces/IDefaultConfig.d.ts +0 -0
  234. /package/dist/types/{components/ez-form → utils/form}/interfaces/IFieldConfig.d.ts +0 -0
  235. /package/dist/types/{components/ez-form → utils/form}/interfaces/IInvalidField.d.ts +0 -0
  236. /package/dist/types/{components/ez-form → utils/form}/interfaces/IValidationResult.d.ts +0 -0
@@ -10,13 +10,11 @@ import { IBreadcrumbItem } from "./components/ez-breadcrumb/ez-breadcrumb";
10
10
  import { CardItem } from "./components/ez-card-item/ez-card-item";
11
11
  import { CheckMode } from "./components/ez-check/CheckMode";
12
12
  import { IOption, ISearchArgument } from "./components/ez-combo-box/ez-combo-box";
13
- import { DataUnit, Record, WaitingChange } from "@sankhyalabs/core";
13
+ import { DataUnit, WaitingChange } from "@sankhyalabs/core";
14
14
  import { DialogType } from "./components/ez-dialog/DialogType";
15
15
  import { IDropdownItem, IDropdownSubAction } from "./components/ez-dropdown/structure/DropdownItem";
16
- import { IFormConfig, IRecordValidator, IValidationResult } from "./components/ez-form/interfaces";
17
- import { ITreeItem } from "./components/ez-tree/interfaces/ITreeItem";
18
- import { IFormViewField } from "./components/ez-form-view/interfaces";
19
- import { IFormViewField as IFormViewField1 } from "./components/ez-form-view/interfaces/IFormViewField";
16
+ import { IFormConfig, IRecordValidator } from "./utils/form/interfaces";
17
+ import { IFormViewField } from "./components/ez-form-view/interfaces/IFormViewField";
20
18
  import { EzGridColumn, EzGridColumnConfig, EzGridColumStateEvent, IGridConfig, IStatusResolver } from "./components/ez-grid/controller/EzGridController";
21
19
  import { ISelection } from "./components/ez-grid/interfaces/ISelection";
22
20
  import { IGuideItem } from "./components/ez-guide-navigator/interfaces";
@@ -26,6 +24,8 @@ import { EzScrollDirection } from "./components/ez-scroller/EzScrollDirection";
26
24
  import { IOption as IOption1, ISearchArgument as ISearchArgument1 } from "./components/ez-combo-box/ez-combo-box";
27
25
  import { Tab } from "./components/ez-tabselector/ez-tabselector";
28
26
  import { IStyled } from "./components/ez-text-edit/ez-text-edit";
27
+ import { ITreeItem } from "./components/ez-tree/interfaces/ITreeItem";
28
+ import { Node } from "./components/ez-tree/types/Node";
29
29
  import { EzFile } from "./components/ez-upload/ez-upload";
30
30
  export namespace Components {
31
31
  interface EzActionsButton {
@@ -535,22 +535,10 @@ export namespace Components {
535
535
  * Configuração do formulário.
536
536
  */
537
537
  "config": IFormConfig;
538
- /**
539
- * Define um construtor. Isso permite personalizar o conteúdo do formulário
540
- */
541
- "contentBuilder": (selectedTab: string, fields: Array<IFormViewField>) => HTMLElement | string;
542
538
  /**
543
539
  * Unidade de dados. Responsável pelo controle de edição de registros e informações pertinentes aos campos.
544
540
  */
545
541
  "dataUnit": DataUnit;
546
- /**
547
- * Define um resolvedor de nível no modo `multiLevel`.
548
- */
549
- "levelResolver": (items: Array<ITreeItem>) => Array<ITreeItem>;
550
- /**
551
- * Habilita o modo de organização com vários níveis.
552
- */
553
- "multiLevel": boolean;
554
542
  /**
555
543
  * Define um validador responsável pela integridade dos registros.
556
544
  */
@@ -564,7 +552,8 @@ export namespace Components {
564
552
  /**
565
553
  * Define a lista de metadados usada para criar os campos de user interface.
566
554
  */
567
- "fields": Array<IFormViewField1>;
555
+ "fields": Array<IFormViewField>;
556
+ "showUp": () => Promise<void>;
568
557
  }
569
558
  interface EzGrid {
570
559
  /**
@@ -629,6 +618,19 @@ export namespace Components {
629
618
  * Habilita um ou mais itens.
630
619
  */
631
620
  "enableItem": (id: string | Array<string>) => Promise<void>;
621
+ /**
622
+ * Obtem um array do caminho de itens da seleção atual.
623
+ * @returns Retorna um array do caminho de itens da seleção atual.
624
+ */
625
+ "getCurrentPath": () => Promise<Array<IGuideItem>>;
626
+ /**
627
+ * Obtem um item pelo id
628
+ */
629
+ "getItem": (id: string) => Promise<IGuideItem>;
630
+ /**
631
+ * Obtem o item pai a partir de um id
632
+ */
633
+ "getParent": (id: string) => Promise<IGuideItem>;
632
634
  /**
633
635
  * Lista de itens do menu de navegação.
634
636
  */
@@ -637,10 +639,23 @@ export namespace Components {
637
639
  * Define se o menu de navegação está aberto.
638
640
  */
639
641
  "open": boolean;
642
+ /**
643
+ * Seleciona o item desejado pelo ID.
644
+ * @param id - ID do item que receberá a seleção.
645
+ */
646
+ "selectGuide": (id: string) => Promise<void>;
647
+ /**
648
+ * Define o id do item selecionado.
649
+ */
650
+ "selectedId": string;
640
651
  /**
641
652
  * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
642
653
  */
643
654
  "tooltipResolver": (item: IGuideItem, enabled: boolean, level: number) => string;
655
+ /**
656
+ * Atualiza um ou mais items
657
+ */
658
+ "updateItem": (item: IGuideItem | Array<IGuideItem>) => Promise<void>;
644
659
  }
645
660
  interface EzIcon {
646
661
  /**
@@ -681,6 +696,10 @@ export namespace Components {
681
696
  * Obtém o item selecionado.
682
697
  */
683
698
  "getSelection": () => Promise<ListItem>;
699
+ /**
700
+ * Quando verdadeiro, ativa o feedback visual ao efetuar houver nos itens da lista.
701
+ */
702
+ "hoverFeedback": boolean;
684
703
  /**
685
704
  * Função builder que possibilita alterar como o item da lista vai ser apresentado. Observação: No react ele se transforma em VNode e não como HTMLElement.
686
705
  */
@@ -1159,6 +1178,19 @@ export namespace Components {
1159
1178
  * Habilita um ou mais itens.
1160
1179
  */
1161
1180
  "enableItem": (id: string | Array<string>) => Promise<void>;
1181
+ /**
1182
+ * Obtem um array do caminho de itens da seleção atual.
1183
+ * @returns Retorna um array do caminho de itens da seleção atual.
1184
+ */
1185
+ "getCurrentPath": () => Promise<Array<ITreeItem>>;
1186
+ /**
1187
+ * Obtem um item pelo id
1188
+ */
1189
+ "getItem": (id: string) => Promise<ITreeItem>;
1190
+ /**
1191
+ * Obtem o item pai a partir de um id
1192
+ */
1193
+ "getParent": (id: string) => Promise<ITreeItem>;
1162
1194
  /**
1163
1195
  * Define uma função que vai resolver o ícone daquele item. Retorna o nome do ícone da lib de icones do DS.
1164
1196
  */
@@ -1183,6 +1215,10 @@ export namespace Components {
1183
1215
  * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
1184
1216
  */
1185
1217
  "tooltipResolver": (item: ITreeItem, enabled: boolean, level: number) => string;
1218
+ /**
1219
+ * Atualiza um item
1220
+ */
1221
+ "updateItem": (item: ITreeItem) => Promise<void>;
1186
1222
  /**
1187
1223
  * Define o item selecionado na árvore.
1188
1224
  */
@@ -1309,10 +1345,18 @@ export interface EzFormCustomEvent<T> extends CustomEvent<T> {
1309
1345
  detail: T;
1310
1346
  target: HTMLEzFormElement;
1311
1347
  }
1348
+ export interface EzFormViewCustomEvent<T> extends CustomEvent<T> {
1349
+ detail: T;
1350
+ target: HTMLEzFormViewElement;
1351
+ }
1312
1352
  export interface EzGridCustomEvent<T> extends CustomEvent<T> {
1313
1353
  detail: T;
1314
1354
  target: HTMLEzGridElement;
1315
1355
  }
1356
+ export interface EzGuideNavigatorCustomEvent<T> extends CustomEvent<T> {
1357
+ detail: T;
1358
+ target: HTMLEzGuideNavigatorElement;
1359
+ }
1316
1360
  export interface EzListCustomEvent<T> extends CustomEvent<T> {
1317
1361
  detail: T;
1318
1362
  target: HTMLEzListElement;
@@ -2183,22 +2227,10 @@ declare namespace LocalJSX {
2183
2227
  * Configuração do formulário.
2184
2228
  */
2185
2229
  "config"?: IFormConfig;
2186
- /**
2187
- * Define um construtor. Isso permite personalizar o conteúdo do formulário
2188
- */
2189
- "contentBuilder"?: (selectedTab: string, fields: Array<IFormViewField>) => HTMLElement | string;
2190
2230
  /**
2191
2231
  * Unidade de dados. Responsável pelo controle de edição de registros e informações pertinentes aos campos.
2192
2232
  */
2193
2233
  "dataUnit"?: DataUnit;
2194
- /**
2195
- * Define um resolvedor de nível no modo `multiLevel`.
2196
- */
2197
- "levelResolver"?: (items: Array<ITreeItem>) => Array<ITreeItem>;
2198
- /**
2199
- * Habilita o modo de organização com vários níveis.
2200
- */
2201
- "multiLevel"?: boolean;
2202
2234
  /**
2203
2235
  * Evento disparado quando o formulário está disponível na DOM.
2204
2236
  */
@@ -2212,7 +2244,11 @@ declare namespace LocalJSX {
2212
2244
  /**
2213
2245
  * Define a lista de metadados usada para criar os campos de user interface.
2214
2246
  */
2215
- "fields"?: Array<IFormViewField1>;
2247
+ "fields"?: Array<IFormViewField>;
2248
+ /**
2249
+ * Evento emitido quando o componente foi totalmente carregado na DOM.
2250
+ */
2251
+ "onEzContentReady"?: (event: EzFormViewCustomEvent<Array<HTMLElement>>) => void;
2216
2252
  }
2217
2253
  interface EzGrid {
2218
2254
  /**
@@ -2257,10 +2293,18 @@ declare namespace LocalJSX {
2257
2293
  * Lista de itens do menu de navegação.
2258
2294
  */
2259
2295
  "items"?: Array<IGuideItem>;
2296
+ /**
2297
+ * Evento emitido quando o item selecionado no navigator é alterado.
2298
+ */
2299
+ "onEzSelectionChange"?: (event: EzGuideNavigatorCustomEvent<IGuideItem>) => void;
2260
2300
  /**
2261
2301
  * Define se o menu de navegação está aberto.
2262
2302
  */
2263
2303
  "open"?: boolean;
2304
+ /**
2305
+ * Define o id do item selecionado.
2306
+ */
2307
+ "selectedId"?: string;
2264
2308
  /**
2265
2309
  * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
2266
2310
  */
@@ -2293,6 +2337,10 @@ declare namespace LocalJSX {
2293
2337
  * Se true os itens serão selecionáveis.
2294
2338
  */
2295
2339
  "ezSelectable"?: boolean;
2340
+ /**
2341
+ * Quando verdadeiro, ativa o feedback visual ao efetuar houver nos itens da lista.
2342
+ */
2343
+ "hoverFeedback"?: boolean;
2296
2344
  /**
2297
2345
  * Função builder que possibilita alterar como o item da lista vai ser apresentado. Observação: No react ele se transforma em VNode e não como HTMLElement.
2298
2346
  */
@@ -0,0 +1,31 @@
1
+ import { DataUnit, DataUnitAction, DUActionInterceptor } from "@sankhyalabs/core";
2
+ import { IInvalidField } from "./interfaces";
3
+ import { IRecordValidator } from "../../utils/form/interfaces";
4
+ import { FormMetadata } from "./FormMetadata";
5
+ export default class DataBinder implements DUActionInterceptor {
6
+ private _dataUnit;
7
+ private _fields;
8
+ private _formMetadata;
9
+ private _invalidFields;
10
+ private _recordsValidator;
11
+ constructor(dataUnit: DataUnit);
12
+ bind(fields: Array<HTMLElement>, currentContextName: string, formMetadata: FormMetadata, recordsValidator: IRecordValidator): void;
13
+ onDisconnectedCallback(): void;
14
+ markInvalid(field: IInvalidField): void;
15
+ private clearInvalid;
16
+ private updateValue;
17
+ validate(): Promise<void>;
18
+ private validateRequired;
19
+ private processValidationResult;
20
+ private updateErrorMessage;
21
+ private getErrorMessage;
22
+ private updateBind;
23
+ private changeStarted;
24
+ private cancelWaitingChange;
25
+ private setFieldValue;
26
+ private bindSearchOptionsLoader;
27
+ private applyEzUploadContext;
28
+ private onDataUnitEvent;
29
+ interceptAction(action: DataUnitAction): DataUnitAction | Promise<DataUnitAction>;
30
+ private getFormattedValue;
31
+ }
@@ -0,0 +1,23 @@
1
+ import { DataUnit } from "@sankhyalabs/core";
2
+ import { IFormConfig, IFormSheetMetadata } from "./interfaces";
3
+ export declare class FormMetadata {
4
+ private _sheets;
5
+ private _requiredFields;
6
+ private _cleanOnCopyFields;
7
+ private _defaultValues;
8
+ private _defaultVars;
9
+ static getDetailName(name: string): string;
10
+ getSheet(name: string): IFormSheetMetadata;
11
+ getAllSheets(): Map<string, IFormSheetMetadata>;
12
+ addSheet(sheet: IFormSheetMetadata): void;
13
+ addRequiredFields(fields: Array<string>): void;
14
+ getRequiredFields(): Array<string>;
15
+ addCleanOnCopyFields(fields: Array<string>): void;
16
+ getCleanOnCopyFields(): Array<string>;
17
+ addDefaultValues(defaultValues: any): void;
18
+ getDefaultValues(): any;
19
+ getDefaultVar(name: string): any;
20
+ setDefaultVars(vars: Map<string, any>): void;
21
+ }
22
+ export declare const buildFormConfigFromDataUnit: (dataUnit: DataUnit) => IFormConfig;
23
+ export declare const buildFormMetadata: (config: IFormConfig, dataUnit: DataUnit, includeDetails?: boolean) => FormMetadata;
@@ -0,0 +1,2 @@
1
+ export { FormMetadata, buildFormMetadata, buildFormConfigFromDataUnit } from "./FormMetadata";
2
+ export { default as DataBinder } from "./DataBinder";
@@ -0,0 +1,5 @@
1
+ export interface IFormCardConfig {
2
+ fixed: boolean;
3
+ presentation: "EXPANDED" | "CONTRACTED";
4
+ fixSequence?: number;
5
+ }
@@ -0,0 +1,12 @@
1
+ import { IFieldConfig } from "./IFieldConfig";
2
+ import { IFormCardConfig } from "./IFormCardConfig";
3
+ import { ISummaryField } from "./ISummaryField";
4
+ import { ITabConfig } from "./ITabConfig";
5
+ export interface IFormConfig {
6
+ tabs?: Array<ITabConfig>;
7
+ fields: Array<IFieldConfig>;
8
+ defaultConfiguration?: boolean;
9
+ cardsState?: Map<string, IFormCardConfig>;
10
+ summary?: Map<string, Array<ISummaryField>>;
11
+ defaultVars?: Map<string, any>;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { IFormViewField } from "../../../components/ez-form-view/interfaces/IFormViewField";
2
+ export interface IFormSheetMetadata {
3
+ name: string;
4
+ label: string;
5
+ fields: Array<IFormViewField>;
6
+ }
@@ -1,6 +1,5 @@
1
1
  import { Record } from "@sankhyalabs/core";
2
- import { EzForm } from "../ez-form";
3
2
  import { IValidationResult } from "./IValidationResult";
4
3
  export interface IRecordValidator {
5
- validateRecord(form: EzForm, record: Record): IValidationResult;
4
+ validateRecord(record: Record): IValidationResult;
6
5
  }
@@ -0,0 +1,4 @@
1
+ export interface ISummaryField {
2
+ field: string;
3
+ label?: string;
4
+ }
@@ -1,5 +1,6 @@
1
1
  export interface ITabConfig {
2
2
  label: string;
3
+ name?: string;
3
4
  visible?: boolean;
4
5
  order?: number;
5
6
  }
@@ -1,8 +1,10 @@
1
- export { IDefaultConfig } from "./IDefaultConfig";
1
+ export { IInvalidField } from "./IInvalidField";
2
+ export { IValidationResult } from "./IValidationResult";
2
3
  export { IFieldConfig } from "./IFieldConfig";
3
4
  export { IFormConfig } from "./IFormConfig";
4
5
  export { IFormSheetMetadata } from "./IFormSheetMetadata";
5
- export { IInvalidField } from "./IInvalidField";
6
- export { IRecordValidator } from "./IRecordValidator";
7
6
  export { ITabConfig } from "./ITabConfig";
8
- export { IValidationResult } from "./IValidationResult";
7
+ export { IDefaultConfig } from "./IDefaultConfig";
8
+ export { IRecordValidator } from "./IRecordValidator";
9
+ export { IFormCardConfig } from "./IFormCardConfig";
10
+ export { ISummaryField } from "./ISummaryField";
@@ -2,3 +2,5 @@ export { default as ApplicationUtils } from './ApplicationUtils';
2
2
  export { default as CSSVarsUtils } from './CSSVarsUtils';
3
3
  export { DialogType } from '../components/ez-dialog/DialogType';
4
4
  export { CheckMode } from '../components/ez-check/CheckMode';
5
+ export { FormMetadata } from './form/FormMetadata';
6
+ export { default as DataBinder } from './form/DataBinder';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "3.5.0",
3
+ "version": "4.0.0",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -49,7 +49,7 @@
49
49
  "@babel/preset-env": "^7.16.11",
50
50
  "@sankhyalabs/core": "^3.1.0",
51
51
  "@sankhyalabs/docscss": "^1.0.4",
52
- "@sankhyalabs/ez-design": "^3.0.0",
52
+ "@sankhyalabs/ez-design": "^3.1.0",
53
53
  "@sankhyalabs/skippeerdeps": "^1.0.2",
54
54
  "@semantic-release/exec": "^5.0.0",
55
55
  "@semantic-release/git": "^9.0.0",
@@ -85,7 +85,7 @@
85
85
  "verbose": true
86
86
  },
87
87
  "peerDependencies": {
88
- "@sankhyalabs/core": "^3.1.0"
88
+ "@sankhyalabs/core": "^4.0.0"
89
89
  },
90
90
  "resolutions": {
91
91
  "postcss": "8.1.7"
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,f as n,H as s,g as r}from"./p-00ea9b50.js";import{Action as o,WaitingChangeException as l,ApplicationContext as a,UserInterface as h,StringUtils as c,DataUnitAction as u,DataUnit as d,ElementIDUtils as f}from"@sankhyalabs/core";import{A as v}from"./p-efb43dd8.js";import"./p-ab574d59.js";function p(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 m="function"==typeof Symbol&&Symbol.observable||"@@observable",b=function(){return Math.random().toString(36).substring(7).split("").join(".")},_={INIT:"@@redux/INIT"+b(),REPLACE:"@@redux/REPLACE"+b(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+b()}};function g(t){if("object"!=typeof t||null===t)return!1;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function y(t,i,e){var n;if("function"==typeof i&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(p(0));if("function"==typeof i&&void 0===e&&(e=i,i=void 0),void 0!==e){if("function"!=typeof e)throw new Error(p(1));return e(y)(t,i)}if("function"!=typeof t)throw new Error(p(2));var s=t,r=i,o=[],l=o,a=!1;function h(){l===o&&(l=o.slice())}function c(){if(a)throw new Error(p(3));return r}function u(t){if("function"!=typeof t)throw new Error(p(4));if(a)throw new Error(p(5));var i=!0;return h(),l.push(t),function(){if(i){if(a)throw new Error(p(6));i=!1,h();var e=l.indexOf(t);l.splice(e,1),o=null}}}function d(t){if(!g(t))throw new Error(p(7));if(void 0===t.type)throw new Error(p(8));if(a)throw new Error(p(9));try{a=!0,r=s(r,t)}finally{a=!1}for(var i=o=l,e=0;e<i.length;e++)(0,i[e])();return t}function f(t){if("function"!=typeof t)throw new Error(p(10));s=t,d({type:_.REPLACE})}function v(){var t,i=u;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(p(11));function e(){t.next&&t.next(c())}return e(),{unsubscribe:i(e)}}})[m]=function(){return this},t}return d({type:_.INIT}),(n={dispatch:d,subscribe:u,getState:c,replaceReducer:f})[m]=v,n}class w{constructor(t){this._invalidFields=new Map,this.onDataUnitEvent=t=>{var i;switch(t.type){case o.DATA_LOADED:case o.DATA_SAVED:case o.RECORDS_REMOVED:case o.RECORDS_ADDED:case o.RECORDS_COPIED:case o.EDITION_CANCELED:case o.SELECTION_CHANGED:case o.NEXT_SELECTED:case o.PREVIOUS_SELECTED:this.clearInvalid();case o.DATA_CHANGED:case o.CHANGE_UNDONE:case o.CHANGE_REDONE:case o.RECORD_LOADED:null===(i=this._fields)||void 0===i||i.forEach((t=>{this.updateValue(t.fieldName,t.field)}))}},this._fields=new Map,this._dataUnit=t,this._dataUnit.subscribe(this.onDataUnitEvent)}bind(t){t.forEach((t=>{this.updateBind(t.dataset.fieldName,t)}))}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent)}markInvalid(t){if(this._invalidFields.set(t.name,t),this._fields.has(t.name)){const i=this._fields.get(t.name).field;i.errorMessage||this.updateErrorMessage(t.name,i)}}clearInvalid(){this._invalidFields.clear(),this._fields.forEach((t=>{t.field.errorMessage=""}))}updateValue(t,i){const e=this._fields.get(t);try{e&&(e.listen=!1),i.value=this._dataUnit.getFieldValue(t),this.updateErrorMessage(t,i)}finally{e&&(e.listen=!0)}}updateErrorMessage(t,i){const e=this._invalidFields.get(t);e&&(i.errorMessage=e.message)}getErrorMessage(t){if(this._fields.has(t))return this._fields.get(t).field.errorMessage||null}updateBind(t,i){const e=this._fields.get(t);e&&e.destroy(),i.value=this._dataUnit.getFieldValue(t),this.updateErrorMessage(t,i),this._fields.set(t,E.create(t,i,((t,i)=>this.changeStarted(t,i)),(t=>this.cancelWaitingChange(t)),((t,i)=>this.setFieldValue(t,i)))),this.bindSearchOptionsLoader(t,i),this.applyEzUploadContext(t,i)}changeStarted(t,i){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),!i.blocking&&null==i.promise){const e=this._fields.get(t);e&&(i.promise=new Promise(((t,i)=>{e.waitingChangePromiseResolve=t,e.waitingChangePromiseReject=i})))}this._dataUnit.startChange(t,i)}cancelWaitingChange(t){if(this._dataUnit.waitingForChange(t)){this._dataUnit.cancelWaitingChange(t);const i=this._fields.get(t);i&&i.rejectWaitingChange(new l("Change canceled",t))}}setFieldValue(t,i){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._invalidFields.delete(t),this._dataUnit.setFieldValue(t,i),this._dataUnit.waitingForChange(t)){const i=this._fields.get(t);i&&i.acceptWaitingChange()}}bindSearchOptionsLoader(t,i){if("EZ-SEARCH"===i.nodeName&&null==i.optionLoader){const e=a.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");e&&(i.optionLoader=i=>e(i,t,this._dataUnit))}}applyEzUploadContext(t,i){var e,n;if("EZ-UPLOAD"===i.nodeName){i.urlUpload=a.getContextValue("__EZUI__UPLOAD__ADD__URL__"),i.urlDelete=a.getContextValue("__EZUI__UPLOAD__DEL__URL__");const s=this._dataUnit.getField(t),r=null===(e=s.properties)||void 0===e?void 0:e.DESTINATION;r&&(i.requestHeaders={XTRAINF:`{"destination": "${r}"}`}),i.maxFiles=(null===(n=s.properties)||void 0===n?void 0:n.MAX_FILES)||0}}}class E{constructor(){this.listen=!0,this.startChangeEventName="ezStartChange",this.cancelWaitingChangeEventName="ezCancelWaitingChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.cancelWaitingChangeEventName,this.cancelWaitingChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}acceptWaitingChange(){this.waitingChangePromiseResolve&&(this.waitingChangePromiseResolve(),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}rejectWaitingChange(t){this.waitingChangePromiseReject&&(this.waitingChangePromiseReject(t),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}static create(t,i,e,n,s){const r=new E;return r.field=i,r.fieldName=t,r.startChangeListener=i=>{r.listen&&e(t,i.detail)},r.field.addEventListener(r.startChangeEventName,r.startChangeListener),r.cancelWaitingChangeListener=()=>{r.listen&&n(t)},r.field.addEventListener(r.cancelWaitingChangeEventName,r.cancelWaitingChangeListener),r.changeListener=i=>{r.listen&&s(t,i.detail)},r.field.addEventListener(r.changeEventName,r.changeListener),r}}const O={};function C(t=O,i){switch(i.type){case R.METADATA_LOADED:return Object.assign(Object.assign({},t),{formMetadata:i.payload,currentSheet:void 0});case R.CHANGE_TAB:return Object.assign(Object.assign({},t),{currentSheet:i.payload});default:return t}}function A(t){return{type:R.CHANGE_TAB,payload:"string"==typeof t?t:t.tabKey}}function z(t){return t.formMetadata}function j(t){return t.currentSheet}var R;!function(t){t.METADATA_LOADED="FORM/METADATA_LOADED",t.CHANGE_TAB="FORM/CHANGE_TAB"}(R||(R={}));class x{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[],this._defaultValues={}}getSheet(t){return this._sheets.get(t)}getAllSheets(){return this._sheets}addSheet(t){this._sheets.set(t.name,t),this._requiredFields=this._requiredFields.concat(t.requiredFields),this._cleanOnCopyFields=this._cleanOnCopyFields.concat(t.cleanOnCopyFields),this._defaultValues=t.defaultValues}getRequiredFields(){return this._requiredFields}getCleanOnCopyFields(){return this._cleanOnCopyFields}getDefaultValues(){return this._defaultValues}}const M=(t,i)=>{let e,n,{name:s,label:r,group:o}=Object.assign({},i),{readOnly:l,required:a}=Object.assign({},i);return t&&(r=r||t.label,s=s||t.name,a=t.required||(null==i?void 0:i.required),l=t.readOnly||(null==i?void 0:i.readOnly),e=t.properties,n=t.userInterface),{name:s,label:r,group:o,readOnly:l,required:a,props:e,userInterface:n||h.SHORTTEXT}},I=(t,i)=>"__main"==t[0].label?-1:(t[0].order||1e4)-(i[0].order||1e4),S=class{constructor(e){t(this,e),this.ezReady=i(this,"ezReady",7),this.onDataUnitAction=t=>{t.type===o.METADATA_LOADED&&this.processMetadata()},this.dataUnit=void 0,this.config=void 0,this.recordsValidator=void 0,this.multiLevel=void 0,this.levelResolver=void 0,this.contentBuilder=void 0}validate(){return new Promise(((t,i)=>{var e;const n=this.dataUnit.getModifiedRecords();for(let t=0;t<n.length;t++){const s=n[t],r=[];let o=this.validateRequired(s);if(o&&!o.isValid&&r.push(o),o=null===(e=this.recordsValidator)||void 0===e?void 0:e.validateRecord(this,s),o&&!o.isValid&&r.push(o),r.length>0){this.processValidationResult(r),i();break}}t()}))}observeConfig(){this.processMetadata()}validateRequired(t){const i=z(this._store.getState()),e=this._staticFields.filter((t=>t.dataset.required)).map((t=>t.dataset.fieldName)).concat(i.getRequiredFields()),n=[];if(new Set(e).forEach((i=>{const e=t[i];if(null==e||""===e){const t=this._dataBinder.getErrorMessage(i);n.push(t?{name:i,message:t}:{name:i,message:"Essa informação é obrigatória"})}})),n.length>0)return{isValid:!1,invalidFields:n,infoMessage:"Há pelo menos um campo obrigatório não preenchido."}}processValidationResult(t){t.forEach((t=>{const i=t.invalidFields;if(i&&i.forEach((t=>{this._dataBinder.markInvalid(t)})),t.infoMessage&&v.info(t.infoMessage),t.errorMessage){const{errorTitle:i,errorMessage:e}=t;v.error(i,e)}}))}resolveLevel(t){return this.levelResolver?this.levelResolver(t):t}getMultiLevelContent(t,i,n){const s=this.resolveLevel(t.map((t=>({id:t.name,label:t.label}))));return e("div",{class:"multi-level__container"},e("div",null,e("ez-tree",{selectedId:null==i?void 0:i.name,items:s,onEzChange:t=>{var e;const n=null===(e=t.detail)||void 0===e?void 0:e.id;n&&n!==(null==i?void 0:i.name)&&this._store.dispatch(A(n))}})),e("div",null,this.buildFormContent(n,i)))}getDynamicContent(){var t,i;const n=z(this._store.getState());if(!n)return null;const s=Array.from(n.getAllSheets().values()),r=j(null===(t=this._store)||void 0===t?void 0:t.getState()),o=function(t){const i=j(t);return i?t.formMetadata.getSheet(i):Array.from(t.formMetadata.getAllSheets().values())[0]}(null===(i=this._store)||void 0===i?void 0:i.getState());if(this.multiLevel)return this.getMultiLevelContent(s,o,r);let l=[];if(s.length>1){const t=s.map(((t,i)=>({tabKey:t.name,label:t.label,index:i}))),i="selector";l.push(e("ez-tabselector",{tabs:this.buildIdTabSelector(t),onEzChange:t=>this._store.dispatch(A(t.detail)),selectedTab:o.name,"data-element-id":i}))}return l=l.concat(this.buildFormContent(r,o)),l}buildFormContent(t,i){const n=null==i?void 0:i.fields;if(null!=this.contentBuilder){const i=this.contentBuilder(t,n);if(null!=i)return e("div",{innerHTML:i})}if(null==i)return;const s=`${c.replaceAccentuatedChars(c.toCamelCase(null==i?void 0:i.label),!1)}_selectorContainer`;return e("div",{class:"dynamic-content ez-box__container","data-element-id":s},e("ez-form-view",{class:"ez-row ez-padding-vertical--small",fields:n}))}processMetadata(){if(!this.isStatic()&&this.dataUnit&&this._store){const t=null!=this.config&&Object.values(this.config).length>0?((t,i)=>{var e,n;const s=new Map,r=new Map,o=[],l=[],a={};null===(e=null==t?void 0:t.tabs)||void 0===e||e.forEach((t=>{r.has(t.label)||!1!==t.visible||r.set(t.label,t)})),null===(n=null==t?void 0:t.fields)||void 0===n||n.forEach((t=>{var e,n,h,c;if(!1!==t.visible){const u=((t,i)=>("string"==typeof t?Array.from(i.keys()).find((i=>i.label===t)):t)||{label:t,visible:!0})(t.tab||"__main",s);if(r.has(u.label))return;const d=i.getField(t.name);if(d&&u.visible){s.has(u)||s.set(u,[]);const i=M(d,t);s.get(u).push(i),i.required&&o.push(t.name),((null==t.cleanOnCopy?null===(e=d.properties)||void 0===e?void 0:e.cleanOnCopy:t.cleanOnCopy)||(null===(n=d.properties)||void 0===n?void 0:n.autoNum)||(null===(h=d.properties)||void 0===h?void 0:h.cleanOnCopy))&&l.push(t.name),(null==t.defaultValue?null===(c=d.properties)||void 0===c?void 0:c.defaultValue:t.defaultValue)&&(a[t.name]=t.defaultValue)}}}));const h=new x;return Array.from(s.entries()).sort(I).forEach((([t,i])=>{h.addSheet({label:"__main"===t.label?"Principal":t.label,name:t.label,fields:i,requiredFields:o,cleanOnCopyFields:l,defaultValues:a})})),h})(this.config,this.dataUnit):(()=>{const t=this.dataUnit.metadata,i=new x;if(t){const e=(t.fields||[]).filter((t=>!1!==t.visible)),n=e.map((t=>M(t)));let s={};e.filter((t=>t.defaultValue)).forEach((t=>s[t.name]=t.defaultValue)),i.addSheet({name:t.name,label:t.label,fields:n,requiredFields:e.filter((t=>t.required)).map((t=>t.name)),cleanOnCopyFields:e.filter((t=>{var i,e;return(null===(i=t.properties)||void 0===i?void 0:i.cleanOnCopy)||(null===(e=t.properties)||void 0===e?void 0:e.autoNum)})).map((t=>t.name)),defaultValues:s})}return i})();this._store.dispatch({type:R.METADATA_LOADED,payload:t})}}isStatic(){var t;return(null===(t=this._staticFields)||void 0===t?void 0:t.length)>0}getFormattedValue(t){return null==t||"object"!=typeof t?t:"formattedValue"in t?t.formattedValue:t.value}interceptAction(t){if(t.type===o.RECORDS_COPIED){const i=z(this._store.getState()).getCleanOnCopyFields();if(i)return new u(o.RECORDS_COPIED,t.payload.map((t=>{const e=Object.assign({},t);return i.forEach((t=>delete e[t])),e})))}if(t.type===o.SAVING_DATA)return new Promise((i=>{this.validate().then((()=>i(t))).catch((()=>{}))}));if(t.type===o.RECORDS_ADDED){const i=z(this._store.getState()),e=null==i?void 0:i.getDefaultValues();if(e)return new u(o.RECORDS_ADDED,t.payload.map((t=>{const i=Object.assign({},t);for(const t in e){const n=this.getFormattedValue(e[t]),s="function"==typeof n?n():n;i[t]=this.dataUnit.valueFromString(t,s)}return i})))}return t}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new d("ez-form")),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new w(this.dataUnit),this._store=y(C),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata(),f.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}componentDidRender(){this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]"))),this.ezReady.emit()}disconnectedCallback(){this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.removeInterceptor(this),this._dataBinder.onDisconnectedCallback()}buildIdTabSelector(t){return t&&t.forEach((t=>t[f.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=c.toCamelCase(t.label))),t}render(){return e(s,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return r(this)}static get watchers(){return{config:["observeConfig"]}}};S.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)}.multi-level__container.sc-ez-form{display:grid;grid-template-columns:minmax(20%, 300px) auto;width:100%}";export{S as ez_form}
@@ -1 +0,0 @@
1
- import{h as t,r as i,c as e,g as s}from"./p-00ea9b50.js";import{ElementIDUtils as o,JSUtils as r}from"@sankhyalabs/core";const l=i=>{const{items:e,selectedItem:s,itemsHidden:r,showDropdown:l,handleShowDropdown:a,collapseConfigPosition:h,ellipsesPositionedEnd:c}=i,n=i=>t("li",Object.assign({class:"breadcrumb__item",onClick:t=>(t=>{t.stopPropagation(),a(!l)})(t)},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo("ezBreadcrumbItem_ellipsis")}),c&&t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`})),t("span",{class:"ellipses__item"},"..."),c||t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`})),l&&t("ez-dropdown",Object.assign({class:"dropdown-ellipsis",items:r.map((t=>({id:t.id,label:t.label,type:"item",children:null,iconName:t.iconName||null,subAction:null,group:null}))),onEzClick:t=>{const{id:i,label:e,iconName:o}=t.detail;s.emit({id:i,label:e,iconName:o})}},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("dropdown")}`})));return t("div",{class:"breadcrumb__items"},e.map(((i,r)=>{const l=r===e.length-1;return t("div",{class:"breadcrumb__group"},h===r&&n(i),t("li",Object.assign({class:"breadcrumb__item",id:i.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezBreadcrumb_item_${i.id}_${i.label}`)}),i.iconName&&t("ez-icon",Object.assign({class:"breadcrumb__item--icon "+(l&&!c?"active-icon":""),size:"small",iconName:i.iconName},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconItem${i.id}`)}`})),t("p",{class:"breadcrumb__item--label "+(l&&!c?"active":""),onClick:c||!l?()=>s.emit(i):void 0},i.label),!l&&t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`}))),h-1===r&&c&&n(i))})))},a=class{constructor(t){i(this,t),this.selectedItem=e(this,"selectedItem",7),this._ellipsesPositionedEnd=!1,this._renderSecond=!1,this.INDEX_ITEM_TO_REMOVE=1,this.CHEVRON_SIZE=28,this.handleShowDropdown=t=>{this.showDropdown=t},this.items=[],this.fillMode="auto",this.maxItems=4,this.positionEllipsis=1,this.visibleItems=void 0,this.hiddenItems=[],this.showDropdown=!1,this.collapseConfigPosition=-1}watchPropHandler(){"auto"===this.fillMode&&this.handleResize()}watchPropHiddenItems(){"auto"===this.fillMode&&(this.collapseConfigPosition=this.hiddenItems.length>0?1:-1)}componentDidUpdate(){this.positionDropdown(),this.setEvents()}componentWillLoad(){this.visibleItems=[...this.items],"regular"===this.fillMode?this.configModeRegular():"auto"===this.fillMode&&this.startResize(),this.setEvents()}closeDropdown(t){const i=null==t?void 0:t.target;null!=i&&i!==this._element.shadowRoot.querySelector(".ellipses__item")&&(this.showDropdown=!1)}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}componentDidLoad(){o.addIDInfo(this._element)}componentDidRender(){"auto"===this.fillMode&&this.configResize()}configResize(){null!=this._resizeObserver&&this._resizeObserver.unobserve(this._element.parentElement),this._resizeObserver=new ResizeObserver(r.debounce(this.handleResize.bind(this),200)),this._resizeObserver.observe(this._element.parentElement)}handleResize(){if(!this._renderSecond)return void(this._renderSecond=!0);let{offsetWidth:t}=this._element.parentElement,i=0;this.visibleItems.forEach((t=>i+=t.width));const e=this.collapseConfigPosition>-1?39:0;t<i+e?this.handleCollapse(t,i):t>=i+e&&this.handleExpand(t)}handleCollapse(t,i){if(this.visibleItems.length<=2)return;let e=[...this.visibleItems],s=[...this.hiddenItems],o=e[this.INDEX_ITEM_TO_REMOVE],r=!1;for(;e.length>2&&null!=o&&i>t;)r=!0,e=e.filter(((t,i)=>i!==this.INDEX_ITEM_TO_REMOVE)),s=[...s,o],i-=o.width,o=e[this.INDEX_ITEM_TO_REMOVE];r&&(this.visibleItems=e,this.hiddenItems=s,this.showDropdown=!1)}handleExpand(t){if(!this.hiddenItems.length)return;let i=Math.abs(this._elBreadcrumbList.offsetWidth-t),e=[...this.visibleItems],s=[...this.hiddenItems],o=s[s.length-1],r=!1;for(;o&&i>=o.width;)i-=o.width,s.pop(),e.splice(this.INDEX_ITEM_TO_REMOVE,0,o),o=s[s.length-1],r=!0;r&&(this.visibleItems=e,this.hiddenItems=s,this.showDropdown=!1)}configModeRegular(){if(this.visibleItems.length>this.maxItems){const t=Math.abs(this.visibleItems.length-this.maxItems);if(0===this.positionEllipsis){const i=this.visibleItems.slice(0,t);this.hiddenItems.push(...i),this.visibleItems.splice(0,t)}else if(this.positionEllipsis>=this.maxItems){const t=this.visibleItems.slice(this.maxItems);this.hiddenItems.push(...t),this.visibleItems.splice(this.maxItems),this._ellipsesPositionedEnd=!0}else{const i=this.visibleItems.splice(this.positionEllipsis,t);this.hiddenItems.push(...i)}this.collapseConfigPosition=this.positionEllipsis}}positionDropdown(){var t;const i=null===(t=this._element.shadowRoot.querySelector(".ellipses__item"))||void 0===t?void 0:t.getBoundingClientRect(),e=this._element.shadowRoot.querySelector(".dropdown-ellipsis");null!=i&&null!=e&&(e.style.top=i.y+i.height+5+"px",e.style.left=i.x+"px")}async startResize(){const t=this._element.parentElement.offsetWidth,i=await Promise.all(this.visibleItems.map((async(t,i)=>(t.width=await this.measureSizeHTMLElement(t),i===this.visibleItems.length-1&&(t.width-=this.CHEVRON_SIZE),t))));if(i.reduce(((t,i)=>t+i.width),0)>t){const e=[],s=[...i],o=s.shift(),r=s.pop();r.width+=10,e.push(o,r);let l=e.reduce(((t,i)=>t+i.width),0),a=Math.abs(l-t);s.reverse().forEach((i=>{if(i.width<a){const i=s.shift();e.splice(1,0,i),l=e.reduce(((t,i)=>t+i.width),0),a=Math.abs(l-t)}})),this.visibleItems=[...e],this.hiddenItems=[...s.reverse()]}}measureSizeHTMLElement(t){return new Promise((i=>{this.waitFontLoad().then((()=>{void 0===this._textMesurement&&(this._textMesurement=this._element.shadowRoot.ownerDocument.createElement("canvas"));const e=this._textMesurement.getContext("2d");e.font="14px Roboto, Algerian",i((t.iconName?19:0)+this.CHEVRON_SIZE+e.measureText(t.label).width)}))}))}waitFontLoad(){return new Promise((t=>{document.fonts.load("14px Roboto").then((()=>t()),t())}))}getItemContent(){return t("nav",{class:"breadcrumb"},t("ol",{class:"breadcrumb__list",ref:t=>this._elBreadcrumbList=t},t(l,{items:this.visibleItems,selectedItem:this.selectedItem,itemsHidden:this.hiddenItems,showDropdown:this.showDropdown,handleShowDropdown:this.handleShowDropdown,collapseConfigPosition:this.collapseConfigPosition,ellipsesPositionedEnd:this._ellipsesPositionedEnd})))}render(){return this.getItemContent()}get _element(){return s(this)}static get watchers(){return{items:["watchPropHandler"],hiddenItems:["watchPropHiddenItems"]}}};a.style=":host{--breadcrumb__item--label--color--title-primary:var(--color--title-primary, #2B3A54);--breadcrumb__item--label--color--active:var(--color--primary, '#008561');--breadcrumb__item--label--font-weight:var(--text-weight--large, 600);display:block;font-size:var(--text--medium, 14px);font-family:var(--font-pattern, \"Roboto\");font-weight:var(--text-weight--medium, 400)}.breadcrumb__group{display:flex}.breadcrumb__list{list-style-type:none;display:inline-block;margin:0;padding:0;overflow:hidden;white-space:nowrap}.breadcrumb__item{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb__item--label{color:var(--breadcrumb__item--label--color--title-primary);margin:0px}.breadcrumb__item--icon{padding-right:3px;color:var(--breadcrumb__item--label--color--title-primary)}.breadcrumb__item--chevron{padding:0px 6px;cursor:default}.active{color:var(--breadcrumb__item--label--color--active);font-weight:var(--breadcrumb__item--label--font-weight);cursor:default}.active-icon{--icon--color:var(--breadcrumb__item--label--color--active);cursor:default}.breadcrumb__items{display:flex}";export{a as ez_breadcrumb}
@@ -1 +0,0 @@
1
- import{r as o,c as i,h as t,H as s,g as e}from"./p-00ea9b50.js";import{ObjectUtils as r,FloatingManager as l,ElementIDUtils as a}from"@sankhyalabs/core";import{A as h}from"./p-efb43dd8.js";import{C as n}from"./p-4a5e37a7.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{R as c}from"./p-3f4ae3a3.js";const b=class{constructor(t){o(this,t),this.ezChange=i(this,"ezChange",7),this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._textEmptyList="Nenhum resultado encontrado",this._textEmptySearch="Nenhum resultado de {0} encontrado",this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.value=void 0,this.label=void 0,this.enabled=!0,this.options=void 0,this.errorMessage=void 0,this.searchMode=void 0,this.showSelectedValue=!1,this.showOptionValue=!1,this.suppressSearch=!1,this.optionLoader=void 0,this.suppressEmptyOption=!1,this.canShowError=!0,this.mode="regular"}observeErrorMessage(){var o;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(o=this.errorMessage)||void 0===o?void 0:o.trim())||this.setInputValue())}observeValue(o,i){if(this._textInput&&o!=i){const t=this.getSelectedOption(o),s=this.getSelectedOption(i),e=this.getSelectedOption(this.value);this.isDifferentValues(e,t)&&(this.value=t),this.isDifferentValues(t,s)&&(this.setInputValue(),this.ezChange.emit(null===t?void 0:t)),this.resetOptions()}}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}isDifferentValues(o,i){return r.objectToString(o||{})!==r.objectToString(i||{})}getFormattedText(o){if(null!=o){if(!this.showSelectedValue||null==o.value)return o.label;if(o.label)return`${o.value} - ${o.label}`}}getText(){const o=this.getSelectedOption(this.value),i=this.getFormattedText(o);if(null!=i)return String(i).replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"')}getSelectedOption(o){return"string"==typeof o||o instanceof String?this._visibleOptions.find((i=>i.value===o)):o}updateVisibleOptions(){let o=this._source||[];if(!this.searchMode&&this._criteria){const i=this._criteria.toUpperCase();o=o.filter((o=>o.label.toLocaleUpperCase().indexOf(i)>-1))}this._visibleOptions=this.suppressEmptyOption?o:[{value:void 0,label:""}].concat(o),this._maxWidthValue=this.getMaxWidthValue()}getMaxWidthValue(){var o;if(this.showOptionValue){const i=[];return null===(o=this._visibleOptions)||void 0===o||o.forEach((o=>{const t=this.getWidthValue(o.value);i.includes(t)||i.push(t)})),i.length>1?Math.max(...i):0}return 0}getWidthValue(o){if(null!=this._itemValueBasis){const i=this._itemValueBasis;if(null!=o)return i.innerHTML=o,i.clientWidth>0?i.clientWidth+2:0;i.innerHTML=""}return 0}buildItem(o,i){const s=this.showOptionValue&&this._maxWidthValue>0?`${this._maxWidthValue}px`:"";return o.label=o.label||(o.value?`<SEM ${this.getFieldLabel()}>`:""),t("li",{class:i===this._preSelection?"item preselected":"item",id:`item_${o.value}`,onMouseDown:()=>this.selectOption(o),onMouseOver:()=>this._preSelection=i},this.showOptionValue?t("span",{class:"item__value",title:o.value,style:{width:s,minWidth:s,maxWidth:s}},o.value):void 0,t("span",{class:"item__label "+(this.showOptionValue?"item__label--bold":""),title:o.label},o.label))}showOptions(){this.enabled&&(this._floatingID=l.float(this._listWrapper,this._listContainer,{autoClose:!0,top:this.errorMessage||!this.canShowError||"slim"===this.mode?"6px":"-13px"}),this.setFocus(),window.requestAnimationFrame((()=>{this._listWrapper.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})})))}hideOptions(){void 0!==this._floatingID&&l.close(this._floatingID),this._floatingID=void 0}isOptionsVisible(){return void 0!==this._floatingID&&l.isFloating(this._floatingID)}nextOption(){this.searchMode&&!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],!0))}previousOption(){this._preSelection=void 0===this._preSelection?0:Math.max(this._preSelection-1,0),this.scrollToOption(this._visibleOptions[this._preSelection],!1)}scrollToOption(o,i){window.requestAnimationFrame((()=>{const t=(null==o?void 0:o.value)?this._optionsList.querySelector(`li#item_${o.value}`):void 0;if(t){const o=t.parentElement,s=o.getBoundingClientRect(),e=t.getBoundingClientRect();i&&e.bottom>s.bottom?o.scrollTop=e.height*(this._preSelection-3):!i&&e.top<s.top&&(o.scrollTop=e.height*this._preSelection)}}))}selectCurrentOption(){void 0!==this._preSelection?(this.selectOption(this._visibleOptions[this._preSelection]),this._preSelection=void 0):this.controlListWithOnlyOne()}updateSource(o){this._startLoading=!1,o instanceof Promise?(this._showLoading=!0,o.then((o=>{this._showLoading=!1,this.updateSource(o)})).catch((()=>this._showLoading=!1)),this.updateVisibleOptions()):(this._showLoading=!1,Array.isArray(o)?(this._source=o,this.updateVisibleOptions(),this._tabPressed&&(this._tabPressed=!1,this.controlEmptySearch())):this.selectOption(o))}clearSource(){this._source=[],this.updateVisibleOptions()}selectOption(o){var i,t;const s=this.getSelectedOption(this.value);(null===(i=null==s?void 0:s.value)||void 0===i?void 0:i.toString())!==(null===(t=null==o?void 0:o.value)||void 0===t?void 0:t.toString())||null==s&&"value"in o?this.value=(null==o?void 0:o.value)?o:void 0:this.resetOptions(),this.searchMode&&(this._visibleOptions=[],this.clearSource())}loadOptions(o,i=""){this._criteria=i,this._startLoading=!0,this.updateSource(this.optionLoader?this.optionLoader({mode:o,argument:i}):this.options)}cancelPreselection(){!this._textInput.value&&this.value?this.selectOption(void 0):window.setTimeout((()=>{this.setInputValue()}),this._deboucingTime),this.resetOptions()}setInputValue(o=!0){const i=this.getText();(this._textInput.value||"")!==i&&(this._textInput.value=i,o&&(this.errorMessage=null))}clearSearch(){this.value=null}controlListWithOnlyOne(){var o;if(this.searchMode){const i=null===(o=this._visibleOptions)||void 0===o?void 0:o.filter((o=>""!==o.label&&null!=o.value));1===(null==i?void 0:i.length)&&this.selectOption(i[0])}}controlEmptySearch(){var o;this.searchMode&&((null===(o=this._visibleOptions)||void 0===o?void 0:o.length)?this.controlListWithOnlyOne():(this.clearSearch(),h.info(this._textEmptyList)))}validateDescriptionValue(){if(!this.searchMode||"object"!=typeof this.value)return;const{label:o,value:i}=this.value||{};o||null==i||this.loadDescriptionValue(i)}async loadDescriptionValue(o){var i,t;if(null==o)return;if((null===(i=this.options)||void 0===i?void 0:i.length)>0)return void this.loadOptionValue(o);const s={mode:d.PREDICTIVE,argument:o},e=await(null===(t=this.optionLoader)||void 0===t?void 0:t.call(this,s));null!=e&&(e instanceof Promise?e.then((o=>{this.setDescriptionValue(o)})):this.setDescriptionValue(e))}setDescriptionValue(o){const i=(null==o?void 0:o[0])||o;null!=i&&Object.keys(i).length?(i.label||(i.label=`<SEM ${this.getFieldLabel()}>`),this.value=i):this.showNoResultMessage()}loadOptionValue(o){var i;const t=null===(i=this.options)||void 0===i?void 0:i.find((i=>i.value===o));null!=t?this.selectOption(t):this.showNoResultMessage()}async showNoResultMessage(){this.clearSearch(),h.info(this._textEmptySearch.replace("{0}",this.getFieldLabel()))}getFieldLabel(){var o;return null===(o=this.label)||void 0===o?void 0:o.replace(c,"").toUpperCase()}resetOptions(){this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions()}componentWillLoad(){if(void 0===this.options){this.options=[];const o=this.el.querySelectorAll("option");o&&o.forEach((o=>{let i=o.innerText,t=o.getAttribute("value");t||(t=i),this.options.push({label:i,value:t}),o.hidden=!0}))}this.searchMode?this.updateSource([]):this.loadOptions(d.PRELOAD)}componentDidRender(){var o;void 0===this._floatingID&&this._listWrapper.remove(),null===(o=this._optionsList)||void 0===o||o.querySelectorAll(".item").forEach((o=>{a.addIDInfoIfNotExists(o,"itemComboBox")}))}componentDidLoad(){n.applyVarsTextInput(this.el,this._textInput),this.setInputValue(!1)}componentShouldUpdate(o,i){this.isDifferentValues(o,i)&&this.validateDescriptionValue()}handlerIconClick(){this.searchMode?this.loadOptions(d.ADVANCED):this.showOptions()}onTextInputChangeHandler(o){var i;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=window.setTimeout((()=>{this.onTextInputChangeHandler(o)}),this._deboucingTime));const t=null===(i=o.target.value)||void 0===i?void 0:i.trim(),s=Number(t||void 0);this._criteria||(this._textInput.value=o.data||t),this._criteria=t,t?this.searchMode?(this._showLoading=!1,this.clearSource(),!isNaN(s)||t.length>=this._limitCharsToSearch?(this._showLoading=!0,this._changeDeboucingTimeout=window.setTimeout((()=>{this.loadOptions(d.PREDICTIVE,isNaN(s)?t:s.toString())}),this._deboucingTime),this.showOptions()):this.hideOptions()):(this.updateVisibleOptions(),this.showOptions()):(this.hideOptions(),this.searchMode?(this._showLoading=!1,this.clearSource()):this.updateVisibleOptions())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}onTextInputClickHandler(){this.searchMode||this.showOptions()}keyDownHandler(o){switch(this._tabPressed=!1,o.ctrlKey&&("f"!==o.key&&"F"!==o.key||(this.loadOptions(d.ADVANCED),o.stopPropagation(),o.stopImmediatePropagation(),o.preventDefault())),o.key){case"ArrowDown":this.nextOption();break;case"ArrowUp":this.previousOption();break;case"Enter":this.selectCurrentOption();break;case"Escape":this.cancelPreselection();break;case"Tab":this._tabPressed=!0,this.controlListWithOnlyOne()}}onTextInputFocusOutHandler(){this.cancelPreselection()}render(){var o;return a.addIDInfoIfNotExists(this.el,"input"),t(s,null,t("ez-text-input",{"data-element-id":a.getInternalIDInfo("textInput"),class:this.suppressSearch?"suppressed-search-input":"",ref:o=>this._textInput=o,"data-slave-mode":"true",enabled:this.enabled&&!this.suppressSearch,onInput:o=>this.onTextInputChangeHandler(o),onClick:()=>this.onTextInputClickHandler(),onFocusout:()=>this.onTextInputFocusOutHandler(),onKeyDown:o=>this.keyDownHandler(o),label:this.label,canShowError:this.canShowError,errorMessage:this.errorMessage,mode:this.mode},t("button",{class:"btn",slot:this.searchMode?"leftIcon":"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handlerIconClick()},t("ez-icon",{iconName:this.searchMode?"search":"chevron-down"})),this.searchMode&&(null===(o=this._textInput)||void 0===o?void 0:o.value)&&(this._criteria||this.value)?t("button",{class:"btn btn__close",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.clearSearch()},t("ez-icon",{iconName:"close"})):void 0),t("section",{class:"list-container",ref:o=>this._listContainer=o},t("div",{class:"list-wrapper",ref:o=>this._listWrapper=o},t("div",{class:"list-options",ref:o=>this._optionsList=o},!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:o=>this._itemValueBasis=o}):void 0,!this._showLoading&&this._visibleOptions.length>0&&this._visibleOptions.map(((o,i)=>this.buildItem(o,i)))))))}get el(){return e(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"]}}};var d;!function(o){o.ADVANCED="ADVANCED",o.PRELOAD="PRELOAD",o.PREDICTIVE="PREDICTIVE"}(d||(d={})),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--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{position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:100%;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%;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:unset;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 r,H as e}from"./p-00ea9b50.js";import{ElementIDUtils as s}from"@sankhyalabs/core";const l=class{constructor(r){t(this,r),this.ezChange=i(this,"ezChange",7),this._listItemsHistory=[],this._listItems=[],this._listGroupItems=[],this.dataSource=[],this.useGroups=!1,this.ezDraggable=!1,this.ezSelectable=!1,this.itemSlotBuilder=void 0}async clearHistory(){this._listItemsHistory=[]}async scrollToTop(){this.useGroups?this._element.shadowRoot.querySelector(".group-container").scrollTop=0:this._element.shadowRoot.querySelector(".items-container").scrollTop=0}async setSelection(t,i){if(t&&this.ezSelectable){if(this.useGroups){let i=[...this._listGroupItems];i.forEach((i=>{i.items.forEach((i=>{i.selected=i.label==t.label}))})),this._listGroupItems=i}else{let i=[...this._listItems];i.forEach((i=>{i.selected=i.label===t.label})),this._listItems=i}if(i){let i=this.useGroups?this._groupContainer.querySelector("li#item_"+this.getItemId(t.label)):this._itemContainer.querySelector("li#item_"+this.getItemId(t.label));i&&i.scrollIntoView()}}else this.removeSelection()}async getSelection(){let t;return this.useGroups?this._listGroupItems.every((i=>{let r=i.items.find((t=>1==t.selected));return!r||(t=r,!1)})):t=this._listItems.find((t=>1==t.selected)),t}async getList(){return this.useGroups?this._listGroupItems:this._listItems}createList(){if(this.useGroups){let t=this.dataSource.map((t=>t));t.forEach((t=>{this.sortGroup(t)})),this._listGroupItems=t}else this._listItems=this._listItemsHistory.length>0?this._listItemsHistory:this.dataSource.map((t=>t))}sortGroup(t){t.sort&&(t.items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===t.sort&&t.items.reverse())}removeSelection(){if(this.useGroups){let t=[...this._listGroupItems];t.forEach((t=>{t.items.forEach((t=>{t.selected=!1}))})),this._listGroupItems=t}else{let t=[...this._listItems];t.forEach((t=>{t.selected=!1})),this._listItems=t}}buildIdDraggableListAndSelectable(){const t=this._element.shadowRoot,i=t.querySelectorAll(".draggable-list");null==i||i.forEach(((t,i)=>{var r,e;let l="draggableList";const o=null===(e=null===(r=this._listGroupItems)||void 0===r?void 0:r[i])||void 0===e?void 0:e.group;this.useGroups&&o&&(l=l.concat("_",o)),s.addIDInfoIfNotExists(t,l)}));const r=t.querySelectorAll(".selectable-container");null==r||r.forEach((t=>{s.addIDInfoIfNotExists(t,"selectable")}))}componentWillLoad(){this._listItemsHistory=[]}componentWillRender(){this.createList(),this._element&&this.buildIdDraggableListAndSelectable()}componentDidLoad(){s.addIDInfo(this._element)}onDrop(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],r=this._listGroupItems.find((t=>i.groupName==t.group));if(t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),r.sort)t.find((t=>t.group==i.groupName)).items.push(this._dragStartItem.item),t.find((t=>t.group==i.groupName)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===r.sort&&t.find((t=>t.group==i.groupName)).items.reverse();else{let r=i.index>this._dragStartItem.index?i.index-1:i.index;t.find((t=>t.group==i.groupName)).items.splice(r,0,this._dragStartItem.item)}this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.splice(i.index,0,this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropLastIndex(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],r=this._listGroupItems.find((t=>i.group==t.group));t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),t.find((t=>t.group==i.group)).items.push(this._dragStartItem.item),r.sort&&(t.find((t=>t.group==i.group)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===r.sort&&t.find((t=>t.group==i.group)).items.reverse()),this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.push(this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropGroup(t){var i;let r=[...this._listGroupItems];this.setSelection(void 0);let e=r.find((i=>i.group===t.group));if(e){if((null===(i=e.items)||void 0===i?void 0:i.length)>0){let t;e.items.forEach(((i,r)=>{i.label===this._dragStartItem.item.label&&(t={item:i,index:r})})),t?(e.items.splice(t.index,1),e.items.unshift(t.item),this.sortGroup(e)):(e.items.unshift(this._dragStartItem.item),this.sortGroup(e),r.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1))}else r.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),e.items=[this._dragStartItem.item];this._listGroupItems=r}}onDragEnd(){if(this._dragStartItem=void 0,this.useGroups&&this.hideOverlays(),this._draggingElement){try{this._element.shadowRoot.removeChild(this._draggingElement)}catch(t){}this._draggingElement=void 0}}addOverClass(t){(null==t?void 0:t.__proto__)==HTMLDivElement.prototype&&t.classList.contains("draggable")?t.classList.add("over"):(null==t?void 0:t.parentElement)&&!t.parentElement.classList.contains("draggable-list")&&this.addOverClass(t.parentElement)}addOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];i.items.length>0?t.setAttribute("style","display:grid"):(t.classList.add("presetedHeight"),t.setAttribute("style","display:grid"),t.scrollIntoView(!1))}}removeOverClass(){var t,i;let r,e;this.useGroups?(r=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("over"),e=this._groupContainer.getElementsByClassName("last-droppable-space")):(r=null===(i=this._itemContainer)||void 0===i?void 0:i.getElementsByClassName("over"),e=this._itemContainer.getElementsByClassName("last-droppable-space")),r&&Array.from(r).forEach((function(t){t.classList.remove("over")})),e&&Array.from(e).forEach((function(t){t.classList.remove("over")}))}removeOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];t&&(t.classList.remove("presetedHeight"),t.setAttribute("style","display:none"))}}onDragStart(t,i,r){this._changeDeboucingTimeout&&window.clearTimeout(this._changeDeboucingTimeout),this.useGroups?(this._dragStartItem={groupName:i.group,item:t,index:r},this._changeDeboucingTimeout=window.setTimeout((()=>{this.showOverlays(i)}),10)):this._dragStartItem={item:t.item,index:t.index}}selectFirstItem(){this.useGroups&&this.setSelection(this._listGroupItems[0].items[0]),this.setSelection(this._listItems[0])}nextOption(t){let i;if(this.useGroups)this._listGroupItems.every(((r,e,s)=>{let l,o=r.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(o===r.items.length-1?e+1<=s.length-1&&(l={label:s[e+1].items[0].label}):l={label:r.items[o+1].label}),null==l||(i=l,!1)}));else{let r=this._listItems.findIndex((i=>i.label===t.label));r>=0&&r<this._listItems.length&&(i=this._listItems[r+1])}this.setSelection(i,!0)}previousOption(t){let i;if(this.useGroups)this._listGroupItems.every(((r,e,s)=>{let l,o=r.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(0===o?e-1>=0&&(l={label:s[e-1].items[s[e-1].items.length-1].label}):l={label:r.items[o-1].label}),null==l||(i=l,!1)}));else{let r=this._listItems.findIndex((i=>i.label===t.label));r>0&&r<this._listItems.length&&(i=this._listItems[r-1])}this.setSelection(i,!0)}keyDownHandler(t){t.preventDefault(),this.getSelection().then((i=>{if(i)switch(t.key){case"ArrowDown":this.nextOption(i);break;case"ArrowUp":this.previousOption(i)}else this.selectFirstItem()})),t.stopPropagation()}getItemId(t){if(t)return t.replace(/[^a-z0-9_]/gi,"_")}getDivGroupId(t){if(t)return"group-"+t.replace(/[^a-z0-9_]/gi,"_")}getGroupOverlayId(t){if(t)return"group-overlay-"+t.replace(/[^a-z0-9_]/gi,"_")}onDragOverGroup(t,i){this._dragStartItem&&this._dragStartItem.groupName!==i.group&&i.sort&&(t.preventDefault(),this.addOverGroupClass(t,i))}onDragOverItem(t){this._dragStartItem&&(t.preventDefault(),this.addOverClass(t.target),t.stopPropagation())}onDragOverLastIndex(t){t.preventDefault(),this._dragStartItem&&(t.target.classList.add("over"),t.stopPropagation())}showOverlays(t){let i=this._groupContainer.getElementsByClassName("group-overlay");Array.from(i).forEach((i=>{let r=this.getGroupOverlayId(t.group);r&&i.getAttribute("id")&&r!=i.getAttribute("id")&&(i.classList.add("presetedHeight"),i.setAttribute("style","display:grid"))}))}hideOverlays(){var t;let i=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("group-overlay");Array.from(i).forEach((t=>{t.classList.remove("presetedHeight"),t.setAttribute("style","display:none")}))}getContainerItemBuilder(t,i,e){if(null==this.itemSlotBuilder)return;const s=this.itemSlotBuilder(t,i);return null!=s?"string"!=typeof s?r("div",{class:e},s):r("div",{class:e,innerHTML:s}):void 0}render(){return r(e,{ref:t=>this._element=t},this.useGroups?r("div",{class:"group-container",ref:t=>this._groupContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},this._listGroupItems.map((t=>r("div",{id:this.getDivGroupId(t.group),class:"group",key:t.group+t.items.length,onDrop:()=>this.onDropGroup(t)},r("label",{draggable:!1,class:"group-name"},t.group),r("section",{class:"section-container",onDragOver:t=>t.preventDefault()},r("div",{class:"group-items-container"},r("div",{class:"draggable-list"},t.items.map(((i,e)=>r("li",{id:"item_"+this.getItemId(i.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(i.label)},r("div",{class:"draggable"+(1==i.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onClick:()=>{this.setSelection(i)},onDragLeave:()=>{t.sort||this.removeOverClass()},onDragEnd:()=>this.onDragEnd(),onDragStart:()=>this.onDragStart(i,t,e),onDragOver:i=>{t.sort||this.onDragOverItem(i)},onDrop:r=>this.onDrop(r,{groupName:t.group,item:i,index:e}),draggable:this.ezDraggable},r("div",{class:"item-content"},this.ezDraggable?r("span",{class:"draggable-icon"}):void 0,r("p",{title:i.label,class:"person-name text--ellipsis"},i.label)),this.itemSlotBuilder?this.getContainerItemBuilder(i,t,"slot-item"):void 0))))),r("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:i=>this.onDropLastIndex(i,t)})),t.sort?r("div",{id:this.getGroupOverlayId(t.group),class:"group-overlay"},"Mover para ",t.group):void 0))))):r("div",{class:"items-container",ref:t=>this._itemContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},r("div",{class:"draggable-list"},this._listItems.map(((t,i)=>r("li",{id:"item_"+this.getItemId(t.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(t.label)},r("div",{class:"draggable"+(1==t.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDragStart:()=>this.onDragStart({item:t,index:i}),onClick:()=>{this.setSelection(t)},onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverItem(t),onDragEnd:()=>this.onDragEnd(),onDrop:r=>this.onDrop(r,{item:t,index:i}),draggable:this.ezDraggable},r("div",{class:"item-content"},this.ezDraggable?r("span",{class:"draggable-icon"}):void 0,r("p",{title:t.label,class:"person-name text--ellipsis"},t.label)),this.itemSlotBuilder?this.getContainerItemBuilder(t):void 0)))),r("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:t=>this.onDropLastIndex(t)}))))}};l.style=':host{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon--padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item--margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:var(--border--small, 1px solid);--ez-list__item--border-color:var(--title--primary, #2b3a54);--ez-list__item--font-family:var(--font-pattern, "Roboto");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item--border-radius:var(--border--radius-small, 6px);--ez-list__selected-item--background-color:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, "Roboto");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group-overlay--font-family:var(--font-pattern, "Roboto");--ez-list__group-overlay--font-size:var(--text--medium, 14px);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable-list--padding-bottom:var(--space--small, 6px);--ez-list__draggable-icon--image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z"/></svg>\');--ez-list__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-list__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-list__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-list__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-list__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-list__scrollbar--width:var(--space--medium, 12px);max-height:100%;width:100%;background-color:#fff;display:flex;z-index:var(--ez-list__host--z-index)}p{margin:0}.draggable{display:flex;align-items:center;border-top:1px dashed #fff;justify-content:space-between;background-color:#fff;flex:1;width:100%;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size)}.dragging{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container{margin:0px !important}.item-content{display:flex;justify-content:flex-start;align-items:center;width:100%}.group-container .item-content{max-width:calc(100% - 41px)}.items-container .item-content{max-width:calc(100% - 100px)}.draggable-list{padding:0;margin:0;width:100%;max-height:100%;scrollbar-width:thin;color:var(--text-color);scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.draggable-list li{background-color:#fff;display:flex;height:32px;margin:var(--ez-list__item--margin);font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color)}.over{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space{height:var(--ez-list__last-droppable-space--height)}.draggable-selected{background-color:var(--background--strong) !important}.draggable-selected div:hover{background-color:var(--background--strong) !important}.draggable-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.draggable-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar-thumb:vertical:hover,.draggable-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.draggable-list::-webkit-scrollbar-thumb:vertical:active,.draggable-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.draggable-icon{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon::after{content:\'\';display:flex;width:18px;height:18px;background-color:var(--ez-list__icon--color);-webkit-mask-image:var(--ez-list__draggable-icon--image);mask-image:var(--ez-list__draggable-icon--image)}*{box-sizing:border-box}.checkbox{width:fit-content}.text--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-container{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-name{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none;font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom)}.group{display:flex;flex-direction:column}.group-container::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.group-container::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container::-webkit-scrollbar-thumb:vertical:hover,.group-container::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.group-container::-webkit-scrollbar-thumb:vertical:active,.group-container::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.section-container{display:flex;position:relative;height:100%}.items-container{width:100%;max-height:100%;overflow-y:auto;outline:none;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-items-container{width:100%;max-height:100%;height:100%;outline:none}.items-container::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.items-container::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container::-webkit-scrollbar-thumb:vertical:hover,.items-container::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.items-container::-webkit-scrollbar-thumb:vertical:active,.items-container::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.group-overlay{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer;font-family:var(--ez-list__group-overlay--font-family);font-size:var(--ez-list__group-overlay--font-size)}.presetedHeight{min-height:100px}.overlay-text{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item{background:var(--ez-list__selected-item--background-color);border-radius:var(--ez-list__selected-item--border-radius)}.slot-item{align-items:flex-end}.overGroup{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}';export{l as ez_list}
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,H as s,g as a}from"./p-00ea9b50.js";import{DateUtils as n,ElementIDUtils as o}from"@sankhyalabs/core";import{C as r}from"./p-4a5e37a7.js";const h=class{constructor(i){t(this,i),this.ezChange=e(this,"ezChange",7),this.ezStartChange=e(this,"ezStartChange",7),this.ezCancelWaitingChange=e(this,"ezCancelWaitingChange",7),this._focused=!1,this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.mode="regular"}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,e){if(this._textInput&&t!=e){const i=n.validateDate(t),s=n.validateDate(e);if((null==i?void 0:i.getTime())!==(null==s?void 0:s.getTime())){const t=this.getTextValue(i)||"";!n.strToDate(t)&&this._focused||(this._textInput.value||"")===t||(this._textInput.value=t,this._focused=!1,this.errorMessage=""),this.ezChange.emit(null===i?void 0:i)}}}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}changeValue(t){const e=n.validateDate(this.value),i=n.validateDate(t);(null==e?void 0:e.getTime())!==(null==i?void 0:i.getTime())&&(this.value=i)}showCalendar(){this.handleBlur(),this._calendar.value=this.value,this._calendar.fitVertical(this.errorMessage||"slim"===this.mode?6:-13,this._elem.clientHeight)}hideCalendar(){this.changeValue(this._calendar.value),this._calendar.hide()}handleBlur(){const t=this._textInput.value,e=n.strToDate(t);if(e||!t){this.errorMessage="";const t=n.validateDate(this.value),i=n.validateDate(e);(null==t?void 0:t.getTime())===(null==i?void 0:i.getTime())?(i&&(this._textInput.value=this.getTextValue(i)||"",this._focused=!1),this.ezCancelWaitingChange.emit()):this.changeValue(i)}else this.changeValue(void 0),this.ezCancelWaitingChange.emit(),this.errorMessage="O valor digitado não é uma data válida"}getTextValue(t){return t?new Intl.DateTimeFormat("pt-BR").format(t):void 0}handleInput(t){const e=n.strToDate(this._textInput.value),i=n.validateDate(this.value),s=n.validateDate(e);(null==i?void 0:i.getTime())!==(null==s?void 0:s.getTime())&&(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)}componentDidLoad(){r.applyVarsTextInput(this._elem,this._textInput),this.setInputValue()}render(){return o.addIDInfoIfNotExists(this._elem,"input"),i(s,null,i("ez-text-input",{"data-element-id":o.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},i("button",{disabled:!this.enabled,tabindex:-1,class:"btn-open-cal",onClick:()=>this.showCalendar(),slot:"leftIcon"})),i("ez-calendar",{"data-element-id":o.getInternalIDInfo("calendar"),onEzChange:t=>{this.hideCalendar(),t.stopPropagation()},floating:!0,ref:t=>this._calendar=t}))}get _elem(){return a(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};h.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:unset}.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{h as ez_date_input}
@@ -1 +0,0 @@
1
- import{h as e,r as l,H as a,g as n}from"./p-00ea9b50.js";import{UserInterface as d,ElementIDUtils as o}from"@sankhyalabs/core";import{R as t}from"./p-3f4ae3a3.js";import{C as i}from"./p-b853763b.js";function s(l,a,n,d=!1){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large"},e("ez-check",{enabled:!n,label:a,mode:d?i.SWITCH:i.REGULAR,"data-field-name":l,key:l}))}function r(l,a,n,d,o){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-number-input",{enabled:!n,label:a,precision:d,prettyPrecision:o,"data-field-name":l,key:l}))}const z=({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-text-input",{label:a,"data-field-name":l,key:l,enabled:!n})),c=new Map;c.set(d.CHECKBOX,(e=>s(e.name,e.label,e.readOnly,!1))),c.set(d.SWITCH,(e=>s(e.name,e.label,e.readOnly,!0))),c.set(d.OPTIONSELECTOR,(({name:l,label:a,readOnly:n,required:d,props:o})=>{const t=null==o?void 0:o.options;let i;if("string"==typeof t){const e=JSON.parse(t);i=Object.keys(e).map((l=>({value:l,label:e[l]})))}else i=t;return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-combo-box",{enabled:!n,suppressEmptyOption:d,label:a,"data-field-name":l,key:l,options:i}))})),c.set(d.DATE,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.TIME,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-time-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.DATETIME,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-time-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.FILE,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-upload",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.DECIMALNUMBER,(({name:e,label:l,readOnly:a,props:n})=>{const d=Number((null==n?void 0:n.precision)||2);return r(e,l,a,d,Number((null==n?void 0:n.prettyPrecision)||d))})),c.set(d.INTEGERNUMBER,(({name:e,label:l,readOnly:a})=>r(e,l,a,0,0))),c.set(d.SEARCH,(({name:l,label:a,readOnly:n,required:d})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-search",{enabled:!n,suppressEmptyOption:d,label:a,"data-field-name":l,key:l})))),c.set(d.LONGTEXT,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small",key:l},e("ez-text-area",{enabled:!n,label:a,"data-field-name":l}))));const b=e=>{const l=c.get(e.userInterface)||z,a=e.required?`${e.label}${t}`:e.label;return l(Object.assign(Object.assign({},e),{label:a}))},m=class{constructor(e){l(this,e),this.fields=void 0}groupFields(e){const l=new Map;return e.forEach((e=>{const a=e.group;if(a){let n=l.get(a);null==n&&(n=[],l.set(a,n)),n.push(e)}else l.set(e.name,e)})),l}render(){if(o.addIDInfoIfNotExists(this._element,"ezFormView"),null!=this.fields)return e(a,null,Array.from(this.groupFields(this.fields).entries()).map((([l,a])=>Array.isArray(a)?e("ez-collapsible-box",{id:`group-${l}`,label:l,"header-size":"large",key:l},a.map((e=>b(e)))):b(a))))}get _element(){return n(this)}};m.style=".sc-ez-form-view-h{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}";export{m as ez_form_view}