@sankhyalabs/ezui 5.20.3 → 5.21.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/README.md +4 -5
  2. package/dist/cjs/{CSSVarsUtils-b136a156.js → CSSVarsUtils-10c9d5b4.js} +13 -0
  3. package/dist/cjs/ez-actions-button.cjs.entry.js +2 -2
  4. package/dist/cjs/ez-alert-list.cjs.entry.js +121 -49
  5. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-badge.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-card-item_3.cjs.entry.js +183 -0
  12. package/dist/cjs/ez-check.cjs.entry.js +2 -2
  13. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-combo-box.cjs.entry.js +20 -163
  16. package/dist/cjs/ez-date-input.cjs.entry.js +2 -2
  17. package/dist/cjs/ez-date-time-input.cjs.entry.js +2 -2
  18. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-dropdown.cjs.entry.js +10 -4
  20. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-form-view.cjs.entry.js +35 -16
  22. package/dist/cjs/ez-form.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-grid.cjs.entry.js +132 -58
  24. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-icon.cjs.entry.js +2 -2
  26. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-modal-container.cjs.entry.js +6 -1
  29. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-number-input.cjs.entry.js +2 -2
  32. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-popup.cjs.entry.js +9 -2
  34. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-scroller_3.cjs.entry.js +19 -5
  36. package/dist/cjs/ez-search.cjs.entry.js +622 -33
  37. package/dist/cjs/ez-skeleton.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-split-button.cjs.entry.js +166 -0
  39. package/dist/cjs/ez-split-item.cjs.entry.js +21 -3
  40. package/dist/cjs/ez-split-panel.cjs.entry.js +68 -14
  41. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  42. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  43. package/dist/cjs/ez-text-edit.cjs.entry.js +1 -1
  44. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-time-input.cjs.entry.js +2 -2
  46. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  47. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  49. package/dist/cjs/ezui.cjs.js +2 -2
  50. package/dist/cjs/filter-column.cjs.entry.js +17 -6
  51. package/dist/cjs/{index-1064511f.js → index-a7b0c73d.js} +12 -10
  52. package/dist/cjs/loader.cjs.js +2 -2
  53. package/dist/collection/collection-manifest.json +4 -3
  54. package/dist/collection/components/ez-alert-list/ez-alert-list.css +16 -2
  55. package/dist/collection/components/ez-alert-list/ez-alert-list.js +127 -48
  56. package/dist/collection/components/ez-card-item/ez-card-item.css +52 -3
  57. package/dist/collection/components/ez-card-item/ez-card-item.js +22 -3
  58. package/dist/collection/components/ez-check/ez-check.css +1 -0
  59. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +1 -0
  60. package/dist/collection/components/ez-combo-box/ez-combo-box.js +19 -179
  61. package/dist/collection/components/ez-dropdown/ez-dropdown.js +32 -3
  62. package/dist/collection/components/ez-form-view/ez-form-view.css +17 -1
  63. package/dist/collection/components/ez-form-view/ez-form-view.js +22 -5
  64. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
  65. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
  66. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +3 -3
  67. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +4 -2
  68. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
  69. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -1
  70. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +1 -1
  71. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +8 -11
  72. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +3 -4
  73. package/dist/collection/components/ez-grid/controller/ag-grid/DataSourceInterceptor.js +21 -0
  74. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +1 -3
  75. package/dist/collection/components/ez-grid/ez-grid.css +25 -1
  76. package/dist/collection/components/ez-grid/ez-grid.js +103 -33
  77. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +16 -5
  78. package/dist/collection/components/ez-icon/ez-icon.css +119 -117
  79. package/dist/collection/components/ez-modal-container/ez-modal-container.js +5 -0
  80. package/dist/collection/components/ez-popup/ez-popup.css +2 -5
  81. package/dist/collection/components/ez-popup/ez-popup.js +23 -2
  82. package/dist/collection/components/ez-search/ez-search.css +331 -0
  83. package/dist/collection/components/ez-search/ez-search.js +698 -55
  84. package/dist/collection/components/ez-split-button/ez-split-button.css +229 -0
  85. package/dist/collection/components/ez-split-button/ez-split-button.js +455 -0
  86. package/dist/collection/components/ez-split-button/test/dropdownItems.js +42 -0
  87. package/dist/collection/components/ez-split-panel/ez-split-panel.css +6 -7
  88. package/dist/collection/components/ez-split-panel/ez-split-panel.js +103 -15
  89. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.css +59 -12
  90. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +82 -2
  91. package/dist/collection/components/ez-tree/ez-tree.css +26 -0
  92. package/dist/collection/components/ez-tree/interfaces/ITreeItemBadge.js +1 -0
  93. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +15 -2
  94. package/dist/collection/utils/CSSVarsUtils.js +13 -0
  95. package/dist/collection/utils/form/test/DataBinder.test.js +9 -0
  96. package/dist/custom-elements/index.d.ts +6 -0
  97. package/dist/custom-elements/index.js +1252 -359
  98. package/dist/esm/{CSSVarsUtils-a97cfa29.js → CSSVarsUtils-71ce76be.js} +13 -0
  99. package/dist/esm/ez-actions-button.entry.js +2 -2
  100. package/dist/esm/ez-alert-list.entry.js +121 -49
  101. package/dist/esm/ez-alert.entry.js +1 -1
  102. package/dist/esm/ez-application.entry.js +1 -1
  103. package/dist/esm/ez-badge.entry.js +1 -1
  104. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  105. package/dist/esm/ez-button.entry.js +1 -1
  106. package/dist/esm/ez-calendar.entry.js +1 -1
  107. package/dist/esm/ez-card-item_3.entry.js +177 -0
  108. package/dist/esm/ez-check.entry.js +2 -2
  109. package/dist/esm/ez-chip.entry.js +1 -1
  110. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  111. package/dist/esm/ez-combo-box.entry.js +21 -164
  112. package/dist/esm/ez-date-input.entry.js +2 -2
  113. package/dist/esm/ez-date-time-input.entry.js +2 -2
  114. package/dist/esm/ez-dialog.entry.js +1 -1
  115. package/dist/esm/ez-dropdown.entry.js +10 -4
  116. package/dist/esm/ez-file-item.entry.js +1 -1
  117. package/dist/esm/ez-form-view.entry.js +35 -16
  118. package/dist/esm/ez-form.entry.js +1 -1
  119. package/dist/esm/ez-grid.entry.js +133 -59
  120. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  121. package/dist/esm/ez-icon.entry.js +2 -2
  122. package/dist/esm/ez-list.entry.js +1 -1
  123. package/dist/esm/ez-loading-bar.entry.js +1 -1
  124. package/dist/esm/ez-modal-container.entry.js +6 -1
  125. package/dist/esm/ez-modal.entry.js +1 -1
  126. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  127. package/dist/esm/ez-number-input.entry.js +2 -2
  128. package/dist/esm/ez-popover.entry.js +1 -1
  129. package/dist/esm/ez-popup.entry.js +10 -3
  130. package/dist/esm/ez-radio-button.entry.js +1 -1
  131. package/dist/esm/ez-scroller_3.entry.js +19 -5
  132. package/dist/esm/ez-search.entry.js +623 -34
  133. package/dist/esm/ez-skeleton.entry.js +1 -1
  134. package/dist/esm/ez-split-button.entry.js +162 -0
  135. package/dist/esm/ez-split-item.entry.js +21 -3
  136. package/dist/esm/ez-split-panel.entry.js +68 -14
  137. package/dist/esm/ez-tabselector.entry.js +1 -1
  138. package/dist/esm/ez-text-area.entry.js +1 -1
  139. package/dist/esm/ez-text-edit.entry.js +1 -1
  140. package/dist/esm/ez-text-input.entry.js +1 -1
  141. package/dist/esm/ez-time-input.entry.js +2 -2
  142. package/dist/esm/ez-toast.entry.js +1 -1
  143. package/dist/esm/ez-upload.entry.js +1 -1
  144. package/dist/esm/ez-view-stack.entry.js +1 -1
  145. package/dist/esm/ezui.js +3 -3
  146. package/dist/esm/filter-column.entry.js +17 -6
  147. package/dist/esm/{index-296b8458.js → index-baa5e267.js} +12 -10
  148. package/dist/esm/loader.js +3 -3
  149. package/dist/ezui/ezui.esm.js +1 -1
  150. package/dist/ezui/{p-5cef0264.entry.js → p-0306dff7.entry.js} +1 -1
  151. package/dist/ezui/{p-871c1a07.entry.js → p-0447d17c.entry.js} +1 -1
  152. package/dist/ezui/p-072e6347.entry.js +1 -0
  153. package/dist/ezui/{p-f4208819.entry.js → p-17be134a.entry.js} +1 -1
  154. package/dist/ezui/{p-cd19a6f8.entry.js → p-1e7a8633.entry.js} +1 -1
  155. package/dist/ezui/{p-60ba28ea.entry.js → p-1f50fa05.entry.js} +1 -1
  156. package/dist/ezui/{p-245a44ed.entry.js → p-20ec22c0.entry.js} +1 -1
  157. package/dist/ezui/{p-e318d280.js → p-23a36bb6.js} +1 -1
  158. package/dist/ezui/{p-8252d9b5.entry.js → p-2a1a0e04.entry.js} +1 -1
  159. package/dist/ezui/{p-62903ab9.entry.js → p-384247cd.entry.js} +2 -2
  160. package/dist/ezui/p-3faa2b46.entry.js +1 -0
  161. package/dist/ezui/{p-9b347f04.entry.js → p-44caad9a.entry.js} +1 -1
  162. package/dist/ezui/{p-7319c253.entry.js → p-49456b34.entry.js} +1 -1
  163. package/dist/ezui/{p-ccb4ccd9.entry.js → p-555c9018.entry.js} +1 -1
  164. package/dist/ezui/{p-52dd8b4c.entry.js → p-5bd5e68f.entry.js} +1 -1
  165. package/dist/ezui/{p-62304715.entry.js → p-5e1d036e.entry.js} +1 -1
  166. package/dist/ezui/{p-7525e604.entry.js → p-5ed81457.entry.js} +1 -1
  167. package/dist/ezui/p-5ef056ce.entry.js +1 -0
  168. package/dist/ezui/p-637f69f2.entry.js +1 -0
  169. package/dist/ezui/{p-c49dbf23.entry.js → p-650e4b6d.entry.js} +1 -1
  170. package/dist/ezui/{p-f55d75e7.entry.js → p-6e429cff.entry.js} +1 -1
  171. package/dist/ezui/p-701231f0.entry.js +1 -0
  172. package/dist/ezui/{p-0b902469.entry.js → p-77a4bd35.entry.js} +1 -1
  173. package/dist/ezui/{p-81cd05c8.entry.js → p-784fe207.entry.js} +1 -1
  174. package/dist/ezui/p-7af81663.entry.js +1 -0
  175. package/dist/ezui/p-7bc07c31.entry.js +1 -0
  176. package/dist/ezui/{p-5d6f2550.entry.js → p-85c8baae.entry.js} +1 -1
  177. package/dist/ezui/{p-d3b5228e.entry.js → p-8defa6d3.entry.js} +1 -1
  178. package/dist/ezui/{p-fbca293f.entry.js → p-8df1ca33.entry.js} +1 -1
  179. package/dist/ezui/{p-391de0e4.entry.js → p-9050d2cd.entry.js} +1 -1
  180. package/dist/ezui/p-91f626d3.entry.js +1 -0
  181. package/dist/ezui/{p-3e7cc8a4.entry.js → p-99ead599.entry.js} +1 -1
  182. package/dist/ezui/p-9aefaa52.entry.js +1 -0
  183. package/dist/ezui/{p-7eb3e1a5.js → p-9e11fc7b.js} +1 -1
  184. package/dist/ezui/{p-b11f035c.entry.js → p-9f5fa3f9.entry.js} +1 -1
  185. package/dist/ezui/p-a1ec32ef.entry.js +1 -0
  186. package/dist/ezui/{p-2da09f70.entry.js → p-a80b1287.entry.js} +1 -1
  187. package/dist/ezui/{p-d20ed286.entry.js → p-af2ecb1b.entry.js} +1 -1
  188. package/dist/ezui/{p-e8f88361.entry.js → p-af95cd16.entry.js} +1 -1
  189. package/dist/ezui/{p-32b4163f.entry.js → p-b041333c.entry.js} +1 -1
  190. package/dist/ezui/{p-12526044.entry.js → p-b567fa8c.entry.js} +1 -1
  191. package/dist/ezui/p-bae3d0aa.entry.js +1 -0
  192. package/dist/ezui/{p-fb21d72f.entry.js → p-bae4e180.entry.js} +1 -1
  193. package/dist/ezui/p-baf80b13.entry.js +1 -0
  194. package/dist/ezui/p-bc2f844e.entry.js +1 -0
  195. package/dist/ezui/p-bf79aaa1.entry.js +1 -0
  196. package/dist/ezui/{p-83885b21.entry.js → p-cc2dc4f4.entry.js} +1 -1
  197. package/dist/ezui/p-db77a984.entry.js +1 -0
  198. package/dist/ezui/{p-028f264f.entry.js → p-e85c48d7.entry.js} +1 -1
  199. package/dist/types/components/ez-alert-list/ez-alert-list.d.ts +38 -4
  200. package/dist/types/components/ez-card-item/ez-card-item.d.ts +4 -0
  201. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +1 -15
  202. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +5 -0
  203. package/dist/types/components/ez-form-view/ez-form-view.d.ts +3 -0
  204. package/dist/types/components/ez-grid/controller/ag-grid/DataSourceInterceptor.d.ts +8 -0
  205. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  206. package/dist/types/components/ez-grid/ez-grid.d.ts +17 -2
  207. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +4 -1
  208. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +0 -1
  209. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +1 -0
  210. package/dist/types/components/ez-popup/ez-popup.d.ts +7 -1
  211. package/dist/types/components/ez-search/ez-search.d.ts +101 -10
  212. package/dist/types/components/ez-split-button/ez-split-button.d.ts +92 -0
  213. package/dist/types/components/ez-split-button/test/dropdownItems.d.ts +2 -0
  214. package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +29 -0
  215. package/dist/types/components/ez-split-panel/structure/item/ez-split-item.d.ts +27 -0
  216. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +3 -1
  217. package/dist/types/components/ez-tree/interfaces/ITreeItemBadge.d.ts +6 -0
  218. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +0 -1
  219. package/dist/types/components.d.ts +188 -15
  220. package/dist/types/utils/CSSVarsUtils.d.ts +1 -0
  221. package/dist/types/utils/form/test/DataBinder.test.d.ts +1 -0
  222. package/dist/types/utils/interfaces/AbstractFieldMetadata.d.ts +2 -1
  223. package/dist/types/utils/interfaces/IAction.d.ts +1 -1
  224. package/package.json +13 -5
  225. package/react/components.d.ts +1 -0
  226. package/react/components.js +1 -0
  227. package/react/components.js.map +1 -1
  228. package/dist/cjs/ez-card-item.cjs.entry.js +0 -52
  229. package/dist/cjs/ez-filter-input_2.cjs.entry.js +0 -137
  230. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridUtils.js +0 -8
  231. package/dist/esm/ez-card-item.entry.js +0 -48
  232. package/dist/esm/ez-filter-input_2.entry.js +0 -132
  233. package/dist/ezui/p-47afb974.entry.js +0 -1
  234. package/dist/ezui/p-59bcb27c.entry.js +0 -1
  235. package/dist/ezui/p-74049254.entry.js +0 -1
  236. package/dist/ezui/p-76d16a24.entry.js +0 -1
  237. package/dist/ezui/p-7fd54841.entry.js +0 -1
  238. package/dist/ezui/p-87e85160.entry.js +0 -1
  239. package/dist/ezui/p-95426f93.entry.js +0 -1
  240. package/dist/ezui/p-99692afa.entry.js +0 -1
  241. package/dist/ezui/p-a01068e1.entry.js +0 -1
  242. package/dist/ezui/p-a42fe2ce.entry.js +0 -1
  243. package/dist/ezui/p-af285e68.entry.js +0 -1
  244. package/dist/ezui/p-b6867f19.entry.js +0 -1
  245. package/dist/ezui/p-d51aa09b.entry.js +0 -1
  246. package/dist/ezui/p-d81917fd.entry.js +0 -1
  247. package/dist/ezui/p-f8653522.entry.js +0 -1
  248. package/dist/types/components/ez-grid/controller/ag-grid/AgGridUtils.d.ts +0 -1
@@ -0,0 +1,21 @@
1
+ import { Action } from "@sankhyalabs/core";
2
+ import { DISTINCT_FILTER_NAME_PREFIX, EZ_GRID_LOADING_SOURCE } from "../../../../utils/constants";
3
+ export class DataSourceInterceptor {
4
+ constructor(controller) {
5
+ this._controller = controller;
6
+ }
7
+ clearColumnFilter(filters) {
8
+ var _a;
9
+ return (_a = filters.filter(filter => !filter.name.startsWith(DISTINCT_FILTER_NAME_PREFIX))) !== null && _a !== void 0 ? _a : [];
10
+ }
11
+ interceptAction(action) {
12
+ var _a;
13
+ if (action.type === Action.LOADING_DATA) {
14
+ if (EZ_GRID_LOADING_SOURCE !== action.payload.source) {
15
+ action.payload.filters = ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.filters) !== undefined ? this.clearColumnFilter(action.payload.filters) : action.payload.filters;
16
+ this._controller.clearFilter();
17
+ }
18
+ }
19
+ return action;
20
+ }
21
+ }
@@ -1,4 +1,3 @@
1
- import { calcFilterColumnLeftPosition } from '../AgGridUtils';
2
1
  export class EzGridCustomHeader {
3
2
  init(agParams) {
4
3
  var _a;
@@ -35,8 +34,7 @@ export class EzGridCustomHeader {
35
34
  }
36
35
  onClickFilter() {
37
36
  var _a;
38
- const iconLeft = (_a = this.filterButton) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left;
39
- this.params.showColumnFilter(`${calcFilterColumnLeftPosition(iconLeft)}px`, true);
37
+ this.params.showColumnFilter((_a = this.filterButton) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left);
40
38
  }
41
39
  configSortIcon() {
42
40
  this.sortDownIcon.style.display = this.params.column.isSortDescending() ? 'flex' : 'none';
@@ -4,7 +4,7 @@
4
4
  grid-template-rows: auto 1fr auto;
5
5
  height: 100%;
6
6
  width: 100%;
7
-
7
+
8
8
  /*public*/
9
9
  /*@doc Define a cor de fundo do header do componente.*/
10
10
  --ez-grid__header--background-color: var(--background--xlight, #FFF);
@@ -12,6 +12,10 @@
12
12
  --ez-grid__selection-counter--z-index: var(--visible, 1);
13
13
  /*@doc Define o sombreamento usado como borda.*/
14
14
  --ez-grid__container--shadow: 0 0 16px 0 rgb(0 38 111 / 12%);
15
+ /*@doc Define altura mínima da grid */
16
+ --ez-grid--min-height: 300px;
17
+
18
+ min-height: var(--ez-grid--min-height);
15
19
  }
16
20
 
17
21
  .grid-header {
@@ -92,3 +96,23 @@
92
96
  height: 0;
93
97
  padding: 0;
94
98
  }
99
+
100
+ .grid-header__pagination{
101
+ width: 30%;
102
+ min-width: 100px;
103
+ justify-content: flex-end;
104
+ flex-wrap: wrap;
105
+ }
106
+
107
+ .grid-header__left-container{
108
+ width: 70%
109
+ }
110
+
111
+ .grid-header__pagination-label {
112
+ width: 100%;
113
+ white-space: nowrap
114
+ }
115
+
116
+ .overflowed {
117
+ display: none;
118
+ }
@@ -1,15 +1,15 @@
1
- import { ElementIDUtils, JSUtils, StringUtils, } from '@sankhyalabs/core';
1
+ import { ElementIDUtils, JSUtils, OverflowWatcher, OVERFLOWED_CLASS_NAME, StringUtils, } from '@sankhyalabs/core';
2
2
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
3
- import { h, Host } from '@stencil/core';
3
+ import { Host, h } from '@stencil/core';
4
+ import { ApplicationUtils } from '../../utils';
4
5
  import AgGridController from './controller/ag-grid/AgGridController';
5
6
  import { SelectionCounter } from './subcomponents/selection-counter';
6
- import { ApplicationUtils } from '../../utils';
7
7
  import InMemoryFilterColumnDataSource from './utils/InMemoryFilterColumnDataSource';
8
8
  const windowInstace = window;
9
9
  const matches = (text, filter) => {
10
- const normalizedText = StringUtils.replaceAccentuatedCharsLower(text.toLocaleLowerCase());
10
+ const normalizedText = StringUtils.replaceAccentuatedCharsLower(text === null || text === void 0 ? void 0 : text.toLocaleLowerCase());
11
11
  const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(filter.toLocaleLowerCase());
12
- return normalizedText.includes(normalizedFilter);
12
+ return normalizedText === null || normalizedText === void 0 ? void 0 : normalizedText.includes(normalizedFilter);
13
13
  };
14
14
  export class EzGrid {
15
15
  constructor() {
@@ -94,7 +94,15 @@ export class EzGrid {
94
94
  return Promise.resolve(this._gridController.getColumnsState().filter(col => matches(col.label, search)));
95
95
  }
96
96
  observeConfig(config) {
97
- this._gridController.setColumnsState(config.columns);
97
+ this._gridController.setColumnsState(config === null || config === void 0 ? void 0 : config.columns);
98
+ }
99
+ updatePaginationTooltip() {
100
+ if (!this._refPaginationLabelTooltip)
101
+ return;
102
+ const alreadyDefined = this._refPaginationLabelTooltip.getAttribute('data-tooltip');
103
+ if (alreadyDefined) {
104
+ this._refPaginationLabelTooltip.setAttribute('data-tooltip', this._getPaginationTooltip());
105
+ }
98
106
  }
99
107
  onSelectionChange(evt) {
100
108
  this._currentPageSelected = evt.detail.selectionHeaderStatus === true;
@@ -144,21 +152,29 @@ export class EzGrid {
144
152
  return newConfig;
145
153
  }
146
154
  positionSelectionCounter() {
147
- var _a;
148
- if (this._gridSelectionCounter == undefined) {
155
+ var _a, _b;
156
+ if (!this._gridSelectionCounter)
149
157
  return;
150
- }
151
- if (this._showSelectionCounter) {
152
- const boundingContainer = (_a = this._container) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
153
- if (boundingContainer == undefined) {
154
- return;
155
- }
156
- const limitBottom = boundingContainer.bottom - 30;
157
- this._gridSelectionCounter.style.bottom = document.body.clientHeight - limitBottom + 'px';
158
- }
159
- else {
158
+ if (!this._showSelectionCounter) {
160
159
  this._gridSelectionCounter.style.bottom = '';
160
+ return;
161
161
  }
162
+ const containerRect = (_a = this._container) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
163
+ const selectionRect = (_b = this._gridSelectionCounter) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
164
+ if (!containerRect || !selectionRect)
165
+ return;
166
+ const positionBottom = containerRect.bottom - 30;
167
+ this._gridSelectionCounter.style.bottom = document.body.clientHeight - positionBottom + 'px';
168
+ this._gridSelectionCounter.style.left = this.calculatePositionLeft(containerRect, selectionRect);
169
+ }
170
+ calculatePositionLeft(containerRect, selectionRect) {
171
+ let selectionStart = containerRect.left + (containerRect.width / 2);
172
+ const containerRightEdge = containerRect.left + this._container.clientWidth;
173
+ const selectionEnd = (selectionStart - (selectionRect.width / 2)) + selectionRect.width;
174
+ if (selectionEnd > containerRightEdge) {
175
+ selectionStart = containerRightEdge - (selectionRect.width / 2);
176
+ }
177
+ return `${selectionStart}px`;
162
178
  }
163
179
  setEvents() {
164
180
  window.removeEventListener('scroll', this.positionSelectionCounter.bind(this));
@@ -251,11 +267,10 @@ export class EzGrid {
251
267
  }
252
268
  getPaginationControl() {
253
269
  if (this._paginationInfo) {
254
- const { firstRecord, lastRecord, total, count, currentPage, hasMore } = this._paginationInfo;
270
+ const { currentPage, hasMore } = this._paginationInfo;
255
271
  return [
256
- h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium" }, h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, `${firstRecord}-${lastRecord}`), total == undefined ? ` de ${count + 1} ou mais` : ` de ${total}`),
257
- h("ez-button", { size: "small", iconName: "chevron-left", class: "ez-margin-right--medium", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }),
258
- h("ez-button", { size: "small", iconName: "chevron-right", class: "ez-margin-right--medium", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }),
272
+ h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this._getRemainingPageLabel())),
273
+ h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium" }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" })),
259
274
  ];
260
275
  }
261
276
  return null;
@@ -264,16 +279,8 @@ export class EzGrid {
264
279
  this._gridController.initDatagrid(this._container, {
265
280
  onColumnStateChange: (type, state, info) => this.onColumnStateChange(type, state, info),
266
281
  onSelectionChange: (selection) => this.ezSelectionChange.emit(selection),
267
- onPaginationChange: (paginationInfo) => {
268
- var _a;
269
- if (((_a = this._paginationInfo) === null || _a === void 0 ? void 0 : _a.currentPage) > (paginationInfo === null || paginationInfo === void 0 ? void 0 : paginationInfo.currentPage) && this._paginationChangedByKeyboard) {
270
- this._gridController.setFocusLastRow();
271
- }
272
- else {
273
- this._gridController.setFocusFirstRow();
274
- this._paginationChangedByKeyboard = true;
275
- }
276
- this._paginationInfo = paginationInfo;
282
+ onPaginationChange: (paginationInfo, selectFirstRecord) => {
283
+ this.handlePaginationChange(selectFirstRecord, paginationInfo);
277
284
  },
278
285
  onPaginationUpdate: (paginationInfo) => {
279
286
  this._paginationInfo = paginationInfo;
@@ -299,6 +306,66 @@ export class EzGrid {
299
306
  this.setEvents();
300
307
  this.componentReady.emit();
301
308
  this._gridController.configFilterColumn(this._filterColumn);
309
+ this._initHeaderOverflowWatcher();
310
+ }
311
+ handlePaginationChange(selectFirstRecord, paginationInfo) {
312
+ var _a;
313
+ if (selectFirstRecord !== false) {
314
+ if (((_a = this._paginationInfo) === null || _a === void 0 ? void 0 : _a.currentPage) > (paginationInfo === null || paginationInfo === void 0 ? void 0 : paginationInfo.currentPage) && this._paginationChangedByKeyboard) {
315
+ this._gridController.setFocusLastRow();
316
+ }
317
+ else {
318
+ this._gridController.setFocusFirstRow();
319
+ this._paginationChangedByKeyboard = true;
320
+ }
321
+ }
322
+ this._paginationInfo = paginationInfo;
323
+ }
324
+ _getActualPageLabel() {
325
+ const { firstRecord, lastRecord } = this._paginationInfo;
326
+ return `${firstRecord}-${lastRecord}`;
327
+ }
328
+ _getRemainingPageLabel() {
329
+ const { total, count } = this._paginationInfo;
330
+ return `${total == undefined ? ` de ${count + 1} ou mais` : ` de ${total}`}`;
331
+ }
332
+ _getPaginationTooltip() {
333
+ return this._getActualPageLabel() + this._getRemainingPageLabel();
334
+ }
335
+ _initHeaderOverflowWatcher() {
336
+ this._headerOverflowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
337
+ }
338
+ buildOverFlowWatcherParams() {
339
+ return {
340
+ element: this._refPaginationControl,
341
+ callback: this.handleOverFlow.bind(this),
342
+ notOverFlow: ["grid-pagination-tooltip"]
343
+ };
344
+ }
345
+ handleOverFlow(elementsOverflow) {
346
+ if (!this._refPaginationLabel)
347
+ return;
348
+ if (elementsOverflow.length > 0) {
349
+ this._hidePaginationDescription();
350
+ }
351
+ else {
352
+ this._showPaginationDescription();
353
+ }
354
+ }
355
+ _hidePaginationDescription() {
356
+ this._refPaginationLabel.classList.add(OVERFLOWED_CLASS_NAME);
357
+ this._refPaginationLabelTooltip.setAttribute('data-flow', 'bottom');
358
+ this._refPaginationLabelTooltip.setAttribute('data-tooltip', this._getPaginationTooltip());
359
+ }
360
+ ;
361
+ _showPaginationDescription() {
362
+ this._refPaginationLabel.classList.remove(OVERFLOWED_CLASS_NAME);
363
+ this._refPaginationLabelTooltip.removeAttribute('data-flow');
364
+ this._refPaginationLabelTooltip.removeAttribute('data-tooltip');
365
+ }
366
+ disconnectedCallback() {
367
+ var _a;
368
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
302
369
  }
303
370
  componentWillRender() {
304
371
  this.configSelectionCounter();
@@ -322,7 +389,7 @@ export class EzGrid {
322
389
  }
323
390
  render() {
324
391
  var _a;
325
- return (h(Host, { "no-header": this.hideHeader() }, h("div", { class: "grid__container ez-grid", ref: elem => (this._container = elem) }), h("div", { class: "ez-box ez-box--shadow ez-padding--medium grid-header" }, h("filter-column", { class: "grid-header__popover", noHeaderTaskBar: !this._hasLeftButtons, dataSource: this.getDataSource(), dataUnit: this.dataUnit, gridHeaderHidden: this.hideHeader(), ref: (element) => (this._filterColumn = element) }), h("div", { class: "grid-header__position" }, h("div", { class: "grid-header__container" }, h("slot", { name: "leftButtons" })), h("div", { class: "grid-header__container", ref: ref => (this._refPaginationControl = ref) }, this.getPaginationControl()))), h("div", { ref: (ref) => (this._gridSelectionCounter = ref), class: `grid__selection-counter ez-elevation--4
392
+ return (h(Host, { "no-header": this.hideHeader() }, h("div", { class: "grid__container ez-grid", ref: elem => (this._container = elem) }), h("div", { class: "ez-box ez-box--shadow ez-padding--medium grid-header" }, h("filter-column", { class: "grid-header__popover", noHeaderTaskBar: !this._hasLeftButtons, dataSource: this.getDataSource(), dataUnit: this.dataUnit, gridHeaderHidden: this.hideHeader(), ref: (element) => (this._filterColumn = element) }), h("div", { class: "grid-header__position" }, h("div", { class: "grid-header__container grid-header__left-container" }, h("slot", { name: "leftButtons" })), h("div", { class: "grid-header__container grid-header__pagination", ref: ref => (this._refPaginationControl = ref) }, this.getPaginationControl()))), h("div", { ref: (ref) => (this._gridSelectionCounter = ref), class: `grid__selection-counter ez-elevation--4
326
393
  ${this._showSelectionCounter ? 'grid__selection-counter--opened' : ''}
327
394
  ` }, h(SelectionCounter, { selectionCount: this._selectionCount, currentPageSelected: this._currentPageSelected, paginationInfo: this._paginationInfo, canSelectAll: (_a = this.selectionToastConfig) === null || _a === void 0 ? void 0 : _a.canSelectAll, allRecordSelected: this._isAllSelection, onSelectAll: () => this.onSelectAllRecords(), onSelectPage: () => this.onSelectPageRecords(), onClearAll: () => this.onClearSelectedRecords(), onClose: () => (this._showSelectionCounter = false) })), h("div", { class: "grid__footer" }, h("slot", { name: "footer" }))));
328
395
  }
@@ -887,6 +954,9 @@ export class EzGrid {
887
954
  return [{
888
955
  "propName": "config",
889
956
  "methodName": "observeConfig"
957
+ }, {
958
+ "propName": "_paginationInfo",
959
+ "methodName": "updatePaginationTooltip"
890
960
  }];
891
961
  }
892
962
  static get listeners() {
@@ -13,6 +13,8 @@ export class FilterColumn {
13
13
  this.TOP_POSITION_NO_TASKBAR = '32';
14
14
  this.TOP_POSITION_NO_TASKBAR_HEADER_HIDDEN = '20';
15
15
  this.DEFAULT_HEIGHT = 430;
16
+ this.FIX_MARGIN = 60;
17
+ this.FILTER_COLUMN_WIDTH = 330;
16
18
  this.opened = true;
17
19
  this.columnName = undefined;
18
20
  this.columnLabel = undefined;
@@ -45,15 +47,24 @@ export class FilterColumn {
45
47
  await this.ezPopoverElement.show(this.calcTopPosition(), this.calculateLeftPosition(configs));
46
48
  }
47
49
  }
48
- calculateLeftPosition(configs) {
49
- if (!configs.fromIcon) {
50
- return configs.leftPosition;
50
+ calculateLeftPosition({ leftPosition, fromIcon }) {
51
+ const leftPositionCalculated = this.calcFilterColumnLeftPosition(leftPosition);
52
+ if (!fromIcon) {
53
+ return `${leftPositionCalculated}px`;
51
54
  }
52
55
  const difference = this.ezPopoverElement.getBoundingClientRect().left;
53
- const leftReference = parseInt(configs.leftPosition.replace('px', ''));
54
- const leftResolved = (leftReference + 16) - difference;
56
+ const leftResolved = (leftPositionCalculated + 16) - difference;
55
57
  return `${(leftResolved > 0 ? leftResolved : 0)}px`;
56
58
  }
59
+ calcFilterColumnLeftPosition(leftReference) {
60
+ var _a, _b;
61
+ const gridReference = this.ezPopoverElement.closest("ez-grid");
62
+ const gridLimit = (_a = gridReference.getBoundingClientRect()) === null || _a === void 0 ? void 0 : _a.right;
63
+ const popoverDiff = (_b = this.ezPopoverElement.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.left;
64
+ const maxLeft = gridLimit - (this.FILTER_COLUMN_WIDTH + popoverDiff);
65
+ const leftInt = leftReference - (this.FIX_MARGIN + popoverDiff);
66
+ return leftInt > maxLeft ? maxLeft : leftInt;
67
+ }
57
68
  buildIsTextSearch() {
58
69
  var _a, _b;
59
70
  const userInterface = (_b = (_a = this.fieldDescriptor) === null || _a === void 0 ? void 0 : _a.userInterface) !== null && _b !== void 0 ? _b : UserInterface.SHORTTEXT;
@@ -54,6 +54,7 @@ svg {
54
54
  -moz-osx-font-smoothing: grayscale;
55
55
  }
56
56
 
57
+
57
58
  .ez-icon-2chevron-down:before { content: "\ea01"; }
58
59
  .ez-icon-2chevron-up:before { content: "\ea02"; }
59
60
  .ez-icon-acao:before { content: "\ea03"; }
@@ -64,7 +65,7 @@ svg {
64
65
  .ez-icon-alert-mail:before { content: "\ea08"; }
65
66
  .ez-icon-alert-popup:before { content: "\ea09"; }
66
67
  .ez-icon-anexo:before { content: "\ea0a"; }
67
- .ez-icon-antecipação:before { content: "\ea0b"; }
68
+ .ez-icon-antecipacao:before { content: "\ea0b"; }
68
69
  .ez-icon-apps:before { content: "\ea0c"; }
69
70
  .ez-icon-arrow-forward:before { content: "\ea0d"; }
70
71
  .ez-icon-arrow-upward:before { content: "\ea0e"; }
@@ -91,122 +92,123 @@ svg {
91
92
  .ez-icon-circle:before { content: "\ea23"; }
92
93
  .ez-icon-cleaning:before { content: "\ea24"; }
93
94
  .ez-icon-clipboard:before { content: "\ea25"; }
94
- .ez-icon-close:before { content: "\ea26"; }
95
- .ez-icon-cobrar:before { content: "\ea27"; }
96
- .ez-icon-code:before { content: "\ea28"; }
97
- .ez-icon-configuration:before { content: "\ea29"; }
98
- .ez-icon-content-cut:before { content: "\ea2a"; }
99
- .ez-icon-copy:before { content: "\ea2b"; }
100
- .ez-icon-credit_card:before { content: "\ea2c"; }
101
- .ez-icon-crop:before { content: "\ea2d"; }
102
- .ez-icon-custom:before { content: "\ea2e"; }
103
- .ez-icon-delete-file:before { content: "\ea2f"; }
104
- .ez-icon-delete:before { content: "\ea30"; }
105
- .ez-icon-description:before { content: "\ea31"; }
106
- .ez-icon-dividir:before { content: "\ea32"; }
107
- .ez-icon-docx:before { content: "\ea33"; }
108
- .ez-icon-dot-notification:before { content: "\ea34"; }
109
- .ez-icon-dots-horizontal:before { content: "\ea35"; }
110
- .ez-icon-dots-vertical:before { content: "\ea36"; }
111
- .ez-icon-drag-indicator:before { content: "\ea37"; }
112
- .ez-icon-dual-chevron-down:before { content: "\ea38"; }
113
- .ez-icon-dual-chevron-left:before { content: "\ea39"; }
114
- .ez-icon-dual-chevron-right:before { content: "\ea3a"; }
115
- .ez-icon-dual-chevron-up:before { content: "\ea3b"; }
116
- .ez-icon-edit-file:before { content: "\ea3c"; }
117
- .ez-icon-edit-table:before { content: "\ea3d"; }
118
- .ez-icon-edit-time:before { content: "\ea3e"; }
119
- .ez-icon-edit-value:before { content: "\ea3f"; }
120
- .ez-icon-edit:before { content: "\ea40"; }
121
- .ez-icon-email:before { content: "\ea41"; }
122
- .ez-icon-estorno:before { content: "\ea42"; }
123
- .ez-icon-exe:before { content: "\ea43"; }
124
- .ez-icon-expand:before { content: "\ea44"; }
125
- .ez-icon-expandir_card:before { content: "\ea45"; }
126
- .ez-icon-extrato:before { content: "\ea46"; }
127
- .ez-icon-eye-off:before { content: "\ea47"; }
128
- .ez-icon-eye:before { content: "\ea48"; }
129
- .ez-icon-favorite:before { content: "\ea49"; }
130
- .ez-icon-figma:before { content: "\ea4a"; }
131
- .ez-icon-file-download:before { content: "\ea4b"; }
132
- .ez-icon-file-upload:before { content: "\ea4c"; }
133
- .ez-icon-filter:before { content: "\ea4d"; }
134
- .ez-icon-find-file:before { content: "\ea4e"; }
135
- .ez-icon-find-page:before { content: "\ea4f"; }
136
- .ez-icon-format-color-fill:before { content: "\ea50"; }
137
- .ez-icon-generic:before { content: "\ea51"; }
138
- .ez-icon-gif:before { content: "\ea52"; }
139
- .ez-icon-graph_bar:before { content: "\ea53"; }
140
- .ez-icon-handshake:before { content: "\ea54"; }
141
- .ez-icon-help-inverted:before { content: "\ea55"; }
142
- .ez-icon-help:before { content: "\ea56"; }
143
- .ez-icon-hide_menu:before { content: "\ea57"; }
144
- .ez-icon-home:before { content: "\ea58"; }
145
- .ez-icon-icons104:before { content: "\ea59"; }
146
- .ez-icon-language:before { content: "\ea5a"; }
147
- .ez-icon-launch:before { content: "\ea5b"; }
148
- .ez-icon-lightbulb:before { content: "\ea5c"; }
149
- .ez-icon-list:before { content: "\ea5d"; }
150
- .ez-icon-location:before { content: "\ea5e"; }
151
- .ez-icon-lock-outline:before { content: "\ea5f"; }
152
- .ez-icon-lock:before { content: "\ea60"; }
153
- .ez-icon-menu:before { content: "\ea61"; }
154
- .ez-icon-mid:before { content: "\ea62"; }
155
- .ez-icon-minus:before { content: "\ea63"; }
156
- .ez-icon-money-off:before { content: "\ea64"; }
157
- .ez-icon-money:before { content: "\ea65"; }
158
- .ez-icon-more:before { content: "\ea66"; }
159
- .ez-icon-mp3:before { content: "\ea67"; }
160
- .ez-icon-mp4:before { content: "\ea68"; }
161
- .ez-icon-multiple-files:before { content: "\ea69"; }
162
- .ez-icon-north-west:before { content: "\ea6a"; }
163
- .ez-icon-number:before { content: "\ea6b"; }
164
- .ez-icon-ordem-ascendente:before { content: "\ea6c"; }
165
- .ez-icon-ordem-descendente:before { content: "\ea6d"; }
166
- .ez-icon-parcelar:before { content: "\ea6e"; }
167
- .ez-icon-pause:before { content: "\ea6f"; }
168
- .ez-icon-payments:before { content: "\ea70"; }
169
- .ez-icon-pdf:before { content: "\ea71"; }
170
- .ez-icon-play:before { content: "\ea72"; }
171
- .ez-icon-plus:before { content: "\ea73"; }
172
- .ez-icon-png:before { content: "\ea74"; }
173
- .ez-icon-power:before { content: "\ea75"; }
174
- .ez-icon-pptx:before { content: "\ea76"; }
175
- .ez-icon-preview:before { content: "\ea77"; }
176
- .ez-icon-print:before { content: "\ea78"; }
177
- .ez-icon-push-pin:before { content: "\ea79"; }
178
- .ez-icon-rateio:before { content: "\ea7a"; }
179
- .ez-icon-receipt:before { content: "\ea7b"; }
180
- .ez-icon-recolher_card:before { content: "\ea7c"; }
181
- .ez-icon-restore:before { content: "\ea7d"; }
182
- .ez-icon-return:before { content: "\ea7e"; }
183
- .ez-icon-sankhya-place:before { content: "\ea7f"; }
184
- .ez-icon-save:before { content: "\ea80"; }
185
- .ez-icon-search:before { content: "\ea81"; }
186
- .ez-icon-settings-inverted:before { content: "\ea82"; }
187
- .ez-icon-settings:before { content: "\ea83"; }
188
- .ez-icon-share:before { content: "\ea84"; }
189
- .ez-icon-shield:before { content: "\ea85"; }
190
- .ez-icon-show_menu:before { content: "\ea86"; }
191
- .ez-icon-south-east:before { content: "\ea87"; }
192
- .ez-icon-sync:before { content: "\ea88"; }
193
- .ez-icon-table:before { content: "\ea89"; }
194
- .ez-icon-tag_code:before { content: "\ea8a"; }
195
- .ez-icon-text:before { content: "\ea8b"; }
196
- .ez-icon-timeline:before { content: "\ea8c"; }
197
- .ez-icon-timer-outline:before { content: "\ea8d"; }
198
- .ez-icon-trending-up:before { content: "\ea8e"; }
199
- .ez-icon-tune:before { content: "\ea8f"; }
200
- .ez-icon-txt:before { content: "\ea90"; }
201
- .ez-icon-un-pin:before { content: "\ea91"; }
202
- .ez-icon-unfold_less:before { content: "\ea92"; }
203
- .ez-icon-unfold_more:before { content: "\ea93"; }
204
- .ez-icon-user-circle:before { content: "\ea94"; }
205
- .ez-icon-warning-outline:before { content: "\ea95"; }
206
- .ez-icon-warning_triangle:before { content: "\ea96"; }
207
- .ez-icon-whatshot:before { content: "\ea97"; }
208
- .ez-icon-xlsx:before { content: "\ea98"; }
209
- .ez-icon-zip:before { content: "\ea99"; }
95
+ .ez-icon-clock-rotate-left:before { content: "\ea26"; }
96
+ .ez-icon-close:before { content: "\ea27"; }
97
+ .ez-icon-cobrar:before { content: "\ea28"; }
98
+ .ez-icon-code:before { content: "\ea29"; }
99
+ .ez-icon-configuration:before { content: "\ea2a"; }
100
+ .ez-icon-content-cut:before { content: "\ea2b"; }
101
+ .ez-icon-copy:before { content: "\ea2c"; }
102
+ .ez-icon-credit_card:before { content: "\ea2d"; }
103
+ .ez-icon-crop:before { content: "\ea2e"; }
104
+ .ez-icon-custom:before { content: "\ea2f"; }
105
+ .ez-icon-delete-file:before { content: "\ea30"; }
106
+ .ez-icon-delete:before { content: "\ea31"; }
107
+ .ez-icon-description:before { content: "\ea32"; }
108
+ .ez-icon-dividir:before { content: "\ea33"; }
109
+ .ez-icon-docx:before { content: "\ea34"; }
110
+ .ez-icon-dot-notification:before { content: "\ea35"; }
111
+ .ez-icon-dots-horizontal:before { content: "\ea36"; }
112
+ .ez-icon-dots-vertical:before { content: "\ea37"; }
113
+ .ez-icon-drag-indicator:before { content: "\ea38"; }
114
+ .ez-icon-dual-chevron-down:before { content: "\ea39"; }
115
+ .ez-icon-dual-chevron-left:before { content: "\ea3a"; }
116
+ .ez-icon-dual-chevron-right:before { content: "\ea3b"; }
117
+ .ez-icon-dual-chevron-up:before { content: "\ea3c"; }
118
+ .ez-icon-edit-file:before { content: "\ea3d"; }
119
+ .ez-icon-edit-table:before { content: "\ea3e"; }
120
+ .ez-icon-edit-time:before { content: "\ea3f"; }
121
+ .ez-icon-edit-value:before { content: "\ea40"; }
122
+ .ez-icon-edit:before { content: "\ea41"; }
123
+ .ez-icon-email:before { content: "\ea42"; }
124
+ .ez-icon-estorno:before { content: "\ea43"; }
125
+ .ez-icon-exe:before { content: "\ea44"; }
126
+ .ez-icon-expand:before { content: "\ea45"; }
127
+ .ez-icon-expandir_card:before { content: "\ea46"; }
128
+ .ez-icon-extrato:before { content: "\ea47"; }
129
+ .ez-icon-eye-off:before { content: "\ea48"; }
130
+ .ez-icon-eye:before { content: "\ea49"; }
131
+ .ez-icon-favorite:before { content: "\ea4a"; }
132
+ .ez-icon-figma:before { content: "\ea4b"; }
133
+ .ez-icon-file-download:before { content: "\ea4c"; }
134
+ .ez-icon-file-upload:before { content: "\ea4d"; }
135
+ .ez-icon-filter:before { content: "\ea4e"; }
136
+ .ez-icon-find-file:before { content: "\ea4f"; }
137
+ .ez-icon-find-page:before { content: "\ea50"; }
138
+ .ez-icon-format-color-fill:before { content: "\ea51"; }
139
+ .ez-icon-generic:before { content: "\ea52"; }
140
+ .ez-icon-gif:before { content: "\ea53"; }
141
+ .ez-icon-graph_bar:before { content: "\ea54"; }
142
+ .ez-icon-handshake:before { content: "\ea55"; }
143
+ .ez-icon-help-inverted:before { content: "\ea56"; }
144
+ .ez-icon-help:before { content: "\ea57"; }
145
+ .ez-icon-hide_menu:before { content: "\ea58"; }
146
+ .ez-icon-home:before { content: "\ea59"; }
147
+ .ez-icon-icons104:before { content: "\ea5a"; }
148
+ .ez-icon-language:before { content: "\ea5b"; }
149
+ .ez-icon-launch:before { content: "\ea5c"; }
150
+ .ez-icon-lightbulb:before { content: "\ea5d"; }
151
+ .ez-icon-list:before { content: "\ea5e"; }
152
+ .ez-icon-location:before { content: "\ea5f"; }
153
+ .ez-icon-lock-outline:before { content: "\ea60"; }
154
+ .ez-icon-lock:before { content: "\ea61"; }
155
+ .ez-icon-menu:before { content: "\ea62"; }
156
+ .ez-icon-mid:before { content: "\ea63"; }
157
+ .ez-icon-minus:before { content: "\ea64"; }
158
+ .ez-icon-money-off:before { content: "\ea65"; }
159
+ .ez-icon-money:before { content: "\ea66"; }
160
+ .ez-icon-more:before { content: "\ea67"; }
161
+ .ez-icon-mp3:before { content: "\ea68"; }
162
+ .ez-icon-mp4:before { content: "\ea69"; }
163
+ .ez-icon-multiple-files:before { content: "\ea6a"; }
164
+ .ez-icon-north-west:before { content: "\ea6b"; }
165
+ .ez-icon-number:before { content: "\ea6c"; }
166
+ .ez-icon-ordem-ascendente:before { content: "\ea6d"; }
167
+ .ez-icon-ordem-descendente:before { content: "\ea6e"; }
168
+ .ez-icon-parcelar:before { content: "\ea6f"; }
169
+ .ez-icon-pause:before { content: "\ea70"; }
170
+ .ez-icon-payments:before { content: "\ea71"; }
171
+ .ez-icon-pdf:before { content: "\ea72"; }
172
+ .ez-icon-play:before { content: "\ea73"; }
173
+ .ez-icon-plus:before { content: "\ea74"; }
174
+ .ez-icon-png:before { content: "\ea75"; }
175
+ .ez-icon-power:before { content: "\ea76"; }
176
+ .ez-icon-pptx:before { content: "\ea77"; }
177
+ .ez-icon-preview:before { content: "\ea78"; }
178
+ .ez-icon-print:before { content: "\ea79"; }
179
+ .ez-icon-push-pin:before { content: "\ea7a"; }
180
+ .ez-icon-rateio:before { content: "\ea7b"; }
181
+ .ez-icon-receipt:before { content: "\ea7c"; }
182
+ .ez-icon-recolher_card:before { content: "\ea7d"; }
183
+ .ez-icon-restore:before { content: "\ea7e"; }
184
+ .ez-icon-return:before { content: "\ea7f"; }
185
+ .ez-icon-sankhya-place:before { content: "\ea80"; }
186
+ .ez-icon-save:before { content: "\ea81"; }
187
+ .ez-icon-search:before { content: "\ea82"; }
188
+ .ez-icon-settings-inverted:before { content: "\ea83"; }
189
+ .ez-icon-settings:before { content: "\ea84"; }
190
+ .ez-icon-share:before { content: "\ea85"; }
191
+ .ez-icon-shield:before { content: "\ea86"; }
192
+ .ez-icon-show_menu:before { content: "\ea87"; }
193
+ .ez-icon-south-east:before { content: "\ea88"; }
194
+ .ez-icon-sync:before { content: "\ea89"; }
195
+ .ez-icon-table:before { content: "\ea8a"; }
196
+ .ez-icon-tag_code:before { content: "\ea8b"; }
197
+ .ez-icon-text:before { content: "\ea8c"; }
198
+ .ez-icon-timeline:before { content: "\ea8d"; }
199
+ .ez-icon-timer-outline:before { content: "\ea8e"; }
200
+ .ez-icon-trending-up:before { content: "\ea8f"; }
201
+ .ez-icon-tune:before { content: "\ea90"; }
202
+ .ez-icon-txt:before { content: "\ea91"; }
203
+ .ez-icon-un-pin:before { content: "\ea92"; }
204
+ .ez-icon-unfold_less:before { content: "\ea93"; }
205
+ .ez-icon-unfold_more:before { content: "\ea94"; }
206
+ .ez-icon-user-circle:before { content: "\ea95"; }
207
+ .ez-icon-warning-outline:before { content: "\ea96"; }
208
+ .ez-icon-warning_triangle:before { content: "\ea97"; }
209
+ .ez-icon-whatshot:before { content: "\ea98"; }
210
+ .ez-icon-xlsx:before { content: "\ea99"; }
211
+ .ez-icon-zip:before { content: "\ea9a"; }
210
212
  /*
211
213
  END CSS GENERATED BY EZ-DESIGN ICONS
212
214
  */
@@ -1,4 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ import { KeyboardManager } from "@sankhyalabs/core";
2
3
  import ModalAction from "./modal-action";
3
4
  import ModalButtonStatus from "./modal-button-status";
4
5
  export class EzModalContainer {
@@ -21,6 +22,10 @@ export class EzModalContainer {
21
22
  window.requestAnimationFrame(() => {
22
23
  this.ezModalAction.emit(ModalAction.LOAD);
23
24
  });
25
+ new KeyboardManager({ propagate: false, element: this._element })
26
+ .bind("Enter", this.ezModalAction.emit.bind(ModalAction.OK))
27
+ .bind("Escape", this.ezModalAction.emit.bind(ModalAction.CANCEL))
28
+ .bind("Esc", this.ezModalAction.emit.bind(ModalAction.CANCEL));
24
29
  }
25
30
  focusLast() {
26
31
  if (this._okButton == undefined) {
@@ -77,17 +77,14 @@
77
77
 
78
78
  .popup__content {
79
79
  box-sizing: border-box;
80
- max-height: 100%;
80
+ height: 100%;
81
81
  width: 100%;
82
- display: grid;
83
- grid-template-rows: auto 1fr;
84
82
  }
85
83
 
86
84
  .popup__expandable-content {
87
85
  box-sizing: border-box;
88
86
  width: 100%;
89
- min-height: 100%;
90
- height: 100%;
87
+ height: calc(100% - 44px);
91
88
  }
92
89
 
93
90
  .popup__header {