@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-08202.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 (531) hide show
  1. package/README.md +78 -0
  2. package/dist/assets/actions-sprite.svg +257 -0
  3. package/dist/cjs/ApplicationUtils-2e444734.js +162 -0
  4. package/dist/cjs/CSSVarsUtils-b136a156.js +77 -0
  5. package/dist/cjs/CheckMode-ecb90b87.js +7 -0
  6. package/dist/cjs/DialogType-2114c337.js +9 -0
  7. package/dist/cjs/EzScrollDirection-b2c99895.js +8 -0
  8. package/dist/cjs/RecordValidationProcessor-edd23705.js +102 -0
  9. package/dist/cjs/constants-3a1d64fb.js +7 -0
  10. package/dist/cjs/ez-actions-button.cjs.entry.js +212 -0
  11. package/dist/cjs/ez-alert.cjs.entry.js +30 -0
  12. package/dist/cjs/ez-application.cjs.entry.js +26 -0
  13. package/dist/cjs/ez-badge.cjs.entry.js +120 -0
  14. package/dist/cjs/ez-breadcrumb.cjs.entry.js +285 -0
  15. package/dist/cjs/ez-button.cjs.entry.js +87 -0
  16. package/dist/cjs/ez-calendar.cjs.entry.js +238 -0
  17. package/dist/cjs/ez-card-item.cjs.entry.js +52 -0
  18. package/dist/cjs/ez-check.cjs.entry.js +95 -0
  19. package/dist/cjs/ez-chip.cjs.entry.js +116 -0
  20. package/dist/cjs/ez-collapsible-box.cjs.entry.js +133 -0
  21. package/dist/cjs/ez-combo-box.cjs.entry.js +690 -0
  22. package/dist/cjs/ez-date-input.cjs.entry.js +188 -0
  23. package/dist/cjs/ez-date-time-input.cjs.entry.js +242 -0
  24. package/dist/cjs/ez-dialog.cjs.entry.js +180 -0
  25. package/dist/cjs/ez-dropdown.cjs.entry.js +515 -0
  26. package/dist/cjs/ez-file-item.cjs.entry.js +74 -0
  27. package/dist/cjs/ez-filter-input_2.cjs.entry.js +137 -0
  28. package/dist/cjs/ez-form-view.cjs.entry.js +191 -0
  29. package/dist/cjs/ez-form.cjs.entry.js +933 -0
  30. package/dist/cjs/ez-grid.cjs.entry.js +120838 -0
  31. package/dist/cjs/ez-guide-navigator.cjs.entry.js +96 -0
  32. package/dist/cjs/ez-icon.cjs.entry.js +44 -0
  33. package/dist/cjs/ez-list.cjs.entry.js +558 -0
  34. package/dist/cjs/ez-loading-bar.cjs.entry.js +32 -0
  35. package/dist/cjs/ez-modal-container.cjs.entry.js +64 -0
  36. package/dist/cjs/ez-modal.cjs.entry.js +72 -0
  37. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +183 -0
  38. package/dist/cjs/ez-number-input.cjs.entry.js +181 -0
  39. package/dist/cjs/ez-popover.cjs.entry.js +156 -0
  40. package/dist/cjs/ez-popup.cjs.entry.js +66 -0
  41. package/dist/cjs/ez-radio-button.cjs.entry.js +48 -0
  42. package/dist/cjs/ez-scroller_3.cjs.entry.js +792 -0
  43. package/dist/cjs/ez-search.cjs.entry.js +96 -0
  44. package/dist/cjs/ez-skeleton.cjs.entry.js +67 -0
  45. package/dist/cjs/ez-tabselector.cjs.entry.js +228 -0
  46. package/dist/cjs/ez-text-area.cjs.entry.js +179 -0
  47. package/dist/cjs/ez-text-edit.cjs.entry.js +107 -0
  48. package/dist/cjs/ez-text-input.cjs.entry.js +247 -0
  49. package/dist/cjs/ez-time-input.cjs.entry.js +168 -0
  50. package/dist/cjs/ez-toast.cjs.entry.js +101 -0
  51. package/dist/cjs/ez-upload.cjs.entry.js +395 -0
  52. package/dist/cjs/ez-view-stack.cjs.entry.js +86 -0
  53. package/dist/cjs/ezui.cjs.js +23 -0
  54. package/dist/cjs/filter-column.cjs.entry.js +151 -0
  55. package/dist/cjs/index-1064511f.js +2340 -0
  56. package/dist/cjs/index.cjs.js +2 -0
  57. package/dist/cjs/loader.cjs.js +22 -0
  58. package/dist/collection/collection-manifest.json +184 -0
  59. package/dist/collection/components/assets/actions-sprite.svg +257 -0
  60. package/dist/collection/components/ez-actions-button/ez-actions-button.css +139 -0
  61. package/dist/collection/components/ez-actions-button/ez-actions-button.js +440 -0
  62. package/dist/collection/components/ez-alert/ez-alert.css +76 -0
  63. package/dist/collection/components/ez-alert/ez-alert.js +53 -0
  64. package/dist/collection/components/ez-application/ez-application.css +3 -0
  65. package/dist/collection/components/ez-application/ez-application.js +41 -0
  66. package/dist/collection/components/ez-badge/enum/sizes.js +9 -0
  67. package/dist/collection/components/ez-badge/ez-badge.css +165 -0
  68. package/dist/collection/components/ez-badge/ez-badge.js +211 -0
  69. package/dist/collection/components/ez-badge/interfaces/IPosition.js +1 -0
  70. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.css +66 -0
  71. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.js +373 -0
  72. package/dist/collection/components/ez-breadcrumb/subcomponents/breadcrumb-item.js +20 -0
  73. package/dist/collection/components/ez-button/ez-button.css +255 -0
  74. package/dist/collection/components/ez-button/ez-button.js +241 -0
  75. package/dist/collection/components/ez-calendar/ez-calendar.css +318 -0
  76. package/dist/collection/components/ez-calendar/ez-calendar.js +439 -0
  77. package/dist/collection/components/ez-card-item/ez-card-item.css +126 -0
  78. package/dist/collection/components/ez-card-item/ez-card-item.js +97 -0
  79. package/dist/collection/components/ez-check/CheckMode.js +5 -0
  80. package/dist/collection/components/ez-check/ez-check.css +366 -0
  81. package/dist/collection/components/ez-check/ez-check.js +272 -0
  82. package/dist/collection/components/ez-chip/ez-chip.css +163 -0
  83. package/dist/collection/components/ez-chip/ez-chip.js +312 -0
  84. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +254 -0
  85. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +442 -0
  86. package/dist/collection/components/ez-combo-box/ez-combo-box.css +334 -0
  87. package/dist/collection/components/ez-combo-box/ez-combo-box.js +1125 -0
  88. package/dist/collection/components/ez-date-input/ez-date-input.css +49 -0
  89. package/dist/collection/components/ez-date-input/ez-date-input.js +432 -0
  90. package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +44 -0
  91. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +504 -0
  92. package/dist/collection/components/ez-dialog/DialogType.js +7 -0
  93. package/dist/collection/components/ez-dialog/ez-dialog.css +544 -0
  94. package/dist/collection/components/ez-dialog/ez-dialog.js +401 -0
  95. package/dist/collection/components/ez-dropdown/ez-dropdown.css +349 -0
  96. package/dist/collection/components/ez-dropdown/ez-dropdown.js +356 -0
  97. package/dist/collection/components/ez-dropdown/structure/DropdownItem.js +30 -0
  98. package/dist/collection/components/ez-dropdown/structure/SubmenuControl.js +241 -0
  99. package/dist/collection/components/ez-file-item/ez-file-item.css +125 -0
  100. package/dist/collection/components/ez-file-item/ez-file-item.js +200 -0
  101. package/dist/collection/components/ez-filter-input/ez-filter-input.css +4 -0
  102. package/dist/collection/components/ez-filter-input/ez-filter-input.js +407 -0
  103. package/dist/collection/components/ez-form/ez-form.css +10 -0
  104. package/dist/collection/components/ez-form/ez-form.js +237 -0
  105. package/dist/collection/components/ez-form/store/form.slice.js +42 -0
  106. package/dist/collection/components/ez-form-view/ez-form-view.css +6 -0
  107. package/dist/collection/components/ez-form-view/ez-form-view.js +154 -0
  108. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +30 -0
  109. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +11 -0
  110. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +13 -0
  111. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +10 -0
  112. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +11 -0
  113. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +12 -0
  114. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +4 -0
  115. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +4 -0
  116. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +4 -0
  117. package/dist/collection/components/ez-form-view/interfaces/IFormViewField.js +1 -0
  118. package/dist/collection/components/ez-form-view/interfaces/index.js +1 -0
  119. package/dist/collection/components/ez-form-view/structure/index.js +29 -0
  120. package/dist/collection/components/ez-grid/controller/EzGridController.js +1 -0
  121. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +791 -0
  122. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridUtils.js +8 -0
  123. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +101 -0
  124. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +230 -0
  125. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +88 -0
  126. package/dist/collection/components/ez-grid/controller/ag-grid/components/cellRendererStatus.js +43 -0
  127. package/dist/collection/components/ez-grid/controller/ag-grid/components/selectionHeader.js +40 -0
  128. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +49 -0
  129. package/dist/collection/components/ez-grid/controller/ag-grid/editor/GridEditorUtils.js +10 -0
  130. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IEditorMetadata.js +4 -0
  131. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IUICellEditor.js +1 -0
  132. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +38 -0
  133. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +40 -0
  134. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +20 -0
  135. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +15 -0
  136. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +41 -0
  137. package/dist/collection/components/ez-grid/controller/ag-grid/i18n/pt-BR.js +75 -0
  138. package/dist/collection/components/ez-grid/controller/ag-grid/mock/Server.js +69 -0
  139. package/dist/collection/components/ez-grid/ez-grid.css +97 -0
  140. package/dist/collection/components/ez-grid/ez-grid.js +833 -0
  141. package/dist/collection/components/ez-grid/interfaces/ISelection.js +1 -0
  142. package/dist/collection/components/ez-grid/interfaces/ISelectionToastConfig.js +1 -0
  143. package/dist/collection/components/ez-grid/interfaces/index.js +2 -0
  144. package/dist/collection/components/ez-grid/subcomponents/filter-column.css +34 -0
  145. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +377 -0
  146. package/dist/collection/components/ez-grid/subcomponents/selection-counter.js +29 -0
  147. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +78 -0
  148. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.css +66 -0
  149. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +385 -0
  150. package/dist/collection/components/ez-guide-navigator/interfaces/IGuideItem.js +1 -0
  151. package/dist/collection/components/ez-guide-navigator/interfaces/index.js +1 -0
  152. package/dist/collection/components/ez-icon/ez-icon.css +223 -0
  153. package/dist/collection/components/ez-icon/ez-icon.js +101 -0
  154. package/dist/collection/components/ez-list/ez-list.css +434 -0
  155. package/dist/collection/components/ez-list/ez-list.js +911 -0
  156. package/dist/collection/components/ez-loading-bar/ez-loading-bar.css +85 -0
  157. package/dist/collection/components/ez-loading-bar/ez-loading-bar.js +74 -0
  158. package/dist/collection/components/ez-modal/ez-modal.css +369 -0
  159. package/dist/collection/components/ez-modal/ez-modal.js +239 -0
  160. package/dist/collection/components/ez-modal-container/ez-modal-container.css +55 -0
  161. package/dist/collection/components/ez-modal-container/ez-modal-container.js +191 -0
  162. package/dist/collection/components/ez-modal-container/index.js +2 -0
  163. package/dist/collection/components/ez-modal-container/modal-action.js +8 -0
  164. package/dist/collection/components/ez-modal-container/modal-button-status.js +7 -0
  165. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.css +36 -0
  166. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +338 -0
  167. package/dist/collection/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.js +1 -0
  168. package/dist/collection/components/ez-multi-selection-list/interfaces/IMultiSelectionOption.js +1 -0
  169. package/dist/collection/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.css +18 -0
  170. package/dist/collection/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.js +41 -0
  171. package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
  172. package/dist/collection/components/ez-number-input/ez-number-input.js +457 -0
  173. package/dist/collection/components/ez-popover/ez-popover.css +42 -0
  174. package/dist/collection/components/ez-popover/ez-popover.js +365 -0
  175. package/dist/collection/components/ez-popup/ez-popup.css +418 -0
  176. package/dist/collection/components/ez-popup/ez-popup.js +180 -0
  177. package/dist/collection/components/ez-radio-button/ez-radio-button.css +217 -0
  178. package/dist/collection/components/ez-radio-button/ez-radio-button.js +163 -0
  179. package/dist/collection/components/ez-scroller/EzScrollDirection.js +6 -0
  180. package/dist/collection/components/ez-scroller/ez-scroller.css +192 -0
  181. package/dist/collection/components/ez-scroller/ez-scroller.js +293 -0
  182. package/dist/collection/components/ez-search/ez-search.css +3 -0
  183. package/dist/collection/components/ez-search/ez-search.js +462 -0
  184. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +63 -0
  185. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +47 -0
  186. package/dist/collection/components/ez-skeleton/ez-skeleton.constants.js +1 -0
  187. package/dist/collection/components/ez-skeleton/ez-skeleton.css +94 -0
  188. package/dist/collection/components/ez-skeleton/ez-skeleton.js +211 -0
  189. package/dist/collection/components/ez-tabselector/ez-tabselector.css +149 -0
  190. package/dist/collection/components/ez-tabselector/ez-tabselector.js +321 -0
  191. package/dist/collection/components/ez-text-area/ez-text-area.css +242 -0
  192. package/dist/collection/components/ez-text-area/ez-text-area.js +428 -0
  193. package/dist/collection/components/ez-text-edit/ez-text-edit.css +19 -0
  194. package/dist/collection/components/ez-text-edit/ez-text-edit.js +202 -0
  195. package/dist/collection/components/ez-text-input/ez-text-input.css +301 -0
  196. package/dist/collection/components/ez-text-input/ez-text-input.js +491 -0
  197. package/dist/collection/components/ez-time-input/ez-time-input.css +14 -0
  198. package/dist/collection/components/ez-time-input/ez-time-input.js +412 -0
  199. package/dist/collection/components/ez-toast/ez-toast.css +167 -0
  200. package/dist/collection/components/ez-toast/ez-toast.js +209 -0
  201. package/dist/collection/components/ez-tree/ez-tree.css +159 -0
  202. package/dist/collection/components/ez-tree/ez-tree.js +696 -0
  203. package/dist/collection/components/ez-tree/interfaces/ITree.js +1 -0
  204. package/dist/collection/components/ez-tree/interfaces/ITreeItem.js +1 -0
  205. package/dist/collection/components/ez-tree/subcomponents/DefaultIconResolver.js +8 -0
  206. package/dist/collection/components/ez-tree/subcomponents/DefaultTooltipResolver.js +3 -0
  207. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +24 -0
  208. package/dist/collection/components/ez-tree/subcomponents/index.js +2 -0
  209. package/dist/collection/components/ez-tree/types/Node.js +110 -0
  210. package/dist/collection/components/ez-tree/types/Tree.js +132 -0
  211. package/dist/collection/components/ez-upload/RemoteFile.js +94 -0
  212. package/dist/collection/components/ez-upload/ez-upload.css +582 -0
  213. package/dist/collection/components/ez-upload/ez-upload.js +587 -0
  214. package/dist/collection/components/ez-view-stack/ez-view-stack.css +9 -0
  215. package/dist/collection/components/ez-view-stack/ez-view-stack.js +126 -0
  216. package/dist/collection/index.js +1 -0
  217. package/dist/collection/servidor.js +101 -0
  218. package/dist/collection/setupTests.js +1 -0
  219. package/dist/collection/utils/ApplicationUtils.js +94 -0
  220. package/dist/collection/utils/AssetsUtils.js +19 -0
  221. package/dist/collection/utils/CSSVarsUtils.js +73 -0
  222. package/dist/collection/utils/constants.js +3 -0
  223. package/dist/collection/utils/form/DataBinder.js +287 -0
  224. package/dist/collection/utils/form/FormMetadata.js +176 -0
  225. package/dist/collection/utils/form/index.js +2 -0
  226. package/dist/collection/utils/form/interfaces/IDefaultConfig.js +1 -0
  227. package/dist/collection/utils/form/interfaces/IFormCardConfig.js +1 -0
  228. package/dist/collection/utils/form/interfaces/IFormConfig.js +1 -0
  229. package/dist/collection/utils/form/interfaces/IFormSheetMetadata.js +1 -0
  230. package/dist/collection/utils/form/interfaces/ISummaryField.js +1 -0
  231. package/dist/collection/utils/form/interfaces/ITabConfig.js +1 -0
  232. package/dist/collection/utils/form/interfaces/index.js +1 -0
  233. package/dist/collection/utils/index.js +6 -0
  234. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +21 -0
  235. package/dist/collection/utils/interfaces/IFieldConfig.js +1 -0
  236. package/dist/collection/utils/mock/ez-upload-mock.js +30 -0
  237. package/dist/collection/utils/utils.js +6 -0
  238. package/dist/collection/utils/validators/recordvalidator/IInvalidField.js +1 -0
  239. package/dist/collection/utils/validators/recordvalidator/IRecordValidator.js +1 -0
  240. package/dist/collection/utils/validators/recordvalidator/IValidationResult.js +1 -0
  241. package/dist/collection/utils/validators/recordvalidator/IValidationSource.js +1 -0
  242. package/dist/collection/utils/validators/recordvalidator/RecordValidationProcessor.js +74 -0
  243. package/dist/custom-elements/index.d.ts +321 -0
  244. package/dist/custom-elements/index.js +129655 -0
  245. package/dist/esm/ApplicationUtils-d9a34a16.js +160 -0
  246. package/dist/esm/CSSVarsUtils-a97cfa29.js +75 -0
  247. package/dist/esm/CheckMode-bdb2ec19.js +7 -0
  248. package/dist/esm/DialogType-54a62731.js +9 -0
  249. package/dist/esm/EzScrollDirection-2df26c93.js +8 -0
  250. package/dist/esm/RecordValidationProcessor-abc814af.js +99 -0
  251. package/dist/esm/constants-6dab64f7.js +4 -0
  252. package/dist/esm/ez-actions-button.entry.js +208 -0
  253. package/dist/esm/ez-alert.entry.js +26 -0
  254. package/dist/esm/ez-application.entry.js +22 -0
  255. package/dist/esm/ez-badge.entry.js +116 -0
  256. package/dist/esm/ez-breadcrumb.entry.js +281 -0
  257. package/dist/esm/ez-button.entry.js +83 -0
  258. package/dist/esm/ez-calendar.entry.js +234 -0
  259. package/dist/esm/ez-card-item.entry.js +48 -0
  260. package/dist/esm/ez-check.entry.js +91 -0
  261. package/dist/esm/ez-chip.entry.js +112 -0
  262. package/dist/esm/ez-collapsible-box.entry.js +129 -0
  263. package/dist/esm/ez-combo-box.entry.js +686 -0
  264. package/dist/esm/ez-date-input.entry.js +184 -0
  265. package/dist/esm/ez-date-time-input.entry.js +238 -0
  266. package/dist/esm/ez-dialog.entry.js +176 -0
  267. package/dist/esm/ez-dropdown.entry.js +511 -0
  268. package/dist/esm/ez-file-item.entry.js +70 -0
  269. package/dist/esm/ez-filter-input_2.entry.js +132 -0
  270. package/dist/esm/ez-form-view.entry.js +187 -0
  271. package/dist/esm/ez-form.entry.js +929 -0
  272. package/dist/esm/ez-grid.entry.js +120834 -0
  273. package/dist/esm/ez-guide-navigator.entry.js +92 -0
  274. package/dist/esm/ez-icon.entry.js +40 -0
  275. package/dist/esm/ez-list.entry.js +554 -0
  276. package/dist/esm/ez-loading-bar.entry.js +28 -0
  277. package/dist/esm/ez-modal-container.entry.js +60 -0
  278. package/dist/esm/ez-modal.entry.js +68 -0
  279. package/dist/esm/ez-multi-selection-list.entry.js +179 -0
  280. package/dist/esm/ez-number-input.entry.js +177 -0
  281. package/dist/esm/ez-popover.entry.js +152 -0
  282. package/dist/esm/ez-popup.entry.js +62 -0
  283. package/dist/esm/ez-radio-button.entry.js +44 -0
  284. package/dist/esm/ez-scroller_3.entry.js +786 -0
  285. package/dist/esm/ez-search.entry.js +92 -0
  286. package/dist/esm/ez-skeleton.entry.js +63 -0
  287. package/dist/esm/ez-tabselector.entry.js +224 -0
  288. package/dist/esm/ez-text-area.entry.js +175 -0
  289. package/dist/esm/ez-text-edit.entry.js +103 -0
  290. package/dist/esm/ez-text-input.entry.js +243 -0
  291. package/dist/esm/ez-time-input.entry.js +164 -0
  292. package/dist/esm/ez-toast.entry.js +97 -0
  293. package/dist/esm/ez-upload.entry.js +391 -0
  294. package/dist/esm/ez-view-stack.entry.js +82 -0
  295. package/dist/esm/ezui.js +18 -0
  296. package/dist/esm/filter-column.entry.js +147 -0
  297. package/dist/esm/index-296b8458.js +2309 -0
  298. package/dist/esm/index.js +1 -0
  299. package/dist/esm/loader.js +18 -0
  300. package/dist/esm/polyfills/core-js.js +11 -0
  301. package/dist/esm/polyfills/css-shim.js +1 -0
  302. package/dist/esm/polyfills/dom.js +79 -0
  303. package/dist/esm/polyfills/es5-html-element.js +1 -0
  304. package/dist/esm/polyfills/index.js +34 -0
  305. package/dist/esm/polyfills/system.js +6 -0
  306. package/dist/ezui/ezui.esm.js +1 -0
  307. package/dist/ezui/index.esm.js +0 -0
  308. package/dist/ezui/p-028f264f.entry.js +1 -0
  309. package/dist/ezui/p-050247dc.entry.js +1 -0
  310. package/dist/ezui/p-061f4d73.entry.js +1 -0
  311. package/dist/ezui/p-1e7c4986.entry.js +1 -0
  312. package/dist/ezui/p-244dfe8a.entry.js +1 -0
  313. package/dist/ezui/p-25562cf8.entry.js +1 -0
  314. package/dist/ezui/p-27a01a26.js +1 -0
  315. package/dist/ezui/p-2da09f70.entry.js +1 -0
  316. package/dist/ezui/p-32b4163f.entry.js +1 -0
  317. package/dist/ezui/p-37673563.entry.js +1 -0
  318. package/dist/ezui/p-391de0e4.entry.js +1 -0
  319. package/dist/ezui/p-5ce6548c.entry.js +1 -0
  320. package/dist/ezui/p-5cef0264.entry.js +1 -0
  321. package/dist/ezui/p-5d6f2550.entry.js +1 -0
  322. package/dist/ezui/p-5e55a42b.entry.js +1 -0
  323. package/dist/ezui/p-60ba28ea.entry.js +1 -0
  324. package/dist/ezui/p-68352e41.entry.js +1 -0
  325. package/dist/ezui/p-6ab2f7c2.entry.js +1 -0
  326. package/dist/ezui/p-7525e604.entry.js +1 -0
  327. package/dist/ezui/p-7526f2b6.entry.js +1 -0
  328. package/dist/ezui/p-7eb3e1a5.js +1 -0
  329. package/dist/ezui/p-83885b21.entry.js +1 -0
  330. package/dist/ezui/p-86a2036d.js +1 -0
  331. package/dist/ezui/p-87e85160.entry.js +1 -0
  332. package/dist/ezui/p-8bd3903b.entry.js +1 -0
  333. package/dist/ezui/p-8fdff9cd.entry.js +1 -0
  334. package/dist/ezui/p-9285b53e.entry.js +1 -0
  335. package/dist/ezui/p-95426f93.entry.js +1 -0
  336. package/dist/ezui/p-964e5571.entry.js +304 -0
  337. package/dist/ezui/p-98bb8b16.js +1 -0
  338. package/dist/ezui/p-9b347f04.entry.js +1 -0
  339. package/dist/ezui/p-a01068e1.entry.js +1 -0
  340. package/dist/ezui/p-a510a4c5.entry.js +1 -0
  341. package/dist/ezui/p-a5e09759.entry.js +1 -0
  342. package/dist/ezui/p-ab574d59.js +1 -0
  343. package/dist/ezui/p-b11f035c.entry.js +1 -0
  344. package/dist/ezui/p-b853763b.js +1 -0
  345. package/dist/ezui/p-c49dbf23.entry.js +1 -0
  346. package/dist/ezui/p-ccb4ccd9.entry.js +1 -0
  347. package/dist/ezui/p-cd19a6f8.entry.js +1 -0
  348. package/dist/ezui/p-ce035beb.entry.js +1 -0
  349. package/dist/ezui/p-d43b22f3.entry.js +1 -0
  350. package/dist/ezui/p-d51aa09b.entry.js +1 -0
  351. package/dist/ezui/p-db528b31.entry.js +1 -0
  352. package/dist/ezui/p-e2dfd935.entry.js +1 -0
  353. package/dist/ezui/p-e318d280.js +2 -0
  354. package/dist/ezui/p-e67d0bd5.entry.js +1 -0
  355. package/dist/ezui/p-e7fa0ad6.entry.js +1 -0
  356. package/dist/ezui/p-f15ec3bb.js +1 -0
  357. package/dist/ezui/p-f4208819.entry.js +1 -0
  358. package/dist/ezui/p-fa571a4e.entry.js +1 -0
  359. package/dist/ezui/p-ff82b176.entry.js +1 -0
  360. package/dist/index.cjs.js +1 -0
  361. package/dist/index.js +1 -0
  362. package/dist/types/components/ez-actions-button/ez-actions-button.d.ts +82 -0
  363. package/dist/types/components/ez-alert/ez-alert.d.ts +10 -0
  364. package/dist/types/components/ez-application/ez-application.d.ts +10 -0
  365. package/dist/types/components/ez-badge/enum/sizes.d.ts +8 -0
  366. package/dist/types/components/ez-badge/ez-badge.d.ts +35 -0
  367. package/dist/types/components/ez-badge/interfaces/IPosition.d.ts +4 -0
  368. package/dist/types/components/ez-breadcrumb/ez-breadcrumb.d.ts +71 -0
  369. package/dist/types/components/ez-breadcrumb/subcomponents/breadcrumb-item.d.ts +13 -0
  370. package/dist/types/components/ez-button/ez-button.d.ts +41 -0
  371. package/dist/types/components/ez-calendar/ez-calendar.d.ts +74 -0
  372. package/dist/types/components/ez-card-item/ez-card-item.d.ts +32 -0
  373. package/dist/types/components/ez-check/CheckMode.d.ts +4 -0
  374. package/dist/types/components/ez-check/ez-check.d.ts +49 -0
  375. package/dist/types/components/ez-chip/ez-chip.d.ts +60 -0
  376. package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +91 -0
  377. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +182 -0
  378. package/dist/types/components/ez-date-input/ez-date-input.d.ts +72 -0
  379. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +80 -0
  380. package/dist/types/components/ez-dialog/DialogType.d.ts +6 -0
  381. package/dist/types/components/ez-dialog/ez-dialog.d.ts +82 -0
  382. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +60 -0
  383. package/dist/types/components/ez-dropdown/structure/DropdownItem.d.ts +28 -0
  384. package/dist/types/components/ez-dropdown/structure/SubmenuControl.d.ts +78 -0
  385. package/dist/types/components/ez-file-item/ez-file-item.d.ts +36 -0
  386. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +77 -0
  387. package/dist/types/components/ez-form/ez-form.d.ts +47 -0
  388. package/dist/types/components/ez-form/store/form.slice.d.ts +27 -0
  389. package/dist/types/components/ez-form-view/ez-form-view.d.ts +22 -0
  390. package/dist/types/components/ez-form-view/fieldbuilder/FieldBuilder.d.ts +2 -0
  391. package/dist/types/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.d.ts +3 -0
  392. package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +2 -0
  393. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +4 -0
  394. package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +2 -0
  395. package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +3 -0
  396. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +2 -0
  397. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +2 -0
  398. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +2 -0
  399. package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +3 -0
  400. package/dist/types/components/ez-form-view/interfaces/index.d.ts +1 -0
  401. package/dist/types/components/ez-form-view/structure/index.d.ts +14 -0
  402. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +287 -0
  403. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +89 -0
  404. package/dist/types/components/ez-grid/controller/ag-grid/AgGridUtils.d.ts +1 -0
  405. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +20 -0
  406. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +38 -0
  407. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +32 -0
  408. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +11 -0
  409. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +12 -0
  410. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +10 -0
  411. package/dist/types/components/ez-grid/controller/ag-grid/editor/GridEditorUtils.d.ts +1 -0
  412. package/dist/types/components/ez-grid/controller/ag-grid/editor/IEditorMetadata.d.ts +9 -0
  413. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +10 -0
  414. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.d.ts +4 -0
  415. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.d.ts +5 -0
  416. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.d.ts +4 -0
  417. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.d.ts +3 -0
  418. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.d.ts +4 -0
  419. package/dist/types/components/ez-grid/controller/ag-grid/i18n/pt-BR.d.ts +2 -0
  420. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +8 -0
  421. package/dist/types/components/ez-grid/ez-grid.d.ts +139 -0
  422. package/dist/types/components/ez-grid/interfaces/ISelection.d.ts +3 -0
  423. package/dist/types/components/ez-grid/interfaces/ISelectionToastConfig.d.ts +3 -0
  424. package/dist/types/components/ez-grid/interfaces/index.d.ts +2 -0
  425. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +57 -0
  426. package/dist/types/components/ez-grid/subcomponents/selection-counter.d.ts +15 -0
  427. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +16 -0
  428. package/dist/types/components/ez-guide-navigator/ez-guide-navigator.d.ts +64 -0
  429. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +4 -0
  430. package/dist/types/components/ez-guide-navigator/interfaces/index.d.ts +1 -0
  431. package/dist/types/components/ez-icon/ez-icon.d.ts +20 -0
  432. package/dist/types/components/ez-list/ez-list.d.ts +133 -0
  433. package/dist/types/components/ez-loading-bar/ez-loading-bar.d.ts +12 -0
  434. package/dist/types/components/ez-modal/ez-modal.d.ts +53 -0
  435. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +47 -0
  436. package/dist/types/components/ez-modal-container/index.d.ts +2 -0
  437. package/dist/types/components/ez-modal-container/modal-action.d.ts +7 -0
  438. package/dist/types/components/ez-modal-container/modal-button-status.d.ts +6 -0
  439. package/dist/types/components/ez-multi-selection-list/ez-multi-selection-list.d.ts +68 -0
  440. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.d.ts +4 -0
  441. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionOption.d.ts +4 -0
  442. package/dist/types/components/ez-multi-selection-list/subcomponents/multi-selection-box-message.d.ts +4 -0
  443. package/dist/types/components/ez-number-input/ez-number-input.d.ts +81 -0
  444. package/dist/types/components/ez-popover/ez-popover.d.ts +60 -0
  445. package/dist/types/components/ez-popup/ez-popup.d.ts +37 -0
  446. package/dist/types/components/ez-radio-button/ez-radio-button.d.ts +37 -0
  447. package/dist/types/components/ez-scroller/EzScrollDirection.d.ts +5 -0
  448. package/dist/types/components/ez-scroller/ez-scroller.d.ts +38 -0
  449. package/dist/types/components/ez-search/ez-search.d.ts +84 -0
  450. package/dist/types/components/ez-sidebar-button/ez-sidebar-button.d.ts +11 -0
  451. package/dist/types/components/ez-skeleton/ez-skeleton.constants.d.ts +1 -0
  452. package/dist/types/components/ez-skeleton/ez-skeleton.d.ts +54 -0
  453. package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +52 -0
  454. package/dist/types/components/ez-text-area/ez-text-area.d.ts +78 -0
  455. package/dist/types/components/ez-text-edit/ez-text-edit.d.ts +41 -0
  456. package/dist/types/components/ez-text-input/ez-text-input.d.ts +82 -0
  457. package/dist/types/components/ez-time-input/ez-time-input.d.ts +74 -0
  458. package/dist/types/components/ez-toast/ez-toast.d.ts +45 -0
  459. package/dist/types/components/ez-tree/ez-tree.d.ts +101 -0
  460. package/dist/types/components/ez-tree/interfaces/ITree.d.ts +5 -0
  461. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +11 -0
  462. package/dist/types/components/ez-tree/subcomponents/DefaultIconResolver.d.ts +2 -0
  463. package/dist/types/components/ez-tree/subcomponents/DefaultTooltipResolver.d.ts +2 -0
  464. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +15 -0
  465. package/dist/types/components/ez-tree/subcomponents/index.d.ts +2 -0
  466. package/dist/types/components/ez-tree/types/Node.d.ts +22 -0
  467. package/dist/types/components/ez-tree/types/Tree.d.ts +21 -0
  468. package/dist/types/components/ez-upload/RemoteFile.d.ts +14 -0
  469. package/dist/types/components/ez-upload/ez-upload.d.ts +101 -0
  470. package/dist/types/components/ez-view-stack/ez-view-stack.d.ts +25 -0
  471. package/dist/types/components.d.ts +3464 -0
  472. package/dist/types/index.d.ts +1 -0
  473. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  474. package/dist/types/utils/ApplicationUtils.d.ts +31 -0
  475. package/dist/types/utils/AssetsUtils.d.ts +1 -0
  476. package/dist/types/utils/CSSVarsUtils.d.ts +6 -0
  477. package/dist/types/utils/constants.d.ts +3 -0
  478. package/dist/types/utils/form/DataBinder.d.ts +30 -0
  479. package/dist/types/utils/form/FormMetadata.d.ts +23 -0
  480. package/dist/types/utils/form/index.d.ts +2 -0
  481. package/dist/types/utils/form/interfaces/IDefaultConfig.d.ts +5 -0
  482. package/dist/types/utils/form/interfaces/IFormCardConfig.d.ts +5 -0
  483. package/dist/types/utils/form/interfaces/IFormConfig.d.ts +13 -0
  484. package/dist/types/utils/form/interfaces/IFormSheetMetadata.d.ts +6 -0
  485. package/dist/types/utils/form/interfaces/ISummaryField.d.ts +4 -0
  486. package/dist/types/utils/form/interfaces/ITabConfig.d.ts +6 -0
  487. package/dist/types/utils/form/interfaces/index.d.ts +10 -0
  488. package/dist/types/utils/index.d.ts +6 -0
  489. package/dist/types/utils/interfaces/AbstractFieldMetadata.d.ts +17 -0
  490. package/dist/types/utils/interfaces/IFieldConfig.d.ts +13 -0
  491. package/dist/types/utils/utils.d.ts +2 -0
  492. package/dist/types/utils/validators/recordvalidator/IInvalidField.d.ts +4 -0
  493. package/dist/types/utils/validators/recordvalidator/IRecordValidator.d.ts +5 -0
  494. package/dist/types/utils/validators/recordvalidator/IValidationResult.d.ts +8 -0
  495. package/dist/types/utils/validators/recordvalidator/IValidationSource.d.ts +6 -0
  496. package/dist/types/utils/validators/recordvalidator/RecordValidationProcessor.d.ts +13 -0
  497. package/loader/cdn.js +3 -0
  498. package/loader/index.cjs.js +3 -0
  499. package/loader/index.d.ts +21 -0
  500. package/loader/index.es2017.js +3 -0
  501. package/loader/index.js +4 -0
  502. package/loader/package.json +11 -0
  503. package/package.json +93 -0
  504. package/react/.keepfolder +0 -0
  505. package/react/components.d.ts +48 -0
  506. package/react/components.js +52 -0
  507. package/react/components.js.map +1 -0
  508. package/react/react-component-lib/createComponent.d.ts +10 -0
  509. package/react/react-component-lib/createComponent.js +59 -0
  510. package/react/react-component-lib/createComponent.js.map +1 -0
  511. package/react/react-component-lib/createOverlayComponent.d.ts +20 -0
  512. package/react/react-component-lib/createOverlayComponent.js +89 -0
  513. package/react/react-component-lib/createOverlayComponent.js.map +1 -0
  514. package/react/react-component-lib/index.d.ts +2 -0
  515. package/react/react-component-lib/index.js +3 -0
  516. package/react/react-component-lib/index.js.map +1 -0
  517. package/react/react-component-lib/interfaces.d.ts +29 -0
  518. package/react/react-component-lib/interfaces.js +1 -0
  519. package/react/react-component-lib/interfaces.js.map +1 -0
  520. package/react/react-component-lib/utils/attachProps.d.ts +12 -0
  521. package/react/react-component-lib/utils/attachProps.js +96 -0
  522. package/react/react-component-lib/utils/attachProps.js.map +1 -0
  523. package/react/react-component-lib/utils/case.d.ts +2 -0
  524. package/react/react-component-lib/utils/case.js +7 -0
  525. package/react/react-component-lib/utils/case.js.map +1 -0
  526. package/react/react-component-lib/utils/dev.d.ts +2 -0
  527. package/react/react-component-lib/utils/dev.js +13 -0
  528. package/react/react-component-lib/utils/dev.js.map +1 -0
  529. package/react/react-component-lib/utils/index.d.ts +7 -0
  530. package/react/react-component-lib/utils/index.js +21 -0
  531. package/react/react-component-lib/utils/index.js.map +1 -0
@@ -0,0 +1,515 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-1064511f.js');
6
+ const core = require('@sankhyalabs/core');
7
+
8
+ const DropdownItem = ({ item, hasIcon, hasChildren, isLockedLevels, onSubActionClick }) => {
9
+ return (index.h("div", { class: "ez-dropdown__item-wrapper", title: item.label },
10
+ getContentLeft(item, hasIcon),
11
+ index.h("span", { class: "ez-dropdown__item-label" }, item.label),
12
+ getContentRight(item, hasChildren, isLockedLevels, onSubActionClick)));
13
+ };
14
+ const getContentLeft = (item, hasIcon) => {
15
+ if (item == undefined || !hasIcon) {
16
+ return;
17
+ }
18
+ if (item.iconName) {
19
+ return (index.h("ez-icon", Object.assign({ class: "ez-dropdown__icon-left", iconName: item.iconName, size: "medium" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${item.id}_ezDropdownItemIcon` })));
20
+ }
21
+ return (index.h("ez-icon", { class: "ez-dropdown__icon-left ez-dropdown__hidden", size: "medium" }));
22
+ };
23
+ const getContentRight = (item, hasChildren, isLockedLevels, onClick) => {
24
+ var _a, _b;
25
+ if (item == undefined) {
26
+ return;
27
+ }
28
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) && item.subAction != undefined && Object.keys(item.subAction).length > 0) {
29
+ return (index.h("span", Object.assign({ onClick: () => onClick(item), title: item.subAction.label, class: `ez-dropdown__link ez-dropdown__link--${item.subAction.type || "primary"}` }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${item.subAction.id}_ezDropdownItemSubAction` }), item.subAction.label));
30
+ }
31
+ if (isLockedLevels || !hasChildren) {
32
+ return;
33
+ }
34
+ if (((_b = item.children) === null || _b === void 0 ? void 0 : _b.length) > 0) {
35
+ return (index.h("ez-icon", Object.assign({ class: "ez-dropdown__icon-right", iconName: "chevron-right", size: "medium" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${item.id}_ezDropdownIconOpenChildren` })));
36
+ }
37
+ return (index.h("ez-icon", { class: "ez-dropdown__icon-right ez-dropdown__hidden", size: "medium" }));
38
+ };
39
+
40
+ class SubmenuControl {
41
+ constructor() { }
42
+ //---------------------------------------------
43
+ // Public methods
44
+ //---------------------------------------------
45
+ /**
46
+ * Método responsável por fechar submenus abertos e abrir o submenu desejado.
47
+ * @param menu - Item de menu selecionado para abrir o submenu.
48
+ */
49
+ show(menu) {
50
+ const submenu = menu === null || menu === void 0 ? void 0 : menu.querySelector(".ez-dropdown__submenu");
51
+ if (menu == undefined || submenu == undefined) {
52
+ return;
53
+ }
54
+ submenu.classList.remove("ez-dropdown__submenu--hide");
55
+ this.setPosition(menu);
56
+ this.setScrollContainer(menu);
57
+ this.setMaxHeight(submenu);
58
+ }
59
+ /**
60
+ * Método responsável por fechar um determinado submenu aberto.
61
+ * @param menu - Item de menu selecionado com o submenu aberto.
62
+ */
63
+ hide(menu) {
64
+ if (menu == undefined) {
65
+ return;
66
+ }
67
+ const submenuSelector = ".ez-dropdown__submenu:not(.ez-dropdown__submenu--hide)";
68
+ const submenuElement = menu.querySelector(submenuSelector);
69
+ this.reset(submenuElement);
70
+ this.hideChild(submenuElement);
71
+ }
72
+ /**
73
+ * Método responsável por fechar todos os submenus filhos de um determinado submenu.
74
+ * @param submenu - Elemento HTML do submenu pai.
75
+ */
76
+ hideChild(submenu) {
77
+ if (submenu == undefined) {
78
+ return;
79
+ }
80
+ submenu.querySelectorAll(".ez-dropdown__submenu")
81
+ .forEach((child) => {
82
+ this.reset(child);
83
+ });
84
+ }
85
+ /**
86
+ * Método responsável por posicionar o submenu na tela.
87
+ * @param menu - Item da lista selecionado para abrir o submenu.
88
+ */
89
+ setPosition(menu) {
90
+ const submenu = menu === null || menu === void 0 ? void 0 : menu.querySelector(".ez-dropdown__submenu");
91
+ const dropdown = menu === null || menu === void 0 ? void 0 : menu.closest(".ez-dropdown");
92
+ if (submenu == undefined || dropdown == undefined) {
93
+ return;
94
+ }
95
+ submenu.style.top = this.getPositionTop(menu);
96
+ submenu.style.left = this.getPositionRight(dropdown);
97
+ const bounding = submenu === null || submenu === void 0 ? void 0 : submenu.getBoundingClientRect();
98
+ const docWidth = document.body.clientWidth;
99
+ if ((bounding === null || bounding === void 0 ? void 0 : bounding.right) > docWidth) {
100
+ this.updatePosition(dropdown, submenu);
101
+ }
102
+ }
103
+ /**
104
+ * Método responsável por controlar a altura máxima do dropdown.
105
+ * @param element - Elemento HTML pai do dropdown que será renderizado.
106
+ */
107
+ setMaxHeight(element) {
108
+ var _a;
109
+ const parentElement = (element === null || element === void 0 ? void 0 : element.shadowRoot) || element;
110
+ const dropdown = parentElement === null || parentElement === void 0 ? void 0 : parentElement.querySelector(".ez-dropdown");
111
+ const docHeight = document.body.clientHeight;
112
+ let submenu;
113
+ let bounding;
114
+ if ((parentElement === null || parentElement === void 0 ? void 0 : parentElement["tagName"]) != undefined) {
115
+ submenu = parentElement;
116
+ bounding = submenu === null || submenu === void 0 ? void 0 : submenu.getBoundingClientRect();
117
+ }
118
+ else {
119
+ bounding = dropdown === null || dropdown === void 0 ? void 0 : dropdown.getBoundingClientRect();
120
+ }
121
+ if (dropdown == undefined || bounding == undefined) {
122
+ return;
123
+ }
124
+ /**
125
+ * Menu aberto irá ultrapassar a altura da página?
126
+ */
127
+ if ((bounding.y + bounding.height) > docHeight) {
128
+ /**
129
+ * Menu aberto é um submenu?
130
+ * Sim: realiza o calculo com base na altura do menu pai
131
+ * Não: recalcula a altura do menu para atualizar a barra de rolagem
132
+ */
133
+ if (submenu != undefined) {
134
+ const dropdownParent = submenu.closest(".ez-dropdown");
135
+ const boundingParent = dropdownParent === null || dropdownParent === void 0 ? void 0 : dropdownParent.getBoundingClientRect();
136
+ const marginTop = parseFloat(((_a = getComputedStyle(submenu)) === null || _a === void 0 ? void 0 : _a.marginTop) || "0");
137
+ if (dropdownParent == undefined || boundingParent == undefined) {
138
+ return;
139
+ }
140
+ /**
141
+ * Submenu aberto ao ser reposicionado ficará acima da altura do menu pai?
142
+ * Sim: posiciona o submenu na altura do menu pai e recalcula a sua altura para atualizar a barra de rolagem
143
+ * Não: posiciona o submenu entre a altura do menu pai e o rodapé da página
144
+ */
145
+ if ((boundingParent.y + bounding.height) > docHeight) {
146
+ submenu.style.top = (boundingParent.y - marginTop) + "px";
147
+ dropdown.style.maxHeight = (docHeight - boundingParent.y) + "px";
148
+ }
149
+ else {
150
+ submenu.style.top = (docHeight - bounding.height - marginTop) + "px";
151
+ }
152
+ }
153
+ else {
154
+ let maxHeight = docHeight - bounding.y;
155
+ if (maxHeight < 0) {
156
+ maxHeight = bounding.height - docHeight;
157
+ }
158
+ dropdown.style.maxHeight = maxHeight + "px";
159
+ }
160
+ }
161
+ this.setSpacerContainer(dropdown);
162
+ }
163
+ /**
164
+ * Método responsável por atribuir a classe de espaçamento entre o conteúdo e o scroll.
165
+ * @param dropdown - Elemento HTML pai do container que receberá a classe.
166
+ */
167
+ setSpacerContainer(dropdown) {
168
+ const container = dropdown === null || dropdown === void 0 ? void 0 : dropdown.querySelector(".ez-dropdown__container");
169
+ if (container == undefined) {
170
+ return;
171
+ }
172
+ if (container.scrollHeight > container.clientHeight) {
173
+ container.classList.add("ez-dropdown__container--spacer");
174
+ }
175
+ else {
176
+ container.classList.remove("ez-dropdown__container--spacer");
177
+ }
178
+ }
179
+ /**
180
+ * Método responsável por resetar um determinado submenu aberto.
181
+ * @param submenu - Elemento HTML do submenu que será resetado.
182
+ */
183
+ reset(submenu) {
184
+ if (submenu == undefined) {
185
+ return;
186
+ }
187
+ submenu.classList.add("ez-dropdown__submenu--hide");
188
+ submenu.style.left = "";
189
+ submenu.style.top = "";
190
+ const dropdown = submenu.querySelector(".ez-dropdown");
191
+ this.resetDropdown(dropdown);
192
+ }
193
+ /**
194
+ * Método responsável por resetar um determinado dropdown renderizado.
195
+ * @param dropdown - Elemento HTML do dropdown que será resetado.
196
+ */
197
+ resetDropdown(dropdown) {
198
+ if (dropdown == undefined) {
199
+ return;
200
+ }
201
+ dropdown.style.maxHeight = "";
202
+ this.setSpacerContainer(dropdown);
203
+ }
204
+ //---------------------------------------------
205
+ // Private methods
206
+ //---------------------------------------------
207
+ /**
208
+ * Método responsável por controlar o scroll do container do submenu aberto.
209
+ * @param menu - Item da lista selecionado para abrir o submenu.
210
+ */
211
+ setScrollContainer(menu) {
212
+ const container = menu === null || menu === void 0 ? void 0 : menu.closest(".ez-dropdown__container");
213
+ if (container == undefined) {
214
+ return;
215
+ }
216
+ container.onscroll = this.onScrollContainer.bind(this);
217
+ }
218
+ /**
219
+ * Método responsável por fechar os submenus filhos ao movimentar o scroll.
220
+ * @param event - Evento de scroll disparado pelo Elemento HTML pai.
221
+ */
222
+ onScrollContainer(event) {
223
+ const target = event === null || event === void 0 ? void 0 : event.target;
224
+ this.hideChild(target);
225
+ }
226
+ /**
227
+ * Método responsável por retornar a posição superior (top) de um elemento HTML na tela.
228
+ * @param hostElement - Elemento HTML que será capturado o valor de sua posição superior (top) na tela.
229
+ * @returns Valor da posição superior (top) de um determinado elemento HTML.
230
+ */
231
+ getPositionTop(hostElement) {
232
+ const boundingHost = hostElement === null || hostElement === void 0 ? void 0 : hostElement.getBoundingClientRect();
233
+ if (boundingHost == undefined) {
234
+ return;
235
+ }
236
+ return boundingHost.y + "px";
237
+ }
238
+ /**
239
+ * Método responsável por retornar a posição direita (right) de um elemento HTML na tela.
240
+ * @param hostElement - Elemento HTML que será capturado o valor de sua posição direita (right) na tela.
241
+ * @returns Valor da posição direita (right) de um determinado elemento HTML.
242
+ */
243
+ getPositionRight(hostElement) {
244
+ const boundingHost = hostElement === null || hostElement === void 0 ? void 0 : hostElement.getBoundingClientRect();
245
+ if (boundingHost == undefined) {
246
+ return;
247
+ }
248
+ return (boundingHost.x + boundingHost.width) + "px";
249
+ }
250
+ /**
251
+ * Método responsável por retornar a posição esquerda (left) de um elemento HTML desconsiderando a largura de outro elemento HTML.
252
+ * @param hostElement - Elemento HTML que será capturado o valor de sua posição esquerda (left) na tela.
253
+ * @param targetElement - Elemento HTML que será capturado o valor de sua largura (width).
254
+ * @returns Valor da posição esquerda (left) de um determinado elemento HTML desconsiderando a largura de outro elemento HTML.
255
+ */
256
+ getPositionLeft(hostElement, targetElement) {
257
+ const boundingHost = hostElement === null || hostElement === void 0 ? void 0 : hostElement.getBoundingClientRect();
258
+ const boundingTarget = targetElement === null || targetElement === void 0 ? void 0 : targetElement.getBoundingClientRect();
259
+ if (boundingHost == undefined || boundingTarget == undefined) {
260
+ return;
261
+ }
262
+ return (boundingHost.x - boundingTarget.width) + "px";
263
+ }
264
+ /**
265
+ * Método responsável por atualizar a posição de um elemento HTML que renderizou fora da tela.
266
+ * @param hostElement - Elemento HTML que será a referência de posição dentro da tela.
267
+ * @param targetElement - Elemento HTML que será reposicionado na tela.
268
+ */
269
+ updatePosition(hostElement, targetElement) {
270
+ const boundingHost = hostElement === null || hostElement === void 0 ? void 0 : hostElement.getBoundingClientRect();
271
+ const boundingTarget = targetElement === null || targetElement === void 0 ? void 0 : targetElement.getBoundingClientRect();
272
+ if (boundingHost == undefined || boundingTarget == undefined) {
273
+ return;
274
+ }
275
+ if (boundingHost.x < boundingTarget.right) {
276
+ targetElement.style.left = this.getPositionLeft(hostElement, targetElement);
277
+ this.updatePosition(hostElement, targetElement);
278
+ }
279
+ }
280
+ }
281
+
282
+ const ezDropdownCss = ":host{--ez-dropdown--z-index:var(--more-visible, 2);--ez-dropdown--padding:var(--space--small, 6px);--ez-dropdown--box-shadow:var(--shadow--medium, 0px 8px 24px rgba(0, 38, 111, 0.1));--ez-dropdown--border-radius:var(--border--radius-medium, 12px);--ez-dropdown--background-color:var(--background--xlight, #fff);--ez-dropdown--font-family:var(--font-pattern, 'Roboto');--ez-dropdown--max-width:320px;--ez-dropdown--max-height:440px;--ez-dropdown__item--padding:var(--space--small, 6px);--ez-dropdown__item--gap:var(--space--small, 6px);--ez-dropdown__item--border-radius:var(--border--radius-small, 6px);--ez-dropdown__item--color:var(--title--primary, #2b3a54);--ez-dropdown__item--font-weight:var(--text-weight--medium, 400);--ez-dropdown__item--font-size:var(--text--medium, 14px);--ez-dropdown__item--line-height:calc(var(--ez-dropdown__item--font-size) + 4px);--ez-dropdown__item--background-color:var(--background--medium, #f0f3f7);--ez-dropdown__item--transition:var(--transition, .2s linear);--ez-dropdown__item-label--margin-right:var(--space--medium, 12px);--ez-dropdown__icon--size:var(--icon--medium, 18px);--ez-dropdown__divider--background-color:var(--color--disable-secondary, #f2f5f8);--ez-dropdown__divider--margin:var(--space--extra-small, 3px) 0;--ez-dropdown__group-label--color:var(--text--secondary, #A2ABB9);--ez-dropdown__group-label--font-weight:var(--text-weight--large, 600);--ez-dropdown__group-label--font-size:var(--text--small, 12px);--ez-dropdown__group-label--line-height:var(--text--medium, 14px);--ez-dropdown__group-label--padding:var(--space--small, 6px);--ez-dropdown__submenu--z-index:var(--most-visible, 3);--ez-dropdown__link--font-weight:var(--text-weight--large, 600);--ez-dropdown__link--primary--color:var(--color--primary, #008561);--ez-dropdown__link--critical--color:var(--color-alert--error-800, #BD0025);--ez-dropdown__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-dropdown__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-dropdown__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-dropdown__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-dropdown__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-dropdown__scrollbar--width:var(--space--small, 6px);--ez-dropdown__scrollbar--padding-right:var(--space--extra-small, 3px);display:flex;flex-direction:column;height:fit-content;user-select:none;box-sizing:border-box;position:fixed;z-index:var(--ez-dropdown--z-index)}:host *{box-sizing:border-box}.ez-dropdown{display:flex;padding:var(--ez-dropdown--padding);box-shadow:var(--ez-dropdown--box-shadow);border-radius:var(--ez-dropdown--border-radius);background-color:var(--ez-dropdown--background-color);max-width:var(--ez-dropdown--max-width);max-height:var(--ez-dropdown--max-height)}.ez-dropdown *{font-family:var(--ez-dropdown--font-family)}.ez-dropdown__container{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;flex:auto;scrollbar-color:var(--ez-dropdown__scrollbar--color-clicked) var(--ez-dropdown__scrollbar--color-background)}.ez-dropdown__container::-webkit-scrollbar{background-color:var(--ez-dropdown__scrollbar--color-background);width:var(--ez-dropdown__scrollbar--width);max-width:var(--ez-dropdown__scrollbar--width);min-width:var(--ez-dropdown__scrollbar--width)}.ez-dropdown__container::-webkit-scrollbar-track{background-color:var(--ez-dropdown__scrollbar--color-background);border-radius:var(--ez-dropdown__scrollbar--border-radius)}.ez-dropdown__container::-webkit-scrollbar-thumb{background-color:var(--ez-dropdown__scrollbar--color-default);border-radius:var(--ez-dropdown__scrollbar--border-radius)}.ez-dropdown__container::-webkit-scrollbar-thumb:vertical:hover,.ez-dropdown__container::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-dropdown__scrollbar--color-hover)}.ez-dropdown__container::-webkit-scrollbar-thumb:vertical:active,.ez-dropdown__container::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-dropdown__scrollbar--color-clicked)}.ez-dropdown__container--spacer{padding-right:var(--ez-dropdown__scrollbar--padding-right)}.ez-dropdown__item{display:flex;align-items:center;background-color:transparent;border-radius:var(--ez-dropdown__item--border-radius);transition:var(--ez-dropdown__item--transition)}.ez-dropdown__item:hover{background-color:var(--ez-dropdown__item--background-color)}.ez-dropdown__item-wrapper{display:flex;align-items:center;position:relative;cursor:pointer;width:100%;margin:0;white-space:nowrap;gap:var(--ez-dropdown__item--gap);color:var(--ez-dropdown__item--color);font-weight:var(--ez-dropdown__item--font-weight);font-size:var(--ez-dropdown__item--font-size);line-height:var(--ez-dropdown__item--line-height);padding:var(--ez-dropdown__item--padding)}.ez-dropdown__item-wrapper ez-icon{display:flex;justify-content:center;align-items:center;width:var(--ez-dropdown__icon--size);height:var(--ez-dropdown__icon--size);min-width:var(--ez-dropdown__icon--size);min-height:var(--ez-dropdown__icon--size)}.ez-dropdown__item-content{display:flex;align-items:center;flex:auto;overflow:hidden;gap:var(--ez-dropdown__item--gap)}.ez-dropdown__item-label{text-align:left;text-overflow:ellipsis;overflow:hidden;flex:auto}.ez-dropdown__item-label:not(:last-child){margin-right:var(--ez-dropdown__item-label--margin-right)}.ez-dropdown__item-content+.ez-dropdown__link{margin-left:var(--ez-dropdown__item-label--margin-right);margin-right:var(--ez-dropdown__item--padding)}.ez-dropdown__item-builder{flex:auto}.ez-dropdown__divider{width:100%;height:2px;border-radius:1px;border:none;display:block;background-color:var(--ez-dropdown__divider--background-color);margin:var(--ez-dropdown__divider--margin)}.ez-dropdown__hidden{visibility:hidden}.ez-dropdown__group{display:flex;flex-direction:column}.ez-dropdown__group-label{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ez-dropdown__group-label--color);font-weight:var(--ez-dropdown__group-label--font-weight);font-size:var(--ez-dropdown__group-label--font-size);line-height:var(--ez-dropdown__group-label--line-height);padding:var(--ez-dropdown__group-label--padding)}.ez-dropdown__icon-right{margin-left:auto}.ez-dropdown__submenu{position:fixed;z-index:var(--ez-dropdown__submenu--z-index);margin-top:calc(var(--ez-dropdown__item--padding) * -1)}.ez-dropdown__submenu--hide{display:none}.ez-dropdown__link{display:block;margin-left:auto;cursor:pointer;text-overflow:ellipsis;overflow:hidden;font-weight:var(--ez-dropdown__link--font-weight);max-width:calc(var(--ez-dropdown--max-width) * 0.43)}.ez-dropdown__link--primary{color:var(--ez-dropdown__link--primary--color)}.ez-dropdown__link--critical{color:var(--ez-dropdown__link--critical--color)}.ez-dropdown__link:hover{text-decoration:underline}";
283
+
284
+ const EzDropdown = class {
285
+ constructor(hostRef) {
286
+ index.registerInstance(this, hostRef);
287
+ this.ezClick = index.createEvent(this, "ezClick", 7);
288
+ this.ezSubActionClick = index.createEvent(this, "ezSubActionClick", 7);
289
+ this._itemList = {};
290
+ this._submenuList = [];
291
+ this._openedMenuList = {};
292
+ /**
293
+ * Limitador de níveis de menu + submenu.
294
+ * Valor 0, null ou undefined desativa o limitador.
295
+ */
296
+ this._levelLimits = 3;
297
+ this.items = [];
298
+ this.value = undefined;
299
+ this.itemBuilder = undefined;
300
+ }
301
+ //---------------------------------------------
302
+ // Private methods
303
+ //---------------------------------------------
304
+ defaultItemBuilder(item, isLockedLevels, hasIcon, hasChildren) {
305
+ return (index.h(DropdownItem, { item: item, hasIcon: hasIcon, hasChildren: hasChildren, isLockedLevels: isLockedLevels, onSubActionClick: this.onSubActionClick.bind(this) }));
306
+ }
307
+ getMaxOrder(items) {
308
+ if (items == undefined || items.length === 0) {
309
+ return -1;
310
+ }
311
+ return Math.max(...items.map((item) => {
312
+ var _a;
313
+ const order = (_a = item.group) === null || _a === void 0 ? void 0 : _a["order"];
314
+ return order != undefined && order >= 0 ? order : -1;
315
+ }));
316
+ }
317
+ hasIcon(items) {
318
+ return items === null || items === void 0 ? void 0 : items.some((item) => (item.iconName || "") !== "");
319
+ }
320
+ hasGroup(items) {
321
+ return items === null || items === void 0 ? void 0 : items.some((item) => (item.group || "") !== "");
322
+ }
323
+ hasChildren(items) {
324
+ return items === null || items === void 0 ? void 0 : items.some((item) => (item.children || []).length > 0);
325
+ }
326
+ isLockedLevels(level) {
327
+ if (!this._levelLimits) {
328
+ return false;
329
+ }
330
+ return level === (this._levelLimits + 1);
331
+ }
332
+ getItemsByGroup(items, level) {
333
+ let itemsByGroup = {};
334
+ const maxOrder = this.getMaxOrder(items);
335
+ items.forEach((item) => {
336
+ const label = item.group && item.group["label"] != undefined ? item.group["label"] || "noGroup" : item.group || "noGroup";
337
+ const order = item.group && item.group["order"] != undefined ? item.group["order"] : item.group ? (maxOrder + 1) : (maxOrder + 2);
338
+ let groupObj = itemsByGroup[label];
339
+ if (groupObj == undefined) {
340
+ groupObj = {
341
+ items: [],
342
+ order
343
+ };
344
+ }
345
+ this.validateItem(item, level);
346
+ groupObj.items.push(item);
347
+ itemsByGroup[label] = groupObj;
348
+ });
349
+ return core.ObjectUtils.sortByProperty(itemsByGroup, "order");
350
+ }
351
+ validateItem(item, level) {
352
+ if (this._itemList == undefined) {
353
+ this._itemList = {};
354
+ }
355
+ if (item.type == undefined) {
356
+ item.type = "item";
357
+ }
358
+ if (item.id == undefined) {
359
+ const itemId = `level_${level}_${item.type}`;
360
+ const counter = Object.keys(this._itemList).filter((key) => key.includes(itemId)).length;
361
+ item.id = `${itemId}_${counter + 1}`;
362
+ }
363
+ if (item.label == undefined) {
364
+ item.label = "";
365
+ }
366
+ if (item.subAction != undefined) {
367
+ if (item.subAction.id == undefined) {
368
+ const subId = `subAction_${item.id}`;
369
+ item.subAction.id = subId;
370
+ }
371
+ if (item.subAction.label == undefined) {
372
+ item.subAction.label = "";
373
+ }
374
+ }
375
+ if (this._itemList[item.id] == undefined) {
376
+ this._itemList[item.id] = {};
377
+ }
378
+ }
379
+ getContainerItemBuilder(item, level) {
380
+ if (this.itemBuilder == undefined) {
381
+ return;
382
+ }
383
+ const customContent = this.itemBuilder(item, level);
384
+ if (customContent == undefined) {
385
+ return;
386
+ }
387
+ if (typeof customContent !== "string") {
388
+ return (index.h("div", { class: "ez-dropdown__item-builder" }, customContent));
389
+ }
390
+ return (index.h("div", { class: "ez-dropdown__item-builder", innerHTML: customContent }));
391
+ }
392
+ getItemsRender(groupItems, level, hasIcon, hasChildren) {
393
+ if (groupItems == undefined) {
394
+ return;
395
+ }
396
+ let counterLevel = level;
397
+ let isLockedLevels = false;
398
+ if (hasChildren) {
399
+ counterLevel++;
400
+ isLockedLevels = this.isLockedLevels(counterLevel);
401
+ }
402
+ return groupItems.map((item) => {
403
+ var _a;
404
+ return (item.type !== "divider"
405
+ ? index.h("div", Object.assign({ ref: (ref) => this._itemList[item.id] = ref, class: "ez-dropdown__item", "data-level": level }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(`${item.id}_ezDropdownItem`) }), index.h("div", { class: "ez-dropdown__item-content", onClick: (evt) => this.onItemClick(evt, item), onMouseOver: (evt) => this.onShowSubmenu(evt, item) }, this.itemBuilder
406
+ ? this.getContainerItemBuilder(item, level)
407
+ : this.defaultItemBuilder(item, isLockedLevels, hasIcon, hasChildren)), ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
408
+ !isLockedLevels &&
409
+ hasChildren &&
410
+ index.h("div", { ref: (ref) => this._submenuList.push(ref), class: "ez-dropdown__submenu ez-dropdown__submenu--hide" }, this.renderDropdown(item.children, counterLevel)))
411
+ : index.h("hr", Object.assign({ class: "ez-dropdown__divider" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(`${item.id}_ezDropdownDivider`) })));
412
+ });
413
+ }
414
+ renderDropdown(branchItems = this.items, level = 1) {
415
+ if (branchItems == undefined || this.isLockedLevels(level)) {
416
+ return;
417
+ }
418
+ const itemsByGroup = this.getItemsByGroup(branchItems, level);
419
+ const hasGroup = this.hasGroup(branchItems);
420
+ const hasIcon = this.hasIcon(branchItems);
421
+ const hasChildren = this.hasChildren(branchItems);
422
+ return (index.h("div", { class: "ez-dropdown", "data-level": level }, index.h("div", { class: "ez-dropdown__container" }, Object.keys(itemsByGroup)
423
+ .map((groupLabel) => {
424
+ return (index.h("div", Object.assign({ class: "ez-dropdown__group" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(`${groupLabel}_ezDropdownGroup`) }), groupLabel !== "noGroup" &&
425
+ index.h("label", { class: "ez-dropdown__group-label", title: groupLabel }, groupLabel), hasGroup &&
426
+ groupLabel === "noGroup" &&
427
+ index.h("hr", Object.assign({ class: "ez-dropdown__divider" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(`${groupLabel}_ezDropdownDivider`) })), this.getItemsRender(itemsByGroup[groupLabel].items, level, hasIcon, hasChildren)));
428
+ }))));
429
+ }
430
+ hasOpenedSubmenu(level) {
431
+ const openedLevels = Object.keys(this._openedMenuList);
432
+ return openedLevels.includes(level.toString())
433
+ || openedLevels.some((openedLevel) => Number(openedLevel) > level);
434
+ }
435
+ hasSubmenuOpened() {
436
+ var _a;
437
+ return (_a = this._submenuList) === null || _a === void 0 ? void 0 : _a.some((submenu) => !submenu.classList.contains("ez-dropdown__submenu--hide"));
438
+ }
439
+ setEvents() {
440
+ document.removeEventListener('click', this.onHideAllSubmenu.bind(this));
441
+ document.addEventListener('click', this.onHideAllSubmenu.bind(this));
442
+ document.removeEventListener('scroll', this.onSubmenuReposition.bind(this));
443
+ document.addEventListener('scroll', this.onSubmenuReposition.bind(this));
444
+ }
445
+ //---------------------------------------------
446
+ // Event handlers
447
+ //---------------------------------------------
448
+ onShowSubmenu(evt, item) {
449
+ var _a;
450
+ if (evt == undefined) {
451
+ return;
452
+ }
453
+ const menu = this._itemList[item.id];
454
+ if (!(menu === null || menu === void 0 ? void 0 : menu.classList.contains("ez-dropdown__item"))) {
455
+ return;
456
+ }
457
+ const level = Number(menu.dataset.level || "0");
458
+ if (this.hasOpenedSubmenu(level)) {
459
+ this._submenuControl.hide(this._openedMenuList[level]);
460
+ delete this._openedMenuList[level];
461
+ }
462
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)) {
463
+ return;
464
+ }
465
+ this._openedMenuList[menu.dataset.level] = menu;
466
+ this._submenuControl.show(menu);
467
+ }
468
+ onItemClick(evt, item) {
469
+ const target = evt === null || evt === void 0 ? void 0 : evt.target;
470
+ if (target === null || target === void 0 ? void 0 : target.classList.contains("ez-dropdown__link")) {
471
+ return;
472
+ }
473
+ this.value = item;
474
+ this.ezClick.emit(item);
475
+ }
476
+ onSubActionClick(item) {
477
+ this.ezSubActionClick.emit(item.subAction);
478
+ }
479
+ onHideAllSubmenu(evt = undefined) {
480
+ const target = evt === null || evt === void 0 ? void 0 : evt.target;
481
+ if (this.hasSubmenuOpened() && (target == undefined || (!target.closest(".ez-dropdown") && target.tagName !== "EZ-DROPDOWN"))) {
482
+ this._openedMenuList = {};
483
+ this._submenuList.forEach(this._submenuControl.reset.bind(this._submenuControl));
484
+ }
485
+ }
486
+ onSubmenuReposition() {
487
+ if (this._openedMenuList != undefined) {
488
+ Object.keys(this._openedMenuList).forEach((key) => {
489
+ const menu = this._openedMenuList[key];
490
+ this._submenuControl.setPosition(menu);
491
+ });
492
+ }
493
+ }
494
+ //---------------------------------------------
495
+ // Lifecycle web component
496
+ //---------------------------------------------
497
+ componentDidLoad() {
498
+ core.ElementIDUtils.addIDInfo(this._element);
499
+ this._submenuControl = new SubmenuControl();
500
+ this._submenuControl.setMaxHeight(this._element);
501
+ }
502
+ componentDidUpdate() {
503
+ this._submenuControl.setMaxHeight(this._element);
504
+ }
505
+ componentDidRender() {
506
+ this.setEvents();
507
+ }
508
+ render() {
509
+ return (index.h(index.Host, null, this.renderDropdown()));
510
+ }
511
+ get _element() { return index.getElement(this); }
512
+ };
513
+ EzDropdown.style = ezDropdownCss;
514
+
515
+ exports.ez_dropdown = EzDropdown;
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-1064511f.js');
6
+ const core = require('@sankhyalabs/core');
7
+
8
+ const ezFileItemCss = ":host{display:flex;width:100%;--ez-file-item--height:42px;--ez-file-item--padding:9px;--ez-file-item--border-radius:var(--border--radius-medium, 12px);--ez-file-item--border-color:var(--color--strokes, #DCE0E8);--ez-file-item--border-style:var(--border--small, 1px solid);--ez-file-item--font-family:var(--font-pattern, Arial);--ez-file-item--font-size:var(--text--medium, 14px);--ez-file-item--font-weight:var(--text-weight--medium, 400);--ez-file-item--color:var(--title--primary, #2B3A54);--ez-file-item__file-size--font-weight:var(--text-weight--large, 600);--ez-file-item__file-size--color:var(--color--primary, #008561);--ez-file-item__background-progress--color:var(--color--primary-300, E2F4EF);--ez-file-item--icon-color:var(--title--primary, #2B3A54)}.box{display:flex;box-sizing:border-box;position:relative;align-items:center;justify-content:space-between;width:100%;padding:var(--ez-file-item--padding);border:var(--ez-file-item--border-color) var(--ez-file-item--border-style);border-radius:var(--ez-file-item--border-radius);height:var(--ez-file-item--height)}.box::before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;clip-path:inset(2px calc(var(--ez-file-item--upload-progress, 0%) + 2px) 2px 2px round calc(var(--ez-file-item--border-radius) - 4px));background-color:var(--ez-file-item__background-progress--color)}.content{display:flex;align-items:center;z-index:0;overflow:hidden}.file-name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--ez-file-item--font-family);font-size:var(--ez-file-item--font-size);font-weight:var(--ez-file-item--font-weight);color:var(--ez-file-item--color)}.file-type-icon{flex-shrink:0;--ez-icon--color:var(--ez-file-item--icon-color);padding-right:var(--ez-file-item--padding)}.file-size{padding-left:2px;overflow:hidden;flex-shrink:0;white-space:nowrap;font-family:var(--ez-file-item--font-family);font-size:var(--ez-file-item--font-size);font-weight:var(--ez-file-item__file-size--font-weight);color:var(--ez-file-item__file-size--color)}.btn-remove{cursor:pointer;flex-shrink:0;--ez-icon--color:var(--ez-file-item--icon-color)}";
9
+
10
+ const EzFileItem = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.ezClick = index.createEvent(this, "ezClick", 7);
14
+ this.ezRemove = index.createEvent(this, "ezRemove", 7);
15
+ this.canRemove = true;
16
+ this.fileName = undefined;
17
+ this.iconName = undefined;
18
+ this.fileSize = undefined;
19
+ this.progress = 100;
20
+ }
21
+ observeProgress(newProgress) {
22
+ if (newProgress < 0 || newProgress > 100) {
23
+ throw new Error("O progresso de upload deve ser um número entre 0 e 100.");
24
+ }
25
+ this._element.style.setProperty("--ez-file-item--upload-progress", `${100 - newProgress}%`);
26
+ }
27
+ getFileSize() {
28
+ if (!this.fileSize || this.fileSize === 0) {
29
+ return "";
30
+ }
31
+ return `(${core.StringUtils.formatBytes(this.fileSize)})`;
32
+ }
33
+ getIconName() {
34
+ let extension;
35
+ if (this.iconName) {
36
+ return this.iconName;
37
+ }
38
+ if (this.fileName.indexOf(".") > -1) {
39
+ const index = this.fileName.lastIndexOf(".");
40
+ extension = this.fileName.substring(index);
41
+ }
42
+ return FILE_TYPE_ICONS[extension] || DEFAULT_FILE_TYPE_ICON;
43
+ }
44
+ render() {
45
+ this._element.title = `${this.fileName} ${this.getFileSize()}`;
46
+ core.ElementIDUtils.addIDInfoIfNotExists(this._element, 'ezFileIcon');
47
+ return (index.h("div", { class: "box", onClick: () => this.ezClick.emit(this.fileName) }, index.h("div", { class: "content" }, index.h("ez-icon", { "data-element-id": core.ElementIDUtils.getInternalIDInfo("fileIcon"), class: "file-type-icon", size: "medium", "icon-name": this.getIconName() }), index.h("label", { class: "file-name" }, this.fileName), index.h("label", { class: "file-size" }, this.getFileSize())), this.canRemove ?
48
+ index.h("ez-icon", { "data-element-id": core.ElementIDUtils.getInternalIDInfo("remove"), class: "btn-remove", size: "medium", "icon-name": "close", onClick: evt => {
49
+ this.ezRemove.emit(this.fileName);
50
+ evt.stopPropagation();
51
+ } }) : undefined));
52
+ }
53
+ get _element() { return index.getElement(this); }
54
+ static get watchers() { return {
55
+ "progress": ["observeProgress"]
56
+ }; }
57
+ };
58
+ const FILE_TYPE_ICONS = {
59
+ ".exe": "exe",
60
+ ".gif": "gif",
61
+ ".mp3": "mp3",
62
+ ".mp4": "mp4",
63
+ ".pdf": "pdf",
64
+ ".png": "png",
65
+ ".txt": "txt",
66
+ ".zip": "zip",
67
+ ".docx": "docx",
68
+ ".xlsx": "xlsx",
69
+ ".pptx": "pptx"
70
+ };
71
+ const DEFAULT_FILE_TYPE_ICON = "generic";
72
+ EzFileItem.style = ezFileItemCss;
73
+
74
+ exports.ez_file_item = EzFileItem;