@sankhyalabs/ezui 5.22.0-dev.14 → 5.22.0-dev.140

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 (439) hide show
  1. package/dist/cjs/{CSSVarsUtils-10c9d5b4.js → CSSVarsUtils-f20973d1.js} +1 -0
  2. package/dist/cjs/FocusResolver-885f2173.js +35 -0
  3. package/dist/cjs/FormLayout-18853e70.js +27 -0
  4. package/dist/cjs/{constants-2714478b.js → constants-569271bc.js} +4 -0
  5. package/dist/cjs/ez-actions-button.cjs.entry.js +6 -5
  6. package/dist/cjs/ez-avatar.cjs.entry.js +50 -0
  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 +267 -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 +2 -2
  14. package/dist/cjs/ez-combo-box-list_3.cjs.entry.js +387 -0
  15. package/dist/cjs/ez-combo-box.cjs.entry.js +80 -158
  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 +89 -327
  24. package/dist/cjs/ez-grid.cjs.entry.js +15312 -69830
  25. package/dist/cjs/ez-icon.cjs.entry.js +12 -6
  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 +238 -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 +397 -0
  35. package/dist/cjs/ez-search-result-list.cjs.entry.js +97 -0
  36. package/dist/cjs/ez-search.cjs.entry.js +134 -191
  37. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-skeleton.cjs.entry.js +118 -36
  39. package/dist/cjs/ez-split-button.cjs.entry.js +16 -7
  40. package/dist/cjs/ez-split-item.cjs.entry.js +7 -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 +150 -31
  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 +24 -52
  50. package/dist/cjs/floating-ui.dom.esm-017acce4.js +1404 -0
  51. package/dist/cjs/index-a7b0c73d.js +36 -8
  52. package/dist/cjs/loader.cjs.js +1 -1
  53. package/dist/cjs/search-column-27d1f72f.js +505 -0
  54. package/dist/cjs/searchFormatters-b7e1ed1e.js +23 -0
  55. package/dist/collection/collection-manifest.json +21 -2
  56. package/dist/collection/components/ez-actions-button/ez-actions-button.css +2 -0
  57. package/dist/collection/components/ez-actions-button/ez-actions-button.js +3 -2
  58. package/dist/collection/components/ez-avatar/ez-avatar.css +139 -0
  59. package/dist/collection/components/ez-avatar/ez-avatar.js +143 -0
  60. package/dist/collection/components/ez-badge/ez-badge.css +12 -1
  61. package/dist/collection/components/ez-badge/ez-badge.js +31 -1
  62. package/dist/collection/components/ez-button/ez-button.css +24 -14
  63. package/dist/collection/components/ez-button/ez-button.js +12 -6
  64. package/dist/collection/components/ez-card-item/ez-card-item.css +58 -10
  65. package/dist/collection/components/ez-card-item/ez-card-item.js +30 -3
  66. package/dist/collection/components/ez-chart/ez-chart.js +2 -2
  67. package/dist/collection/components/ez-chart/interfaces/ChartTypeValue.js +1 -0
  68. package/dist/collection/components/ez-chart/types/BaseHighChartsRender.js +3 -3
  69. package/dist/collection/components/ez-check/ez-check.css +10 -6
  70. package/dist/collection/components/ez-check/ez-check.js +34 -9
  71. package/dist/collection/components/ez-chip/ez-chip.css +5 -1
  72. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +1 -1
  73. package/dist/collection/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.css +205 -0
  74. package/dist/collection/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.js +426 -0
  75. package/dist/collection/components/ez-combo-box/ez-combo-box.css +8 -246
  76. package/dist/collection/components/ez-combo-box/ez-combo-box.js +141 -167
  77. package/dist/collection/components/ez-date-input/ez-date-input.css +1 -1
  78. package/dist/collection/components/ez-date-input/ez-date-input.js +58 -19
  79. package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +1 -1
  80. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +57 -20
  81. package/dist/collection/components/ez-dialog/ez-dialog.css +27 -24
  82. package/dist/collection/components/ez-dialog/ez-dialog.js +18 -17
  83. package/dist/collection/components/ez-double-list/doubleListHelper.js +82 -0
  84. package/dist/collection/components/ez-double-list/ez-double-list.css +62 -0
  85. package/dist/collection/components/ez-double-list/ez-double-list.js +440 -0
  86. package/dist/collection/components/ez-dropdown/ez-dropdown.js +33 -8
  87. package/dist/collection/components/ez-filter-input/ez-filter-input.css +1 -1
  88. package/dist/collection/components/ez-filter-input/ez-filter-input.js +35 -4
  89. package/dist/collection/components/ez-form/ez-form.js +125 -4
  90. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +49 -6
  91. package/dist/collection/components/ez-form-view/ez-form-view.css +13 -2
  92. package/dist/collection/components/ez-form-view/ez-form-view.js +21 -2
  93. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +5 -2
  94. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
  95. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
  96. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +8 -4
  97. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +1 -1
  98. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
  99. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -1
  100. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.js +6 -0
  101. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +1 -1
  102. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  103. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +443 -76
  104. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +172 -33
  105. package/dist/collection/components/ez-grid/controller/ag-grid/DataSourceInterceptor.js +2 -1
  106. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +248 -43
  107. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +16 -0
  108. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +1 -1
  109. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +10 -0
  110. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +2 -0
  111. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
  112. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
  113. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +8 -1
  114. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.js +15 -0
  115. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
  116. package/dist/collection/components/ez-grid/controller/ag-grid/test/constants/GridEditionMock.js +2 -0
  117. package/dist/collection/components/ez-grid/ez-grid.css +107 -10
  118. package/dist/collection/components/ez-grid/ez-grid.js +478 -22
  119. package/dist/collection/components/ez-grid/subcomponents/filter-column.css +4 -0
  120. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +23 -51
  121. package/dist/collection/components/ez-grid/utils/ColumnFilterManager.js +7 -54
  122. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +20 -4
  123. package/dist/collection/components/ez-icon/ez-icon.css +156 -149
  124. package/dist/collection/components/ez-icon/ez-icon.js +28 -5
  125. package/dist/collection/components/ez-list/ez-list.css +6 -4
  126. package/dist/collection/components/ez-list/ez-list.js +301 -212
  127. package/dist/collection/components/ez-list/ezListHelper.js +85 -0
  128. package/dist/collection/components/ez-modal/ez-modal.css +7 -2
  129. package/dist/collection/components/ez-modal/ez-modal.js +18 -5
  130. package/dist/collection/components/ez-modal-container/ez-modal-container.css +3 -1
  131. package/dist/collection/components/ez-modal-container/ez-modal-container.js +6 -2
  132. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.css +3 -3
  133. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +1 -1
  134. package/dist/collection/components/ez-multi-selection-list/interfaces/IStaticOptionsFetchConfig.js +1 -0
  135. package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
  136. package/dist/collection/components/ez-number-input/ez-number-input.js +67 -1
  137. package/dist/collection/components/ez-popover-plus/ez-popover-plus.css +3 -0
  138. package/dist/collection/components/ez-popover-plus/ez-popover-plus.js +434 -0
  139. package/dist/collection/components/ez-popover-plus/subcomponent/ez-popover-core.css +67 -0
  140. package/dist/collection/components/ez-popover-plus/subcomponent/ez-popover-core.js +524 -0
  141. package/dist/collection/components/ez-popup/ez-popup.css +8 -3
  142. package/dist/collection/components/ez-popup/ez-popup.js +48 -4
  143. package/dist/collection/components/ez-scroller/ez-scroller.css +4 -0
  144. package/dist/collection/components/ez-search/ez-search.css +2 -210
  145. package/dist/collection/components/ez-search/ez-search.js +234 -204
  146. package/dist/collection/components/ez-search/subcomponent/search-list/search-list.css +227 -0
  147. package/dist/collection/components/ez-search/subcomponent/search-list/search-list.js +318 -0
  148. package/dist/collection/components/ez-search/utils/searchFormatters.js +18 -0
  149. package/dist/collection/components/ez-search-plus/ez-search-plus.css +373 -0
  150. package/dist/collection/components/ez-search-plus/ez-search-plus.js +960 -0
  151. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.css +221 -0
  152. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.js +278 -0
  153. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +3 -0
  154. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +1 -1
  155. package/dist/collection/components/ez-sidebar-navigator/ez-sidebar-navigator.css +4 -1
  156. package/dist/collection/components/ez-skeleton/ez-skeleton.constants.js +25 -1
  157. package/dist/collection/components/ez-skeleton/ez-skeleton.css +140 -78
  158. package/dist/collection/components/ez-skeleton/ez-skeleton.js +210 -46
  159. package/dist/collection/components/ez-split-button/ez-split-button.css +53 -15
  160. package/dist/collection/components/ez-split-button/ez-split-button.js +90 -13
  161. package/dist/collection/components/ez-split-panel/ez-split-panel.css +15 -0
  162. package/dist/collection/components/ez-split-panel/ez-split-panel.js +106 -5
  163. package/dist/collection/components/ez-split-panel/interfaces/IPanelSizeInfo.js +1 -0
  164. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.css +14 -2
  165. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +22 -1
  166. package/dist/collection/components/ez-text-area/ez-text-area.css +78 -29
  167. package/dist/collection/components/ez-text-area/ez-text-area.js +151 -6
  168. package/dist/collection/components/ez-text-input/ez-text-input.css +133 -93
  169. package/dist/collection/components/ez-text-input/ez-text-input.js +231 -29
  170. package/dist/collection/components/ez-time-input/ez-time-input.js +43 -1
  171. package/dist/collection/components/ez-tooltip/ez-tooltip.css +62 -0
  172. package/dist/collection/components/ez-tooltip/ez-tooltip.js +310 -0
  173. package/dist/collection/components/ez-tree/ez-tree.js +21 -1
  174. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +3 -3
  175. package/dist/collection/sw.js +46 -0
  176. package/dist/collection/utils/CSSVarsUtils.js +1 -0
  177. package/dist/collection/utils/FocusResolver.js +31 -0
  178. package/dist/collection/utils/constants.js +2 -0
  179. package/dist/collection/utils/form/DataBinder.js +65 -21
  180. package/dist/collection/utils/form/FormMetadata.js +2 -1
  181. package/dist/collection/utils/form/interfaces/FormLayout.js +5 -0
  182. package/dist/collection/utils/form/interfaces/index.js +1 -1
  183. package/dist/collection/utils/form/test/DataBinder.test.js +14 -0
  184. package/dist/collection/utils/index.js +3 -0
  185. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +1 -1
  186. package/dist/collection/utils/search/types.js +7 -0
  187. package/dist/collection/utils/searchColumn/search-column.js +35 -0
  188. package/dist/collection/utils/validators/recordvalidator/IInvalidCells.js +1 -0
  189. package/dist/collection/utils/validators/recordvalidator/RecordValidationProcessor.js +7 -1
  190. package/dist/custom-elements/index.d.ts +54 -0
  191. package/dist/custom-elements/index.js +20058 -70949
  192. package/dist/esm/{CSSVarsUtils-71ce76be.js → CSSVarsUtils-acba92d7.js} +1 -0
  193. package/dist/esm/FocusResolver-1ccbf850.js +33 -0
  194. package/dist/esm/FormLayout-071d324c.js +27 -0
  195. package/dist/esm/constants-b036528f.js +7 -0
  196. package/dist/esm/ez-actions-button.entry.js +6 -5
  197. package/dist/esm/ez-avatar.entry.js +46 -0
  198. package/dist/esm/ez-badge.entry.js +14 -2
  199. package/dist/esm/ez-button.entry.js +11 -5
  200. package/dist/esm/ez-card-item_2.entry.js +262 -0
  201. package/dist/esm/ez-chart.entry.js +3 -3
  202. package/dist/esm/ez-check.entry.js +18 -10
  203. package/dist/esm/ez-chip.entry.js +1 -1
  204. package/dist/esm/ez-collapsible-box.entry.js +2 -2
  205. package/dist/esm/ez-combo-box-list_3.entry.js +381 -0
  206. package/dist/esm/ez-combo-box.entry.js +81 -159
  207. package/dist/esm/ez-date-input.entry.js +16 -19
  208. package/dist/esm/ez-date-time-input.entry.js +15 -20
  209. package/dist/esm/ez-dialog.entry.js +19 -9
  210. package/dist/esm/ez-double-list.entry.js +283 -0
  211. package/dist/esm/ez-dropdown.entry.js +14 -8
  212. package/dist/esm/ez-filter-input.entry.js +125 -0
  213. package/dist/esm/ez-form-view.entry.js +42 -28
  214. package/dist/esm/ez-form.entry.js +88 -326
  215. package/dist/esm/ez-grid.entry.js +15275 -69793
  216. package/dist/esm/ez-icon.entry.js +12 -6
  217. package/dist/esm/ez-list.entry.js +258 -211
  218. package/dist/esm/ez-modal-container.entry.js +7 -3
  219. package/dist/esm/ez-modal.entry.js +17 -4
  220. package/dist/esm/ez-multi-selection-list.entry.js +2 -2
  221. package/dist/esm/ez-number-input.entry.js +16 -3
  222. package/dist/esm/ez-popover-plus_3.entry.js +232 -0
  223. package/dist/esm/ez-popup.entry.js +29 -3
  224. package/dist/esm/ez-scroller_2.entry.js +3 -3
  225. package/dist/esm/ez-search-plus.entry.js +393 -0
  226. package/dist/esm/ez-search-result-list.entry.js +93 -0
  227. package/dist/esm/ez-search.entry.js +135 -192
  228. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  229. package/dist/esm/ez-skeleton.entry.js +118 -36
  230. package/dist/esm/ez-split-button.entry.js +16 -7
  231. package/dist/esm/ez-split-item.entry.js +7 -4
  232. package/dist/esm/ez-split-panel.entry.js +69 -7
  233. package/dist/esm/ez-text-area.entry.js +91 -8
  234. package/dist/esm/ez-text-input.entry.js +150 -31
  235. package/dist/esm/ez-time-input.entry.js +9 -2
  236. package/dist/esm/ez-tooltip.entry.js +131 -0
  237. package/dist/esm/ez-tree.entry.js +5 -4
  238. package/dist/esm/ezListHelper-00fb9b8d.js +87 -0
  239. package/dist/esm/ezui.js +1 -1
  240. package/dist/esm/filter-column.entry.js +24 -52
  241. package/dist/esm/floating-ui.dom.esm-5d3da819.js +1398 -0
  242. package/dist/esm/index-baa5e267.js +36 -8
  243. package/dist/esm/loader.js +1 -1
  244. package/dist/esm/search-column-e609d513.js +495 -0
  245. package/dist/esm/searchFormatters-8229207e.js +20 -0
  246. package/dist/ezui/ezui.esm.js +1 -1
  247. package/dist/ezui/p-07894c4a.entry.js +1 -0
  248. package/dist/ezui/p-0d9856a4.entry.js +1 -0
  249. package/dist/ezui/p-1bcfd88c.entry.js +1 -0
  250. package/dist/ezui/p-1eb34cad.entry.js +1 -0
  251. package/dist/ezui/p-20c024f7.entry.js +1 -0
  252. package/dist/ezui/p-26685c50.entry.js +1 -0
  253. package/dist/ezui/p-288631d1.entry.js +1 -0
  254. package/dist/ezui/p-2b42abbb.entry.js +1 -0
  255. package/dist/ezui/p-2b4df33d.entry.js +1 -0
  256. package/dist/ezui/p-30ffb9ed.js +1 -0
  257. package/dist/ezui/p-33326ac5.entry.js +1 -0
  258. package/dist/ezui/p-341da682.entry.js +1 -0
  259. package/dist/ezui/p-35115d5d.entry.js +1 -0
  260. package/dist/ezui/p-3ba9565c.entry.js +1 -0
  261. package/dist/ezui/p-40a60148.js +1 -0
  262. package/dist/ezui/p-496f7832.entry.js +1 -0
  263. package/dist/ezui/p-4b67138e.entry.js +1 -0
  264. package/dist/ezui/p-4bd6dd6a.entry.js +1 -0
  265. package/dist/ezui/p-4d30b703.entry.js +1 -0
  266. package/dist/ezui/p-57363cfd.entry.js +1 -0
  267. package/dist/ezui/p-58f69d24.entry.js +1 -0
  268. package/dist/ezui/{p-84e439b9.entry.js → p-5dde9df3.entry.js} +1 -1
  269. package/dist/ezui/p-5eea9886.js +1 -0
  270. package/dist/ezui/p-69937816.entry.js +1 -0
  271. package/dist/ezui/p-7019f782.entry.js +1 -0
  272. package/dist/ezui/p-79044c3e.entry.js +1 -0
  273. package/dist/ezui/p-7e677b7b.entry.js +1 -0
  274. package/dist/ezui/p-7eae6986.entry.js +1 -0
  275. package/dist/ezui/p-80dfc50b.js +1 -0
  276. package/dist/ezui/p-9478b13b.entry.js +1 -0
  277. package/dist/ezui/p-9567b31a.entry.js +1 -0
  278. package/dist/ezui/p-97c7cf51.entry.js +1 -0
  279. package/dist/ezui/p-998afb6a.entry.js +1 -0
  280. package/dist/ezui/p-9c5cd3b2.entry.js +1 -0
  281. package/dist/ezui/p-a148e994.entry.js +1 -0
  282. package/dist/ezui/p-a3bf8cf1.entry.js +1 -0
  283. package/dist/ezui/p-b81881ac.entry.js +1 -0
  284. package/dist/ezui/p-bac0f920.entry.js +1 -0
  285. package/dist/ezui/p-bff24a7b.js +1 -0
  286. package/dist/ezui/p-cb75eb46.entry.js +1 -0
  287. package/dist/ezui/{p-5b205c80.entry.js → p-d47dabdf.entry.js} +1 -1
  288. package/dist/ezui/p-da1b4a38.entry.js +1 -0
  289. package/dist/ezui/p-dc628ed3.js +1 -0
  290. package/dist/ezui/p-dc73e1fe.entry.js +1 -0
  291. package/dist/ezui/{p-17be134a.entry.js → p-e06a9886.entry.js} +1 -1
  292. package/dist/ezui/p-e07e4671.js +1 -0
  293. package/dist/ezui/p-e09514b6.entry.js +309 -0
  294. package/dist/ezui/p-e6a9041d.entry.js +1 -0
  295. package/dist/ezui/p-e75c7a23.entry.js +1 -0
  296. package/dist/ezui/p-ec7db713.js +1 -0
  297. package/dist/ezui/p-fa6732f2.entry.js +1 -0
  298. package/dist/types/components/ez-avatar/ez-avatar.d.ts +24 -0
  299. package/dist/types/components/ez-badge/ez-badge.d.ts +5 -0
  300. package/dist/types/components/ez-button/ez-button.d.ts +2 -1
  301. package/dist/types/components/ez-calendar/ez-calendar.d.ts +3 -3
  302. package/dist/types/components/ez-card-item/ez-card-item.d.ts +5 -0
  303. package/dist/types/components/ez-chart/interfaces/ChartAxis.d.ts +2 -0
  304. package/dist/types/components/ez-chart/interfaces/ChartTypeValue.d.ts +1 -0
  305. package/dist/types/components/ez-check/ez-check.d.ts +7 -2
  306. package/dist/types/components/ez-combo-box/ez-combo-box-list/ez-combo-box-list.d.ts +104 -0
  307. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +19 -15
  308. package/dist/types/components/ez-date-input/ez-date-input.d.ts +12 -3
  309. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +12 -3
  310. package/dist/types/components/ez-dialog/ez-dialog.d.ts +3 -1
  311. package/dist/types/components/ez-double-list/doubleListHelper.d.ts +10 -0
  312. package/dist/types/components/ez-double-list/ez-double-list.d.ts +87 -0
  313. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +4 -0
  314. package/dist/types/components/ez-dropdown/structure/DropdownItem.d.ts +4 -4
  315. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +6 -1
  316. package/dist/types/components/ez-form/ez-form.d.ts +23 -1
  317. package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +7 -1
  318. package/dist/types/components/ez-form-view/ez-form-view.d.ts +4 -0
  319. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +2 -1
  320. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.d.ts +2 -0
  321. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  322. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +84 -5
  323. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +47 -7
  324. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +26 -2
  325. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +34 -7
  326. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +4 -1
  327. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +1 -1
  328. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  329. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +1 -1
  330. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +1 -1
  331. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +2 -1
  332. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +1 -1
  333. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
  334. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.d.ts +3 -0
  335. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +1 -1
  336. package/dist/types/components/ez-grid/ez-grid.d.ts +74 -1
  337. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +1 -11
  338. package/dist/types/components/ez-grid/utils/ColumnFilterManager.d.ts +1 -1
  339. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +3 -0
  340. package/dist/types/components/ez-icon/ez-icon.d.ts +5 -0
  341. package/dist/types/components/ez-list/ez-list.d.ts +23 -2
  342. package/dist/types/components/ez-list/ezListHelper.d.ts +20 -0
  343. package/dist/types/components/ez-modal/ez-modal.d.ts +4 -1
  344. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +2 -0
  345. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.d.ts +2 -1
  346. package/dist/types/components/ez-multi-selection-list/interfaces/IStaticOptionsFetchConfig.d.ts +3 -0
  347. package/dist/types/components/ez-number-input/ez-number-input.d.ts +12 -0
  348. package/dist/types/components/ez-popover-plus/ez-popover-plus.d.ts +74 -0
  349. package/dist/types/components/ez-popover-plus/subcomponent/ez-popover-core.d.ts +89 -0
  350. package/dist/types/components/ez-popup/ez-popup.d.ts +10 -1
  351. package/dist/types/components/ez-search/ez-search.d.ts +37 -18
  352. package/dist/types/components/ez-search/subcomponent/search-list/search-list.d.ts +29 -0
  353. package/dist/types/components/ez-search/utils/searchFormatters.d.ts +2 -0
  354. package/dist/types/components/ez-search-plus/ez-search-plus.d.ts +186 -0
  355. package/dist/types/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.d.ts +26 -0
  356. package/dist/types/components/ez-skeleton/ez-skeleton.constants.d.ts +55 -1
  357. package/dist/types/components/ez-skeleton/ez-skeleton.d.ts +50 -22
  358. package/dist/types/components/ez-split-button/ez-split-button.d.ts +15 -3
  359. package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +11 -0
  360. package/dist/types/components/ez-split-panel/interfaces/IPanelSizeInfo.d.ts +9 -0
  361. package/dist/types/components/ez-split-panel/structure/item/ez-split-item.d.ts +5 -0
  362. package/dist/types/components/ez-text-area/ez-text-area.d.ts +25 -0
  363. package/dist/types/components/ez-text-input/ez-text-input.d.ts +37 -3
  364. package/dist/types/components/ez-time-input/ez-time-input.d.ts +8 -0
  365. package/dist/types/components/ez-tooltip/ez-tooltip.d.ts +57 -0
  366. package/dist/types/components/ez-tree/ez-tree.d.ts +4 -0
  367. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +1 -0
  368. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +1 -0
  369. package/dist/types/components.d.ts +1386 -58
  370. package/dist/types/utils/FocusResolver.d.ts +5 -0
  371. package/dist/types/utils/constants.d.ts +2 -0
  372. package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +2 -0
  373. package/dist/types/utils/form/DataBinder.d.ts +7 -2
  374. package/dist/types/utils/form/interfaces/FormLayout.d.ts +4 -0
  375. package/dist/types/utils/form/interfaces/index.d.ts +1 -0
  376. package/dist/types/utils/index.d.ts +3 -0
  377. package/dist/types/utils/search/types.d.ts +12 -0
  378. package/dist/types/utils/searchColumn/search-column.d.ts +9 -0
  379. package/dist/types/utils/validators/recordvalidator/IInvalidCells.d.ts +5 -0
  380. package/dist/types/utils/validators/recordvalidator/RecordValidationProcessor.d.ts +1 -1
  381. package/package.json +16 -7
  382. package/react/components.d.ts +63 -54
  383. package/react/components.js +9 -0
  384. package/react/components.js.map +1 -1
  385. package/react/react-component-lib/createComponent.d.ts +1 -1
  386. package/react/react-component-lib/createComponent.js.map +1 -1
  387. package/react/react-component-lib/createOverlayComponent.js.map +1 -1
  388. package/react/react-component-lib/interfaces.js +1 -0
  389. package/react/react-component-lib/utils/attachProps.d.ts +1 -1
  390. package/react/react-component-lib/utils/attachProps.js.map +1 -1
  391. package/react/react-component-lib/utils/dev.js.map +1 -1
  392. package/react/react-component-lib/utils/index.d.ts +2 -2
  393. package/react/react-component-lib/utils/index.js.map +1 -1
  394. package/dist/cjs/ICustomRender-6fafffce.js +0 -13
  395. package/dist/cjs/RecordValidationProcessor-4c893e04.js +0 -102
  396. package/dist/cjs/ez-card-item_3.cjs.entry.js +0 -183
  397. package/dist/cjs/ez-custom-form-input_2.cjs.entry.js +0 -206
  398. package/dist/esm/ICustomRender-875b5a40.js +0 -13
  399. package/dist/esm/RecordValidationProcessor-b00b8b77.js +0 -99
  400. package/dist/esm/constants-4e0d35b7.js +0 -5
  401. package/dist/esm/ez-card-item_3.entry.js +0 -177
  402. package/dist/esm/ez-custom-form-input_2.entry.js +0 -201
  403. package/dist/ezui/p-04f24913.js +0 -1
  404. package/dist/ezui/p-05e1f4e7.js +0 -1
  405. package/dist/ezui/p-072e6347.entry.js +0 -1
  406. package/dist/ezui/p-1285c902.entry.js +0 -1
  407. package/dist/ezui/p-13d2fe2d.entry.js +0 -1
  408. package/dist/ezui/p-2097d0cf.entry.js +0 -1
  409. package/dist/ezui/p-32e553e5.entry.js +0 -304
  410. package/dist/ezui/p-34b6916c.entry.js +0 -1
  411. package/dist/ezui/p-3b4eeeb6.entry.js +0 -1
  412. package/dist/ezui/p-3faa2b46.entry.js +0 -1
  413. package/dist/ezui/p-42533ea4.entry.js +0 -1
  414. package/dist/ezui/p-4607fb89.js +0 -1
  415. package/dist/ezui/p-49456b34.entry.js +0 -1
  416. package/dist/ezui/p-4d5235f1.entry.js +0 -1
  417. package/dist/ezui/p-5bd5e68f.entry.js +0 -1
  418. package/dist/ezui/p-650e4b6d.entry.js +0 -1
  419. package/dist/ezui/p-784fe207.entry.js +0 -1
  420. package/dist/ezui/p-7922142b.entry.js +0 -1
  421. package/dist/ezui/p-7af81663.entry.js +0 -1
  422. package/dist/ezui/p-7bc07c31.entry.js +0 -1
  423. package/dist/ezui/p-85c8baae.entry.js +0 -1
  424. package/dist/ezui/p-8888d9ed.entry.js +0 -1
  425. package/dist/ezui/p-9050d2cd.entry.js +0 -1
  426. package/dist/ezui/p-922ac38b.entry.js +0 -1
  427. package/dist/ezui/p-9e11fc7b.js +0 -1
  428. package/dist/ezui/p-a31b9c90.entry.js +0 -1
  429. package/dist/ezui/p-aba3da00.entry.js +0 -1
  430. package/dist/ezui/p-af95cd16.entry.js +0 -1
  431. package/dist/ezui/p-bae4e180.entry.js +0 -1
  432. package/dist/ezui/p-baf80b13.entry.js +0 -1
  433. package/dist/ezui/p-bcb53f27.entry.js +0 -1
  434. package/dist/ezui/p-bf79aaa1.entry.js +0 -1
  435. package/dist/ezui/p-cdc472cc.entry.js +0 -1
  436. package/dist/ezui/p-d9401ea0.entry.js +0 -1
  437. package/dist/ezui/p-e85c48d7.entry.js +0 -1
  438. package/dist/ezui/p-ecc2c1ec.entry.js +0 -1
  439. package/dist/ezui/p-fcf0acce.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { ElementIDUtils, FloatingManager, ObjectUtils } from "@sankhyalabs/core";
1
+ import { ElementIDUtils, ObjectUtils } from "@sankhyalabs/core";
2
2
  import { h, Host } from "@stencil/core";
3
3
  import { CSSVarsUtils } from "../../utils";
4
4
  export class EzComboBox {
@@ -9,6 +9,7 @@ export class EzComboBox {
9
9
  this._tabPressed = false;
10
10
  this._textEmptyList = "Nenhum resultado encontrado";
11
11
  this._lookupMode = false;
12
+ this.isOpen = false;
12
13
  this._preSelection = undefined;
13
14
  this._visibleOptions = undefined;
14
15
  this._startLoading = false;
@@ -25,11 +26,14 @@ export class EzComboBox {
25
26
  this.suppressSearch = false;
26
27
  this.optionLoader = undefined;
27
28
  this.suppressEmptyOption = false;
29
+ this.stopPropagateEnterKeyEvent = true;
28
30
  this.canShowError = true;
29
31
  this.mode = "regular";
30
32
  this.hideErrorOnFocusOut = true;
31
33
  this.listOptionsPosition = undefined;
32
34
  this.isTextSearch = false;
35
+ this.autoFocus = false;
36
+ this.alternativePlaceholder = undefined;
33
37
  }
34
38
  observeErrorMessage() {
35
39
  var _a;
@@ -92,9 +96,9 @@ export class EzComboBox {
92
96
  /**
93
97
  * Aplica o foco no campo.
94
98
  */
95
- async setFocus() {
99
+ async setFocus(options) {
96
100
  if (this._textInput) {
97
- this._textInput.setFocus();
101
+ this._textInput.setFocus(options);
98
102
  }
99
103
  }
100
104
  /**
@@ -117,63 +121,6 @@ export class EzComboBox {
117
121
  async clearValue() {
118
122
  this.clearSearch();
119
123
  }
120
- scrollListener() {
121
- var _a;
122
- if (this._floatingID == undefined) {
123
- return;
124
- }
125
- if ((_a = this.listOptionsPosition) === null || _a === void 0 ? void 0 : _a.hardPosition) {
126
- this.hideOptions();
127
- }
128
- else {
129
- window.requestAnimationFrame(() => {
130
- this.updateListPosition();
131
- });
132
- }
133
- }
134
- updateListPosition() {
135
- let { verticalPosition, horizontalPosition, fromBottom, fromRight, bottomLimit, hardPosition } = this.getListPosition();
136
- const elementRect = this._listWrapper.getBoundingClientRect();
137
- const containerRect = this._listContainer.getBoundingClientRect();
138
- const textInputRect = this._textInput.getBoundingClientRect();
139
- const limitHeight = bottomLimit || window.innerHeight;
140
- const neededHeight = containerRect.bottom + elementRect.height;
141
- if (!fromBottom && (elementRect.top < 0 || neededHeight > limitHeight)) {
142
- fromBottom = true;
143
- }
144
- if (!hardPosition) {
145
- verticalPosition = verticalPosition || 0;
146
- horizontalPosition = horizontalPosition || 0;
147
- if (fromBottom) {
148
- verticalPosition = window.innerHeight - textInputRect.top + verticalPosition;
149
- }
150
- else {
151
- verticalPosition += containerRect.top;
152
- }
153
- if (fromRight) {
154
- horizontalPosition = window.innerWidth - textInputRect.right + horizontalPosition;
155
- }
156
- else {
157
- horizontalPosition += containerRect.left;
158
- }
159
- }
160
- if (verticalPosition != undefined) {
161
- this._listWrapper.style[fromBottom ? "bottom" : "top"] = `${verticalPosition}px`;
162
- this._listWrapper.style[fromBottom ? "top" : "bottom"] = "";
163
- }
164
- if (horizontalPosition != undefined) {
165
- this._listWrapper.style[fromRight ? "right" : "left"] = `${horizontalPosition}px`;
166
- this._listWrapper.style[fromRight ? "left" : "right"] = "";
167
- }
168
- }
169
- getListPosition() {
170
- if (this.listOptionsPosition) {
171
- return this.listOptionsPosition;
172
- }
173
- return {
174
- verticalPosition: (this.errorMessage || !this.canShowError || this.mode === "slim") ? 6 : -13
175
- };
176
- }
177
124
  isDifferentValues(firstValue, secondValue) {
178
125
  return ObjectUtils.objectToString(firstValue || {}) !== ObjectUtils.objectToString(secondValue || {});
179
126
  }
@@ -246,66 +193,24 @@ export class EzComboBox {
246
193
  }
247
194
  return 0;
248
195
  }
249
- buildItem(opt, index) {
250
- const widthValue = this.showOptionValue && this._maxWidthValue > 0 ? `${this._maxWidthValue}px` : '';
251
- opt.label = opt.label || opt.value;
252
- return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = index }, this.showOptionValue
253
- ? h("span", { class: "item__value", title: opt.value, style: { width: widthValue, minWidth: widthValue, maxWidth: widthValue } }, opt.value)
254
- : undefined, h("span", { class: "item__label " + (this.showOptionValue ? "item__label--bold" : ""), title: opt.label }, opt.label));
255
- }
256
- showOptions() {
196
+ async showOptions() {
197
+ var _a, _b;
257
198
  if (!this.enabled)
258
199
  return;
259
- if (this.isOptionsVisible()) {
260
- return;
261
- }
200
+ await this.openPopover();
201
+ const valueString = (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.value;
202
+ const indexValue = this._visibleOptions.findIndex(option => option.value === valueString);
203
+ this._preSelection = indexValue === -1 ? 0 : indexValue;
262
204
  if (!!this._resizeObserver)
263
205
  this._resizeObserver.observe(this._textInput);
264
- this._floatingID = FloatingManager.float(this._listWrapper, this._listContainer, { autoClose: true, isFixed: true, backClickListener: () => this.hideOptions() });
265
- this.setFocus();
266
- window.requestAnimationFrame(() => {
267
- this.updateListPosition();
268
- if (!this.listOptionsPosition) {
269
- this._listWrapper.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
270
- }
271
- });
206
+ await this.setFocus();
272
207
  }
273
208
  hideOptions() {
274
- if (this._floatingID !== undefined) {
275
- FloatingManager.close(this._floatingID);
276
- }
277
- this._floatingID = undefined;
209
+ var _a;
210
+ (_a = this._popover) === null || _a === void 0 ? void 0 : _a.hide();
278
211
  if (!!this._resizeObserver)
279
212
  this._resizeObserver.unobserve(this._textInput);
280
213
  }
281
- isOptionsVisible() {
282
- return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
283
- }
284
- nextOption() {
285
- if (!this.isOptionsVisible()) {
286
- return;
287
- }
288
- this.showOptions();
289
- this._preSelection = this._preSelection === undefined ? 0 : Math.min(this._preSelection + 1, this._visibleOptions.length - 1);
290
- this.scrollToOption(this._visibleOptions[this._preSelection]);
291
- }
292
- previousOption() {
293
- this._preSelection = this._preSelection === undefined ? 0 : Math.max(this._preSelection - 1, 0);
294
- this.scrollToOption(this._visibleOptions[this._preSelection]);
295
- }
296
- scrollToOption(opt) {
297
- window.requestAnimationFrame(() => {
298
- const liElem = (opt === null || opt === void 0 ? void 0 : opt.value) ? this._optionsList.querySelector(`li#item_${opt.value.replace(/[<>\[\]#=]/g, '\\$&').replace(/:/g, '\\:')}`) : undefined;
299
- if (liElem)
300
- liElem.scrollIntoView({ behavior: "smooth", block: "nearest" });
301
- });
302
- }
303
- selectCurrentOption() {
304
- if (this._preSelection !== undefined) {
305
- this.selectOption(this._visibleOptions[this._preSelection]);
306
- this._preSelection = undefined;
307
- }
308
- }
309
214
  updateSource(source) {
310
215
  this._startLoading = false;
311
216
  if (source instanceof Promise) {
@@ -330,17 +235,23 @@ export class EzComboBox {
330
235
  }
331
236
  }
332
237
  }
333
- selectOption(newOption) {
334
- var _a, _b;
238
+ selectOption(newOption, focusOnInput = true) {
239
+ var _a, _b, _c;
335
240
  const currentValue = this.getSelectedOption(this.value);
336
241
  if ((((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOption === null || newOption === void 0 ? void 0 : newOption.value) === null || _b === void 0 ? void 0 : _b.toString()))
337
242
  || (currentValue == undefined && newOption != undefined && "value" in newOption)) {
338
243
  const adjustedOpt = !(newOption === null || newOption === void 0 ? void 0 : newOption.value) ? undefined : newOption;
339
244
  this.value = adjustedOpt;
245
+ (_c = this._popover) === null || _c === void 0 ? void 0 : _c.hide();
340
246
  }
341
247
  else {
342
248
  this.resetOptions();
343
249
  }
250
+ if (focusOnInput) {
251
+ setTimeout(() => {
252
+ this.setFocus();
253
+ }, 0);
254
+ }
344
255
  }
345
256
  loadOptions(mode, argument = "") {
346
257
  this._criteria = argument;
@@ -362,7 +273,6 @@ export class EzComboBox {
362
273
  this.setInputValue(false);
363
274
  }, this._deboucingTime);
364
275
  }
365
- this.resetOptions();
366
276
  }
367
277
  setInputValue(clearError = true) {
368
278
  const textValue = this.getText();
@@ -403,15 +313,6 @@ export class EzComboBox {
403
313
  }
404
314
  this.loadOptions(SearchMode.PRELOAD);
405
315
  }
406
- componentDidRender() {
407
- var _a;
408
- if (this._floatingID === undefined) {
409
- this._listWrapper.remove();
410
- }
411
- (_a = this._optionsList) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".item").forEach((elem) => {
412
- ElementIDUtils.addIDInfoIfNotExists(elem, "itemComboBox");
413
- });
414
- }
415
316
  componentDidLoad() {
416
317
  CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
417
318
  this.setInputValue(false);
@@ -419,12 +320,26 @@ export class EzComboBox {
419
320
  window.requestAnimationFrame(() => {
420
321
  if (!Array.isArray(entries) || !entries.length)
421
322
  return;
422
- const { clientWidth } = this._listContainer;
423
- if (clientWidth > 0 && !!this._listWrapper) {
424
- this._listWrapper.style.width = `${clientWidth}px`;
425
- }
323
+ if (!this._textInput)
324
+ return;
325
+ if (!this._comboBoxList)
326
+ return;
327
+ const textInputWidth = this._textInput.clientWidth;
328
+ this._comboBoxList.width = textInputWidth;
426
329
  });
427
330
  });
331
+ if (this.autoFocus) {
332
+ requestAnimationFrame(() => {
333
+ this.setFocus({ selectText: true });
334
+ });
335
+ }
336
+ }
337
+ disconnectedCallback() {
338
+ var _a;
339
+ (_a = this._popover) === null || _a === void 0 ? void 0 : _a.remove();
340
+ if (this._resizeObserver) {
341
+ this._resizeObserver.disconnect();
342
+ }
428
343
  }
429
344
  //---------------------------------------------
430
345
  // Event handlers
@@ -451,7 +366,7 @@ export class EzComboBox {
451
366
  this.showOptions();
452
367
  }
453
368
  else {
454
- this.hideOptions();
369
+ this._preSelection = undefined;
455
370
  this.updateVisibleOptions();
456
371
  }
457
372
  }
@@ -465,42 +380,48 @@ export class EzComboBox {
465
380
  this.showOptions();
466
381
  }
467
382
  keyDownHandler(event) {
468
- this._tabPressed = false;
469
- if (event.ctrlKey) {
470
- if (event.key === "f" || event.key === "F") {
471
- this.loadOptions(SearchMode.ADVANCED);
472
- //ATENÇÃO: Ctrl + F tem ação específica nos browsers
473
- //nesse caso, como vamos abrir o popup de busca avançada,
474
- //não é interessante deixar o evento propagar;
475
- event.stopPropagation();
476
- event.stopImmediatePropagation();
477
- event.preventDefault();
478
- }
383
+ var _a, _b, _c, _d, _e, _f;
384
+ if (event.ctrlKey && (event.key === "f" || event.key === "F")) {
385
+ this.loadOptions(SearchMode.ADVANCED);
386
+ event.preventDefault();
387
+ event.stopPropagation();
388
+ return;
479
389
  }
480
390
  switch (event.key) {
481
391
  case "ArrowDown":
482
- this.nextOption();
483
- event.stopPropagation();
392
+ event.preventDefault();
393
+ if (this.canShowListOptions()) {
394
+ this.showOptions();
395
+ (_a = this._comboBoxList) === null || _a === void 0 ? void 0 : _a.nextOption();
396
+ }
484
397
  break;
485
398
  case "ArrowUp":
486
- this.previousOption();
487
- event.stopPropagation();
399
+ event.preventDefault();
400
+ if (this.canShowListOptions()) {
401
+ this.showOptions();
402
+ (_b = this._comboBoxList) === null || _b === void 0 ? void 0 : _b.previousOption();
403
+ }
488
404
  break;
489
405
  case "Enter":
490
- this.selectCurrentOption();
406
+ if (this.isOpen) {
407
+ event.preventDefault();
408
+ (_c = this._comboBoxList) === null || _c === void 0 ? void 0 : _c.selectCurrentOption();
409
+ }
491
410
  break;
492
411
  case "Escape":
493
- this.cancelPreselection();
412
+ if (this.isOpen) {
413
+ event.preventDefault();
414
+ (_d = this._popover) === null || _d === void 0 ? void 0 : _d.hide();
415
+ }
494
416
  break;
495
417
  case "Tab":
496
418
  this._tabPressed = true;
419
+ if (this.isOpen) {
420
+ (_e = this._comboBoxList) === null || _e === void 0 ? void 0 : _e.selectCurrentOption();
421
+ (_f = this._popover) === null || _f === void 0 ? void 0 : _f.hide();
422
+ }
497
423
  break;
498
424
  }
499
- //ATENÇÃO: Existe a necessidade de propagar o evento de teclado.
500
- //Por exemplo, quando o usuário dá um Enter, além de selecionar
501
- //um valor, também significa que a ateração finalizou,
502
- //e o contexto pode reagir (fechar um popup por exemplo).
503
- //event.stopPropagation();
504
425
  }
505
426
  onTextInputFocusOutHandler() {
506
427
  if (this.hideErrorOnFocusOut)
@@ -509,14 +430,15 @@ export class EzComboBox {
509
430
  canShowListOptions() {
510
431
  return !this._showLoading && this._visibleOptions.length > 0;
511
432
  }
433
+ async openPopover() {
434
+ var _a;
435
+ this.isOpen = true;
436
+ await ((_a = this._popover) === null || _a === void 0 ? void 0 : _a.showUnder(this._textInput));
437
+ }
512
438
  render() {
439
+ var _a;
513
440
  ElementIDUtils.addIDInfoIfNotExists(this.el, 'input');
514
- return (h(Host, null, h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), class: this.suppressSearch ? "suppressed-search-input" : "", ref: elem => this._textInput = elem, "data-slave-mode": "true", enabled: this.enabled && !this.suppressSearch, onInput: event => this.onTextInputChangeHandler(event), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onKeyDown: event => this.keyDownHandler(event), label: this.label, canShowError: this.canShowError, errorMessage: this.errorMessage, mode: this.mode }, h("button", { class: "btn", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handlerIconClick() }, h("ez-icon", { iconName: "chevron-down" }))), h("section", { class: "list-container", ref: elem => this._listContainer = elem }, h("div", { class: "list-wrapper", ref: elem => this._listWrapper = elem }, h("ul", { class: "list-options", ref: elem => this._optionsList = elem }, !this._showLoading
515
- && this._visibleOptions.length === 0
516
- && h("div", { class: "message" }, h("span", { class: "message__no-result" }, this._textEmptyList)), this._showLoading
517
- && h("div", { class: "message" }, h("div", { class: "message__loading" })), this.showOptionValue
518
- ? h("span", { class: "item__value item__value--hidden", ref: elem => this._itemValueBasis = elem })
519
- : undefined, this.canShowListOptions() && this._visibleOptions.map((opt, index) => this.buildItem(opt, index)))))));
441
+ return (h(Host, null, h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), class: `text-input-slot-container ${this.suppressSearch ? "suppressed-search-input" : ""}`, ref: elem => this._textInput = elem, "data-slave-mode": "true", enabled: this.enabled && !this.suppressSearch, onInput: event => this.onTextInputChangeHandler(event), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onKeyDown: event => this.keyDownHandler(event), label: this.label, canShowError: this.canShowError, errorMessage: this.errorMessage, mode: this.mode, alternativePlaceholder: this.alternativePlaceholder }, h("button", { class: "btn", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handlerIconClick() }, h("ez-icon", { iconName: "chevron-down" }))), h("ez-popover-plus", { ref: elem => this._popover = elem, anchorElement: this._textInput, autoClose: true, boxWidth: 'fit-content', overlayType: 'none', onEzVisibilityChange: event => this.isOpen = event.detail }, h("ez-combo-box-list", { ref: ref => this._comboBoxList = ref, showLoading: this._showLoading, visibleOptions: this._visibleOptions, textEmptyList: this._textEmptyList, showOptionValue: this.showOptionValue, preSelection: this._preSelection, maxWidth: this._maxWidthValue, width: (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.clientWidth, onOptionSelect: (opt) => this.selectOption(opt), onOptionHover: (index) => this._preSelection = index }))));
520
442
  }
521
443
  static get is() { return "ez-combo-box"; }
522
444
  static get encapsulation() { return "shadow"; }
@@ -745,6 +667,24 @@ export class EzComboBox {
745
667
  "reflect": false,
746
668
  "defaultValue": "false"
747
669
  },
670
+ "stopPropagateEnterKeyEvent": {
671
+ "type": "boolean",
672
+ "mutable": false,
673
+ "complexType": {
674
+ "original": "boolean",
675
+ "resolved": "boolean",
676
+ "references": {}
677
+ },
678
+ "required": false,
679
+ "optional": false,
680
+ "docs": {
681
+ "tags": [],
682
+ "text": "Se true, ineterrompe a propaga\u00E7\u00E3o do evento de KeyDown da tecla enter"
683
+ },
684
+ "attribute": "stop-propagate-enter-key-event",
685
+ "reflect": false,
686
+ "defaultValue": "true"
687
+ },
748
688
  "canShowError": {
749
689
  "type": "boolean",
750
690
  "mutable": false,
@@ -835,11 +775,47 @@ export class EzComboBox {
835
775
  "attribute": "is-text-search",
836
776
  "reflect": false,
837
777
  "defaultValue": "false"
778
+ },
779
+ "autoFocus": {
780
+ "type": "boolean",
781
+ "mutable": false,
782
+ "complexType": {
783
+ "original": "boolean",
784
+ "resolved": "boolean",
785
+ "references": {}
786
+ },
787
+ "required": false,
788
+ "optional": false,
789
+ "docs": {
790
+ "tags": [],
791
+ "text": "Se true o campo de texto receber\u00E1 o foco ao ser renderizado."
792
+ },
793
+ "attribute": "auto-focus",
794
+ "reflect": false,
795
+ "defaultValue": "false"
796
+ },
797
+ "alternativePlaceholder": {
798
+ "type": "string",
799
+ "mutable": false,
800
+ "complexType": {
801
+ "original": "string",
802
+ "resolved": "string",
803
+ "references": {}
804
+ },
805
+ "required": false,
806
+ "optional": false,
807
+ "docs": {
808
+ "tags": [],
809
+ "text": "Texto alternativo a ser apresentado como t\u00EDtulo do campo."
810
+ },
811
+ "attribute": "alternative-placeholder",
812
+ "reflect": true
838
813
  }
839
814
  };
840
815
  }
841
816
  static get states() {
842
817
  return {
818
+ "isOpen": {},
843
819
  "_preSelection": {},
844
820
  "_visibleOptions": {},
845
821
  "_startLoading": {},
@@ -889,11 +865,18 @@ export class EzComboBox {
889
865
  },
890
866
  "setFocus": {
891
867
  "complexType": {
892
- "signature": "() => Promise<void>",
893
- "parameters": [],
868
+ "signature": "(options?: TFocusOptions) => Promise<void>",
869
+ "parameters": [{
870
+ "tags": [],
871
+ "text": ""
872
+ }],
894
873
  "references": {
895
874
  "Promise": {
896
875
  "location": "global"
876
+ },
877
+ "TFocusOptions": {
878
+ "location": "import",
879
+ "path": "../ez-text-input/ez-text-input"
897
880
  }
898
881
  },
899
882
  "return": "Promise<void>"
@@ -966,15 +949,6 @@ export class EzComboBox {
966
949
  "methodName": "observeOptions"
967
950
  }];
968
951
  }
969
- static get listeners() {
970
- return [{
971
- "name": "scroll",
972
- "method": "scrollListener",
973
- "target": "window",
974
- "capture": true,
975
- "passive": true
976
- }];
977
- }
978
952
  }
979
953
  var SearchMode;
980
954
  (function (SearchMode) {
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .btn-open-cal:disabled {
25
- cursor: unset;
25
+ cursor: not-allowed;
26
26
  }
27
27
 
28
28
  .btn-open-cal::after {
@@ -12,6 +12,8 @@ export class EzDateInput {
12
12
  this.errorMessage = undefined;
13
13
  this.mode = "regular";
14
14
  this.canShowError = true;
15
+ this.autoFocus = false;
16
+ this.alternativePlaceholder = undefined;
15
17
  }
16
18
  observeLabel() {
17
19
  if (this._textInput) {
@@ -48,8 +50,8 @@ export class EzDateInput {
48
50
  /**
49
51
  * Aplica o foco no campo.
50
52
  */
51
- async setFocus() {
52
- this._textInput.setFocus();
53
+ async setFocus(options) {
54
+ this._textInput.setFocus(options);
53
55
  }
54
56
  /**
55
57
  * Remove o foco do campo.
@@ -81,23 +83,13 @@ export class EzDateInput {
81
83
  if ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.getTime()) !== (newValueValidated === null || newValueValidated === void 0 ? void 0 : newValueValidated.getTime())) {
82
84
  this.value = newValueValidated;
83
85
  }
84
- }
85
- showCalendar() {
86
- this.handleBlur();
87
- this._calendar.value = this.value;
88
- let top;
89
- if (this.isFixed()) {
90
- top = 29;
91
- this._calendar.fitHorizontal(0);
92
- }
93
86
  else {
94
- top = this.errorMessage || this.mode === "slim" ? 6 : -13;
87
+ this._changePending = false;
95
88
  }
96
- this._calendar.fitVertical(top, this._elem.clientHeight);
97
89
  }
98
90
  hideCalendar() {
99
91
  this.changeValue(this._calendar.value);
100
- this._calendar.hide();
92
+ this._popover.hide();
101
93
  }
102
94
  handleBlur() {
103
95
  if (!this._changePending) {
@@ -158,16 +150,21 @@ export class EzDateInput {
158
150
  this._textInput.value = textValue;
159
151
  }
160
152
  }
161
- isFixed() {
162
- return this._elem.dataset.isFixed === "true";
153
+ disconnectedCallback() {
154
+ this._popover.hide();
163
155
  }
164
156
  componentDidLoad() {
165
157
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
166
158
  this.setInputValue();
159
+ if (this.autoFocus) {
160
+ requestAnimationFrame(() => {
161
+ this.setFocus({ selectText: true });
162
+ });
163
+ }
167
164
  }
168
165
  render() {
169
166
  ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
170
- return (h(Host, null, h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, onBlur: () => this.handleBlur(), onInput: (evt) => this.handleInput(evt), restrict: "0123456789/", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode, canShowError: this.canShowError }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })), h("ez-calendar", { ref: elem => this._calendar = elem, "data-element-id": ElementIDUtils.getInternalIDInfo("calendar"), onEzChange: (event) => { this.hideCalendar(); event.stopPropagation(); }, floating: true, "data-is-fixed": this._elem.dataset.isFixed })));
167
+ return (h(Host, null, h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, onBlur: () => this.handleBlur(), onInput: (evt) => this.handleInput(evt), restrict: "0123456789/", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode, canShowError: this.canShowError, alternativePlaceholder: this.alternativePlaceholder }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => { var _a; return (_a = this._popover) === null || _a === void 0 ? void 0 : _a.showUnder(this._textInput); }, slot: "leftIcon" })), h("ez-popover-plus", { ref: elem => this._popover = elem, anchorElement: this._textInput, autoClose: true, boxWidth: 'fit-content', overlayType: 'none' }, h("ez-calendar", { ref: elem => this._calendar = elem, "data-element-id": ElementIDUtils.getInternalIDInfo("calendar"), onEzChange: (event) => { this.hideCalendar(); event.stopPropagation(); } }))));
171
168
  }
172
169
  static get is() { return "ez-date-input"; }
173
170
  static get encapsulation() { return "shadow"; }
@@ -289,6 +286,41 @@ export class EzDateInput {
289
286
  "attribute": "can-show-error",
290
287
  "reflect": true,
291
288
  "defaultValue": "true"
289
+ },
290
+ "autoFocus": {
291
+ "type": "boolean",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": "Se true o campo de texto receber\u00E1 o foco ao ser renderizado."
303
+ },
304
+ "attribute": "auto-focus",
305
+ "reflect": false,
306
+ "defaultValue": "false"
307
+ },
308
+ "alternativePlaceholder": {
309
+ "type": "string",
310
+ "mutable": false,
311
+ "complexType": {
312
+ "original": "string",
313
+ "resolved": "string",
314
+ "references": {}
315
+ },
316
+ "required": false,
317
+ "optional": false,
318
+ "docs": {
319
+ "tags": [],
320
+ "text": "Texto alternativo ser apresentado como t\u00EDtulo do campo."
321
+ },
322
+ "attribute": "alternative-placeholder",
323
+ "reflect": true
292
324
  }
293
325
  };
294
326
  }
@@ -353,11 +385,18 @@ export class EzDateInput {
353
385
  return {
354
386
  "setFocus": {
355
387
  "complexType": {
356
- "signature": "() => Promise<void>",
357
- "parameters": [],
388
+ "signature": "(options?: TFocusOptions) => Promise<void>",
389
+ "parameters": [{
390
+ "tags": [],
391
+ "text": ""
392
+ }],
358
393
  "references": {
359
394
  "Promise": {
360
395
  "location": "global"
396
+ },
397
+ "TFocusOptions": {
398
+ "location": "import",
399
+ "path": "../ez-text-input/ez-text-input"
361
400
  }
362
401
  },
363
402
  "return": "Promise<void>"
@@ -17,7 +17,7 @@
17
17
  }
18
18
 
19
19
  .btn-open-cal:disabled {
20
- cursor: unset;
20
+ cursor: not-allowed;
21
21
  }
22
22
 
23
23
  .btn-open-cal::after {