@sankhyalabs/ezui 5.22.0-dev.12 → 5.22.0-dev.120

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 (422) hide show
  1. package/dist/cjs/{CSSVarsUtils-10c9d5b4.js → CSSVarsUtils-f20973d1.js} +1 -0
  2. package/dist/cjs/DataBinder-b9973a19.js +474 -0
  3. package/dist/cjs/FocusResolver-885f2173.js +35 -0
  4. package/dist/cjs/FormLayout-c2451c7f.js +7 -0
  5. package/dist/cjs/{constants-2714478b.js → constants-569271bc.js} +4 -0
  6. package/dist/cjs/ez-actions-button.cjs.entry.js +6 -4
  7. package/dist/cjs/ez-badge.cjs.entry.js +14 -2
  8. package/dist/cjs/ez-button.cjs.entry.js +11 -5
  9. package/dist/cjs/ez-card-item_2.cjs.entry.js +270 -0
  10. package/dist/cjs/ez-chart.cjs.entry.js +3 -3
  11. package/dist/cjs/ez-check.cjs.entry.js +18 -10
  12. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-collapsible-box.cjs.entry.js +3 -2
  14. package/dist/cjs/ez-combo-box-list_3.cjs.entry.js +388 -0
  15. package/dist/cjs/ez-combo-box.cjs.entry.js +79 -156
  16. package/dist/cjs/ez-date-input.cjs.entry.js +16 -19
  17. package/dist/cjs/ez-date-time-input.cjs.entry.js +15 -20
  18. package/dist/cjs/ez-dialog.cjs.entry.js +18 -8
  19. package/dist/cjs/ez-double-list.cjs.entry.js +287 -0
  20. package/dist/cjs/ez-dropdown.cjs.entry.js +14 -8
  21. package/dist/cjs/ez-filter-input.cjs.entry.js +129 -0
  22. package/dist/cjs/ez-form-view.cjs.entry.js +41 -27
  23. package/dist/cjs/ez-form.cjs.entry.js +34 -327
  24. package/dist/cjs/ez-grid.cjs.entry.js +15146 -69779
  25. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-list.cjs.entry.js +258 -211
  27. package/dist/cjs/ez-modal-container.cjs.entry.js +7 -3
  28. package/dist/cjs/ez-modal.cjs.entry.js +17 -4
  29. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +2 -2
  30. package/dist/cjs/ez-number-input.cjs.entry.js +16 -3
  31. package/dist/cjs/ez-popover-plus_3.cjs.entry.js +209 -0
  32. package/dist/cjs/ez-popup.cjs.entry.js +29 -3
  33. package/dist/cjs/ez-scroller_2.cjs.entry.js +3 -3
  34. package/dist/cjs/ez-search-plus.cjs.entry.js +398 -0
  35. package/dist/cjs/ez-search-result-list.cjs.entry.js +97 -0
  36. package/dist/cjs/ez-search.cjs.entry.js +124 -191
  37. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-skeleton.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-split-button.cjs.entry.js +2 -2
  40. package/dist/cjs/ez-split-item.cjs.entry.js +8 -4
  41. package/dist/cjs/ez-split-panel.cjs.entry.js +68 -6
  42. package/dist/cjs/ez-text-area.cjs.entry.js +91 -8
  43. package/dist/cjs/ez-text-input.cjs.entry.js +135 -30
  44. package/dist/cjs/ez-time-input.cjs.entry.js +9 -2
  45. package/dist/cjs/ez-tooltip.cjs.entry.js +135 -0
  46. package/dist/cjs/ez-tree.cjs.entry.js +5 -4
  47. package/dist/cjs/ezListHelper-0d3970b4.js +90 -0
  48. package/dist/cjs/ezui.cjs.js +1 -1
  49. package/dist/cjs/filter-column.cjs.entry.js +10 -47
  50. package/dist/cjs/floating-ui.dom.esm-017acce4.js +1404 -0
  51. package/dist/cjs/index-9e5554cb.js +32 -8
  52. package/dist/cjs/loader.cjs.js +1 -1
  53. package/dist/cjs/searchFormatters-b7e1ed1e.js +23 -0
  54. package/dist/cjs/{ICustomRender-6fafffce.js → types-6a5df0c7.js} +8 -0
  55. package/dist/collection/collection-manifest.json +20 -2
  56. package/dist/collection/components/ez-actions-button/ez-actions-button.js +3 -2
  57. package/dist/collection/components/ez-badge/ez-badge.css +12 -1
  58. package/dist/collection/components/ez-badge/ez-badge.js +31 -1
  59. package/dist/collection/components/ez-button/ez-button.css +24 -14
  60. package/dist/collection/components/ez-button/ez-button.js +12 -6
  61. package/dist/collection/components/ez-card-item/ez-card-item.css +58 -10
  62. package/dist/collection/components/ez-card-item/ez-card-item.js +30 -3
  63. package/dist/collection/components/ez-chart/ez-chart.js +2 -2
  64. package/dist/collection/components/ez-chart/interfaces/ChartTypeValue.js +1 -0
  65. package/dist/collection/components/ez-chart/types/BaseHighChartsRender.js +3 -3
  66. package/dist/collection/components/ez-check/ez-check.css +10 -6
  67. package/dist/collection/components/ez-check/ez-check.js +34 -9
  68. package/dist/collection/components/ez-chip/ez-chip.css +5 -1
  69. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +2 -2
  70. package/dist/collection/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.css +205 -0
  71. package/dist/collection/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.js +426 -0
  72. package/dist/collection/components/ez-combo-box/ez-combo-box.css +8 -246
  73. package/dist/collection/components/ez-combo-box/ez-combo-box.js +139 -165
  74. package/dist/collection/components/ez-date-input/ez-date-input.css +1 -1
  75. package/dist/collection/components/ez-date-input/ez-date-input.js +58 -19
  76. package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +1 -1
  77. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +57 -20
  78. package/dist/collection/components/ez-dialog/ez-dialog.css +27 -24
  79. package/dist/collection/components/ez-dialog/ez-dialog.js +18 -17
  80. package/dist/collection/components/ez-double-list/doubleListHelper.js +82 -0
  81. package/dist/collection/components/ez-double-list/ez-double-list.css +62 -0
  82. package/dist/collection/components/ez-double-list/ez-double-list.js +440 -0
  83. package/dist/collection/components/ez-dropdown/ez-dropdown.js +33 -8
  84. package/dist/collection/components/ez-filter-input/ez-filter-input.css +1 -1
  85. package/dist/collection/components/ez-filter-input/ez-filter-input.js +35 -4
  86. package/dist/collection/components/ez-form/ez-form.js +32 -4
  87. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +49 -6
  88. package/dist/collection/components/ez-form-view/ez-form-view.css +13 -2
  89. package/dist/collection/components/ez-form-view/ez-form-view.js +21 -2
  90. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +5 -2
  91. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
  92. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
  93. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +8 -4
  94. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +1 -1
  95. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
  96. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -1
  97. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.js +6 -0
  98. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +1 -1
  99. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  100. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +387 -73
  101. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +170 -33
  102. package/dist/collection/components/ez-grid/controller/ag-grid/DataSourceInterceptor.js +2 -1
  103. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +248 -43
  104. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +16 -0
  105. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +1 -1
  106. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +10 -0
  107. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +2 -0
  108. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
  109. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
  110. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +8 -1
  111. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.js +15 -0
  112. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
  113. package/dist/collection/components/ez-grid/controller/ag-grid/test/constants/GridEditionMock.js +2 -0
  114. package/dist/collection/components/ez-grid/ez-grid.css +95 -10
  115. package/dist/collection/components/ez-grid/ez-grid.js +370 -12
  116. package/dist/collection/components/ez-grid/subcomponents/filter-column.css +4 -0
  117. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +9 -46
  118. package/dist/collection/components/ez-grid/utils/ColumnFilterManager.js +7 -54
  119. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +20 -4
  120. package/dist/collection/components/ez-icon/ez-icon.css +156 -149
  121. package/dist/collection/components/ez-list/ez-list.css +5 -4
  122. package/dist/collection/components/ez-list/ez-list.js +301 -212
  123. package/dist/collection/components/ez-list/ezListHelper.js +85 -0
  124. package/dist/collection/components/ez-modal/ez-modal.css +7 -2
  125. package/dist/collection/components/ez-modal/ez-modal.js +18 -5
  126. package/dist/collection/components/ez-modal-container/ez-modal-container.css +1 -0
  127. package/dist/collection/components/ez-modal-container/ez-modal-container.js +6 -2
  128. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.css +3 -3
  129. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +1 -1
  130. package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
  131. package/dist/collection/components/ez-number-input/ez-number-input.js +67 -1
  132. package/dist/collection/components/ez-popover-plus/ez-popover-plus.css +3 -0
  133. package/dist/collection/components/ez-popover-plus/ez-popover-plus.js +434 -0
  134. package/dist/collection/components/ez-popover-plus/subcomponent/ez-popover-core.css +67 -0
  135. package/dist/collection/components/ez-popover-plus/subcomponent/ez-popover-core.js +527 -0
  136. package/dist/collection/components/ez-popup/ez-popup.css +8 -3
  137. package/dist/collection/components/ez-popup/ez-popup.js +48 -4
  138. package/dist/collection/components/ez-scroller/ez-scroller.css +4 -0
  139. package/dist/collection/components/ez-search/ez-search.css +2 -210
  140. package/dist/collection/components/ez-search/ez-search.js +223 -204
  141. package/dist/collection/components/ez-search/subcomponent/search-list/search-list.css +227 -0
  142. package/dist/collection/components/ez-search/subcomponent/search-list/search-list.js +289 -0
  143. package/dist/collection/components/ez-search/utils/searchFormatters.js +18 -0
  144. package/dist/collection/components/ez-search-plus/ez-search-plus.css +373 -0
  145. package/dist/collection/components/ez-search-plus/ez-search-plus.js +984 -0
  146. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.css +221 -0
  147. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.js +278 -0
  148. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +3 -0
  149. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +1 -1
  150. package/dist/collection/components/ez-sidebar-navigator/ez-sidebar-navigator.css +4 -1
  151. package/dist/collection/components/ez-skeleton/ez-skeleton.css +54 -34
  152. package/dist/collection/components/ez-split-button/ez-split-button.css +52 -14
  153. package/dist/collection/components/ez-split-button/ez-split-button.js +3 -3
  154. package/dist/collection/components/ez-split-panel/ez-split-panel.css +15 -0
  155. package/dist/collection/components/ez-split-panel/ez-split-panel.js +106 -5
  156. package/dist/collection/components/ez-split-panel/interfaces/IPanelSizeInfo.js +1 -0
  157. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.css +14 -2
  158. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +22 -1
  159. package/dist/collection/components/ez-text-area/ez-text-area.css +78 -29
  160. package/dist/collection/components/ez-text-area/ez-text-area.js +151 -6
  161. package/dist/collection/components/ez-text-input/ez-text-input.css +126 -93
  162. package/dist/collection/components/ez-text-input/ez-text-input.js +216 -28
  163. package/dist/collection/components/ez-time-input/ez-time-input.js +43 -1
  164. package/dist/collection/components/ez-tooltip/ez-tooltip.css +61 -0
  165. package/dist/collection/components/ez-tooltip/ez-tooltip.js +310 -0
  166. package/dist/collection/components/ez-tree/ez-tree.js +21 -1
  167. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +3 -3
  168. package/dist/collection/sw.js +46 -0
  169. package/dist/collection/utils/CSSVarsUtils.js +1 -0
  170. package/dist/collection/utils/FocusResolver.js +31 -0
  171. package/dist/collection/utils/constants.js +2 -0
  172. package/dist/collection/utils/form/DataBinder.js +65 -21
  173. package/dist/collection/utils/form/FormMetadata.js +2 -1
  174. package/dist/collection/utils/form/interfaces/FormLayout.js +5 -0
  175. package/dist/collection/utils/form/interfaces/index.js +1 -1
  176. package/dist/collection/utils/form/test/DataBinder.test.js +14 -0
  177. package/dist/collection/utils/index.js +2 -0
  178. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +1 -1
  179. package/dist/collection/utils/search/types.js +7 -0
  180. package/dist/collection/utils/validators/recordvalidator/IInvalidCells.js +1 -0
  181. package/dist/collection/utils/validators/recordvalidator/RecordValidationProcessor.js +7 -1
  182. package/dist/custom-elements/index.d.ts +48 -0
  183. package/dist/custom-elements/index.js +21625 -72913
  184. package/dist/esm/{CSSVarsUtils-71ce76be.js → CSSVarsUtils-acba92d7.js} +1 -0
  185. package/dist/esm/DataBinder-1035e36f.js +470 -0
  186. package/dist/esm/FocusResolver-1ccbf850.js +33 -0
  187. package/dist/esm/FormLayout-54092963.js +7 -0
  188. package/dist/esm/constants-b036528f.js +7 -0
  189. package/dist/esm/ez-actions-button.entry.js +6 -4
  190. package/dist/esm/ez-badge.entry.js +14 -2
  191. package/dist/esm/ez-button.entry.js +11 -5
  192. package/dist/esm/ez-card-item_2.entry.js +265 -0
  193. package/dist/esm/ez-chart.entry.js +3 -3
  194. package/dist/esm/ez-check.entry.js +18 -10
  195. package/dist/esm/ez-chip.entry.js +1 -1
  196. package/dist/esm/ez-collapsible-box.entry.js +3 -2
  197. package/dist/esm/ez-combo-box-list_3.entry.js +382 -0
  198. package/dist/esm/ez-combo-box.entry.js +80 -157
  199. package/dist/esm/ez-date-input.entry.js +16 -19
  200. package/dist/esm/ez-date-time-input.entry.js +15 -20
  201. package/dist/esm/ez-dialog.entry.js +19 -9
  202. package/dist/esm/ez-double-list.entry.js +283 -0
  203. package/dist/esm/ez-dropdown.entry.js +14 -8
  204. package/dist/esm/ez-filter-input.entry.js +125 -0
  205. package/dist/esm/ez-form-view.entry.js +42 -28
  206. package/dist/esm/ez-form.entry.js +33 -326
  207. package/dist/esm/ez-grid.entry.js +15145 -69778
  208. package/dist/esm/ez-icon.entry.js +1 -1
  209. package/dist/esm/ez-list.entry.js +258 -211
  210. package/dist/esm/ez-modal-container.entry.js +7 -3
  211. package/dist/esm/ez-modal.entry.js +17 -4
  212. package/dist/esm/ez-multi-selection-list.entry.js +2 -2
  213. package/dist/esm/ez-number-input.entry.js +16 -3
  214. package/dist/esm/ez-popover-plus_3.entry.js +203 -0
  215. package/dist/esm/ez-popup.entry.js +29 -3
  216. package/dist/esm/ez-scroller_2.entry.js +3 -3
  217. package/dist/esm/ez-search-plus.entry.js +394 -0
  218. package/dist/esm/ez-search-result-list.entry.js +93 -0
  219. package/dist/esm/ez-search.entry.js +125 -192
  220. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  221. package/dist/esm/ez-skeleton.entry.js +1 -1
  222. package/dist/esm/ez-split-button.entry.js +2 -2
  223. package/dist/esm/ez-split-item.entry.js +8 -4
  224. package/dist/esm/ez-split-panel.entry.js +69 -7
  225. package/dist/esm/ez-text-area.entry.js +91 -8
  226. package/dist/esm/ez-text-input.entry.js +135 -30
  227. package/dist/esm/ez-time-input.entry.js +9 -2
  228. package/dist/esm/ez-tooltip.entry.js +131 -0
  229. package/dist/esm/ez-tree.entry.js +5 -4
  230. package/dist/esm/ezListHelper-00fb9b8d.js +87 -0
  231. package/dist/esm/ezui.js +1 -1
  232. package/dist/esm/filter-column.entry.js +10 -47
  233. package/dist/esm/floating-ui.dom.esm-5d3da819.js +1398 -0
  234. package/dist/esm/index-5a720e56.js +32 -8
  235. package/dist/esm/loader.js +1 -1
  236. package/dist/esm/searchFormatters-8229207e.js +20 -0
  237. package/dist/esm/{ICustomRender-875b5a40.js → types-6f6b2650.js} +9 -1
  238. package/dist/ezui/ezui.esm.js +1 -1
  239. package/dist/ezui/p-000159dc.entry.js +1 -0
  240. package/dist/ezui/p-06f1b8e4.entry.js +1 -0
  241. package/dist/ezui/{p-044d46d5.entry.js → p-07594da0.entry.js} +1 -1
  242. package/dist/ezui/p-0cfbbe82.entry.js +1 -0
  243. package/dist/ezui/p-0f658cfd.entry.js +1 -0
  244. package/dist/ezui/p-15ea0c98.js +1 -0
  245. package/dist/ezui/p-173f68ea.js +1 -0
  246. package/dist/ezui/p-18e71523.entry.js +1 -0
  247. package/dist/ezui/p-19389207.entry.js +1 -0
  248. package/dist/ezui/p-1f7241cd.entry.js +1 -0
  249. package/dist/ezui/p-1fefb37a.entry.js +1 -0
  250. package/dist/ezui/p-2069c78a.entry.js +1 -0
  251. package/dist/ezui/{p-b2f6bc0a.entry.js → p-2f351332.entry.js} +1 -1
  252. package/dist/ezui/{p-82ac8b06.entry.js → p-2f77f563.entry.js} +1 -1
  253. package/dist/ezui/p-3eaa0f67.entry.js +1 -0
  254. package/dist/ezui/p-40a60148.js +1 -0
  255. package/dist/ezui/p-44b39e81.entry.js +1 -0
  256. package/dist/ezui/p-4d8afc8e.entry.js +1 -0
  257. package/dist/ezui/p-5895e687.js +1 -0
  258. package/dist/ezui/p-5b85d3de.entry.js +1 -0
  259. package/dist/ezui/p-5b8639c0.entry.js +1 -0
  260. package/dist/ezui/p-5eea9886.js +1 -0
  261. package/dist/ezui/p-6b3fddee.entry.js +1 -0
  262. package/dist/ezui/p-6ccfb01f.entry.js +1 -0
  263. package/dist/ezui/p-708b196e.entry.js +1 -0
  264. package/dist/ezui/p-72731b9b.entry.js +1 -0
  265. package/dist/ezui/p-80dfc50b.js +1 -0
  266. package/dist/ezui/p-81452714.entry.js +309 -0
  267. package/dist/ezui/p-88c615f0.entry.js +1 -0
  268. package/dist/ezui/p-8d9ab0b0.entry.js +1 -0
  269. package/dist/ezui/p-8f49705f.entry.js +1 -0
  270. package/dist/ezui/p-9066b0b0.entry.js +1 -0
  271. package/dist/ezui/p-90e91173.entry.js +1 -0
  272. package/dist/ezui/p-926a0bde.entry.js +1 -0
  273. package/dist/ezui/p-97d94ef3.entry.js +1 -0
  274. package/dist/ezui/p-9e95bfeb.entry.js +1 -0
  275. package/dist/ezui/p-a11827ca.entry.js +1 -0
  276. package/dist/ezui/p-b8344ae8.entry.js +1 -0
  277. package/dist/ezui/p-b9255e16.entry.js +1 -0
  278. package/dist/ezui/p-c2b1b592.entry.js +1 -0
  279. package/dist/ezui/p-c7035d65.entry.js +1 -0
  280. package/dist/ezui/p-cf33bc48.entry.js +1 -0
  281. package/dist/ezui/p-d2290004.entry.js +1 -0
  282. package/dist/ezui/p-dc628ed3.js +1 -0
  283. package/dist/ezui/p-ddb22a70.entry.js +1 -0
  284. package/dist/ezui/p-e07e4671.js +1 -0
  285. package/dist/ezui/p-e18c7afe.entry.js +1 -0
  286. package/dist/ezui/p-e5e911ef.entry.js +1 -0
  287. package/dist/ezui/p-ec7db713.js +1 -0
  288. package/dist/ezui/p-ed48a632.entry.js +1 -0
  289. package/dist/ezui/p-f6a88217.entry.js +1 -0
  290. package/dist/types/components/ez-badge/ez-badge.d.ts +5 -0
  291. package/dist/types/components/ez-button/ez-button.d.ts +2 -1
  292. package/dist/types/components/ez-calendar/ez-calendar.d.ts +3 -3
  293. package/dist/types/components/ez-card-item/ez-card-item.d.ts +5 -0
  294. package/dist/types/components/ez-chart/interfaces/ChartAxis.d.ts +2 -0
  295. package/dist/types/components/ez-chart/interfaces/ChartTypeValue.d.ts +1 -0
  296. package/dist/types/components/ez-check/ez-check.d.ts +7 -2
  297. package/dist/types/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.d.ts +104 -0
  298. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +19 -15
  299. package/dist/types/components/ez-date-input/ez-date-input.d.ts +12 -3
  300. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +12 -3
  301. package/dist/types/components/ez-dialog/ez-dialog.d.ts +3 -1
  302. package/dist/types/components/ez-double-list/doubleListHelper.d.ts +10 -0
  303. package/dist/types/components/ez-double-list/ez-double-list.d.ts +87 -0
  304. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +4 -0
  305. package/dist/types/components/ez-dropdown/structure/DropdownItem.d.ts +1 -1
  306. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +6 -1
  307. package/dist/types/components/ez-form/ez-form.d.ts +5 -1
  308. package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +7 -1
  309. package/dist/types/components/ez-form-view/ez-form-view.d.ts +4 -0
  310. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +2 -1
  311. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.d.ts +2 -0
  312. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  313. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +75 -4
  314. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +42 -6
  315. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +26 -2
  316. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +34 -7
  317. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +4 -1
  318. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +1 -1
  319. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  320. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +1 -1
  321. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +1 -1
  322. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +2 -1
  323. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +1 -1
  324. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
  325. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.d.ts +3 -0
  326. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +1 -1
  327. package/dist/types/components/ez-grid/ez-grid.d.ts +59 -1
  328. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +0 -11
  329. package/dist/types/components/ez-grid/utils/ColumnFilterManager.d.ts +1 -1
  330. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +3 -0
  331. package/dist/types/components/ez-list/ez-list.d.ts +23 -2
  332. package/dist/types/components/ez-list/ezListHelper.d.ts +20 -0
  333. package/dist/types/components/ez-modal/ez-modal.d.ts +4 -1
  334. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +2 -0
  335. package/dist/types/components/ez-number-input/ez-number-input.d.ts +12 -0
  336. package/dist/types/components/ez-popover-plus/ez-popover-plus.d.ts +74 -0
  337. package/dist/types/components/ez-popover-plus/subcomponent/ez-popover-core.d.ts +91 -0
  338. package/dist/types/components/ez-popup/ez-popup.d.ts +10 -1
  339. package/dist/types/components/ez-search/ez-search.d.ts +36 -18
  340. package/dist/types/components/ez-search/subcomponent/search-list/search-list.d.ts +23 -0
  341. package/dist/types/components/ez-search/utils/searchFormatters.d.ts +2 -0
  342. package/dist/types/components/ez-search-plus/ez-search-plus.d.ts +186 -0
  343. package/dist/types/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.d.ts +26 -0
  344. package/dist/types/components/ez-split-button/ez-split-button.d.ts +1 -1
  345. package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +11 -0
  346. package/dist/types/components/ez-split-panel/interfaces/IPanelSizeInfo.d.ts +9 -0
  347. package/dist/types/components/ez-split-panel/structure/item/ez-split-item.d.ts +5 -0
  348. package/dist/types/components/ez-text-area/ez-text-area.d.ts +25 -0
  349. package/dist/types/components/ez-text-input/ez-text-input.d.ts +35 -3
  350. package/dist/types/components/ez-time-input/ez-time-input.d.ts +8 -0
  351. package/dist/types/components/ez-tooltip/ez-tooltip.d.ts +57 -0
  352. package/dist/types/components/ez-tree/ez-tree.d.ts +4 -0
  353. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +1 -0
  354. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +1 -0
  355. package/dist/types/components.d.ts +1233 -63
  356. package/dist/types/utils/FocusResolver.d.ts +5 -0
  357. package/dist/types/utils/constants.d.ts +2 -0
  358. package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +2 -0
  359. package/dist/types/utils/form/DataBinder.d.ts +7 -2
  360. package/dist/types/utils/form/interfaces/FormLayout.d.ts +4 -0
  361. package/dist/types/utils/form/interfaces/index.d.ts +1 -0
  362. package/dist/types/utils/index.d.ts +2 -0
  363. package/dist/types/utils/search/types.d.ts +12 -0
  364. package/dist/types/utils/validators/recordvalidator/IInvalidCells.d.ts +5 -0
  365. package/dist/types/utils/validators/recordvalidator/RecordValidationProcessor.d.ts +1 -1
  366. package/package.json +12 -4
  367. package/react/components.d.ts +62 -54
  368. package/react/components.js +8 -0
  369. package/react/components.js.map +1 -1
  370. package/react/react-component-lib/createComponent.d.ts +1 -1
  371. package/react/react-component-lib/createComponent.js.map +1 -1
  372. package/react/react-component-lib/createOverlayComponent.js.map +1 -1
  373. package/react/react-component-lib/interfaces.js +1 -0
  374. package/react/react-component-lib/utils/attachProps.d.ts +1 -1
  375. package/react/react-component-lib/utils/attachProps.js.map +1 -1
  376. package/react/react-component-lib/utils/dev.js.map +1 -1
  377. package/react/react-component-lib/utils/index.d.ts +2 -2
  378. package/react/react-component-lib/utils/index.js.map +1 -1
  379. package/dist/cjs/RecordValidationProcessor-4c893e04.js +0 -102
  380. package/dist/cjs/ez-card-item_3.cjs.entry.js +0 -183
  381. package/dist/cjs/ez-custom-form-input_2.cjs.entry.js +0 -206
  382. package/dist/esm/RecordValidationProcessor-b00b8b77.js +0 -99
  383. package/dist/esm/constants-4e0d35b7.js +0 -5
  384. package/dist/esm/ez-card-item_3.entry.js +0 -177
  385. package/dist/esm/ez-custom-form-input_2.entry.js +0 -201
  386. package/dist/ezui/p-04f24913.js +0 -1
  387. package/dist/ezui/p-05e1f4e7.js +0 -1
  388. package/dist/ezui/p-0ee0ac03.entry.js +0 -1
  389. package/dist/ezui/p-11b09aa1.entry.js +0 -1
  390. package/dist/ezui/p-1b08bf3c.entry.js +0 -1
  391. package/dist/ezui/p-24ca32a3.entry.js +0 -1
  392. package/dist/ezui/p-2af4e2de.entry.js +0 -1
  393. package/dist/ezui/p-30951bd7.entry.js +0 -1
  394. package/dist/ezui/p-3141ee18.entry.js +0 -1
  395. package/dist/ezui/p-31674f8e.entry.js +0 -1
  396. package/dist/ezui/p-33792b2b.entry.js +0 -1
  397. package/dist/ezui/p-36180f4d.entry.js +0 -1
  398. package/dist/ezui/p-3f8c33e0.entry.js +0 -1
  399. package/dist/ezui/p-4607fb89.js +0 -1
  400. package/dist/ezui/p-52100a6e.entry.js +0 -1
  401. package/dist/ezui/p-5517995b.entry.js +0 -1
  402. package/dist/ezui/p-5fefcdc9.entry.js +0 -1
  403. package/dist/ezui/p-615def37.entry.js +0 -304
  404. package/dist/ezui/p-752c4069.entry.js +0 -1
  405. package/dist/ezui/p-81cffa53.entry.js +0 -1
  406. package/dist/ezui/p-81f99ace.entry.js +0 -1
  407. package/dist/ezui/p-868b56f7.entry.js +0 -1
  408. package/dist/ezui/p-8eef0f70.entry.js +0 -1
  409. package/dist/ezui/p-9634631d.entry.js +0 -1
  410. package/dist/ezui/p-9a23d513.entry.js +0 -1
  411. package/dist/ezui/p-9aa27e69.entry.js +0 -1
  412. package/dist/ezui/p-9c2e2d68.entry.js +0 -1
  413. package/dist/ezui/p-9e11fc7b.js +0 -1
  414. package/dist/ezui/p-b0e71d23.entry.js +0 -1
  415. package/dist/ezui/p-c3b7a23e.entry.js +0 -1
  416. package/dist/ezui/p-cd1a2e6b.entry.js +0 -1
  417. package/dist/ezui/p-dbeee5aa.entry.js +0 -1
  418. package/dist/ezui/p-de870657.entry.js +0 -1
  419. package/dist/ezui/p-ee9315ff.entry.js +0 -1
  420. package/dist/ezui/p-f1c2c19e.entry.js +0 -1
  421. package/dist/ezui/p-f1c3f85d.entry.js +0 -1
  422. package/dist/ezui/p-f291db18.entry.js +0 -1
@@ -30,6 +30,7 @@ class CSSVarsUtils {
30
30
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--focus--border-color');
31
31
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__icon--width');
32
32
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--focus--icon-color');
33
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__margin-bottom');
33
34
  }
34
35
  }
35
36
  static applyVarsButton(host, child) {
@@ -0,0 +1,474 @@
1
+ 'use strict';
2
+
3
+ const core = require('@sankhyalabs/core');
4
+ const ApplicationUtils = require('./ApplicationUtils-c9d1205c.js');
5
+
6
+ const buildFieldMetadata = (descriptor, config) => {
7
+ let { name, label, group } = Object.assign({}, config);
8
+ let { readOnly, required } = Object.assign({}, config);
9
+ let props;
10
+ let userInterface;
11
+ if (descriptor) {
12
+ label = label || descriptor.label;
13
+ name = name || descriptor.name;
14
+ required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
15
+ readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
16
+ props = descriptor.properties;
17
+ userInterface = descriptor.userInterface;
18
+ }
19
+ return {
20
+ name, label, group,
21
+ readOnly, required,
22
+ props,
23
+ userInterface: userInterface || core.UserInterface.SHORTTEXT,
24
+ };
25
+ };
26
+
27
+ class RecordValidationProcessor {
28
+ constructor(dataUnit, validationSource, validator) {
29
+ this._dataUnit = dataUnit;
30
+ this._validationSource = validationSource;
31
+ this._validator = validator;
32
+ }
33
+ validate(isSaving = true) {
34
+ return new Promise((accept, reject) => {
35
+ const records = this._dataUnit.getModifiedRecords();
36
+ for (let i = 0; i < records.length; i++) {
37
+ const record = records[i];
38
+ const invalidResults = [];
39
+ let validationResult = this.validateRequired(record);
40
+ if (validationResult && !validationResult.isValid) {
41
+ invalidResults.push(validationResult);
42
+ }
43
+ if (this._validator) {
44
+ validationResult = this._validator.validateRecord(record);
45
+ if (validationResult && !validationResult.isValid) {
46
+ invalidResults.push(validationResult);
47
+ }
48
+ }
49
+ if (invalidResults.length > 0) {
50
+ if (!isSaving && invalidResults[0].invalidFields.length > 0) {
51
+ this._validationSource.markAsInvalid(invalidResults[0].invalidFields[0], record.__record__id__);
52
+ reject();
53
+ break;
54
+ }
55
+ this.processValidationResult(invalidResults, record.__record__id__);
56
+ reject();
57
+ break;
58
+ }
59
+ }
60
+ return accept();
61
+ });
62
+ }
63
+ validateRequired(record) {
64
+ const requiredFields = this._validationSource.getRequiredFields();
65
+ const invalidFields = [];
66
+ new Set(requiredFields).forEach(field => {
67
+ const value = record[field];
68
+ if (value == undefined || value === "") {
69
+ const errorMessage = this._validationSource.getMessageForField(field, record.__record__id__);
70
+ if (errorMessage) {
71
+ invalidFields.push({ name: field, message: errorMessage });
72
+ }
73
+ else {
74
+ invalidFields.push({ name: field, message: "Essa informação é obrigatória" });
75
+ }
76
+ }
77
+ });
78
+ if (invalidFields.length > 0) {
79
+ return { isValid: false, invalidFields, infoMessage: "Há pelo menos um campo obrigatório não preenchido." };
80
+ }
81
+ return undefined;
82
+ }
83
+ processValidationResult(validationResult, recordId) {
84
+ validationResult.forEach(invalidResult => {
85
+ const invalidFields = invalidResult.invalidFields;
86
+ this._dataUnit.savingCanceled(invalidFields, recordId);
87
+ if (invalidFields) {
88
+ invalidFields.forEach(field => {
89
+ this.markAsInvalid(field, recordId);
90
+ });
91
+ }
92
+ if (invalidResult.infoMessage) {
93
+ ApplicationUtils.ApplicationUtils.info(invalidResult.infoMessage);
94
+ }
95
+ if (invalidResult.errorMessage) {
96
+ const { errorTitle, errorMessage } = invalidResult;
97
+ ApplicationUtils.ApplicationUtils.error(errorTitle, errorMessage);
98
+ }
99
+ });
100
+ }
101
+ markAsInvalid(field, recordId) {
102
+ this._dataUnit.setInvalidField(field.name, field.message, recordId);
103
+ this._validationSource.markAsInvalid(field, recordId);
104
+ }
105
+ }
106
+
107
+ class DataBinder {
108
+ constructor(dataUnit) {
109
+ this.onDataUnitEvent = (action) => {
110
+ var _a;
111
+ switch (action.type) {
112
+ case core.Action.MULTIPLE_EDITION_CHANGED:
113
+ this.clearInvalid();
114
+ this.updateAllFieldsValues();
115
+ break;
116
+ case core.Action.DATA_LOADED:
117
+ case core.Action.DATA_SAVED:
118
+ case core.Action.RECORDS_REMOVED:
119
+ case core.Action.RECORDS_ADDED:
120
+ case core.Action.RECORDS_COPIED:
121
+ case core.Action.EDITION_CANCELED:
122
+ case core.Action.SELECTION_CHANGED:
123
+ case core.Action.NEXT_SELECTED:
124
+ case core.Action.PREVIOUS_SELECTED:
125
+ this.clearInvalid();
126
+ case core.Action.DATA_CHANGED:
127
+ case core.Action.CHANGE_UNDONE:
128
+ case core.Action.CHANGE_REDONE:
129
+ case core.Action.RECORD_LOADED:
130
+ this.updateAllFieldsValues();
131
+ this.clearFieldError(Object.keys(action.payload)[0]);
132
+ break;
133
+ case core.Action.FIELD_INVALIDATED:
134
+ (_a = this._fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
135
+ this.updateErrorMessage(field.fieldName, field.field);
136
+ });
137
+ break;
138
+ }
139
+ };
140
+ this._uuid = core.StringUtils.generateUUID();
141
+ this._fields = new Map();
142
+ this._dataUnit = dataUnit;
143
+ this.applyDefaultValues();
144
+ this._dataUnit.subscribe(this.onDataUnitEvent);
145
+ this._dataUnit.addInterceptor(this);
146
+ this.setContextDataBinder(dataUnit);
147
+ }
148
+ get dataBinderId() {
149
+ return this._uuid;
150
+ }
151
+ setContextDataBinder(dataUnit) {
152
+ const dataBindersByDataUnit = core.ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__") || new Map();
153
+ const dataBinders = [...(dataBindersByDataUnit.get(dataUnit.dataUnitId) || []), this];
154
+ dataBindersByDataUnit.set(dataUnit.dataUnitId, dataBinders);
155
+ core.ApplicationContext.setContextValue("__DATABINDER_BY_DATAUNIT__", dataBindersByDataUnit);
156
+ }
157
+ applyDefaultValues() {
158
+ const recordIds = (this._dataUnit.getAddedRecords() || []).map(r => r.__record__id__);
159
+ if (recordIds.length > 0) {
160
+ const defaultValues = this.getDefaultValues();
161
+ if (defaultValues) {
162
+ Object.keys(defaultValues).forEach(field => {
163
+ this._dataUnit.setFieldValue(field, defaultValues[field], recordIds);
164
+ });
165
+ }
166
+ }
167
+ }
168
+ bind(fields, currentContextName, formMetadata, recordsValidator) {
169
+ fields.forEach(fieldElement => {
170
+ const { fieldName, contextName } = fieldElement.dataset;
171
+ if (contextName == undefined || contextName === currentContextName) {
172
+ this.updateBind(fieldName, fieldElement);
173
+ }
174
+ });
175
+ this._formMetadata = formMetadata;
176
+ this._recordValidatorProcessor = new RecordValidationProcessor(this._dataUnit, {
177
+ getRequiredFields: () => this.getFormRequiredFields(),
178
+ markAsInvalid: field => this.markInvalid(field),
179
+ getMessageForField: field => this.getErrorMessage(field),
180
+ }, recordsValidator);
181
+ }
182
+ getFormRequiredFields() {
183
+ return this._formMetadata.getRequiredFields();
184
+ }
185
+ disconnectDataUnit() {
186
+ const dataBindersByDataUnit = core.ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__") || new Map();
187
+ const dataBinders = dataBindersByDataUnit.get(this._dataUnit.dataUnitId);
188
+ const dataBindersFiltered = dataBinders.filter((dataBinder) => dataBinder.dataBinderId !== this.dataBinderId);
189
+ dataBindersByDataUnit.set(this._dataUnit.dataUnitId, dataBindersFiltered);
190
+ core.ApplicationContext.setContextValue("__DATABINDER_BY_DATAUNIT__", dataBindersByDataUnit);
191
+ }
192
+ onDisconnectedCallback() {
193
+ this._dataUnit.unsubscribe(this.onDataUnitEvent);
194
+ this._dataUnit.removeInterceptor(this);
195
+ this.disconnectDataUnit();
196
+ }
197
+ getCurrentRecordId() {
198
+ const record = this._dataUnit.getSelectedRecord();
199
+ return record === null || record === void 0 ? void 0 : record.__record__id__;
200
+ }
201
+ markInvalid(field) {
202
+ if (this._fields.has(field.name)) {
203
+ const fieldElement = this._fields.get(field.name).field;
204
+ this.updateErrorMessage(field.name, fieldElement, field.message);
205
+ }
206
+ }
207
+ setFocus(fieldName) {
208
+ if (!this._fields.has(fieldName)) {
209
+ return;
210
+ }
211
+ const fieldElement = this._fields.get(fieldName).field;
212
+ if (typeof fieldElement["setFocus"] != "function") {
213
+ return;
214
+ }
215
+ fieldElement["setFocus"]();
216
+ }
217
+ clearInvalid(recordId) {
218
+ this._dataUnit.clearInvalid(recordId);
219
+ this._fields.forEach(fieldBinder => {
220
+ const fieldElement = fieldBinder.field;
221
+ fieldElement["errorMessage"] = "";
222
+ });
223
+ }
224
+ clearFieldError(fieldName) {
225
+ var _a;
226
+ const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
227
+ if (field["errorMessage"]) {
228
+ field["errorMessage"] = "";
229
+ this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
230
+ }
231
+ }
232
+ updateFieldValue(fieldName, field) {
233
+ const bind = this._fields.get(fieldName);
234
+ try {
235
+ if (bind)
236
+ bind.listen = false;
237
+ if (this._dataUnit.isMultipleEdition && this.hasMultipleValuesBetweenRecords(fieldName)) {
238
+ field['value'] = undefined;
239
+ field['alternativePlaceholder'] = 'Múltiplos Valores';
240
+ }
241
+ else {
242
+ field["value"] = this._dataUnit.getFieldValue(fieldName);
243
+ field['alternativePlaceholder'] = undefined;
244
+ }
245
+ this.updateErrorMessage(fieldName, field);
246
+ }
247
+ finally {
248
+ if (bind) {
249
+ bind.listen = true;
250
+ }
251
+ }
252
+ }
253
+ hasMultipleValuesBetweenRecords(key) {
254
+ var _a, _b;
255
+ const selectedRecords = (_b = (_a = this._dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
256
+ if (selectedRecords.length <= 1)
257
+ return false;
258
+ const firstValue = selectedRecords[0][key];
259
+ return !selectedRecords.every(record => core.ObjectUtils.equals(record[key], firstValue));
260
+ }
261
+ validate() {
262
+ return this._recordValidatorProcessor.validate();
263
+ }
264
+ static async validateByDataunit(dataUnit) {
265
+ try {
266
+ const dataBinders = this.getDataBindersByDataUnit(dataUnit);
267
+ await Promise.all(dataBinders.map((dataBinder) => dataBinder.validate()));
268
+ return true;
269
+ }
270
+ catch (_a) {
271
+ return false;
272
+ }
273
+ }
274
+ static getDataBindersByDataUnit(dataUnit) {
275
+ const dataBindersByDataUnit = core.ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__");
276
+ return (dataBindersByDataUnit === null || dataBindersByDataUnit === void 0 ? void 0 : dataBindersByDataUnit.get(dataUnit.dataUnitId)) || [];
277
+ }
278
+ updateErrorMessage(fieldName, field, message) {
279
+ if (message == undefined) {
280
+ message = this._dataUnit.getInvalidMessage(this.getCurrentRecordId(), fieldName);
281
+ }
282
+ if (!field["errorMessage"]) {
283
+ field["errorMessage"] = message;
284
+ }
285
+ }
286
+ getErrorMessage(fieldName) {
287
+ if (this._fields.has(fieldName)) {
288
+ const fieldElement = this._fields.get(fieldName).field;
289
+ return fieldElement["errorMessage"];
290
+ }
291
+ return undefined;
292
+ }
293
+ updateBind(fieldName, field) {
294
+ const oldBind = this._fields.get(fieldName);
295
+ if (oldBind) {
296
+ oldBind.destroy();
297
+ }
298
+ this.bindSearchOptionsLoader(fieldName, field);
299
+ this.updateFieldValue(fieldName, field);
300
+ this.updateErrorMessage(fieldName, field);
301
+ this._fields.set(fieldName, Bind.create(fieldName, field, (fieldName, waitingChange) => this.changeStarted(fieldName, waitingChange), (fieldName) => this.cancelWaitingChange(fieldName), (fieldName, newValue) => this.setFieldValue(fieldName, newValue)));
302
+ this.applyEzUploadContext(fieldName, field);
303
+ }
304
+ changeStarted(fieldName, waitingChange) {
305
+ /**
306
+ * se o waitingChange não é blocante, add um event listener pra
307
+ * fazer o accept da promise
308
+ *
309
+ * se não tiver promise no waitingChange, eu crio uma e resolvo no bind
310
+ *
311
+ *
312
+ */
313
+ if (this._dataUnit.records.length === 0) {
314
+ this._dataUnit.addRecord();
315
+ }
316
+ if (!waitingChange.blocking && waitingChange.promise == undefined) {
317
+ const bind = this._fields.get(fieldName);
318
+ if (bind) {
319
+ waitingChange.promise = new Promise((resolve, reject) => {
320
+ bind.waitingChangePromiseResolve = resolve;
321
+ bind.waitingChangePromiseReject = reject;
322
+ });
323
+ }
324
+ }
325
+ this._dataUnit.startChange(fieldName, waitingChange);
326
+ }
327
+ cancelWaitingChange(fieldName) {
328
+ if (this._dataUnit.waitingForChange(fieldName)) {
329
+ this._dataUnit.cancelWaitingChange(fieldName);
330
+ const bind = this._fields.get(fieldName);
331
+ if (bind) {
332
+ bind.rejectWaitingChange(new core.WaitingChangeException("Change canceled", fieldName));
333
+ }
334
+ }
335
+ }
336
+ setFieldValue(fieldName, newValue) {
337
+ if (this._dataUnit.records.length === 0) {
338
+ this._dataUnit.addRecord();
339
+ }
340
+ this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
341
+ if (this._dataUnit.isMultipleEdition) {
342
+ const selectionInfo = this._dataUnit.getSelectionInfo();
343
+ this._dataUnit.setFieldValue(fieldName, newValue, selectionInfo.recordIds);
344
+ }
345
+ else {
346
+ const record = this._dataUnit.getSelectedRecord();
347
+ this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
348
+ }
349
+ if (this._dataUnit.waitingForChange(fieldName)) {
350
+ const bind = this._fields.get(fieldName);
351
+ if (bind) {
352
+ bind.acceptWaitingChange();
353
+ }
354
+ }
355
+ }
356
+ bindSearchOptionsLoader(fieldName, field) {
357
+ if ((field.nodeName === "EZ-SEARCH" || field.nodeName === "EZ-SEARCH-PLUS") && field["optionLoader"] == undefined) {
358
+ const isSearchPlus = field.nodeName === "EZ-SEARCH-PLUS";
359
+ const loader = isSearchPlus ? core.ApplicationContext.getContextValue("__EZUI__SEARCH__PLUS__OPTION__LOADER__") : core.ApplicationContext.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");
360
+ if (loader) {
361
+ field["optionLoader"] = (arg, ctxOptions) => {
362
+ return loader(arg, fieldName, this._dataUnit, ctxOptions);
363
+ };
364
+ }
365
+ }
366
+ }
367
+ applyEzUploadContext(fieldName, field) {
368
+ var _a, _b;
369
+ if (field.nodeName === "EZ-UPLOAD") {
370
+ field["urlUpload"] = core.ApplicationContext.getContextValue("__EZUI__UPLOAD__ADD__URL__");
371
+ field["urlDelete"] = core.ApplicationContext.getContextValue("__EZUI__UPLOAD__DEL__URL__");
372
+ const descriptor = this._dataUnit.getField(fieldName);
373
+ const destination = (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.DESTINATION;
374
+ if (destination) {
375
+ field["requestHeaders"] = { XTRAINF: `{"destination": "${destination}"}` };
376
+ }
377
+ field["maxFiles"] = ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.MAX_FILES) || 0;
378
+ }
379
+ }
380
+ updateAllFieldsValues() {
381
+ var _a;
382
+ (_a = this._fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
383
+ this.updateFieldValue(field.fieldName, field.field);
384
+ });
385
+ }
386
+ interceptAction(action) {
387
+ if (action.type === core.Action.RECORDS_COPIED) {
388
+ const cleanFields = this._formMetadata.getCleanOnCopyFields();
389
+ if (cleanFields) {
390
+ const records = action.payload;
391
+ return new core.DataUnitAction(core.Action.RECORDS_COPIED, records.map(record => {
392
+ const newRecord = Object.assign({}, record);
393
+ cleanFields.forEach(fieldName => delete newRecord[fieldName]);
394
+ return newRecord;
395
+ }));
396
+ }
397
+ }
398
+ if (action.type === core.Action.SAVING_DATA) {
399
+ return new Promise((resolve) => {
400
+ this.validate()
401
+ .then(() => resolve(action))
402
+ .catch(() => { });
403
+ });
404
+ }
405
+ if (action.type === core.Action.RECORDS_ADDED) {
406
+ const defaultValues = this.getDefaultValues();
407
+ if (defaultValues) {
408
+ const records = action.payload;
409
+ return new core.DataUnitAction(core.Action.RECORDS_ADDED, records.map(record => {
410
+ return Object.assign(Object.assign({}, record), defaultValues);
411
+ }));
412
+ }
413
+ }
414
+ return action;
415
+ }
416
+ getDefaultValues() {
417
+ var _a;
418
+ const rawDefaultValues = (_a = this._formMetadata) === null || _a === void 0 ? void 0 : _a.getDefaultValues();
419
+ if (rawDefaultValues) {
420
+ const defaultValues = {};
421
+ for (const field in rawDefaultValues) {
422
+ defaultValues[field] = this._dataUnit.valueFromString(field, rawDefaultValues[field]);
423
+ }
424
+ return defaultValues;
425
+ }
426
+ return undefined;
427
+ }
428
+ }
429
+ class Bind {
430
+ constructor() {
431
+ this.listen = true;
432
+ this.startChangeEventName = "ezStartChange";
433
+ this.cancelWaitingChangeEventName = "ezCancelWaitingChange";
434
+ this.changeEventName = "ezChange";
435
+ }
436
+ destroy() {
437
+ this.field.removeEventListener(this.startChangeEventName, this.startChangeListener);
438
+ this.field.removeEventListener(this.cancelWaitingChangeEventName, this.cancelWaitingChangeListener);
439
+ this.field.removeEventListener(this.changeEventName, this.changeListener);
440
+ }
441
+ acceptWaitingChange() {
442
+ if (this.waitingChangePromiseResolve) {
443
+ this.waitingChangePromiseResolve();
444
+ this.waitingChangePromiseReject = undefined;
445
+ this.waitingChangePromiseResolve = undefined;
446
+ }
447
+ }
448
+ rejectWaitingChange(reason) {
449
+ if (this.waitingChangePromiseReject) {
450
+ this.waitingChangePromiseReject(reason);
451
+ this.waitingChangePromiseReject = undefined;
452
+ this.waitingChangePromiseResolve = undefined;
453
+ }
454
+ }
455
+ static create(fieldName, field, startChangeCallback, cancelWaitingChangeCallback, changeCallback) {
456
+ const b = new Bind();
457
+ b.field = field;
458
+ b.fieldName = fieldName;
459
+ b.startChangeListener = (evt) => { if (b.listen)
460
+ startChangeCallback(fieldName, evt.detail); };
461
+ b.field.addEventListener(b.startChangeEventName, b.startChangeListener);
462
+ b.cancelWaitingChangeListener = () => { if (b.listen)
463
+ cancelWaitingChangeCallback(fieldName); };
464
+ b.field.addEventListener(b.cancelWaitingChangeEventName, b.cancelWaitingChangeListener);
465
+ b.changeListener = (evt) => { if (b.listen)
466
+ changeCallback(fieldName, evt.detail); };
467
+ b.field.addEventListener(b.changeEventName, b.changeListener);
468
+ return b;
469
+ }
470
+ }
471
+
472
+ exports.DataBinder = DataBinder;
473
+ exports.RecordValidationProcessor = RecordValidationProcessor;
474
+ exports.buildFieldMetadata = buildFieldMetadata;
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ class FocusResolver {
4
+ static resolveFocus(element, selectText = true) {
5
+ var _a;
6
+ if (!element)
7
+ return;
8
+ (_a = element.focus) === null || _a === void 0 ? void 0 : _a.call(element);
9
+ if (element.setFocus) {
10
+ element.setFocus({ selectText });
11
+ return;
12
+ }
13
+ this.resolveFocusOnChild(element, selectText);
14
+ }
15
+ static resolveFocusOnChild(element, selectText = true) {
16
+ var _a, _b;
17
+ if (this.isGridCell(element) && element.firstElementChild) {
18
+ this.resolveFocusOnChild(element.firstElementChild);
19
+ return;
20
+ }
21
+ if (!element || !element.classList.contains('hydrated'))
22
+ return;
23
+ const firstChild = element.firstElementChild;
24
+ if (!(firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) && !(firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus))
25
+ return;
26
+ (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) === null || _a === void 0 ? void 0 : _a.call(firstChild);
27
+ (_b = firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus) === null || _b === void 0 ? void 0 : _b.call(firstChild, { selectText });
28
+ }
29
+ static isGridCell(element) {
30
+ var _a;
31
+ return ((_a = element === null || element === void 0 ? void 0 : element.getAttribute) === null || _a === void 0 ? void 0 : _a.call(element, "role")) === 'gridcell';
32
+ }
33
+ }
34
+
35
+ exports.FocusResolver = FocusResolver;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ exports.FormLayout = void 0;
4
+ (function (FormLayout) {
5
+ FormLayout[FormLayout["CASCADE"] = 0] = "CASCADE";
6
+ FormLayout[FormLayout["SIDE_BY_SIDE"] = 1] = "SIDE_BY_SIDE";
7
+ })(exports.FormLayout || (exports.FormLayout = {}));
@@ -3,7 +3,11 @@
3
3
  const REQUIRED_INFO = " (obrigatório) *";
4
4
  const DISTINCT_FILTER_NAME_PREFIX = 'FILTRO_COLUNA_';
5
5
  const EZ_GRID_LOADING_SOURCE = "EZ_GRID_LOADING_SOURCE";
6
+ const PRESENTATION_COL_ID_PROP_NAME = "gridDescriptionColID";
7
+ const PRESENTATION_FROM_COL_PROP_NAME = "presentationFieldFrom";
6
8
 
7
9
  exports.DISTINCT_FILTER_NAME_PREFIX = DISTINCT_FILTER_NAME_PREFIX;
8
10
  exports.EZ_GRID_LOADING_SOURCE = EZ_GRID_LOADING_SOURCE;
11
+ exports.PRESENTATION_COL_ID_PROP_NAME = PRESENTATION_COL_ID_PROP_NAME;
12
+ exports.PRESENTATION_FROM_COL_PROP_NAME = PRESENTATION_FROM_COL_PROP_NAME;
9
13
  exports.REQUIRED_INFO = REQUIRED_INFO;
@@ -5,10 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-9e5554cb.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  require('./ApplicationUtils-c9d1205c.js');
8
- const CSSVarsUtils = require('./CSSVarsUtils-10c9d5b4.js');
8
+ const CSSVarsUtils = require('./CSSVarsUtils-f20973d1.js');
9
9
  require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
- require('./ICustomRender-6fafffce.js');
11
+ require('./types-6a5df0c7.js');
12
+ require('./FormLayout-c2451c7f.js');
12
13
 
13
14
  const ezActionsButtonCss = ":host{--ez-actions-button__actions-list--border-radius:var(--border--radius-medium, 12px);--ez-actions-button__actions-list--box-shadow:var(--shadow, 0px 0px 16px 0px #000);--ez-actions-button__actions-list--background-color:var(--background--xlight, #fff);--ez-actions-button__actions-list--padding:var(--space--small, 6px);--ez-actions-button__actions-list--top-margin:var(--space-small, 6px);--ez-actions-button__actions-list--z-index:var(--ez-elevation--8, 8);--ez-actions-button__actions-max-height:415px;--ez-actions-button__btn-action--min-width:'auto';--ez-actions-button__btn-action--background-color:var(--background--xlight, #fff);display:flex;flex-direction:column;height:fit-content;user-select:none}.ez-actions-button__actions-list{display:flex;flex-direction:column;position:fixed;width:fit-content;height:fit-content;overflow-y:auto;scrollbar-width:thin;z-index:var(--ez-actions-button__actions-list--z-index);padding:var(--ez-actions-button__actions-list--padding);margin-top:var(--ez-actions-button__actions-list--top-margin);background-color:var(--ez-actions-button__actions-list--background-color);border-radius:var(--ez-actions-button__actions-list--border-radius);box-shadow:var(--ez-actions-button__actions-list--box-shadow)}.ez-actions-button__actions-list--max-height{max-height:var(--ez-actions-button__actions-max-height)}.ez-actions-button__actions-list--lowered{margin-top:calc(var(--ez-actions-button__actions-list--top-margin) + 6px)}.ez-actions-button__btn-action{--ez-button--justify-content:flex-start;--ez-button--width:100%;--ez-button--min-width:var(--ez-actions-button__btn-action--min-width);--ez-button--background-color:var(--ez-actions-button__btn-action--background-color);--ez-button--font-weight:var(--text-weight--medium, 400);--ez-button--padding-left:var(--space--medium, 12px);--ez-button--padding-right:var(--space--medium, 12px)}.ez-actions-button__btn-action--spaced{--ez-button--padding-left:calc(var(--space--medium, 12px) + 24px)}.ez-actions-button__icon-right{margin-left:var(--space--small, 6px)}.ez-actions-button__icon-check,.ez-actions-button__icon-item{position:absolute;left:var(--space--medium, 12px)}.ez-actions-button__icon-check{color:var(--ez-button--hover-color)}.ez-actions-button__arrow{position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;width:0;height:0;z-index:calc(var(--ez-actions-button__actions-list--z-index) + 1);border-bottom:15px solid var(--ez-actions-button__btn-action--background-color)}.ez-actions-button__arrow--upped{margin-top:calc((var(--ez-actions-button__actions-list--top-margin) + 2px) * -1)}.ez-actions-button__arrow--small{margin-left:6px}.ez-actions-button__arrow--medium{margin-left:11px}.ez-actions-button__arrow--large{margin-left:13px}.ez-actions-button__arrow:only-child{display:none}.ez-actions-button__btn-transparent{--ez-button--background-color:transparent;--ez-button--hover--background-color:transparent;--ez-button--active--background-color:transparent;--ez-button--focus--border:none}.ez-actions-button__btn-label{--ez-button--padding-left:var(--space--medium, 12px);--ez-button--padding-right:var(--space--medium, 12px)}.ez-actions-button__list-container{position:relative}.ez-actions-button--bottom-padding{padding-bottom:var(--space--small, 6px)}";
14
15
 
@@ -99,8 +100,9 @@ const EzActionsButton = class {
99
100
  var _a;
100
101
  const docWidth = document.body.clientWidth;
101
102
  const boundingList = (_a = this._actionsList) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
102
- if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) > docWidth) {
103
- return (docWidth - boundingList.width) + "px";
103
+ const rightOffset = docWidth - this._button.getBoundingClientRect().right;
104
+ if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) >= docWidth || (boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) === (docWidth - rightOffset)) {
105
+ return (docWidth - boundingList.width - rightOffset) + "px";
104
106
  }
105
107
  return;
106
108
  }
@@ -15,7 +15,7 @@ var Sizes;
15
15
  Sizes["EXTRA_SMALL"] = "extra-small";
16
16
  })(Sizes || (Sizes = {}));
17
17
 
18
- const ezBadgeCss = ":host{--ez-badge--size-2xs:var(--space--2xs, 8px);--ez-badge--size-xs:var(--space--xs, 12px);--ez-badge--size-sm:var(--space--sm, 16px);--ez-badge--size-md:var(--space--md, 20px);--ez-badge--size-lg:var(--space--lg, 24px);--ez-badge--size-xl:var(--space--xl, 32px);--ez-badge--padding-2xs:0;--ez-badge--padding-xs:var(--space--nano, 2px);--ez-badge--padding-sm:calc(var(--space--nano, 2px) + 1px);--ez-badge--padding-md:var(--space--3xs, 4px);--ez-badge--padding-lg:calc(var(--space--3xs, 4px) + 2px);--ez-badge--padding-xl:var(--space--2xs);--ez-badge--border-radius:calc(var(--border--radius-medium, 12px) + 8px);--ez-badge--font-family:var(--font-pattern, Roboto);--ez-badge--font-weight-medium:var(--text-weight--medium, 400);--ez-badge--background-color:var(--color--primary, #008561);--ez-badge--border-none:0;--ez-badge--color:var(--text--inverted, #ffffff);--ez-badge--gap:calc(var(--ez-badge--padding-xs) + 1px);--ez-badge--font-size-md:var(--text--medium);--ez-badge--font-size-sm:var(--text--medium);--ez-badge--font-size-xs:var(--text--small)}ez-icon{--ez-icon--color:inherit}.badge{display:flex;justify-content:center;align-items:center;position:relative}.badge__content{font-family:var(--ez-badge--font-family, Roboto);font-weight:var(--ez-badge--font-weight-medium, 400);background-color:var(--ez-badge--background-color, #008561);border:var(--ez-badge--border-none, 0);color:var(--ez-badge--color, #ffffff);border-radius:var(--ez-badge--border-radius, 20px);gap:var(--ez-badge--gap, 3px);display:flex;justify-content:center;align-items:center}.badge__content--fill-xs{height:var(--ez-badge--size-xs, 12px);min-width:var(--ez-badge--size-xs, 12px)}.badge__content--fill-2xs{height:var(--ez-badge--size-2xs, 8px);min-width:var(--ez-badge--size-2xs, 8px)}.badge__content--text-md{height:calc(var(--ez-badge--size-md, 20px) - 2px);min-width:var(--ez-badge--size-sm, 20px);padding-top:var(--ez-badge--padding-sm);padding-bottom:var(--ez-badge--padding-sm);padding-right:var(--ez-badge--padding-xl);padding-left:var(--ez-badge--padding-xl);font-size:var(--ez-badge--font-size-md)}.badge__content--text-sm{height:calc(var(--ez-badge--size-sm, 16px) - 2px);min-width:var(--ez-badge--size-sm, 16px);padding-top:var(--ez-badge--padding-sm);padding-bottom:var(--ez-badge--padding-sm);padding-right:var(--ez-badge--padding-xl);padding-left:var(--ez-badge--padding-xl);font-size:var(--ez-badge--font-size-sm)}.badge__content--text-xs{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding-top:var(--ez-badge--padding-2xs);padding-bottom:var(--ez-badge--padding-2xs);padding-right:var(--ez-badge--padding-lg);padding-left:var(--ez-badge--padding-lg);font-size:var(--ez-badge--font-size-xs)}.badge__content--icon-lg{height:var(--ez-badge--size-lg, 24px);min-width:var(--ez-badge--size-lg, 24px);padding:var(--ez-badge--padding-md)}.badge__content--icon-md{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding:var(--ez-badge--padding-md)}.badge__content--icon-sm{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding:var(--ez-badge--padding-xs)}.badge__content--icon-xs{height:var(--ez-badge--size-xs, 12px);min-width:var(--ez-badge--size-xs, 12px);padding:var(--ez-badge--padding-xs)}.badge__content--fill{position:absolute;top:0;inset-inline-end:0;z-index:var(--most-visible, 2)}.badge__content--fill-top-right{transform:translate(50%, -50%);position:absolute;top:0;right:0}.badge__content--fill-top-left{transform:translate(-50%, -50%);position:absolute;top:0;left:0}.badge__content--fill-bottom-left{transform:translate(-50%, 50%);position:absolute;bottom:0;left:0}.badge__content--fill-bottom-right{transform:translate(50%, 50%);position:absolute;bottom:0;right:0}";
18
+ const ezBadgeCss = ":host{--ez-badge--size-2xs:var(--space--2xs, 8px);--ez-badge--size-xs:var(--space--xs, 12px);--ez-badge--size-sm:var(--space--sm, 16px);--ez-badge--size-md:var(--space--md, 20px);--ez-badge--size-lg:var(--space--lg, 24px);--ez-badge--size-xl:var(--space--xl, 32px);--ez-badge--padding-2xs:0;--ez-badge--padding-xs:var(--space--nano, 2px);--ez-badge--padding-sm:calc(var(--space--nano, 2px) + 1px);--ez-badge--padding-md:var(--space--3xs, 4px);--ez-badge--padding-lg:calc(var(--space--3xs, 4px) + 2px);--ez-badge--padding-xl:var(--space--2xs);--ez-badge--border-radius:calc(var(--border--radius-medium, 12px) + 8px);--ez-badge--font-family:var(--font-pattern, Roboto);--ez-badge--font-weight-medium:var(--text-weight--medium, 400);--ez-badge--background-color:var(--color--primary, #008561);--ez-badge--border-none:0;--ez-badge--color:var(--text--inverted, #ffffff);--ez-badge--gap:calc(var(--ez-badge--padding-xs) + 1px);--ez-badge--font-size-md:var(--text--medium);--ez-badge--font-size-sm:var(--text--medium);--ez-badge--font-size-xs:var(--text--small)}ez-icon{--ez-icon--color:inherit}.badge{display:flex;justify-content:center;align-items:center;position:relative}.badge__content{font-family:var(--ez-badge--font-family, Roboto);font-weight:var(--ez-badge--font-weight-medium, 400);background-color:var(--ez-badge--background-color, #008561);border:var(--ez-badge--border-none, 0);color:var(--ez-badge--color, #ffffff);border-radius:var(--ez-badge--border-radius, 20px);gap:var(--ez-badge--gap, 3px);display:flex;justify-content:center}.badge__content--fill-xs{height:var(--ez-badge--size-xs, 12px);min-width:var(--ez-badge--size-xs, 12px)}.badge__content--fill-2xs{height:var(--ez-badge--size-2xs, 8px);min-width:var(--ez-badge--size-2xs, 8px)}.badge__content--text-md{height:calc(var(--ez-badge--size-md, 20px) - 2px);min-width:var(--ez-badge--size-sm, 20px);padding-top:var(--ez-badge--padding-sm);padding-bottom:var(--ez-badge--padding-sm);padding-right:var(--ez-badge--padding-xl);padding-left:var(--ez-badge--padding-xl);font-size:var(--ez-badge--font-size-md)}.badge__content--text-sm{height:calc(var(--ez-badge--size-sm, 16px) - 2px);min-width:var(--ez-badge--size-sm, 16px);padding-top:var(--ez-badge--padding-sm);padding-bottom:var(--ez-badge--padding-sm);padding-right:var(--ez-badge--padding-xl);padding-left:var(--ez-badge--padding-xl);font-size:var(--ez-badge--font-size-sm)}.badge__content--text-xs{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding-top:var(--ez-badge--padding-2xs);padding-bottom:var(--ez-badge--padding-2xs);padding-right:var(--ez-badge--padding-lg);padding-left:var(--ez-badge--padding-lg);font-size:var(--ez-badge--font-size-xs)}.badge__content--icon-lg{height:var(--ez-badge--size-lg, 24px);min-width:var(--ez-badge--size-lg, 24px);padding:var(--ez-badge--padding-md)}.badge__content--icon-md{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding:var(--ez-badge--padding-md)}.badge__content--icon-sm{height:var(--ez-badge--size-sm, 16px);min-width:var(--ez-badge--size-sm, 16px);padding:var(--ez-badge--padding-xs)}.badge__content--icon-xs{height:var(--ez-badge--size-xs, 12px);min-width:var(--ez-badge--size-xs, 12px);padding:var(--ez-badge--padding-xs)}.badge__content--icon-align-center{align-items:center}.badge__content--icon-align-start{align-items:flex-start}.badge__content--icon-align-end{align-items:flex-end}.badge__content--fill{position:absolute;top:0;inset-inline-end:0;z-index:var(--most-visible, 2)}.badge__content--fill-top-right{transform:translate(50%, -50%);position:absolute;top:0;right:0}.badge__content--fill-top-left{transform:translate(-50%, -50%);position:absolute;top:0;left:0}.badge__content--fill-bottom-left{transform:translate(-50%, 50%);position:absolute;bottom:0;left:0}.badge__content--fill-bottom-right{transform:translate(50%, 50%);position:absolute;bottom:0;right:0}";
19
19
 
20
20
  const EzBadge = class {
21
21
  constructor(hostRef) {
@@ -46,6 +46,7 @@ const EzBadge = class {
46
46
  this.iconLeft = undefined;
47
47
  this.iconRight = undefined;
48
48
  this.position = { horizontal: "right", vertical: "top" };
49
+ this.alignItems = "center";
49
50
  }
50
51
  getIconSize() {
51
52
  switch (this.size) {
@@ -60,6 +61,16 @@ const EzBadge = class {
60
61
  return null;
61
62
  }
62
63
  }
64
+ getAlignItemsClass() {
65
+ switch (this.alignItems) {
66
+ case "flex-end":
67
+ return "end";
68
+ case "flex-start":
69
+ return "start";
70
+ default:
71
+ return "center";
72
+ }
73
+ }
63
74
  componentDidLoad() {
64
75
  if (this._element) {
65
76
  core.ElementIDUtils.addIDInfo(this._element);
@@ -83,7 +94,8 @@ const EzBadge = class {
83
94
  }
84
95
  createContainerClassName() {
85
96
  let sizeSufix = this._sizes[this.size].sufix;
86
- let containerClassNames = ["badge__content"];
97
+ let alignItemsClass = "badge__content--icon-align-" + this.getAlignItemsClass();
98
+ let containerClassNames = ["badge__content", alignItemsClass];
87
99
  if (this.hasSlot) {
88
100
  containerClassNames.push("badge__content--fill-" + sizeSufix);
89
101
  if (this.position.vertical == "bottom" && this.position.horizontal == "right") {