@sankhyalabs/ezui 5.20.2 → 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 (250) 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 +3 -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-date-input/ez-date-input.js +1 -0
  62. package/dist/collection/components/ez-dropdown/ez-dropdown.js +32 -3
  63. package/dist/collection/components/ez-form-view/ez-form-view.css +17 -1
  64. package/dist/collection/components/ez-form-view/ez-form-view.js +22 -5
  65. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
  66. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
  67. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +3 -3
  68. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +4 -2
  69. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
  70. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -1
  71. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +1 -1
  72. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +8 -11
  73. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +3 -4
  74. package/dist/collection/components/ez-grid/controller/ag-grid/DataSourceInterceptor.js +21 -0
  75. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.js +1 -3
  76. package/dist/collection/components/ez-grid/ez-grid.css +25 -1
  77. package/dist/collection/components/ez-grid/ez-grid.js +103 -33
  78. package/dist/collection/components/ez-grid/subcomponents/filter-column.js +16 -5
  79. package/dist/collection/components/ez-icon/ez-icon.css +119 -117
  80. package/dist/collection/components/ez-modal-container/ez-modal-container.js +5 -0
  81. package/dist/collection/components/ez-popup/ez-popup.css +2 -5
  82. package/dist/collection/components/ez-popup/ez-popup.js +23 -2
  83. package/dist/collection/components/ez-search/ez-search.css +331 -0
  84. package/dist/collection/components/ez-search/ez-search.js +698 -55
  85. package/dist/collection/components/ez-split-button/ez-split-button.css +229 -0
  86. package/dist/collection/components/ez-split-button/ez-split-button.js +455 -0
  87. package/dist/collection/components/ez-split-button/test/dropdownItems.js +42 -0
  88. package/dist/collection/components/ez-split-panel/ez-split-panel.css +6 -7
  89. package/dist/collection/components/ez-split-panel/ez-split-panel.js +103 -15
  90. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.css +59 -12
  91. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +82 -2
  92. package/dist/collection/components/ez-tree/ez-tree.css +26 -0
  93. package/dist/collection/components/ez-tree/interfaces/ITreeItemBadge.js +1 -0
  94. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +15 -2
  95. package/dist/collection/utils/CSSVarsUtils.js +13 -0
  96. package/dist/collection/utils/form/test/DataBinder.test.js +9 -0
  97. package/dist/custom-elements/index.d.ts +6 -0
  98. package/dist/custom-elements/index.js +1253 -359
  99. package/dist/esm/{CSSVarsUtils-a97cfa29.js → CSSVarsUtils-71ce76be.js} +13 -0
  100. package/dist/esm/ez-actions-button.entry.js +2 -2
  101. package/dist/esm/ez-alert-list.entry.js +121 -49
  102. package/dist/esm/ez-alert.entry.js +1 -1
  103. package/dist/esm/ez-application.entry.js +1 -1
  104. package/dist/esm/ez-badge.entry.js +1 -1
  105. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  106. package/dist/esm/ez-button.entry.js +1 -1
  107. package/dist/esm/ez-calendar.entry.js +1 -1
  108. package/dist/esm/ez-card-item_3.entry.js +177 -0
  109. package/dist/esm/ez-check.entry.js +2 -2
  110. package/dist/esm/ez-chip.entry.js +1 -1
  111. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  112. package/dist/esm/ez-combo-box.entry.js +21 -164
  113. package/dist/esm/ez-date-input.entry.js +3 -2
  114. package/dist/esm/ez-date-time-input.entry.js +2 -2
  115. package/dist/esm/ez-dialog.entry.js +1 -1
  116. package/dist/esm/ez-dropdown.entry.js +10 -4
  117. package/dist/esm/ez-file-item.entry.js +1 -1
  118. package/dist/esm/ez-form-view.entry.js +35 -16
  119. package/dist/esm/ez-form.entry.js +1 -1
  120. package/dist/esm/ez-grid.entry.js +133 -59
  121. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  122. package/dist/esm/ez-icon.entry.js +2 -2
  123. package/dist/esm/ez-list.entry.js +1 -1
  124. package/dist/esm/ez-loading-bar.entry.js +1 -1
  125. package/dist/esm/ez-modal-container.entry.js +6 -1
  126. package/dist/esm/ez-modal.entry.js +1 -1
  127. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  128. package/dist/esm/ez-number-input.entry.js +2 -2
  129. package/dist/esm/ez-popover.entry.js +1 -1
  130. package/dist/esm/ez-popup.entry.js +10 -3
  131. package/dist/esm/ez-radio-button.entry.js +1 -1
  132. package/dist/esm/ez-scroller_3.entry.js +19 -5
  133. package/dist/esm/ez-search.entry.js +623 -34
  134. package/dist/esm/ez-skeleton.entry.js +1 -1
  135. package/dist/esm/ez-split-button.entry.js +162 -0
  136. package/dist/esm/ez-split-item.entry.js +21 -3
  137. package/dist/esm/ez-split-panel.entry.js +68 -14
  138. package/dist/esm/ez-tabselector.entry.js +1 -1
  139. package/dist/esm/ez-text-area.entry.js +1 -1
  140. package/dist/esm/ez-text-edit.entry.js +1 -1
  141. package/dist/esm/ez-text-input.entry.js +1 -1
  142. package/dist/esm/ez-time-input.entry.js +2 -2
  143. package/dist/esm/ez-toast.entry.js +1 -1
  144. package/dist/esm/ez-upload.entry.js +1 -1
  145. package/dist/esm/ez-view-stack.entry.js +1 -1
  146. package/dist/esm/ezui.js +3 -3
  147. package/dist/esm/filter-column.entry.js +17 -6
  148. package/dist/esm/{index-296b8458.js → index-baa5e267.js} +12 -10
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/ezui/ezui.esm.js +1 -1
  151. package/dist/ezui/{p-5cef0264.entry.js → p-0306dff7.entry.js} +1 -1
  152. package/dist/ezui/{p-871c1a07.entry.js → p-0447d17c.entry.js} +1 -1
  153. package/dist/ezui/p-072e6347.entry.js +1 -0
  154. package/dist/ezui/{p-f4208819.entry.js → p-17be134a.entry.js} +1 -1
  155. package/dist/ezui/{p-cd19a6f8.entry.js → p-1e7a8633.entry.js} +1 -1
  156. package/dist/ezui/{p-60ba28ea.entry.js → p-1f50fa05.entry.js} +1 -1
  157. package/dist/ezui/{p-245a44ed.entry.js → p-20ec22c0.entry.js} +1 -1
  158. package/dist/ezui/{p-e318d280.js → p-23a36bb6.js} +1 -1
  159. package/dist/ezui/{p-8252d9b5.entry.js → p-2a1a0e04.entry.js} +1 -1
  160. package/dist/ezui/{p-62903ab9.entry.js → p-384247cd.entry.js} +2 -2
  161. package/dist/ezui/p-3faa2b46.entry.js +1 -0
  162. package/dist/ezui/{p-9b347f04.entry.js → p-44caad9a.entry.js} +1 -1
  163. package/dist/ezui/{p-7319c253.entry.js → p-49456b34.entry.js} +1 -1
  164. package/dist/ezui/{p-ccb4ccd9.entry.js → p-555c9018.entry.js} +1 -1
  165. package/dist/ezui/{p-52dd8b4c.entry.js → p-5bd5e68f.entry.js} +1 -1
  166. package/dist/ezui/{p-62304715.entry.js → p-5e1d036e.entry.js} +1 -1
  167. package/dist/ezui/{p-7525e604.entry.js → p-5ed81457.entry.js} +1 -1
  168. package/dist/ezui/p-5ef056ce.entry.js +1 -0
  169. package/dist/ezui/p-637f69f2.entry.js +1 -0
  170. package/dist/ezui/{p-c49dbf23.entry.js → p-650e4b6d.entry.js} +1 -1
  171. package/dist/ezui/{p-f55d75e7.entry.js → p-6e429cff.entry.js} +1 -1
  172. package/dist/ezui/p-701231f0.entry.js +1 -0
  173. package/dist/ezui/{p-0b902469.entry.js → p-77a4bd35.entry.js} +1 -1
  174. package/dist/ezui/{p-81cd05c8.entry.js → p-784fe207.entry.js} +1 -1
  175. package/dist/ezui/p-7af81663.entry.js +1 -0
  176. package/dist/ezui/p-7bc07c31.entry.js +1 -0
  177. package/dist/ezui/{p-5d6f2550.entry.js → p-85c8baae.entry.js} +1 -1
  178. package/dist/ezui/{p-d3b5228e.entry.js → p-8defa6d3.entry.js} +1 -1
  179. package/dist/ezui/{p-fbca293f.entry.js → p-8df1ca33.entry.js} +1 -1
  180. package/dist/ezui/{p-391de0e4.entry.js → p-9050d2cd.entry.js} +1 -1
  181. package/dist/ezui/p-91f626d3.entry.js +1 -0
  182. package/dist/ezui/{p-3e7cc8a4.entry.js → p-99ead599.entry.js} +1 -1
  183. package/dist/ezui/p-9aefaa52.entry.js +1 -0
  184. package/dist/ezui/{p-7eb3e1a5.js → p-9e11fc7b.js} +1 -1
  185. package/dist/ezui/{p-b11f035c.entry.js → p-9f5fa3f9.entry.js} +1 -1
  186. package/dist/ezui/p-a1ec32ef.entry.js +1 -0
  187. package/dist/ezui/{p-2da09f70.entry.js → p-a80b1287.entry.js} +1 -1
  188. package/dist/ezui/{p-d20ed286.entry.js → p-af2ecb1b.entry.js} +1 -1
  189. package/dist/ezui/{p-e8f88361.entry.js → p-af95cd16.entry.js} +1 -1
  190. package/dist/ezui/{p-32b4163f.entry.js → p-b041333c.entry.js} +1 -1
  191. package/dist/ezui/{p-12526044.entry.js → p-b567fa8c.entry.js} +1 -1
  192. package/dist/ezui/p-bae3d0aa.entry.js +1 -0
  193. package/dist/ezui/p-bae4e180.entry.js +1 -0
  194. package/dist/ezui/p-baf80b13.entry.js +1 -0
  195. package/dist/ezui/p-bc2f844e.entry.js +1 -0
  196. package/dist/ezui/p-bf79aaa1.entry.js +1 -0
  197. package/dist/ezui/{p-83885b21.entry.js → p-cc2dc4f4.entry.js} +1 -1
  198. package/dist/ezui/p-db77a984.entry.js +1 -0
  199. package/dist/ezui/{p-028f264f.entry.js → p-e85c48d7.entry.js} +1 -1
  200. package/dist/types/components/ez-alert-list/ez-alert-list.d.ts +38 -4
  201. package/dist/types/components/ez-card-item/ez-card-item.d.ts +4 -0
  202. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +1 -15
  203. package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +5 -0
  204. package/dist/types/components/ez-form-view/ez-form-view.d.ts +3 -0
  205. package/dist/types/components/ez-grid/controller/ag-grid/DataSourceInterceptor.d.ts +8 -0
  206. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  207. package/dist/types/components/ez-grid/ez-grid.d.ts +17 -2
  208. package/dist/types/components/ez-grid/subcomponents/filter-column.d.ts +4 -1
  209. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +0 -1
  210. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +1 -0
  211. package/dist/types/components/ez-popup/ez-popup.d.ts +7 -1
  212. package/dist/types/components/ez-search/ez-search.d.ts +101 -10
  213. package/dist/types/components/ez-split-button/ez-split-button.d.ts +92 -0
  214. package/dist/types/components/ez-split-button/test/dropdownItems.d.ts +2 -0
  215. package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +29 -0
  216. package/dist/types/components/ez-split-panel/structure/item/ez-split-item.d.ts +27 -0
  217. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +3 -1
  218. package/dist/types/components/ez-tree/interfaces/ITreeItemBadge.d.ts +6 -0
  219. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +0 -1
  220. package/dist/types/components.d.ts +188 -15
  221. package/dist/types/utils/CSSVarsUtils.d.ts +1 -0
  222. package/dist/types/utils/form/test/DataBinder.test.d.ts +1 -0
  223. package/dist/types/utils/interfaces/AbstractFieldMetadata.d.ts +2 -1
  224. package/dist/types/utils/interfaces/IAction.d.ts +1 -1
  225. package/package.json +13 -5
  226. package/react/components.d.ts +1 -0
  227. package/react/components.js +1 -0
  228. package/react/components.js.map +1 -1
  229. package/dist/cjs/ez-card-item.cjs.entry.js +0 -52
  230. package/dist/cjs/ez-filter-input_2.cjs.entry.js +0 -137
  231. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridUtils.js +0 -8
  232. package/dist/esm/ez-card-item.entry.js +0 -48
  233. package/dist/esm/ez-filter-input_2.entry.js +0 -132
  234. package/dist/ezui/p-0843df02.entry.js +0 -1
  235. package/dist/ezui/p-47afb974.entry.js +0 -1
  236. package/dist/ezui/p-59bcb27c.entry.js +0 -1
  237. package/dist/ezui/p-74049254.entry.js +0 -1
  238. package/dist/ezui/p-76d16a24.entry.js +0 -1
  239. package/dist/ezui/p-7fd54841.entry.js +0 -1
  240. package/dist/ezui/p-87e85160.entry.js +0 -1
  241. package/dist/ezui/p-95426f93.entry.js +0 -1
  242. package/dist/ezui/p-99692afa.entry.js +0 -1
  243. package/dist/ezui/p-a01068e1.entry.js +0 -1
  244. package/dist/ezui/p-a42fe2ce.entry.js +0 -1
  245. package/dist/ezui/p-af285e68.entry.js +0 -1
  246. package/dist/ezui/p-b6867f19.entry.js +0 -1
  247. package/dist/ezui/p-d51aa09b.entry.js +0 -1
  248. package/dist/ezui/p-d81917fd.entry.js +0 -1
  249. package/dist/ezui/p-f8653522.entry.js +0 -1
  250. package/dist/types/components/ez-grid/controller/ag-grid/AgGridUtils.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import { HTMLElement as HTMLElement$1, createEvent, h, Host, forceUpdate, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
2
2
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
3
- import { UserInterface, DateUtils as DateUtils$1, Action, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, TimeFormatter, DataUnit, HTMLBuilder, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, FieldComparator, ArrayUtils as ArrayUtils$1 } from '@sankhyalabs/core';
3
+ import { UserInterface, DateUtils as DateUtils$1, Action, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, TimeFormatter, DataUnit, HTMLBuilder, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, FieldComparator, ArrayUtils as ArrayUtils$1, OverflowWatcher, OVERFLOWED_CLASS_NAME, KeyboardManager } from '@sankhyalabs/core';
4
4
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
5
5
 
6
6
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
@@ -284,6 +284,19 @@ class CSSVarsUtils {
284
284
  });
285
285
  }
286
286
  }
287
+ static applyVarsGrid(host, child) {
288
+ if (child) {
289
+ [
290
+ "--ez-grid--min-height",
291
+ "--snk-grid-min-height",
292
+ ].forEach(prop => {
293
+ const propValue = getComputedStyle(host).getPropertyValue(prop);
294
+ if (propValue !== null && propValue !== undefined) {
295
+ child.style.setProperty(prop, propValue);
296
+ }
297
+ });
298
+ }
299
+ }
287
300
  static applyIfExists(host, element, varName) {
288
301
  const prop = getComputedStyle(host).getPropertyValue(varName);
289
302
  if (prop) {
@@ -1113,88 +1126,160 @@ const EzAlert$1 = class extends HTMLElement$1 {
1113
1126
  static get style() { return ezAlertCss; }
1114
1127
  };
1115
1128
 
1116
- const ezAlertListCss = ":host{display:flex;--ez-alert-list__container--width:680px;--ez-alert-list__container--height:220px;--ez-alert-list__title--font-family:var(--font-pattern, \"Roboto\");--ez-alert-list__title--font-size:var(--title--large, 20px);--ez-alert-list__title--color:var(--title--primary, #2b3a54);--ez-alert-list__title--font-weight:var(--text-weight--extra-large, 700);--ez-list__item--border-bottom:var(--border--small, 1px solid);--ez-list__item--border-bottom-color:var(--color--strokes, #DCE0E8);--ez-list__item--white-space:break-space}.alert-list__content{display:flex;flex-direction:column;gap:var(--space--xs);margin:var(--space--large, 24px);width:100%}.alert-list__container{z-index:var(--more-visible--2x, 3);display:flex;height:var(--ez-alert-list__container--height);width:var(--ez-alert-list__container--width);border-radius:var(--border--radius-medium);background-color:var(--background--xlight);box-shadow:0px 8px 24px 0px rgba(0, 38, 111, 0.1)}.alert-list__header{width:100%;display:flex;align-items:center;justify-content:space-between}.alert-list__title{font-family:var(--ez-alert-list__title--font-family);font-size:var(--ez-alert-list__title--font-size);font-weight:var(--ez-alert-list__title--font-weight);color:var(--ez-alert-list__title--color)}.alert-list__header__buttons{display:flex;gap:var(--space--xs)}.alert-list__expandable-content{overflow-y:auto;scrollbar-width:thin}";
1129
+ const ezAlertListCss = ":host {\n display: flex;\n\n /* Alert List */\n \n /*@doc Define a largura da lista minimizado */\n --ez-alert-list__container--width: 680px;\n /*@doc Define a altura da lista minimizado */\n --ez-alert-list__container--height: 220px;\n \n /*@doc Define a largura da lista maximizada */\n --ez-alert-list__container--width--expanded: 920px;\n /*@doc Define a altura da lista maximizada */\n --ez-alert-list__container--height--expanded: 540px;\n\n /* Title */\n /*@doc Define a fonte do título do componente */\n --ez-alert-list__title--font-family: var(--font-pattern, \"Roboto\");\n /*@doc Define o tamanho da fonte do título do popup.*/\n --ez-alert-list__title--font-size: var(--title--large, 20px);\n /*@doc Define a cor da fonte do título do popup.*/\n --ez-alert-list__title--color: var(--title--primary, #2b3a54);\n /*@doc Define o peso da fonte do título do popup.*/\n --ez-alert-list__title--font-weight: var(--text-weight--extra-large, 700);\n\n /* @doc Define a borda inferior do item da lista. */\n --ez-list__item--border-bottom: var(--border--small, 1px solid);\n\n /* @doc Define a cor da borda inferior do item da lista. */\n --ez-list__item--border-bottom-color: var(--color--strokes, #DCE0E8);\n\n /* @doc Define o tipo da quebra de linha do item da lista. */\n --ez-list__item--white-space: break-space;\n}\n\n.alert-list__content {\n display: flex;\n flex-direction: column;\n \n gap: var(--space--xs);\n margin: var(--space--large, 24px);\n width: 100%;\n}\n\n.alert-list__container {\n z-index: var(--ez-elevation--8, 8);\n display: flex;\n height: var(--ez-alert-list__container--height);\n width: var(--ez-alert-list__container--width);\n border-radius: var(--border--radius-medium);\n background-color: var(--background--xlight);\n box-shadow: var(--shadow--medium);\n\n &.expanded {\n height: var(--ez-alert-list__container--height--expanded);\n width: var(--ez-alert-list__container--width--expanded);\n }\n\n @media (max-height: 640px) {\n max-height: calc(100vh - var(--space--3xl));\n } \n}\n\n.alert-list__header {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.alert-list__title {\n font-family: var(--ez-alert-list__title--font-family);\n font-size: var(--ez-alert-list__title--font-size);\n font-weight: var(--ez-alert-list__title--font-weight);\n color: var(--ez-alert-list__title--color);\n}\n\n.alert-list__header__buttons {\n display: flex;\n gap: var(--space--xs);\n}\n\n.alert-list__expandable-content {\n overflow-y: auto;\n scrollbar-width: thin;\n}\n\n";
1117
1130
 
1118
1131
  const EzAlertList$1 = class extends HTMLElement$1 {
1119
1132
  constructor() {
1120
1133
  super();
1121
1134
  this.__registerHost();
1122
1135
  this.__attachShadow();
1136
+ this._container = undefined;
1123
1137
  this.alerts = [];
1124
1138
  this.enableDragAndDrop = undefined;
1125
- this.enableExpand = undefined;
1139
+ this.enableExpand = true;
1126
1140
  this.itemRightSlotBuilder = undefined;
1127
1141
  this.opened = true;
1128
1142
  this.expanded = false;
1129
1143
  }
1130
1144
  observeOpened() {
1131
- this.manageOverlay();
1145
+ if (this.opened) {
1146
+ this.manageOverlay();
1147
+ }
1148
+ }
1149
+ /**
1150
+ * Retorna o id do alerta a partir do título e do índice.
1151
+ */
1152
+ alertId(title, index) {
1153
+ const concatTitle = (title) => { var _a; return (_a = title === null || title === void 0 ? void 0 : title.split(' ').join('-')) !== null && _a !== void 0 ? _a : ""; };
1154
+ return `alert-${index}-${concatTitle(title)}`;
1155
+ }
1156
+ /**
1157
+ * Retorna o título do alerta a partir do id.
1158
+ */
1159
+ getAlertTitle(id) {
1160
+ var _a;
1161
+ return (_a = this.alerts.find((alert, index) => this.alertId(alert.title, index) === id)) === null || _a === void 0 ? void 0 : _a.title;
1162
+ }
1163
+ /**
1164
+ * Retorna o link para o titulo do alerta a partir do id.
1165
+ */
1166
+ getLinkTitle(item) {
1167
+ var _a;
1168
+ const link = (_a = this.alerts.find((alert, index) => this.alertId(alert.title, index) === item.id)) === null || _a === void 0 ? void 0 : _a.link;
1169
+ return link !== null && link !== void 0 ? link : "#";
1170
+ }
1171
+ /**
1172
+ * Retorna o texto do título do alerta.
1173
+ */
1174
+ getTitleText(item) {
1175
+ var _a;
1176
+ const title = (_a = this.getAlertTitle(item.id)) !== null && _a !== void 0 ? _a : '';
1177
+ return `${title}${(title && item.label) ? ':' : ''}`;
1178
+ }
1179
+ /**
1180
+ * Gerencia a exibição do conteúdo expandido.
1181
+ */
1182
+ toggleExpandContainer() {
1183
+ if (!this.enableExpand) {
1184
+ return;
1185
+ }
1186
+ this.expanded = !this.expanded;
1187
+ this._container.classList.toggle('expanded', this.expanded);
1188
+ if (this.expanded) {
1189
+ this.updatePosition(this.getBoundingRight(), this.getBoundingBottom());
1190
+ }
1191
+ else {
1192
+ this.updatePosition(`10px`, `10px`);
1193
+ }
1132
1194
  }
1133
1195
  /**
1134
1196
  * Gerencia a exibição do overlay usando FloatingManager do Core.
1135
1197
  */
1136
- async manageOverlay() {
1137
- if (this.opened) {
1138
- this._overlayId = FloatingManager.float(this._container, this._overlayRef, {
1139
- autoClose: false,
1140
- isFixed: !this.enableDragAndDrop,
1141
- bottom: '10px',
1142
- right: '10px'
1143
- });
1198
+ manageOverlay() {
1199
+ if (this.opened && this._container) {
1200
+ this._overlayId = FloatingManager.float(this._container, this._overlayRef, this.getFloatOptions());
1144
1201
  }
1145
1202
  else {
1203
+ if (this._overlayId === undefined)
1204
+ return;
1146
1205
  FloatingManager.close(this._overlayId);
1147
1206
  this._overlayId = undefined;
1148
1207
  }
1149
1208
  }
1150
- componentDidRender() {
1151
- this.manageOverlay();
1209
+ /**
1210
+ * Atualiza a posição da lista.
1211
+ */
1212
+ updatePosition(right, bottom) {
1152
1213
  if (this.opened) {
1153
- this._container.focus();
1214
+ FloatingManager.updateFloatPosition(this._container, this._overlayRef, Object.assign(Object.assign({}, this.getFloatOptions()), { right,
1215
+ bottom }));
1154
1216
  }
1155
1217
  }
1156
- componentWillLoad() {
1157
- this.dataElementId = ElementIDUtils.addIDInfo(this._element, 'EzAlertList');
1218
+ ;
1219
+ /**
1220
+ * Retorna valores padrões do componente
1221
+ */
1222
+ getFloatOptions() {
1223
+ return {
1224
+ autoClose: false,
1225
+ isFixed: true,
1226
+ bottom: '10px',
1227
+ right: '10px',
1228
+ };
1158
1229
  }
1159
- alertId(title, index) {
1160
- const concatTitle = (title) => { var _a; return (_a = title === null || title === void 0 ? void 0 : title.split(' ').join('-')) !== null && _a !== void 0 ? _a : ""; };
1161
- return `alert-${index}-${concatTitle(title)}`;
1230
+ ;
1231
+ /**
1232
+ * Retorna o valor para o alinhamento horizontal do componente.
1233
+ */
1234
+ getBoundingRight() {
1235
+ const docWidth = document.body.clientWidth;
1236
+ const boxWidth = this._container.getBoundingClientRect().width;
1237
+ return ((docWidth - boxWidth) / 2) + 'px';
1162
1238
  }
1163
- getAlertTitle(id) {
1164
- var _a;
1165
- return (_a = this.alerts.find((alert, index) => this.alertId(alert.title, index) === id)) === null || _a === void 0 ? void 0 : _a.title;
1239
+ /**
1240
+ * Retorna o valor para o alinhamento vertical do componente.
1241
+ */
1242
+ getBoundingBottom() {
1243
+ const docHeight = document.body.clientHeight;
1244
+ const boxHeight = this._container.getBoundingClientRect().height;
1245
+ return ((docHeight - boxHeight) / 2) + 'px';
1166
1246
  }
1167
- getTitleText(item) {
1168
- var _a;
1169
- const title = (_a = this.getAlertTitle(item.id)) !== null && _a !== void 0 ? _a : '';
1170
- return `${title}${(title && item.label) ? ':' : ''}`;
1247
+ componentDidLoad() {
1248
+ this.manageOverlay();
1249
+ if (this.opened && this._container) {
1250
+ this._container.focus();
1251
+ }
1252
+ }
1253
+ componentWillLoad() {
1254
+ this.dataElementId = ElementIDUtils.addIDInfo(this._element, 'EzAlertList');
1171
1255
  }
1172
1256
  render() {
1173
- return (h(Host, Object.assign({}, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: this.dataElementId }), h("div", { ref: elem => (this._overlayRef = elem) }, h("div", { class: "alert-list__container", ref: elem => (this._container = elem) }, h("div", { class: "alert-list__content" }, h("div", { class: "alert-list__header" }, h("div", { class: "alert-list__title" }, `Avisos (${this.alerts.length})`), h("div", { class: "alert-list__header__buttons" }, h("ez-button", { mode: "icon", size: "small", iconName: "expand", "data-element-id": ElementIDUtils.getInternalIDInfo('expandButton'), onClick: () => { }, title: this.expanded ? 'Resumir' : 'Expandir' }), h("ez-button", { mode: "icon", size: "small", iconName: "close", "data-element-id": ElementIDUtils.getInternalIDInfo('closeButton'), onClick: () => {
1174
- this.opened = false;
1175
- }, title: 'Fechar' }))), h("div", { class: "alert-list__expandable-content" }, h("ez-list", { hoverFeedback: true, itemLeftSlotBuilder: item => {
1176
- return (h("a", { href: "#", style: {
1177
- fontFamily: "var(--font-pattern, 'Roboto')",
1178
- fontSize: 'var(--text--medium, 14px)',
1179
- fontWeight: 'var(--text-weight--medium, 400)',
1180
- color: 'var(--color--primary, #008561)',
1181
- marginRight: '4px',
1182
- cursor: 'pointer',
1183
- display: 'flex',
1184
- width: 'max-content',
1185
- textDecoration: 'none'
1186
- } }, this.getTitleText(item)));
1187
- }, dataSource: this.alerts.map((alert, index) => {
1188
- var _a;
1189
- return {
1190
- id: this.alertId(alert.title, index),
1191
- label: (_a = alert.detail) !== null && _a !== void 0 ? _a : "",
1192
- };
1193
- }) })))))));
1257
+ return (h(Host, Object.assign({}, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: this.dataElementId }), this.opened ?
1258
+ (h("div", { ref: elem => (this._overlayRef = elem) }, h("div", { class: `alert-list__container ${this.expanded ? 'expanded' : ''}`, ref: elem => (this._container = elem) }, h("div", { class: "alert-list__content" }, h("div", { class: "alert-list__header" }, h("div", { class: "alert-list__title" }, `Avisos (${this.alerts.length})`), h("div", { class: "alert-list__header__buttons" }, this.enableExpand && (h("ez-button", { mode: "icon", size: "small", iconName: "expand", onClick: () => this.toggleExpandContainer(), "data-element-id": ElementIDUtils.getInternalIDInfo('expandButton'), title: this.expanded ? 'Resumir' : 'Expandir' })), h("ez-button", { mode: "icon", size: "small", iconName: "close", "data-element-id": ElementIDUtils.getInternalIDInfo('closeButton'), onClick: () => {
1259
+ this.opened = false;
1260
+ }, title: 'Fechar' }))), h("div", { class: "alert-list__expandable-content" }, h("ez-list", { itemSlotBuilder: this.itemRightSlotBuilder, hoverFeedback: true, itemLeftSlotBuilder: item => {
1261
+ return (h("a", { href: this.getLinkTitle(item), style: {
1262
+ fontFamily: "var(--font-pattern, 'Roboto')",
1263
+ fontSize: 'var(--text--medium, 14px)',
1264
+ fontWeight: 'var(--text-weight--medium, 400)',
1265
+ color: 'var(--color--primary, #008561)',
1266
+ marginRight: '4px',
1267
+ cursor: 'pointer',
1268
+ display: 'flex',
1269
+ width: 'max-content',
1270
+ textDecoration: 'none'
1271
+ } }, this.getTitleText(item)));
1272
+ }, dataSource: this.alerts.map((alert, index) => {
1273
+ var _a;
1274
+ return {
1275
+ id: this.alertId(alert.title, index),
1276
+ label: (_a = alert.detail) !== null && _a !== void 0 ? _a : "",
1277
+ };
1278
+ }) })))))) : null));
1194
1279
  }
1195
1280
  get _element() { return this; }
1196
1281
  static get watchers() { return {
1197
- "opened": ["observeOpened"]
1282
+ "_container": ["observeOpened"]
1198
1283
  }; }
1199
1284
  static get style() { return ezAlertListCss; }
1200
1285
  };
@@ -1925,7 +2010,7 @@ const EzCalendar$1 = class extends HTMLElement$1 {
1925
2010
  static get style() { return ezCalendarCss; }
1926
2011
  };
1927
2012
 
1928
- const ezCardItemCss = ":host{--ez-card-item--font-size:var(--text--medium, 14px);--ez-card-item--font-family:var(--font-pattern, Arial);--ez-card-item--font-weight:var(--text-weight--medium, 400);--ez-card-item--font-weight-large:var(--text-weight--large, 600);--ez-card-item--color:var(--title--primary, #2B3A54);--ez-card-item__key--color:var(--text--primary, #626e82);--ez-card-item__detail-label--color:var(--text--secondary, #A2ABB9);--ez-card-item__detail--padding-bottom:var(--space--extra-small, 3px);--ez-card-item__title--padding-bottom:var(--space--extra-small, 3px);--ez-card-item__highlight--color:var(--color--primary-300, #E2F4EF);width:100%;display:flex;cursor:pointer}.card-item{display:flex;flex-direction:column;width:100%;cursor:pointer;padding:12px;z-index:0;position:relative}.card-item:hover{background:#F0F3F7;border-radius:12px}.card-item__title{display:flex;align-items:center;line-height:18px;cursor:pointer;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight-large);color:var(--ez-card-item--color);padding-bottom:var(--ez-card-item__title--padding-bottom);gap:var(--space--small, 6px)}.card-item__key{color:var(--ez-card-item__key--color)}.card-item__details{display:flex;cursor:pointer;justify-content:space-between;gap:var(--space--small, 6px)}.card-item__details-left{cursor:pointer;width:50%}.card-item__details-right{width:50%;cursor:pointer}.card-item__detail:not(:last-child){cursor:pointer;padding-bottom:var(--ez-card-item__detail--padding-bottom)}.card-item__detail-label{cursor:pointer;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight);color:var(--ez-card-item__detail-label--color)}.card-item__detail-value{cursor:pointer;line-break:anywhere;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight);color:var(--ez-card-item--color)}.card-item__highlight{position:relative;border-radius:8px;z-index:-1;background-color:var(--ez-card-item__highlight--color);outline:2px solid var(--ez-card-item__highlight--color);box-shadow:-4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color)}";
2013
+ const ezCardItemCss = ":host {\n /*@doc Define o tamanho da fonte do componente.*/\n --ez-card-item--font-size: var(--text--medium, 14px);\n\n /*@doc Define a família da fonte do componente.*/\n --ez-card-item--font-family: var(--font-pattern, Arial);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--font-weight: var(--text-weight--medium, 400);\n\n /*@doc Define o peso da fonte do title do componente.*/\n --ez-card-item--font-weight-large: var(--text-weight--large, 600);\n\n /*@doc Define a cor da fonte do componente.*/\n --ez-card-item--color: var(--title--primary, #2B3A54);\n\n /*@doc Define a cor da fonte da key do componente.*/\n --ez-card-item__key--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte do label do detalhe do componente.*/\n --ez-card-item__detail-label--color: var(--text--secondary, #A2ABB9);\n\n /*@doc Define o espaçamento inferior dos detalhes do componente.*/\n --ez-card-item__detail--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define o espaçamento inferior do title do componente.*/\n --ez-card-item__title--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define a cor do highlight / marcação nos textos do componente.*/\n --ez-card-item__highlight--color: var(--color--primary-300, #E2F4EF);\n\n width: 100%;\n display: flex;\n cursor: pointer;\n}\n\n.card-item {\n display: flex;\n flex-direction: column;\n width: 100%;\n cursor: pointer;\n padding: 12px;\n z-index: 0;\n position: relative;\n container-type: inline-size;\n container-name: box;\n white-space: pre-line;\n}\n\n.card-item:hover {\n background: #F0F3F7;\n border-radius: 12px;\n}\n\n.card-item__title {\n display: flex;\n align-items: center;\n line-height: 18px;\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight-large);\n color: var(--ez-card-item--color);\n padding-bottom: var(--ez-card-item__title--padding-bottom);\n gap: var(--space--small, 6px);\n}\n\n.card-item__key {\n /*public*/\n color: var(--ez-card-item__key--color);\n}\n\n.card-item__details {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n justify-content: space-between;\n width: 100%;\n}\n\n.card-item__details-container__left {\n white-space: pre-line;\n cursor: pointer;\n width: 50%;\n}\n\n.card-item__details-container__right {\n white-space: pre-line;\n width: 50%;\n cursor: pointer;\n}\n\n.card-item__detail:not(:last-child) {\n cursor: pointer;\n white-space: pre-line;\n\n /*public*/\n padding-bottom: var(--ez-card-item__detail--padding-bottom);\n}\n\n.card-item__detail-label {\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight);\n color: var(--ez-card-item__detail-label--color);\n}\n\n.card-item__detail-value {\n cursor: pointer;\n line-break: anywhere;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight);\n color: var(--ez-card-item--color);\n}\n\n.card-item__highlight {\n position: relative;\n border-radius: 8px;\n z-index: -1;\n\n /*public*/\n background-color: var(--ez-card-item__highlight--color);\n outline: 2px solid var(--ez-card-item__highlight--color);\n box-shadow: -4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color);\n}\n\n.card-item__content{\n display: flex;\n align-items: center;\n}\n\n.card-item__details-container{\n display: flex;\n}\n\n.card-item__details-slot{\n margin-left: auto;\n}\n\n@container box (max-width: 550px) {\n .card-item__details {\n flex-direction: column;\n }\n\n .card-item__details-container__left {\n width: 100%;\n }\n \n .card-item__details-container__right {\n width: 100%;\n }\n}\n\n@container box (max-width: 200px) {\n .card-item__title {\n font-size: 10px;\n }\n\n .card-item__detail-label {\n font-size: 10px;\n }\n\n .card-item__detail-value {\n font-size: 10px;\n }\n\n}";
1929
2014
 
1930
2015
  const EzCardItem$1 = class extends HTMLElement$1 {
1931
2016
  constructor() {
@@ -1934,6 +2019,7 @@ const EzCardItem$1 = class extends HTMLElement$1 {
1934
2019
  this.__attachShadow();
1935
2020
  this.ezClick = createEvent(this, "ezClick", 7);
1936
2021
  this.item = undefined;
2022
+ this.enableKey = true;
1937
2023
  }
1938
2024
  componentWillRender() {
1939
2025
  this.createDetailList();
@@ -1961,17 +2047,17 @@ const EzCardItem$1 = class extends HTMLElement$1 {
1961
2047
  }
1962
2048
  render() {
1963
2049
  return (h(Host, null, this.item &&
1964
- h("div", { class: "card-item", onClick: () => { this.ezClick.emit(this.item); } }, h("label", { class: "card-item__title" }, h("span", { class: "card-item__key", innerHTML: this.item.key }), h("span", { innerHTML: this.item.title })), h("div", { class: "card-item__details" }, h("div", { class: "card-item__details-left" }, this._details.detailsLeft.map(detail => {
2050
+ h("div", { class: "card-item", onClick: () => { this.ezClick.emit(this.item); } }, h("div", { class: "ez-row card-item__content" }, h("div", { class: "ez-col ez-col--sd-11 card-item__details" }, h("label", { class: "card-item__title" }, this.enableKey && (h("span", { class: "card-item__key", innerHTML: this.item.key })), h("span", { innerHTML: this.item.title })), h("div", { class: "card-item__details-container" }, h("div", { class: "card-item__details-container__left" }, this._details.detailsLeft.map(detail => {
1965
2051
  return this.buildDetailContent(detail);
1966
- })), h("div", { class: "card-item__details-right" }, this._details.detailsRight.map(detail => {
2052
+ })), h("div", { class: "card-item__details-container__right" }, this._details.detailsRight.map(detail => {
1967
2053
  return this.buildDetailContent(detail);
1968
- }))))));
2054
+ })))), h("div", { class: "ez-col ez-col--sd-1 card-item__details-slot" }, h("slot", { name: "rightSlot" }))))));
1969
2055
  }
1970
2056
  get _element() { return this; }
1971
2057
  static get style() { return ezCardItemCss; }
1972
2058
  };
1973
2059
 
1974
- const ezCheckCss = ":host{--ez-check--box--width:20px;--ez-check--box--height:20px;--ez-check--width:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--height:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--ez-check--indeterminate--image:url('data:image/svg+xml;utf8,<svg width=\"10\" height=\"2\" viewBox=\"0 0 10 2\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 1,0 h 8 c 0.554,0 1,0.446 1,1 0,0.554 -0.446,1 -1,1 H 1 C 0.446,2 0,1.554 0,1 0,0.446 0.446,0 1,0 Z\" /></svg>');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:19px;--ez-switch--pin--height:19px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--disabled--checked--background-color:var(--color--primary-300);--ez-switch--checked--background-color:var(--color--primary);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-primary);--ez-switch--pin--checked--background-color:var(--background--xlight);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-switch--pin--border-color:var(--text--primary);--ez-switch--pin--disabled--border-color:var(--text--secondary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;align-items:center;margin:0}input.regular-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.compact{margin-right:0px}input.regular-mode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regular-mode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regular-mode:disabled{cursor:auto;background:none}input.regular-mode::before{box-sizing:border-box;content:\"\";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regular-mode:disabled::before{border:var(--ez-check--disabled--border)}input.regular-mode:checked:enabled:hover,input.regular-mode:indeterminate:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regular-mode:checked:enabled:focus,input.regular-mode:indeterminate:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regular-mode:checked::before,input.regular-mode:indeterminate::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regular-mode:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regular-mode:checked::after,input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:10px;height:2px;-webkit-mask-image:var(--ez-check--indeterminate--image);mask-image:var(--ez-check--indeterminate--image)}input.regular-mode:checked:disabled::after,input.regular-mode:indeterminate:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switch-mode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switch-mode:disabled{background-color:var(--ez-switch--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked:disabled{background-color:var(--ez-switch--disabled--checked--background-color)}input.switch-mode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(-2px) translateY(-4px);border-radius:50%;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switch-mode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked{transition:background-color var(--transition), border var(--transition);background-color:var(--ez-switch--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width) - 2px) / 2);background-color:var(--ez-switch--pin--focus--background-color)}input.switch-mode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switch-mode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width) + 2px))}input.switch-mode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-4px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;width:inherit}.label--disabled{color:var(--ez-check--label--disabled--color)}.label--padding{padding-left:var(--space--small)}";
2060
+ const ezCheckCss = ":host{--ez-check--box--width:20px;--ez-check--box--height:20px;--ez-check--width:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--height:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--ez-check--indeterminate--image:url('data:image/svg+xml;utf8,<svg width=\"10\" height=\"2\" viewBox=\"0 0 10 2\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 1,0 h 8 c 0.554,0 1,0.446 1,1 0,0.554 -0.446,1 -1,1 H 1 C 0.446,2 0,1.554 0,1 0,0.446 0.446,0 1,0 Z\" /></svg>');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:19px;--ez-switch--pin--height:19px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--disabled--checked--background-color:var(--color--primary-300);--ez-switch--checked--background-color:var(--color--primary);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-primary);--ez-switch--pin--checked--background-color:var(--background--xlight);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-switch--pin--border-color:var(--text--primary);--ez-switch--pin--disabled--border-color:var(--text--secondary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;align-items:center;margin:0;max-width:100%}input.regular-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.compact{margin-right:0px}input.regular-mode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regular-mode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regular-mode:disabled{cursor:auto;background:none}input.regular-mode::before{box-sizing:border-box;content:\"\";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regular-mode:disabled::before{border:var(--ez-check--disabled--border)}input.regular-mode:checked:enabled:hover,input.regular-mode:indeterminate:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regular-mode:checked:enabled:focus,input.regular-mode:indeterminate:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regular-mode:checked::before,input.regular-mode:indeterminate::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regular-mode:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regular-mode:checked::after,input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:10px;height:2px;-webkit-mask-image:var(--ez-check--indeterminate--image);mask-image:var(--ez-check--indeterminate--image)}input.regular-mode:checked:disabled::after,input.regular-mode:indeterminate:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switch-mode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switch-mode:disabled{background-color:var(--ez-switch--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked:disabled{background-color:var(--ez-switch--disabled--checked--background-color)}input.switch-mode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(-2px) translateY(-4px);border-radius:50%;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switch-mode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked{transition:background-color var(--transition), border var(--transition);background-color:var(--ez-switch--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width) - 2px) / 2);background-color:var(--ez-switch--pin--focus--background-color)}input.switch-mode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switch-mode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width) + 2px))}input.switch-mode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-4px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;width:inherit}.label--disabled{color:var(--ez-check--label--disabled--color)}.label--padding{padding-left:var(--space--small)}";
1975
2061
 
1976
2062
  const EzCheck$1 = class extends HTMLElement$1 {
1977
2063
  constructor() {
@@ -2292,10 +2378,6 @@ const EzCollapsibleBox$1 = class extends HTMLElement$1 {
2292
2378
  static get style() { return ezCollapsibleBoxCss; }
2293
2379
  };
2294
2380
 
2295
- const REQUIRED_INFO = " (obrigatório) *";
2296
- const DISTINCT_FILTER_NAME_PREFIX = 'FILTRO_COLUNA_';
2297
- const EZ_GRID_LOADING_SOURCE = "EZ_GRID_LOADING_SOURCE";
2298
-
2299
2381
  const ezComboBoxCss = ":host{--ez-combo-box--height:42px;--ez-combo-box--width:100%;--ez-combo-box__icon--width:48px;--ez-combo-box--border-radius:var(--border--radius-medium, 12px);--ez-combo-box--border-radius-small:var(--border--radius-small, 6px);--ez-combo-box--font-size:var(--text--medium, 14px);--ez-combo-box--font-family:var(--font-pattern, Arial);--ez-combo-box--font-weight--large:var(--text-weight--large, 500);--ez-combo-box--font-weight--medium:var(--text-weight--medium, 400);--ez-combo-box--background-color--xlight:var(--background--xlight, #fff);--ez-combo-box--background-medium:var(--background--medium, #f0f3f7);--ez-combo-box--line-height:calc(var(--text--medium, 14px) + 4px);--ez-combo-box__input--background-color:var(--background--medium, #e0e0e0);--ez-combo-box__input--border:var(--border--medium, 2px solid);--ez-combo-box__input--border-color:var(--ez-combo-box__input--background-color);--ez-combo-box__input--focus--border-color:var(--color--primary, #008561);--ez-combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__input--error--border-color:#CC2936;--ez-combo-box__btn--color:var(--title--primary, #2B3A54);--ez-combo-box__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__btn-hover--color:var(--color--primary, #4e4e4e);--ez-combo-box__label--color:var(--title--primary, #2B3A54);--ez-combo-box__list-title--primary:var(--title--primary, #2B3A54);--ez-combo-box__list-text--primary:var(--text--primary, #626e82);--ez-combo-box__list-height:calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium) + 4px);--ez-combo-box__list-min-width:64px;--ez-combo-box--space--medium:var(--space--medium, 12px);--ez-combo-box--space--small:var(--space--small, 6px);--ez-combo-box__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-combo-box__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-combo-box__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-combo-box__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-combo-box__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-combo-box__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-combo-box--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{min-width:var(--ez-combo-box__list-min-width);position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:0;z-index:var(--more-visible, 2);max-height:calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small) + 9px);background-color:var(--ez-combo-box--background-color--xlight);border-radius:var(--ez-combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-combo-box--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;gap:3px;scrollbar-color:var(--ez-combo-box__scrollbar--color-clicked) var(--ez-combo-box__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-combo-box__scrollbar--color-background);width:var(--ez-combo-box__scrollbar--width);max-width:var(--ez-combo-box__scrollbar--width);min-width:var(--ez-combo-box__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-combo-box__scrollbar--color-background);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__scrollbar--color-default);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-combo-box__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-combo-box__scrollbar--color-clicked)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-combo-box--border-radius-small);padding:var(--ez-combo-box--space--small);min-height:var(--ez-combo-box__list-height);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size);line-height:var(--ez-combo-box--line-height)}.item__label{font-weight:var(--ez-combo-box--font-weight--medium)}.item__label--bold{font-weight:var(--ez-combo-box--font-weight--large)}.item__value{text-align:center;color:var(--ez-combo-box__list-text--primary);font-weight:var(--ez-combo-box--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;min-height:var(--ez-combo-box__list-height)}.message__no-result{color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.message__loading{border-radius:50%;width:14px;height:14px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-combo-box__list-title--primary);border-top:3px solid transparent}li:hover{background-color:var(--ez-combo-box--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-combo-box__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:disabled:hover{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:hover{color:var(--ez-combo-box__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
2300
2382
 
2301
2383
  const EzComboBox$1 = class extends HTMLElement$1 {
@@ -2309,7 +2391,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2309
2391
  this._maxWidthValue = 0;
2310
2392
  this._tabPressed = false;
2311
2393
  this._textEmptyList = "Nenhum resultado encontrado";
2312
- this._textEmptySearch = "Nenhum resultado de {0} encontrado";
2313
2394
  this._lookupMode = false;
2314
2395
  this._preSelection = undefined;
2315
2396
  this._visibleOptions = undefined;
@@ -2322,7 +2403,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2322
2403
  this.enabled = true;
2323
2404
  this.options = undefined;
2324
2405
  this.errorMessage = undefined;
2325
- this.searchMode = undefined;
2326
2406
  this.showSelectedValue = false;
2327
2407
  this.showOptionValue = false;
2328
2408
  this.suppressSearch = false;
@@ -2346,7 +2426,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2346
2426
  observeValue(newValue, oldValue) {
2347
2427
  if (this._textInput && newValue != oldValue) {
2348
2428
  try {
2349
- if (this.searchMode && typeof newValue === "string") {
2429
+ if (typeof newValue === "string") {
2350
2430
  this.setInputValue();
2351
2431
  return;
2352
2432
  }
@@ -2371,9 +2451,9 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2371
2451
  }
2372
2452
  }
2373
2453
  observeOptions(newOptions, oldOptions) {
2374
- if ((newOptions === null || newOptions === void 0 ? void 0 : newOptions.join('')) === (oldOptions === null || oldOptions === void 0 ? void 0 : oldOptions.join('')))
2454
+ if (ObjectUtils$1.equals(newOptions, oldOptions))
2375
2455
  return;
2376
- this.loadOptions(SearchMode.PRELOAD);
2456
+ this.loadOptions(SearchMode$1.PRELOAD);
2377
2457
  }
2378
2458
  /*
2379
2459
  * Retorna uma promise com o valor da opção selecionada,
@@ -2509,18 +2589,19 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2509
2589
  }
2510
2590
  updateVisibleOptions() {
2511
2591
  let opts = this._source || [];
2512
- if (!this.searchMode && this._criteria) {
2592
+ if (this._criteria) {
2513
2593
  const upperCriteria = this._criteria.toUpperCase();
2514
2594
  opts = opts.filter(opt => opt.label.toLocaleUpperCase().indexOf(upperCriteria) > -1);
2515
2595
  }
2516
- if (this.suppressEmptyOption) {
2517
- this._visibleOptions = opts;
2518
- }
2519
- else {
2520
- this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
2596
+ if (this.hasToAddEmptyoption(opts)) {
2597
+ opts = [{ value: undefined, label: "" }].concat(opts);
2521
2598
  }
2599
+ this._visibleOptions = opts;
2522
2600
  this._maxWidthValue = this.getMaxWidthValue();
2523
2601
  }
2602
+ hasToAddEmptyoption(opts) {
2603
+ return !this.suppressEmptyOption && !opts.filter(opt => !opt.value).length;
2604
+ }
2524
2605
  getMaxWidthValue() {
2525
2606
  var _a;
2526
2607
  if (this.showOptionValue) {
@@ -2584,7 +2665,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2584
2665
  return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
2585
2666
  }
2586
2667
  nextOption() {
2587
- if (this.searchMode && !this.isOptionsVisible()) {
2668
+ if (!this.isOptionsVisible()) {
2588
2669
  return;
2589
2670
  }
2590
2671
  this.showOptions();
@@ -2607,9 +2688,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2607
2688
  this.selectOption(this._visibleOptions[this._preSelection]);
2608
2689
  this._preSelection = undefined;
2609
2690
  }
2610
- else {
2611
- this.controlListWithOnlyOne();
2612
- }
2613
2691
  }
2614
2692
  updateSource(source) {
2615
2693
  this._startLoading = false;
@@ -2628,7 +2706,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2628
2706
  this.updateVisibleOptions();
2629
2707
  if (this._tabPressed) {
2630
2708
  this._tabPressed = false;
2631
- this.controlEmptySearch();
2632
2709
  }
2633
2710
  }
2634
2711
  else {
@@ -2636,10 +2713,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2636
2713
  }
2637
2714
  }
2638
2715
  }
2639
- clearSource() {
2640
- this._source = [];
2641
- this.updateVisibleOptions();
2642
- }
2643
2716
  selectOption(newOption) {
2644
2717
  var _a, _b;
2645
2718
  const currentValue = this.getSelectedOption(this.value);
@@ -2651,10 +2724,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2651
2724
  else {
2652
2725
  this.resetOptions();
2653
2726
  }
2654
- if (this.searchMode) {
2655
- this._visibleOptions = [];
2656
- this.clearSource();
2657
- }
2658
2727
  }
2659
2728
  loadOptions(mode, argument = "") {
2660
2729
  this._criteria = argument;
@@ -2690,93 +2759,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2690
2759
  clearSearch() {
2691
2760
  this.value = null;
2692
2761
  }
2693
- controlListWithOnlyOne() {
2694
- var _a;
2695
- if (this.searchMode) {
2696
- const source = (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.filter((opt) => opt.label !== "" && opt.value != undefined);
2697
- if ((source === null || source === void 0 ? void 0 : source.length) === 1) {
2698
- this.selectOption(source[0]);
2699
- }
2700
- }
2701
- }
2702
- controlEmptySearch() {
2703
- var _a;
2704
- if (this.searchMode) {
2705
- if (!((_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.length)) {
2706
- this.clearSearch();
2707
- ApplicationUtils.info(this._textEmptyList);
2708
- }
2709
- else {
2710
- this.controlListWithOnlyOne();
2711
- }
2712
- }
2713
- }
2714
- validateDescriptionValue() {
2715
- if (!this.searchMode || StringUtils$1.isEmpty(this.value)) {
2716
- return;
2717
- }
2718
- let value = this.value;
2719
- if (typeof value === "object") {
2720
- return;
2721
- }
2722
- if (StringUtils$1.isEmpty(value)) {
2723
- return;
2724
- }
2725
- this.loadDescriptionValue(value);
2726
- }
2727
- async loadDescriptionValue(argument) {
2728
- var _a, _b;
2729
- if (argument == undefined) {
2730
- return;
2731
- }
2732
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0) {
2733
- this.loadOptionValue(argument);
2734
- return;
2735
- }
2736
- const searchArgument = {
2737
- mode: SearchMode.PREDICTIVE,
2738
- argument
2739
- };
2740
- const source = await ((_b = this.optionLoader) === null || _b === void 0 ? void 0 : _b.call(this, searchArgument));
2741
- if (source == undefined) {
2742
- return;
2743
- }
2744
- if (source instanceof Promise) {
2745
- source.then((result) => {
2746
- this.setDescriptionValue(result);
2747
- });
2748
- }
2749
- else {
2750
- this.setDescriptionValue(source);
2751
- }
2752
- }
2753
- setDescriptionValue(source) {
2754
- const value = (source === null || source === void 0 ? void 0 : source[0]) || source;
2755
- if (value == undefined || !Object.keys(value).length) {
2756
- this.showNoResultMessage();
2757
- return;
2758
- }
2759
- this._lookupMode = true;
2760
- this.value = value;
2761
- }
2762
- loadOptionValue(argument) {
2763
- var _a;
2764
- const source = (_a = this.options) === null || _a === void 0 ? void 0 : _a.find((opt) => opt.value === argument);
2765
- if (source != undefined) {
2766
- this.selectOption(source);
2767
- }
2768
- else {
2769
- this.showNoResultMessage();
2770
- }
2771
- }
2772
- async showNoResultMessage() {
2773
- this.clearSearch();
2774
- ApplicationUtils.info(this._textEmptySearch.replace("{0}", this.getFieldLabel()));
2775
- }
2776
- getFieldLabel() {
2777
- var _a;
2778
- return (_a = this.label) === null || _a === void 0 ? void 0 : _a.replace(REQUIRED_INFO, "").toUpperCase();
2779
- }
2780
2762
  resetOptions() {
2781
2763
  this.hideOptions();
2782
2764
  this._criteria = undefined;
@@ -2802,12 +2784,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2802
2784
  });
2803
2785
  }
2804
2786
  }
2805
- if (this.searchMode) {
2806
- this.updateSource([]);
2807
- }
2808
- else {
2809
- this.loadOptions(SearchMode.PRELOAD);
2810
- }
2787
+ this.loadOptions(SearchMode$1.PRELOAD);
2811
2788
  }
2812
2789
  componentDidRender() {
2813
2790
  var _a;
@@ -2817,7 +2794,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2817
2794
  (_a = this._optionsList) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".item").forEach((elem) => {
2818
2795
  ElementIDUtils.addIDInfoIfNotExists(elem, "itemComboBox");
2819
2796
  });
2820
- this.validateDescriptionValue();
2821
2797
  }
2822
2798
  componentDidLoad() {
2823
2799
  CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
@@ -2837,13 +2813,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2837
2813
  // Event handlers
2838
2814
  //---------------------------------------------
2839
2815
  handlerIconClick() {
2840
- this.searchMode ? this.loadOptions(SearchMode.ADVANCED) : this.showOptions();
2841
- }
2842
- buildNumberArgument(argument) {
2843
- if (this.isTextSearch) {
2844
- return NaN;
2845
- }
2846
- return Number(argument || undefined);
2816
+ this.showOptions();
2847
2817
  }
2848
2818
  onTextInputChangeHandler(event) {
2849
2819
  var _a;
@@ -2860,36 +2830,12 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2860
2830
  }
2861
2831
  this._criteria = argument;
2862
2832
  if (argument) {
2863
- if (this.searchMode) {
2864
- this._showLoading = false;
2865
- this.clearSource();
2866
- const enoughChars = argument.length >= this.limitCharsToSearch;
2867
- const argumentNumber = this.buildNumberArgument(argument);
2868
- if (enoughChars || !isNaN(argumentNumber)) {
2869
- this._showLoading = true;
2870
- this._changeDeboucingTimeout = window.setTimeout(() => {
2871
- this.loadOptions(SearchMode.PREDICTIVE, isNaN(argumentNumber) ? argument : argumentNumber.toString());
2872
- }, this._deboucingTime);
2873
- this.showOptions();
2874
- }
2875
- else {
2876
- this.hideOptions();
2877
- }
2878
- }
2879
- else {
2880
- this.updateVisibleOptions();
2881
- this.showOptions();
2882
- }
2833
+ this.updateVisibleOptions();
2834
+ this.showOptions();
2883
2835
  }
2884
2836
  else {
2885
2837
  this.hideOptions();
2886
- if (this.searchMode) {
2887
- this._showLoading = false;
2888
- this.clearSource();
2889
- }
2890
- else {
2891
- this.updateVisibleOptions();
2892
- }
2838
+ this.updateVisibleOptions();
2893
2839
  }
2894
2840
  }
2895
2841
  clearDeboucingTimeout() {
@@ -2899,15 +2845,13 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2899
2845
  }
2900
2846
  }
2901
2847
  onTextInputClickHandler() {
2902
- if (!this.searchMode) {
2903
- this.showOptions();
2904
- }
2848
+ this.showOptions();
2905
2849
  }
2906
2850
  keyDownHandler(event) {
2907
2851
  this._tabPressed = false;
2908
2852
  if (event.ctrlKey) {
2909
2853
  if (event.key === "f" || event.key === "F") {
2910
- this.loadOptions(SearchMode.ADVANCED);
2854
+ this.loadOptions(SearchMode$1.ADVANCED);
2911
2855
  //ATENÇÃO: Ctrl + F tem ação específica nos browsers
2912
2856
  //nesse caso, como vamos abrir o popup de busca avançada,
2913
2857
  //não é interessante deixar o evento propagar;
@@ -2933,7 +2877,6 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2933
2877
  break;
2934
2878
  case "Tab":
2935
2879
  this._tabPressed = true;
2936
- this.controlListWithOnlyOne();
2937
2880
  break;
2938
2881
  }
2939
2882
  //ATENÇÃO: Existe a necessidade de propagar o evento de teclado.
@@ -2950,11 +2893,8 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2950
2893
  return !this._showLoading && this._visibleOptions.length > 0;
2951
2894
  }
2952
2895
  render() {
2953
- var _a;
2954
2896
  ElementIDUtils.addIDInfoIfNotExists(this.el, 'input');
2955
- 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: this.searchMode ? "leftIcon" : "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handlerIconClick() }, h("ez-icon", { iconName: this.searchMode ? "search" : "chevron-down" })), this.searchMode && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value) && (this._criteria || this.value)
2956
- ? h("button", { class: "btn btn__close", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
2957
- : undefined), 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
2897
+ 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
2958
2898
  && this._visibleOptions.length === 0
2959
2899
  && h("div", { class: "message" }, h("span", { class: "message__no-result" }, this._textEmptyList)), this._showLoading
2960
2900
  && h("div", { class: "message" }, h("div", { class: "message__loading" })), this.showOptionValue
@@ -2969,12 +2909,12 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2969
2909
  }; }
2970
2910
  static get style() { return ezComboBoxCss; }
2971
2911
  };
2972
- var SearchMode;
2912
+ var SearchMode$1;
2973
2913
  (function (SearchMode) {
2974
2914
  SearchMode["ADVANCED"] = "ADVANCED";
2975
2915
  SearchMode["PRELOAD"] = "PRELOAD";
2976
2916
  SearchMode["PREDICTIVE"] = "PREDICTIVE";
2977
- })(SearchMode || (SearchMode = {}));
2917
+ })(SearchMode$1 || (SearchMode$1 = {}));
2978
2918
 
2979
2919
  const ezDateInputCss = ":host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--ez-date-input__calendar-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"15px\"><path d=\"M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z\"/></svg>')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:unset}.btn-open-cal::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}";
2980
2920
 
@@ -3101,6 +3041,7 @@ const EzDateInput$1 = class extends HTMLElement$1 {
3101
3041
  this.ezCancelWaitingChange.emit();
3102
3042
  }
3103
3043
  else {
3044
+ this._focused = false;
3104
3045
  this.changeValue(newValueValidated);
3105
3046
  }
3106
3047
  }
@@ -3880,6 +3821,7 @@ const EzDropdown$1 = class extends HTMLElement$1 {
3880
3821
  this.__attachShadow();
3881
3822
  this.ezClick = createEvent(this, "ezClick", 7);
3882
3823
  this.ezSubActionClick = createEvent(this, "ezSubActionClick", 7);
3824
+ this.ezOutsideClick = createEvent(this, "ezOutsideClick", 7);
3883
3825
  this._itemList = {};
3884
3826
  this._submenuList = [];
3885
3827
  this._openedMenuList = {};
@@ -3892,6 +3834,11 @@ const EzDropdown$1 = class extends HTMLElement$1 {
3892
3834
  this.value = undefined;
3893
3835
  this.itemBuilder = undefined;
3894
3836
  }
3837
+ handleClickOutside(event) {
3838
+ if (!this._element.contains(event.target)) {
3839
+ this.ezOutsideClick.emit();
3840
+ }
3841
+ }
3895
3842
  //---------------------------------------------
3896
3843
  // Private methods
3897
3844
  //---------------------------------------------
@@ -3970,13 +3917,13 @@ const EzDropdown$1 = class extends HTMLElement$1 {
3970
3917
  this._itemList[item.id] = {};
3971
3918
  }
3972
3919
  }
3973
- getContainerItemBuilder(item, level) {
3920
+ getContainerItemBuilder(item, level, isLockedLevels, hasIcon, hasChildren) {
3974
3921
  if (this.itemBuilder == undefined) {
3975
3922
  return;
3976
3923
  }
3977
3924
  const customContent = this.itemBuilder(item, level);
3978
3925
  if (customContent == undefined) {
3979
- return;
3926
+ return this.defaultItemBuilder(item, isLockedLevels, hasIcon, hasChildren);
3980
3927
  }
3981
3928
  if (typeof customContent !== "string") {
3982
3929
  return (h("div", { class: "ez-dropdown__item-builder" }, customContent));
@@ -3997,7 +3944,7 @@ const EzDropdown$1 = class extends HTMLElement$1 {
3997
3944
  var _a;
3998
3945
  return (item.type !== "divider"
3999
3946
  ? h("div", Object.assign({ ref: (ref) => this._itemList[item.id] = ref, class: "ez-dropdown__item", "data-level": level }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`${item.id}_ezDropdownItem`) }), h("div", { class: "ez-dropdown__item-content", onClick: (evt) => this.onItemClick(evt, item), onMouseOver: (evt) => this.onShowSubmenu(evt, item) }, this.itemBuilder
4000
- ? this.getContainerItemBuilder(item, level)
3947
+ ? this.getContainerItemBuilder(item, level, isLockedLevels, hasIcon, hasChildren)
4001
3948
  : this.defaultItemBuilder(item, isLockedLevels, hasIcon, hasChildren)), ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
4002
3949
  !isLockedLevels &&
4003
3950
  hasChildren &&
@@ -4778,6 +4725,10 @@ const EzForm$1 = class extends HTMLElement$1 {
4778
4725
  static get style() { return ezFormCss; }
4779
4726
  };
4780
4727
 
4728
+ const REQUIRED_INFO = " (obrigatório) *";
4729
+ const DISTINCT_FILTER_NAME_PREFIX = 'FILTRO_COLUNA_';
4730
+ const EZ_GRID_LOADING_SOURCE = "EZ_GRID_LOADING_SOURCE";
4731
+
4781
4732
  const buildSwitch$1 = (field) => {
4782
4733
  return buildField(field.name, field.label, field.readOnly, field.contextName, true);
4783
4734
  };
@@ -4785,7 +4736,7 @@ const buildCheckBox = (field) => {
4785
4736
  return buildField(field.name, field.label, field.readOnly, field.contextName, false);
4786
4737
  };
4787
4738
  function buildField(fieldName, fieldLabel, readOnly, contextName, switchMode) {
4788
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
4739
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
4789
4740
  h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName })));
4790
4741
  }
4791
4742
 
@@ -4799,29 +4750,31 @@ const buildComboBox$1 = ({ name, label, readOnly, required, props, contextName,
4799
4750
  else {
4800
4751
  options = prop;
4801
4752
  }
4802
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4753
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4803
4754
  h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, options: options, canShowError: canShowError })));
4804
4755
  };
4805
4756
 
4806
4757
  const buildDate$1 = ({ name, label, readOnly, canShowError }) => {
4807
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4758
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4808
4759
  h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
4809
4760
  };
4810
4761
  const buildTime$1 = ({ name, label, readOnly, canShowError }) => {
4811
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4762
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4812
4763
  h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
4813
4764
  };
4814
4765
  const buildDateTime$1 = ({ name, label, readOnly, contextName, canShowError }) => {
4815
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4766
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4816
4767
  h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError })));
4817
4768
  };
4818
4769
 
4819
4770
  const buildFile = ({ name, label, readOnly, contextName, props }) => {
4820
4771
  const uploadProps = ObjectUtils$1.removeEmptyValues({
4821
4772
  subTitle: props.subTitle,
4822
- requestHeaders: props.STORAGESTRATEGY ? {
4773
+ requestHeaders: Object.assign(Object.assign({}, (props.STORAGESTRATEGY && {
4823
4774
  STORAGESTRATEGY: props.STORAGESTRATEGY
4824
- } : null
4775
+ })), (props.INTERNAL_FILENAME && {
4776
+ INTERNAL_FILENAME: props.INTERNAL_FILENAME
4777
+ })),
4825
4778
  });
4826
4779
  return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4827
4780
  h("ez-upload", Object.assign({ enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name }, uploadProps))));
@@ -4836,12 +4789,12 @@ const buildInteger$1 = ({ name, label, readOnly, contextName, canShowError }) =>
4836
4789
  return buildNumeric$1(name, label, readOnly, 0, 0, contextName, canShowError);
4837
4790
  };
4838
4791
  function buildNumeric$1(fieldName, fieldLabel, readOnly, precision, prettyPrecision, contextName, canShowError) {
4839
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4792
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4840
4793
  h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName, canShowError: canShowError })));
4841
4794
  }
4842
4795
 
4843
4796
  const buildSearch$1 = ({ name, label, readOnly, required, contextName, canShowError, optionLoader }) => {
4844
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4797
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4845
4798
  h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError, optionLoader: optionLoader })));
4846
4799
  };
4847
4800
 
@@ -4851,7 +4804,7 @@ const buildTextArea = ({ name, label, readOnly, contextName, rows, canShowError
4851
4804
  };
4852
4805
 
4853
4806
  const buildTextInput$1 = ({ name, label, readOnly, contextName, canShowError }) => {
4854
- return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
4807
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
4855
4808
  h("ez-text-input", { label: label, "data-field-name": name, "data-context-name": contextName, key: name, enabled: !readOnly, canShowError: canShowError })));
4856
4809
  };
4857
4810
 
@@ -4911,7 +4864,7 @@ class FormItems {
4911
4864
  }
4912
4865
  }
4913
4866
 
4914
- const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}";
4867
+ const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--sapce-width:5px}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--sapce-width);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";
4915
4868
 
4916
4869
  const EzFormView$1 = class extends HTMLElement$1 {
4917
4870
  constructor() {
@@ -4947,19 +4900,36 @@ const EzFormView$1 = class extends HTMLElement$1 {
4947
4900
  const formItems = new FormItems(Array.from(this._element.querySelectorAll("[data-form-item]")));
4948
4901
  this.formItemsReady.emit(formItems);
4949
4902
  }
4903
+ isItemFullWidth(userInterface) {
4904
+ return [
4905
+ UserInterface.FILE,
4906
+ UserInterface.LONGTEXT
4907
+ ].includes(userInterface);
4908
+ }
4909
+ buildFormItemElement(item, classItem = "") {
4910
+ if (this.isItemFullWidth(item.userInterface)) {
4911
+ classItem += " input-full_width";
4912
+ }
4913
+ return h("div", { class: classItem }, fieldBuilder(item));
4914
+ }
4950
4915
  render() {
4951
4916
  ElementIDUtils.addIDInfoIfNotExists(this._element, 'ezFormView');
4952
4917
  if (this.fields == undefined) {
4953
4918
  return;
4954
4919
  }
4955
- return (h(Host, null, Array.from(this.groupFields(this.fields).entries()).map(([label, value]) => {
4920
+ let nonArrayGrup = [];
4921
+ let formContent = Array.from(this.groupFields(this.fields).entries()).map(([label, value]) => {
4956
4922
  if (Array.isArray(value)) {
4957
- return (h("ez-collapsible-box", { id: `group-${label}`, label: label, "header-size": "large", key: label }, value.map(fi => fieldBuilder(fi))));
4923
+ return (h("ez-collapsible-box", { id: `group-${label}`, label: label, "header-size": "large", key: label }, h("div", { class: "form-view__content" }, value.map(fi => (this.buildFormItemElement(fi))))));
4958
4924
  }
4959
4925
  else {
4960
- return fieldBuilder(value);
4926
+ nonArrayGrup.push(value);
4961
4927
  }
4962
- })));
4928
+ });
4929
+ // Filtra os elementos que não são arrays e os coloca dentro de uma única div
4930
+ let nonArrayElements = nonArrayGrup.map((value) => this.buildFormItemElement(value));
4931
+ let groupedNonArrayElements = h("div", { class: "form-view__content" }, nonArrayElements);
4932
+ return (h(Host, null, groupedNonArrayElements, formContent));
4963
4933
  }
4964
4934
  get _element() { return this; }
4965
4935
  static get style() { return ezFormViewCss; }
@@ -123785,6 +123755,26 @@ var AllEnterpriseModules = [
123785
123755
 
123786
123756
  ModuleRegistry.registerModules(AllEnterpriseModules);
123787
123757
 
123758
+ class DataSourceInterceptor {
123759
+ constructor(controller) {
123760
+ this._controller = controller;
123761
+ }
123762
+ clearColumnFilter(filters) {
123763
+ var _a;
123764
+ return (_a = filters.filter(filter => !filter.name.startsWith(DISTINCT_FILTER_NAME_PREFIX))) !== null && _a !== void 0 ? _a : [];
123765
+ }
123766
+ interceptAction(action) {
123767
+ var _a;
123768
+ if (action.type === Action.LOADING_DATA) {
123769
+ if (EZ_GRID_LOADING_SOURCE !== action.payload.source) {
123770
+ action.payload.filters = ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.filters) !== undefined ? this.clearColumnFilter(action.payload.filters) : action.payload.filters;
123771
+ this._controller.clearFilter();
123772
+ }
123773
+ }
123774
+ return action;
123775
+ }
123776
+ }
123777
+
123788
123778
  class DataSource {
123789
123779
  updateLoadedRecords(action) {
123790
123780
  const records = action.payload;
@@ -123816,16 +123806,13 @@ class DataSource {
123816
123806
  break;
123817
123807
  case Action.LOADING_DATA:
123818
123808
  this._waitingForLoad = true;
123819
- if (EZ_GRID_LOADING_SOURCE !== action.payload.source) {
123820
- this._controller.clearFilter();
123821
- }
123822
123809
  this._controller.refresh();
123823
123810
  break;
123824
123811
  case Action.DATA_LOADED:
123825
123812
  this._waitingForLoad = false;
123826
123813
  this.callbackGetRows(this._lastLoadingParams);
123827
123814
  if (this._options) {
123828
- this._options.onPaginationChange(this._dataUnit.getPaginationInfo());
123815
+ this._options.onPaginationChange(this._dataUnit.getPaginationInfo(), action.payload.selectFirstRecord);
123829
123816
  }
123830
123817
  this.updateSelection();
123831
123818
  break;
@@ -123859,6 +123846,7 @@ class DataSource {
123859
123846
  this._controller.setColumnsDef(this.buildColumnDefs());
123860
123847
  this._options = options;
123861
123848
  this._dataUnit.subscribe(this.duObserver);
123849
+ this._dataUnit.addInterceptor(new DataSourceInterceptor(this._controller));
123862
123850
  }
123863
123851
  updateSelection() {
123864
123852
  const selectionInfo = this._dataUnit.getSelectionInfo();
@@ -123921,15 +123909,6 @@ class DataSource {
123921
123909
  }
123922
123910
  }
123923
123911
 
123924
- function calcFilterColumnLeftPosition(leftReference) {
123925
- const FIX_MARGIN = 60;
123926
- const FILTER_COLUMN_WIDTH = 330;
123927
- const screenWidth = window.innerWidth;
123928
- const maxLeft = screenWidth - (FILTER_COLUMN_WIDTH + FIX_MARGIN);
123929
- const leftInt = leftReference - FIX_MARGIN;
123930
- return leftInt > maxLeft ? maxLeft : leftInt;
123931
- }
123932
-
123933
123912
  class EzGridCustomHeader {
123934
123913
  init(agParams) {
123935
123914
  var _a;
@@ -123966,8 +123945,7 @@ class EzGridCustomHeader {
123966
123945
  }
123967
123946
  onClickFilter() {
123968
123947
  var _a;
123969
- const iconLeft = (_a = this.filterButton) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left;
123970
- this.params.showColumnFilter(`${calcFilterColumnLeftPosition(iconLeft)}px`, true);
123948
+ this.params.showColumnFilter((_a = this.filterButton) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left);
123971
123949
  }
123972
123950
  configSortIcon() {
123973
123951
  this.sortDownIcon.style.display = this.params.column.isSortDescending() ? 'flex' : 'none';
@@ -124648,7 +124626,7 @@ class AgGridController {
124648
124626
  this._idAttribName = '__record__id__';
124649
124627
  this._gridConfig = [];
124650
124628
  this._filteredColumns = new Map();
124651
- this._filterColumnleftPosition = '0px';
124629
+ this._filterColumnleftPosition = 0;
124652
124630
  this._enterprise = enterprise;
124653
124631
  }
124654
124632
  getGridConfig() {
@@ -124789,11 +124767,9 @@ class AgGridController {
124789
124767
  this._gridOptions.api.setHeaderHeight(this.getHeaderRowHeight());
124790
124768
  }
124791
124769
  }
124792
- setFilterColumnLeftPosition(params) {
124793
- if (params.type === 'columnMenu') {
124794
- const ePopup = params.ePopup;
124795
- const leftString = ePopup.style.left.replace('px', '');
124796
- this._filterColumnleftPosition = `${calcFilterColumnLeftPosition(parseInt(leftString))}px`;
124770
+ setFilterColumnLeftPosition({ type, ePopup }) {
124771
+ if (type === 'columnMenu') {
124772
+ this._filterColumnleftPosition = ePopup.getBoundingClientRect().left;
124797
124773
  return;
124798
124774
  }
124799
124775
  }
@@ -125233,10 +125209,10 @@ class AgGridController {
125233
125209
  tooltip: tooltip,
125234
125210
  isSortable: propSortable,
125235
125211
  hasFilter: () => this.hasFilterColumn(source.name),
125236
- showColumnFilter: (leftPosition, fromIcon) => this.showFilterColumn({ columnName: source.name, columnLabel: source.label, leftPosition, filteredOptions: this._filteredColumns.get(source.name), fromIcon }),
125212
+ showColumnFilter: (leftPosition) => this.showFilterColumn({ columnName: source.name, columnLabel: source.label, leftPosition, filteredOptions: this._filteredColumns.get(source.name), fromIcon: true }),
125237
125213
  },
125238
125214
  valueFormatter: params => {
125239
- if (params.value == undefined) {
125215
+ if (params.value === undefined) {
125240
125216
  return "";
125241
125217
  }
125242
125218
  if (params.value instanceof Promise) {
@@ -125618,13 +125594,13 @@ class InMemoryFilterColumnDataSource {
125618
125594
  }
125619
125595
  }
125620
125596
 
125621
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:0 0 16px 0 rgb(0 38 111 / 12%)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}";
125597
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:0 0 16px 0 rgb(0 38 111 / 12%);--ez-grid--min-height:300px;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{width:30%;min-width:100px;justify-content:flex-end;flex-wrap:wrap}.grid-header__left-container.sc-ez-grid{width:70%}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}";
125622
125598
 
125623
125599
  const windowInstace$1 = window;
125624
125600
  const matches = (text, filter) => {
125625
- const normalizedText = StringUtils$1.replaceAccentuatedCharsLower(text.toLocaleLowerCase());
125601
+ const normalizedText = StringUtils$1.replaceAccentuatedCharsLower(text === null || text === void 0 ? void 0 : text.toLocaleLowerCase());
125626
125602
  const normalizedFilter = StringUtils$1.replaceAccentuatedCharsLower(filter.toLocaleLowerCase());
125627
- return normalizedText.includes(normalizedFilter);
125603
+ return normalizedText === null || normalizedText === void 0 ? void 0 : normalizedText.includes(normalizedFilter);
125628
125604
  };
125629
125605
  const EzGrid$1 = class extends HTMLElement$1 {
125630
125606
  constructor() {
@@ -125716,7 +125692,15 @@ const EzGrid$1 = class extends HTMLElement$1 {
125716
125692
  return Promise.resolve(this._gridController.getColumnsState().filter(col => matches(col.label, search)));
125717
125693
  }
125718
125694
  observeConfig(config) {
125719
- this._gridController.setColumnsState(config.columns);
125695
+ this._gridController.setColumnsState(config === null || config === void 0 ? void 0 : config.columns);
125696
+ }
125697
+ updatePaginationTooltip() {
125698
+ if (!this._refPaginationLabelTooltip)
125699
+ return;
125700
+ const alreadyDefined = this._refPaginationLabelTooltip.getAttribute('data-tooltip');
125701
+ if (alreadyDefined) {
125702
+ this._refPaginationLabelTooltip.setAttribute('data-tooltip', this._getPaginationTooltip());
125703
+ }
125720
125704
  }
125721
125705
  onSelectionChange(evt) {
125722
125706
  this._currentPageSelected = evt.detail.selectionHeaderStatus === true;
@@ -125766,21 +125750,29 @@ const EzGrid$1 = class extends HTMLElement$1 {
125766
125750
  return newConfig;
125767
125751
  }
125768
125752
  positionSelectionCounter() {
125769
- var _a;
125770
- if (this._gridSelectionCounter == undefined) {
125753
+ var _a, _b;
125754
+ if (!this._gridSelectionCounter)
125771
125755
  return;
125772
- }
125773
- if (this._showSelectionCounter) {
125774
- const boundingContainer = (_a = this._container) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
125775
- if (boundingContainer == undefined) {
125776
- return;
125777
- }
125778
- const limitBottom = boundingContainer.bottom - 30;
125779
- this._gridSelectionCounter.style.bottom = document.body.clientHeight - limitBottom + 'px';
125780
- }
125781
- else {
125756
+ if (!this._showSelectionCounter) {
125782
125757
  this._gridSelectionCounter.style.bottom = '';
125758
+ return;
125759
+ }
125760
+ const containerRect = (_a = this._container) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
125761
+ const selectionRect = (_b = this._gridSelectionCounter) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
125762
+ if (!containerRect || !selectionRect)
125763
+ return;
125764
+ const positionBottom = containerRect.bottom - 30;
125765
+ this._gridSelectionCounter.style.bottom = document.body.clientHeight - positionBottom + 'px';
125766
+ this._gridSelectionCounter.style.left = this.calculatePositionLeft(containerRect, selectionRect);
125767
+ }
125768
+ calculatePositionLeft(containerRect, selectionRect) {
125769
+ let selectionStart = containerRect.left + (containerRect.width / 2);
125770
+ const containerRightEdge = containerRect.left + this._container.clientWidth;
125771
+ const selectionEnd = (selectionStart - (selectionRect.width / 2)) + selectionRect.width;
125772
+ if (selectionEnd > containerRightEdge) {
125773
+ selectionStart = containerRightEdge - (selectionRect.width / 2);
125783
125774
  }
125775
+ return `${selectionStart}px`;
125784
125776
  }
125785
125777
  setEvents() {
125786
125778
  window.removeEventListener('scroll', this.positionSelectionCounter.bind(this));
@@ -125873,11 +125865,10 @@ const EzGrid$1 = class extends HTMLElement$1 {
125873
125865
  }
125874
125866
  getPaginationControl() {
125875
125867
  if (this._paginationInfo) {
125876
- const { firstRecord, lastRecord, total, count, currentPage, hasMore } = this._paginationInfo;
125868
+ const { currentPage, hasMore } = this._paginationInfo;
125877
125869
  return [
125878
- 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}`),
125879
- 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" }),
125880
- 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" }),
125870
+ 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())),
125871
+ 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" })),
125881
125872
  ];
125882
125873
  }
125883
125874
  return null;
@@ -125886,16 +125877,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
125886
125877
  this._gridController.initDatagrid(this._container, {
125887
125878
  onColumnStateChange: (type, state, info) => this.onColumnStateChange(type, state, info),
125888
125879
  onSelectionChange: (selection) => this.ezSelectionChange.emit(selection),
125889
- onPaginationChange: (paginationInfo) => {
125890
- var _a;
125891
- if (((_a = this._paginationInfo) === null || _a === void 0 ? void 0 : _a.currentPage) > (paginationInfo === null || paginationInfo === void 0 ? void 0 : paginationInfo.currentPage) && this._paginationChangedByKeyboard) {
125892
- this._gridController.setFocusLastRow();
125893
- }
125894
- else {
125895
- this._gridController.setFocusFirstRow();
125896
- this._paginationChangedByKeyboard = true;
125897
- }
125898
- this._paginationInfo = paginationInfo;
125880
+ onPaginationChange: (paginationInfo, selectFirstRecord) => {
125881
+ this.handlePaginationChange(selectFirstRecord, paginationInfo);
125899
125882
  },
125900
125883
  onPaginationUpdate: (paginationInfo) => {
125901
125884
  this._paginationInfo = paginationInfo;
@@ -125921,6 +125904,66 @@ const EzGrid$1 = class extends HTMLElement$1 {
125921
125904
  this.setEvents();
125922
125905
  this.componentReady.emit();
125923
125906
  this._gridController.configFilterColumn(this._filterColumn);
125907
+ this._initHeaderOverflowWatcher();
125908
+ }
125909
+ handlePaginationChange(selectFirstRecord, paginationInfo) {
125910
+ var _a;
125911
+ if (selectFirstRecord !== false) {
125912
+ if (((_a = this._paginationInfo) === null || _a === void 0 ? void 0 : _a.currentPage) > (paginationInfo === null || paginationInfo === void 0 ? void 0 : paginationInfo.currentPage) && this._paginationChangedByKeyboard) {
125913
+ this._gridController.setFocusLastRow();
125914
+ }
125915
+ else {
125916
+ this._gridController.setFocusFirstRow();
125917
+ this._paginationChangedByKeyboard = true;
125918
+ }
125919
+ }
125920
+ this._paginationInfo = paginationInfo;
125921
+ }
125922
+ _getActualPageLabel() {
125923
+ const { firstRecord, lastRecord } = this._paginationInfo;
125924
+ return `${firstRecord}-${lastRecord}`;
125925
+ }
125926
+ _getRemainingPageLabel() {
125927
+ const { total, count } = this._paginationInfo;
125928
+ return `${total == undefined ? ` de ${count + 1} ou mais` : ` de ${total}`}`;
125929
+ }
125930
+ _getPaginationTooltip() {
125931
+ return this._getActualPageLabel() + this._getRemainingPageLabel();
125932
+ }
125933
+ _initHeaderOverflowWatcher() {
125934
+ this._headerOverflowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
125935
+ }
125936
+ buildOverFlowWatcherParams() {
125937
+ return {
125938
+ element: this._refPaginationControl,
125939
+ callback: this.handleOverFlow.bind(this),
125940
+ notOverFlow: ["grid-pagination-tooltip"]
125941
+ };
125942
+ }
125943
+ handleOverFlow(elementsOverflow) {
125944
+ if (!this._refPaginationLabel)
125945
+ return;
125946
+ if (elementsOverflow.length > 0) {
125947
+ this._hidePaginationDescription();
125948
+ }
125949
+ else {
125950
+ this._showPaginationDescription();
125951
+ }
125952
+ }
125953
+ _hidePaginationDescription() {
125954
+ this._refPaginationLabel.classList.add(OVERFLOWED_CLASS_NAME);
125955
+ this._refPaginationLabelTooltip.setAttribute('data-flow', 'bottom');
125956
+ this._refPaginationLabelTooltip.setAttribute('data-tooltip', this._getPaginationTooltip());
125957
+ }
125958
+ ;
125959
+ _showPaginationDescription() {
125960
+ this._refPaginationLabel.classList.remove(OVERFLOWED_CLASS_NAME);
125961
+ this._refPaginationLabelTooltip.removeAttribute('data-flow');
125962
+ this._refPaginationLabelTooltip.removeAttribute('data-tooltip');
125963
+ }
125964
+ disconnectedCallback() {
125965
+ var _a;
125966
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
125924
125967
  }
125925
125968
  componentWillRender() {
125926
125969
  this.configSelectionCounter();
@@ -125944,14 +125987,15 @@ const EzGrid$1 = class extends HTMLElement$1 {
125944
125987
  }
125945
125988
  render() {
125946
125989
  var _a;
125947
- 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
125990
+ 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
125948
125991
  ${this._showSelectionCounter ? 'grid__selection-counter--opened' : ''}
125949
125992
  ` }, 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" }))));
125950
125993
  }
125951
125994
  static get assetsDirs() { return ["../assets"]; }
125952
125995
  get _element() { return this; }
125953
125996
  static get watchers() { return {
125954
- "config": ["observeConfig"]
125997
+ "config": ["observeConfig"],
125998
+ "_paginationInfo": ["updatePaginationTooltip"]
125955
125999
  }; }
125956
126000
  static get style() { return ezGridCss; }
125957
126001
  };
@@ -126058,7 +126102,7 @@ const EzGuideNavigator$1 = class extends HTMLElement$1 {
126058
126102
  static get style() { return ezGuideNavigatorCss; }
126059
126103
  };
126060
126104
 
126061
- const ezIconCss = ":host{display:flex;overflow:hidden;position:relative;--ez-icon--color:var(--icon--color, #ffffff)}svg{display:flex;justify-content:center;align-items:center;fill:var(--ez-icon--color)}.x-small{width:12px;height:12px}.small{width:16px;height:16px}.medium{width:20px;height:20px}.large{width:24px;height:24px}.x-large{width:30px;height:30px}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{color:var(--ez-icon--color)}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{font-family:'ez-icons' !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ez-icon-2chevron-down:before{content:\"\\ea01\"}.ez-icon-2chevron-up:before{content:\"\\ea02\"}.ez-icon-acao:before{content:\"\\ea03\"}.ez-icon-account-outline:before{content:\"\\ea04\"}.ez-icon-account:before{content:\"\\ea05\"}.ez-icon-alert-circle-inverted:before{content:\"\\ea06\"}.ez-icon-alert-circle:before{content:\"\\ea07\"}.ez-icon-alert-mail:before{content:\"\\ea08\"}.ez-icon-alert-popup:before{content:\"\\ea09\"}.ez-icon-anexo:before{content:\"\\ea0a\"}.ez-icon-antecipação:before{content:\"\\ea0b\"}.ez-icon-apps:before{content:\"\\ea0c\"}.ez-icon-arrow-forward:before{content:\"\\ea0d\"}.ez-icon-arrow-upward:before{content:\"\\ea0e\"}.ez-icon-arrow_back:before{content:\"\\ea0f\"}.ez-icon-arrow_downward:before{content:\"\\ea10\"}.ez-icon-baixa:before{content:\"\\ea11\"}.ez-icon-balance:before{content:\"\\ea12\"}.ez-icon-bell-inverted:before{content:\"\\ea13\"}.ez-icon-bell:before{content:\"\\ea14\"}.ez-icon-boleto:before{content:\"\\ea15\"}.ez-icon-boolean:before{content:\"\\ea16\"}.ez-icon-business-center:before{content:\"\\ea17\"}.ez-icon-calendar-clock:before{content:\"\\ea18\"}.ez-icon-calendar:before{content:\"\\ea19\"}.ez-icon-cash-remove:before{content:\"\\ea1a\"}.ez-icon-check-circle-inverted:before{content:\"\\ea1b\"}.ez-icon-check-circle:before{content:\"\\ea1c\"}.ez-icon-check:before{content:\"\\ea1d\"}.ez-icon-chevron-down:before{content:\"\\ea1e\"}.ez-icon-chevron-left:before{content:\"\\ea1f\"}.ez-icon-chevron-right:before{content:\"\\ea20\"}.ez-icon-chevron-up:before{content:\"\\ea21\"}.ez-icon-circle--medium:before{content:\"\\ea22\"}.ez-icon-circle:before{content:\"\\ea23\"}.ez-icon-cleaning:before{content:\"\\ea24\"}.ez-icon-clipboard:before{content:\"\\ea25\"}.ez-icon-close:before{content:\"\\ea26\"}.ez-icon-cobrar:before{content:\"\\ea27\"}.ez-icon-code:before{content:\"\\ea28\"}.ez-icon-configuration:before{content:\"\\ea29\"}.ez-icon-content-cut:before{content:\"\\ea2a\"}.ez-icon-copy:before{content:\"\\ea2b\"}.ez-icon-credit_card:before{content:\"\\ea2c\"}.ez-icon-crop:before{content:\"\\ea2d\"}.ez-icon-custom:before{content:\"\\ea2e\"}.ez-icon-delete-file:before{content:\"\\ea2f\"}.ez-icon-delete:before{content:\"\\ea30\"}.ez-icon-description:before{content:\"\\ea31\"}.ez-icon-dividir:before{content:\"\\ea32\"}.ez-icon-docx:before{content:\"\\ea33\"}.ez-icon-dot-notification:before{content:\"\\ea34\"}.ez-icon-dots-horizontal:before{content:\"\\ea35\"}.ez-icon-dots-vertical:before{content:\"\\ea36\"}.ez-icon-drag-indicator:before{content:\"\\ea37\"}.ez-icon-dual-chevron-down:before{content:\"\\ea38\"}.ez-icon-dual-chevron-left:before{content:\"\\ea39\"}.ez-icon-dual-chevron-right:before{content:\"\\ea3a\"}.ez-icon-dual-chevron-up:before{content:\"\\ea3b\"}.ez-icon-edit-file:before{content:\"\\ea3c\"}.ez-icon-edit-table:before{content:\"\\ea3d\"}.ez-icon-edit-time:before{content:\"\\ea3e\"}.ez-icon-edit-value:before{content:\"\\ea3f\"}.ez-icon-edit:before{content:\"\\ea40\"}.ez-icon-email:before{content:\"\\ea41\"}.ez-icon-estorno:before{content:\"\\ea42\"}.ez-icon-exe:before{content:\"\\ea43\"}.ez-icon-expand:before{content:\"\\ea44\"}.ez-icon-expandir_card:before{content:\"\\ea45\"}.ez-icon-extrato:before{content:\"\\ea46\"}.ez-icon-eye-off:before{content:\"\\ea47\"}.ez-icon-eye:before{content:\"\\ea48\"}.ez-icon-favorite:before{content:\"\\ea49\"}.ez-icon-figma:before{content:\"\\ea4a\"}.ez-icon-file-download:before{content:\"\\ea4b\"}.ez-icon-file-upload:before{content:\"\\ea4c\"}.ez-icon-filter:before{content:\"\\ea4d\"}.ez-icon-find-file:before{content:\"\\ea4e\"}.ez-icon-find-page:before{content:\"\\ea4f\"}.ez-icon-format-color-fill:before{content:\"\\ea50\"}.ez-icon-generic:before{content:\"\\ea51\"}.ez-icon-gif:before{content:\"\\ea52\"}.ez-icon-graph_bar:before{content:\"\\ea53\"}.ez-icon-handshake:before{content:\"\\ea54\"}.ez-icon-help-inverted:before{content:\"\\ea55\"}.ez-icon-help:before{content:\"\\ea56\"}.ez-icon-hide_menu:before{content:\"\\ea57\"}.ez-icon-home:before{content:\"\\ea58\"}.ez-icon-icons104:before{content:\"\\ea59\"}.ez-icon-language:before{content:\"\\ea5a\"}.ez-icon-launch:before{content:\"\\ea5b\"}.ez-icon-lightbulb:before{content:\"\\ea5c\"}.ez-icon-list:before{content:\"\\ea5d\"}.ez-icon-location:before{content:\"\\ea5e\"}.ez-icon-lock-outline:before{content:\"\\ea5f\"}.ez-icon-lock:before{content:\"\\ea60\"}.ez-icon-menu:before{content:\"\\ea61\"}.ez-icon-mid:before{content:\"\\ea62\"}.ez-icon-minus:before{content:\"\\ea63\"}.ez-icon-money-off:before{content:\"\\ea64\"}.ez-icon-money:before{content:\"\\ea65\"}.ez-icon-more:before{content:\"\\ea66\"}.ez-icon-mp3:before{content:\"\\ea67\"}.ez-icon-mp4:before{content:\"\\ea68\"}.ez-icon-multiple-files:before{content:\"\\ea69\"}.ez-icon-north-west:before{content:\"\\ea6a\"}.ez-icon-number:before{content:\"\\ea6b\"}.ez-icon-ordem-ascendente:before{content:\"\\ea6c\"}.ez-icon-ordem-descendente:before{content:\"\\ea6d\"}.ez-icon-parcelar:before{content:\"\\ea6e\"}.ez-icon-pause:before{content:\"\\ea6f\"}.ez-icon-payments:before{content:\"\\ea70\"}.ez-icon-pdf:before{content:\"\\ea71\"}.ez-icon-play:before{content:\"\\ea72\"}.ez-icon-plus:before{content:\"\\ea73\"}.ez-icon-png:before{content:\"\\ea74\"}.ez-icon-power:before{content:\"\\ea75\"}.ez-icon-pptx:before{content:\"\\ea76\"}.ez-icon-preview:before{content:\"\\ea77\"}.ez-icon-print:before{content:\"\\ea78\"}.ez-icon-push-pin:before{content:\"\\ea79\"}.ez-icon-rateio:before{content:\"\\ea7a\"}.ez-icon-receipt:before{content:\"\\ea7b\"}.ez-icon-recolher_card:before{content:\"\\ea7c\"}.ez-icon-restore:before{content:\"\\ea7d\"}.ez-icon-return:before{content:\"\\ea7e\"}.ez-icon-sankhya-place:before{content:\"\\ea7f\"}.ez-icon-save:before{content:\"\\ea80\"}.ez-icon-search:before{content:\"\\ea81\"}.ez-icon-settings-inverted:before{content:\"\\ea82\"}.ez-icon-settings:before{content:\"\\ea83\"}.ez-icon-share:before{content:\"\\ea84\"}.ez-icon-shield:before{content:\"\\ea85\"}.ez-icon-show_menu:before{content:\"\\ea86\"}.ez-icon-south-east:before{content:\"\\ea87\"}.ez-icon-sync:before{content:\"\\ea88\"}.ez-icon-table:before{content:\"\\ea89\"}.ez-icon-tag_code:before{content:\"\\ea8a\"}.ez-icon-text:before{content:\"\\ea8b\"}.ez-icon-timeline:before{content:\"\\ea8c\"}.ez-icon-timer-outline:before{content:\"\\ea8d\"}.ez-icon-trending-up:before{content:\"\\ea8e\"}.ez-icon-tune:before{content:\"\\ea8f\"}.ez-icon-txt:before{content:\"\\ea90\"}.ez-icon-un-pin:before{content:\"\\ea91\"}.ez-icon-unfold_less:before{content:\"\\ea92\"}.ez-icon-unfold_more:before{content:\"\\ea93\"}.ez-icon-user-circle:before{content:\"\\ea94\"}.ez-icon-warning-outline:before{content:\"\\ea95\"}.ez-icon-warning_triangle:before{content:\"\\ea96\"}.ez-icon-whatshot:before{content:\"\\ea97\"}.ez-icon-xlsx:before{content:\"\\ea98\"}.ez-icon-zip:before{content:\"\\ea99\"}.x-small--font{font-size:12px}.small--font{font-size:16px}.medium--font{font-size:20px}.large--font{font-size:24px}.x-large--font{font-size:30px}";
126105
+ const ezIconCss = ":host{display:flex;overflow:hidden;position:relative;--ez-icon--color:var(--icon--color, #ffffff)}svg{display:flex;justify-content:center;align-items:center;fill:var(--ez-icon--color)}.x-small{width:12px;height:12px}.small{width:16px;height:16px}.medium{width:20px;height:20px}.large{width:24px;height:24px}.x-large{width:30px;height:30px}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{color:var(--ez-icon--color)}[class^=\"ez-icon-\"],[class*=\" ez-icon-\"]{font-family:'ez-icons' !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ez-icon-2chevron-down:before{content:\"\\ea01\"}.ez-icon-2chevron-up:before{content:\"\\ea02\"}.ez-icon-acao:before{content:\"\\ea03\"}.ez-icon-account-outline:before{content:\"\\ea04\"}.ez-icon-account:before{content:\"\\ea05\"}.ez-icon-alert-circle-inverted:before{content:\"\\ea06\"}.ez-icon-alert-circle:before{content:\"\\ea07\"}.ez-icon-alert-mail:before{content:\"\\ea08\"}.ez-icon-alert-popup:before{content:\"\\ea09\"}.ez-icon-anexo:before{content:\"\\ea0a\"}.ez-icon-antecipacao:before{content:\"\\ea0b\"}.ez-icon-apps:before{content:\"\\ea0c\"}.ez-icon-arrow-forward:before{content:\"\\ea0d\"}.ez-icon-arrow-upward:before{content:\"\\ea0e\"}.ez-icon-arrow_back:before{content:\"\\ea0f\"}.ez-icon-arrow_downward:before{content:\"\\ea10\"}.ez-icon-baixa:before{content:\"\\ea11\"}.ez-icon-balance:before{content:\"\\ea12\"}.ez-icon-bell-inverted:before{content:\"\\ea13\"}.ez-icon-bell:before{content:\"\\ea14\"}.ez-icon-boleto:before{content:\"\\ea15\"}.ez-icon-boolean:before{content:\"\\ea16\"}.ez-icon-business-center:before{content:\"\\ea17\"}.ez-icon-calendar-clock:before{content:\"\\ea18\"}.ez-icon-calendar:before{content:\"\\ea19\"}.ez-icon-cash-remove:before{content:\"\\ea1a\"}.ez-icon-check-circle-inverted:before{content:\"\\ea1b\"}.ez-icon-check-circle:before{content:\"\\ea1c\"}.ez-icon-check:before{content:\"\\ea1d\"}.ez-icon-chevron-down:before{content:\"\\ea1e\"}.ez-icon-chevron-left:before{content:\"\\ea1f\"}.ez-icon-chevron-right:before{content:\"\\ea20\"}.ez-icon-chevron-up:before{content:\"\\ea21\"}.ez-icon-circle--medium:before{content:\"\\ea22\"}.ez-icon-circle:before{content:\"\\ea23\"}.ez-icon-cleaning:before{content:\"\\ea24\"}.ez-icon-clipboard:before{content:\"\\ea25\"}.ez-icon-clock-rotate-left:before{content:\"\\ea26\"}.ez-icon-close:before{content:\"\\ea27\"}.ez-icon-cobrar:before{content:\"\\ea28\"}.ez-icon-code:before{content:\"\\ea29\"}.ez-icon-configuration:before{content:\"\\ea2a\"}.ez-icon-content-cut:before{content:\"\\ea2b\"}.ez-icon-copy:before{content:\"\\ea2c\"}.ez-icon-credit_card:before{content:\"\\ea2d\"}.ez-icon-crop:before{content:\"\\ea2e\"}.ez-icon-custom:before{content:\"\\ea2f\"}.ez-icon-delete-file:before{content:\"\\ea30\"}.ez-icon-delete:before{content:\"\\ea31\"}.ez-icon-description:before{content:\"\\ea32\"}.ez-icon-dividir:before{content:\"\\ea33\"}.ez-icon-docx:before{content:\"\\ea34\"}.ez-icon-dot-notification:before{content:\"\\ea35\"}.ez-icon-dots-horizontal:before{content:\"\\ea36\"}.ez-icon-dots-vertical:before{content:\"\\ea37\"}.ez-icon-drag-indicator:before{content:\"\\ea38\"}.ez-icon-dual-chevron-down:before{content:\"\\ea39\"}.ez-icon-dual-chevron-left:before{content:\"\\ea3a\"}.ez-icon-dual-chevron-right:before{content:\"\\ea3b\"}.ez-icon-dual-chevron-up:before{content:\"\\ea3c\"}.ez-icon-edit-file:before{content:\"\\ea3d\"}.ez-icon-edit-table:before{content:\"\\ea3e\"}.ez-icon-edit-time:before{content:\"\\ea3f\"}.ez-icon-edit-value:before{content:\"\\ea40\"}.ez-icon-edit:before{content:\"\\ea41\"}.ez-icon-email:before{content:\"\\ea42\"}.ez-icon-estorno:before{content:\"\\ea43\"}.ez-icon-exe:before{content:\"\\ea44\"}.ez-icon-expand:before{content:\"\\ea45\"}.ez-icon-expandir_card:before{content:\"\\ea46\"}.ez-icon-extrato:before{content:\"\\ea47\"}.ez-icon-eye-off:before{content:\"\\ea48\"}.ez-icon-eye:before{content:\"\\ea49\"}.ez-icon-favorite:before{content:\"\\ea4a\"}.ez-icon-figma:before{content:\"\\ea4b\"}.ez-icon-file-download:before{content:\"\\ea4c\"}.ez-icon-file-upload:before{content:\"\\ea4d\"}.ez-icon-filter:before{content:\"\\ea4e\"}.ez-icon-find-file:before{content:\"\\ea4f\"}.ez-icon-find-page:before{content:\"\\ea50\"}.ez-icon-format-color-fill:before{content:\"\\ea51\"}.ez-icon-generic:before{content:\"\\ea52\"}.ez-icon-gif:before{content:\"\\ea53\"}.ez-icon-graph_bar:before{content:\"\\ea54\"}.ez-icon-handshake:before{content:\"\\ea55\"}.ez-icon-help-inverted:before{content:\"\\ea56\"}.ez-icon-help:before{content:\"\\ea57\"}.ez-icon-hide_menu:before{content:\"\\ea58\"}.ez-icon-home:before{content:\"\\ea59\"}.ez-icon-icons104:before{content:\"\\ea5a\"}.ez-icon-language:before{content:\"\\ea5b\"}.ez-icon-launch:before{content:\"\\ea5c\"}.ez-icon-lightbulb:before{content:\"\\ea5d\"}.ez-icon-list:before{content:\"\\ea5e\"}.ez-icon-location:before{content:\"\\ea5f\"}.ez-icon-lock-outline:before{content:\"\\ea60\"}.ez-icon-lock:before{content:\"\\ea61\"}.ez-icon-menu:before{content:\"\\ea62\"}.ez-icon-mid:before{content:\"\\ea63\"}.ez-icon-minus:before{content:\"\\ea64\"}.ez-icon-money-off:before{content:\"\\ea65\"}.ez-icon-money:before{content:\"\\ea66\"}.ez-icon-more:before{content:\"\\ea67\"}.ez-icon-mp3:before{content:\"\\ea68\"}.ez-icon-mp4:before{content:\"\\ea69\"}.ez-icon-multiple-files:before{content:\"\\ea6a\"}.ez-icon-north-west:before{content:\"\\ea6b\"}.ez-icon-number:before{content:\"\\ea6c\"}.ez-icon-ordem-ascendente:before{content:\"\\ea6d\"}.ez-icon-ordem-descendente:before{content:\"\\ea6e\"}.ez-icon-parcelar:before{content:\"\\ea6f\"}.ez-icon-pause:before{content:\"\\ea70\"}.ez-icon-payments:before{content:\"\\ea71\"}.ez-icon-pdf:before{content:\"\\ea72\"}.ez-icon-play:before{content:\"\\ea73\"}.ez-icon-plus:before{content:\"\\ea74\"}.ez-icon-png:before{content:\"\\ea75\"}.ez-icon-power:before{content:\"\\ea76\"}.ez-icon-pptx:before{content:\"\\ea77\"}.ez-icon-preview:before{content:\"\\ea78\"}.ez-icon-print:before{content:\"\\ea79\"}.ez-icon-push-pin:before{content:\"\\ea7a\"}.ez-icon-rateio:before{content:\"\\ea7b\"}.ez-icon-receipt:before{content:\"\\ea7c\"}.ez-icon-recolher_card:before{content:\"\\ea7d\"}.ez-icon-restore:before{content:\"\\ea7e\"}.ez-icon-return:before{content:\"\\ea7f\"}.ez-icon-sankhya-place:before{content:\"\\ea80\"}.ez-icon-save:before{content:\"\\ea81\"}.ez-icon-search:before{content:\"\\ea82\"}.ez-icon-settings-inverted:before{content:\"\\ea83\"}.ez-icon-settings:before{content:\"\\ea84\"}.ez-icon-share:before{content:\"\\ea85\"}.ez-icon-shield:before{content:\"\\ea86\"}.ez-icon-show_menu:before{content:\"\\ea87\"}.ez-icon-south-east:before{content:\"\\ea88\"}.ez-icon-sync:before{content:\"\\ea89\"}.ez-icon-table:before{content:\"\\ea8a\"}.ez-icon-tag_code:before{content:\"\\ea8b\"}.ez-icon-text:before{content:\"\\ea8c\"}.ez-icon-timeline:before{content:\"\\ea8d\"}.ez-icon-timer-outline:before{content:\"\\ea8e\"}.ez-icon-trending-up:before{content:\"\\ea8f\"}.ez-icon-tune:before{content:\"\\ea90\"}.ez-icon-txt:before{content:\"\\ea91\"}.ez-icon-un-pin:before{content:\"\\ea92\"}.ez-icon-unfold_less:before{content:\"\\ea93\"}.ez-icon-unfold_more:before{content:\"\\ea94\"}.ez-icon-user-circle:before{content:\"\\ea95\"}.ez-icon-warning-outline:before{content:\"\\ea96\"}.ez-icon-warning_triangle:before{content:\"\\ea97\"}.ez-icon-whatshot:before{content:\"\\ea98\"}.ez-icon-xlsx:before{content:\"\\ea99\"}.ez-icon-zip:before{content:\"\\ea9a\"}.x-small--font{font-size:12px}.small--font{font-size:16px}.medium--font{font-size:20px}.large--font{font-size:24px}.x-large--font{font-size:30px}";
126062
126106
 
126063
126107
  const EzIcon$1 = class extends HTMLElement$1 {
126064
126108
  constructor() {
@@ -126785,6 +126829,10 @@ const EzModalContainer$1 = class extends HTMLElement$1 {
126785
126829
  window.requestAnimationFrame(() => {
126786
126830
  this.ezModalAction.emit(ModalAction$1.LOAD);
126787
126831
  });
126832
+ new KeyboardManager({ propagate: false, element: this._element })
126833
+ .bind("Enter", this.ezModalAction.emit.bind(ModalAction$1.OK))
126834
+ .bind("Escape", this.ezModalAction.emit.bind(ModalAction$1.CANCEL))
126835
+ .bind("Esc", this.ezModalAction.emit.bind(ModalAction$1.CANCEL));
126788
126836
  }
126789
126837
  focusLast() {
126790
126838
  if (this._okButton == undefined) {
@@ -127307,7 +127355,7 @@ const EzPopover$1 = class extends HTMLElement$1 {
127307
127355
  static get style() { return ezPopoverCss; }
127308
127356
  };
127309
127357
 
127310
- const ezPopupCss = ":host{display:flex;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--large, 24px);--ez-popup__header--padding-bottom:var(--space--medium, 12px);--ez-popup__title--font-family:var(--font-pattern, \"Roboto\");--ez-popup__title--font-size:var(--title--extra-large, 24px);--ez-popup__title--color:var(--title--primary, #2b3a54);--ez-popup__title--font-weight:var(--text-weight--large, 600);--ez-popup__btn__close--icon-color:var(--title--primary, #2b3a54);--ez-popup__btn__close--icon:url('data:image/svg+xml;utf8,<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 8.2421753,6.9944578 13.743748,1.4930784 C 13.907781,1.3290628 14,1.1065946 14,0.87462511 14,0.64266712 13.907782,0.42019873 13.743748,0.25617155 13.579712,0.09215597 13.35727,6.48e-8 13.125266,6.48e-8 12.89338,6.48e-8 12.670821,0.09215634 12.506787,0.25617155 L 7.005215,5.7575508 1.5035972,0.25617155 C 1.3395631,0.09215597 1.1170968,6.48e-8 0.88511716,6.48e-8 0.65314917,6.48e-8 0.4306712,0.09215597 0.26663695,0.25617155 0.10260271,0.42019873 0.01045441,0.64266712 0.01045441,0.87462511 c 0,0.23196949 0.0921483,0.45443769 0.25618254,0.61845329 L 5.7682546,6.9944578 0.26663695,12.497027 c -0.0834745,0.08067 -0.15003245,0.1772 -0.19581514,0.283871 C 0.02505077,12.887561 9.831648e-4,13.002399 2.950369e-5,13.118395 -9.2415746e-4,13.234504 0.02125019,13.349689 0.06527245,13.457057 c 0.04401053,0.107479 0.10898307,0.205064 0.1911168,0.287137 0.0821454,0.08208 0.17979645,0.146888 0.28727561,0.190839 0.10747906,0.04395 0.22262954,0.06598 0.33872417,0.06493 0.116095,-10e-4 0.23082547,-0.0253 0.33747687,-0.07112 0.1066637,-0.04593 0.2031133,-0.112615 0.2837313,-0.196086 L 7.005215,8.2313646 12.506787,13.732768 c 0.164034,0.164027 0.386593,0.256125 0.618479,0.256125 0.232004,0 0.454446,-0.09209 0.618482,-0.256125 C 13.907781,13.568741 14,13.346308 14,13.114315 14,12.882323 13.90779,12.659888 13.743748,12.495861 Z\"/></svg>')}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup{display:flex;height:100%;align-items:center;justify-content:center;box-sizing:border-box}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-wrap:wrap;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding)}.popup__container--auto{height:auto}.popup__content{box-sizing:border-box;max-height:100%;width:100%;display:grid;grid-template-rows:auto 1fr}.popup__expandable-content{box-sizing:border-box;width:100%;min-height:100%;height:100%}.popup__header{width:100%;display:flex}.popup__header--padding{padding-bottom:var(--ez-popup__header--padding-bottom)}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:1.3}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--ez-popup__btn__close--icon-color);width:14px;height:14px;-webkit-mask-image:var(--ez-popup__btn__close--icon);mask-image:var(--ez-popup__btn__close--icon)}.btn-close--solo{width:100%}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
127358
+ const ezPopupCss = ":host{display:flex;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--large, 24px);--ez-popup__header--padding-bottom:var(--space--medium, 12px);--ez-popup__title--font-family:var(--font-pattern, \"Roboto\");--ez-popup__title--font-size:var(--title--extra-large, 24px);--ez-popup__title--color:var(--title--primary, #2b3a54);--ez-popup__title--font-weight:var(--text-weight--large, 600);--ez-popup__btn__close--icon-color:var(--title--primary, #2b3a54);--ez-popup__btn__close--icon:url('data:image/svg+xml;utf8,<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 8.2421753,6.9944578 13.743748,1.4930784 C 13.907781,1.3290628 14,1.1065946 14,0.87462511 14,0.64266712 13.907782,0.42019873 13.743748,0.25617155 13.579712,0.09215597 13.35727,6.48e-8 13.125266,6.48e-8 12.89338,6.48e-8 12.670821,0.09215634 12.506787,0.25617155 L 7.005215,5.7575508 1.5035972,0.25617155 C 1.3395631,0.09215597 1.1170968,6.48e-8 0.88511716,6.48e-8 0.65314917,6.48e-8 0.4306712,0.09215597 0.26663695,0.25617155 0.10260271,0.42019873 0.01045441,0.64266712 0.01045441,0.87462511 c 0,0.23196949 0.0921483,0.45443769 0.25618254,0.61845329 L 5.7682546,6.9944578 0.26663695,12.497027 c -0.0834745,0.08067 -0.15003245,0.1772 -0.19581514,0.283871 C 0.02505077,12.887561 9.831648e-4,13.002399 2.950369e-5,13.118395 -9.2415746e-4,13.234504 0.02125019,13.349689 0.06527245,13.457057 c 0.04401053,0.107479 0.10898307,0.205064 0.1911168,0.287137 0.0821454,0.08208 0.17979645,0.146888 0.28727561,0.190839 0.10747906,0.04395 0.22262954,0.06598 0.33872417,0.06493 0.116095,-10e-4 0.23082547,-0.0253 0.33747687,-0.07112 0.1066637,-0.04593 0.2031133,-0.112615 0.2837313,-0.196086 L 7.005215,8.2313646 12.506787,13.732768 c 0.164034,0.164027 0.386593,0.256125 0.618479,0.256125 0.232004,0 0.454446,-0.09209 0.618482,-0.256125 C 13.907781,13.568741 14,13.346308 14,13.114315 14,12.882323 13.90779,12.659888 13.743748,12.495861 Z\"/></svg>')}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup{display:flex;height:100%;align-items:center;justify-content:center;box-sizing:border-box}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-wrap:wrap;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding)}.popup__container--auto{height:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{box-sizing:border-box;width:100%;height:calc(100% - 44px)}.popup__header{width:100%;display:flex}.popup__header--padding{padding-bottom:var(--ez-popup__header--padding-bottom)}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:1.3}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--ez-popup__btn__close--icon-color);width:14px;height:14px;-webkit-mask-image:var(--ez-popup__btn__close--icon);mask-image:var(--ez-popup__btn__close--icon)}.btn-close--solo{width:100%}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
127311
127359
 
127312
127360
  const EzPopup$1 = class extends HTMLElement$1 {
127313
127361
  constructor() {
@@ -127315,6 +127363,7 @@ const EzPopup$1 = class extends HTMLElement$1 {
127315
127363
  this.__registerHost();
127316
127364
  this.__attachShadow();
127317
127365
  this.ezClosePopup = createEvent(this, "ezClosePopup", 7);
127366
+ this.ezPopupAction = createEvent(this, "ezPopupAction", 7);
127318
127367
  this._sizeClasses = {
127319
127368
  "x-small": "col--sd-3 ez-popup__size-limit--x-small",
127320
127369
  "small": "col--sd-5",
@@ -127332,6 +127381,12 @@ const EzPopup$1 = class extends HTMLElement$1 {
127332
127381
  observeConfig() {
127333
127382
  this.manageOverflow();
127334
127383
  }
127384
+ componentDidLoad() {
127385
+ new KeyboardManager({ propagate: false, element: this._element })
127386
+ .bind("Enter", this.ezPopupAction.emit.bind("OK"))
127387
+ .bind("Escape", () => this.opened = false)
127388
+ .bind("Esc", () => this.opened = false);
127389
+ }
127335
127390
  manageOverflow() {
127336
127391
  if (this.opened) {
127337
127392
  window.document.body.style.overflow = "hidden";
@@ -127600,7 +127655,7 @@ class ScrollCtrl {
127600
127655
  }
127601
127656
  }
127602
127657
 
127603
- const ezSearchCss = ":host{width:100%}";
127658
+ const ezSearchCss = ":host{--ez-search--height:42px;--ez-search--width:100%;--ez-search__icon--width:48px;--ez-search--border-radius:var(--border--radius-medium, 12px);--ez-search--border-radius-small:var(--border--radius-small, 6px);--ez-search--font-size:var(--text--medium, 14px);--ez-search--font-family:var(--font-pattern, Arial);--ez-search--font-weight--large:var(--text-weight--large, 500);--ez-search--font-weight--medium:var(--text-weight--medium, 400);--ez-search--background-color--xlight:var(--background--xlight, #fff);--ez-search--background-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-search__input--background-color:var(--background--medium, #e0e0e0);--ez-search__input--border:var(--border--medium, 2px solid);--ez-search__input--border-color:var(--ez-search__input--background-color);--ez-search__input--focus--border-color:var(--color--primary, #008561);--ez-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-search__input--error--border-color:#CC2936;--ez-search__btn--color:var(--title--primary, #2B3A54);--ez-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-search__label--color:var(--title--primary, #2B3A54);--ez-search__list-title--primary:var(--title--primary, #2B3A54);--ez-search__list-text--primary:var(--text--primary, #626e82);--ez-search__list-height:calc(var(--ez-search--font-size) + var(--ez-search--space--medium) + 4px);--ez-search__list-min-width:64px;--ez-search--space--medium:var(--space--medium, 12px);--ez-search--space--small:var(--space--small, 6px);--ez-search__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-search__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-search__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-search__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-search__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-search__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-search--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{min-width:var(--ez-search__list-min-width);overflow:auto;position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:0;z-index:var(--more-visible, 2);max-height:350px;min-width:150px;background-color:var(--ez-search--background-color--xlight);border-radius:var(--ez-search--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-search--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;gap:3px;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-search__scrollbar--color-background);width:var(--ez-search__scrollbar--width);max-width:var(--ez-search__scrollbar--width);min-width:var(--ez-search__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-search__scrollbar--color-background);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-search__scrollbar--color-default);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-search__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-search__scrollbar--color-clicked)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-search--border-radius-small);padding:var(--ez-search--space--small);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--font-size);line-height:var(--ez-search--line-height)}.item__label{font-weight:var(--ez-search--font-weight--medium)}.item__label--bold{font-weight:var(--ez-search--font-weight--large)}.item__value{text-align:center;color:var(--ez-search__list-text--primary);font-weight:var(--ez-search--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;min-height:var(--ez-search__list-height)}.message__no-result{color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--font-size)}.message__loading{border-radius:50%;width:14px;height:14px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-search__list-title--primary);border-top:3px solid transparent}.item__list>li:hover{background-color:var(--ez-search--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-search__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:unset;color:var(--ez-search__btn-disabled--color)}.btn:hover{color:var(--ez-search__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
127604
127659
 
127605
127660
  const EzSearch$1 = class extends HTMLElement$1 {
127606
127661
  constructor() {
@@ -127608,6 +127663,21 @@ const EzSearch$1 = class extends HTMLElement$1 {
127608
127663
  this.__registerHost();
127609
127664
  this.__attachShadow();
127610
127665
  this.ezChange = createEvent(this, "ezChange", 7);
127666
+ this._changeDeboucingTimeout = null;
127667
+ this._limitCharsToSearch = 3;
127668
+ this._deboucingTime = 300;
127669
+ this._maxWidthValue = 0;
127670
+ this._tabPressed = false;
127671
+ this._textEmptyList = "Nenhum resultado encontrado";
127672
+ this._textEmptySearch = "Nenhum resultado de {0} encontrado";
127673
+ this._lookupMode = false;
127674
+ this._startHighlightTag = "<span class='card-item__highlight'>";
127675
+ this._endHighlightTag = "</span>";
127676
+ this._preSelection = undefined;
127677
+ this._visibleOptions = undefined;
127678
+ this._startLoading = false;
127679
+ this._showLoading = true;
127680
+ this._criteria = undefined;
127611
127681
  this.value = undefined;
127612
127682
  this.label = undefined;
127613
127683
  this.enabled = true;
@@ -127622,28 +127692,82 @@ const EzSearch$1 = class extends HTMLElement$1 {
127622
127692
  this.listOptionsPosition = undefined;
127623
127693
  this.isTextSearch = false;
127624
127694
  this.ignoreLimitCharsToSearch = false;
127695
+ this.options = undefined;
127696
+ this.suppressSearch = false;
127625
127697
  }
127626
127698
  observeErrorMessage() {
127627
- if (this._comboElement) {
127628
- this._comboElement.errorMessage = this.errorMessage;
127699
+ var _a;
127700
+ if (this._textInput) {
127701
+ this._textInput.errorMessage = this.errorMessage;
127702
+ if (!((_a = this.errorMessage) === null || _a === void 0 ? void 0 : _a.trim())) {
127703
+ this.setInputValue();
127704
+ }
127629
127705
  }
127630
127706
  }
127631
- observeValue() {
127632
- if (this._comboElement) {
127633
- this._comboElement.value = this.value;
127707
+ observeValue(newValue, oldValue) {
127708
+ if (this._textInput && newValue != oldValue) {
127709
+ try {
127710
+ if (newValue === "string") {
127711
+ this.setInputValue();
127712
+ return;
127713
+ }
127714
+ const newValueSelected = this.getSelectedOption(newValue);
127715
+ const oldValueSelected = this.getSelectedOption(oldValue);
127716
+ const currentValue = this.getSelectedOption(this.value);
127717
+ if (this.isDifferentValues(currentValue, newValueSelected)) {
127718
+ this.value = newValueSelected;
127719
+ }
127720
+ if (this.isDifferentValues(newValueSelected, oldValueSelected)) {
127721
+ this.setInputValue();
127722
+ const valueEmitted = newValueSelected === null ? undefined : newValueSelected;
127723
+ if (!this._lookupMode) {
127724
+ this.ezChange.emit(valueEmitted);
127725
+ }
127726
+ }
127727
+ this.resetOptions();
127728
+ }
127729
+ finally {
127730
+ this._lookupMode = false;
127731
+ }
127634
127732
  }
127635
127733
  }
127734
+ observeOptions(newOptions, oldOptions) {
127735
+ if ((newOptions === null || newOptions === void 0 ? void 0 : newOptions.join('')) === (oldOptions === null || oldOptions === void 0 ? void 0 : oldOptions.join('')))
127736
+ return;
127737
+ this.loadOptions(SearchMode.PRELOAD);
127738
+ }
127739
+ /*
127740
+ * Retorna uma promise com o valor da opção selecionada,
127741
+ * que será resolvida quando o backend devolver este dado.
127742
+ */
127743
+ async getValueAsync() {
127744
+ if (!this._showLoading) {
127745
+ return new Promise(resolve => resolve(this.value));
127746
+ }
127747
+ return new Promise(resolve => {
127748
+ let id = setInterval(() => {
127749
+ if (!this._showLoading) {
127750
+ clearInterval(id);
127751
+ resolve(this.value);
127752
+ }
127753
+ }, 100);
127754
+ });
127755
+ }
127636
127756
  /**
127637
- * Aplica o foco no campo.
127638
- */
127757
+ * Aplica o foco no campo.
127758
+ */
127639
127759
  async setFocus() {
127640
- this._comboElement.setFocus();
127760
+ if (this._textInput) {
127761
+ this._textInput.setFocus();
127762
+ }
127641
127763
  }
127642
127764
  /**
127643
- * Remove o foco do campo.
127644
- */
127765
+ * Remove o foco do campo.
127766
+ */
127645
127767
  async setBlur() {
127646
- this._comboElement.setBlur();
127768
+ if (this._textInput) {
127769
+ this._textInput.setBlur();
127770
+ }
127647
127771
  }
127648
127772
  /**
127649
127773
  * Retorna se o conteúdo é inválido.
@@ -127655,40 +127779,556 @@ const EzSearch$1 = class extends HTMLElement$1 {
127655
127779
  * Limpa o valor do campo de pesquisa
127656
127780
  */
127657
127781
  async clearValue() {
127782
+ this.clearSearch();
127783
+ }
127784
+ scrollListener() {
127785
+ var _a;
127786
+ if (this._floatingID == undefined) {
127787
+ return;
127788
+ }
127789
+ if ((_a = this.listOptionsPosition) === null || _a === void 0 ? void 0 : _a.hardPosition) {
127790
+ this.hideOptions();
127791
+ }
127792
+ else {
127793
+ window.requestAnimationFrame(() => {
127794
+ this.updateListPosition();
127795
+ });
127796
+ }
127797
+ }
127798
+ updateListPosition() {
127799
+ let { verticalPosition, horizontalPosition, fromBottom, fromRight, bottomLimit, hardPosition } = this.getListPosition();
127800
+ const elementRect = this._listWrapper.getBoundingClientRect();
127801
+ const containerRect = this._listContainer.getBoundingClientRect();
127802
+ const textInputRect = this._textInput.getBoundingClientRect();
127803
+ const limitHeight = bottomLimit || window.innerHeight;
127804
+ const neededHeight = containerRect.bottom + elementRect.height;
127805
+ if (!fromBottom && (elementRect.top < 0 || neededHeight > limitHeight)) {
127806
+ fromBottom = true;
127807
+ }
127808
+ if (!hardPosition) {
127809
+ verticalPosition = verticalPosition || 0;
127810
+ horizontalPosition = horizontalPosition || 0;
127811
+ if (fromBottom) {
127812
+ verticalPosition = window.innerHeight - textInputRect.top + verticalPosition;
127813
+ }
127814
+ else {
127815
+ verticalPosition += containerRect.top;
127816
+ }
127817
+ if (fromRight) {
127818
+ horizontalPosition = window.innerWidth - textInputRect.right + horizontalPosition;
127819
+ }
127820
+ else {
127821
+ horizontalPosition += containerRect.left;
127822
+ }
127823
+ }
127824
+ if (verticalPosition != undefined) {
127825
+ this._listWrapper.style[fromBottom ? "bottom" : "top"] = `${verticalPosition}px`;
127826
+ this._listWrapper.style[fromBottom ? "top" : "bottom"] = "";
127827
+ }
127828
+ if (horizontalPosition != undefined) {
127829
+ this._listWrapper.style[fromRight ? "right" : "left"] = `${horizontalPosition}px`;
127830
+ this._listWrapper.style[fromRight ? "left" : "right"] = "";
127831
+ }
127832
+ }
127833
+ getListPosition() {
127834
+ if (this.listOptionsPosition) {
127835
+ return this.listOptionsPosition;
127836
+ }
127837
+ return {
127838
+ verticalPosition: (this.errorMessage || !this.canShowError || this.mode === "slim") ? 6 : -13
127839
+ };
127840
+ }
127841
+ isDifferentValues(firstValue, secondValue) {
127842
+ return ObjectUtils$1.objectToString(firstValue || {}) !== ObjectUtils$1.objectToString(secondValue || {});
127843
+ }
127844
+ getFormattedText(currentValue) {
127845
+ if (currentValue == undefined) {
127846
+ return;
127847
+ }
127848
+ let text = (!this.showSelectedValue || currentValue.value == undefined) ? currentValue.label : `${currentValue.value} - ${currentValue.label}`;
127849
+ text = text.replace(new RegExp(this._startHighlightTag, 'g'), '').replace(new RegExp(this._endHighlightTag, 'g'), '');
127850
+ return text;
127851
+ }
127852
+ getText() {
127853
+ const currentValue = this.getSelectedOption(this.value);
127854
+ const text = this.getFormattedText(currentValue);
127855
+ if (text == undefined) {
127856
+ return;
127857
+ }
127858
+ return String(text)
127859
+ .replace(/&amp;/g, '&')
127860
+ .replace(/&lt;/g, '<')
127861
+ .replace(/&gt;/g, '>')
127862
+ .replace(/&quot;/g, '"');
127863
+ }
127864
+ getSelectedOption(value) {
127865
+ if (typeof value === "string" || value instanceof String) {
127866
+ return this._visibleOptions.find(o => o.value === value);
127867
+ }
127868
+ if (value) {
127869
+ return Object.assign(Object.assign({}, value), { value: this.replaceHighlight(value === null || value === void 0 ? void 0 : value.value), label: this.replaceHighlight(value === null || value === void 0 ? void 0 : value.label) });
127870
+ }
127871
+ return value;
127872
+ }
127873
+ updateVisibleOptions() {
127874
+ let opts = this._source || [];
127875
+ if (this.suppressEmptyOption) {
127876
+ this._visibleOptions = opts;
127877
+ }
127878
+ else {
127879
+ this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
127880
+ }
127881
+ this._maxWidthValue = this.getMaxWidthValue();
127882
+ }
127883
+ getMaxWidthValue() {
127884
+ var _a;
127885
+ const arrValues = [];
127886
+ (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.forEach(opt => {
127887
+ const widthValue = this.getWidthValue(opt.value);
127888
+ if (!arrValues.includes(widthValue)) {
127889
+ arrValues.push(widthValue);
127890
+ }
127891
+ });
127892
+ return arrValues.length > 1 ? Math.max(...arrValues) : 0;
127893
+ }
127894
+ getWidthValue(value) {
127895
+ if (this._itemValueBasis != undefined) {
127896
+ const span = this._itemValueBasis;
127897
+ if (value != undefined) {
127898
+ span.innerHTML = value;
127899
+ return span.clientWidth > 0 ? (span.clientWidth + 2) : 0;
127900
+ }
127901
+ else {
127902
+ span.innerHTML = "";
127903
+ }
127904
+ }
127905
+ return 0;
127906
+ }
127907
+ createOption(detail) {
127908
+ let { key, title } = detail;
127909
+ const startHighlight = new RegExp(this._startHighlightTag, 'g');
127910
+ const endHighlight = new RegExp(this._endHighlightTag, 'g');
127911
+ title = StringUtils$1.decodeHtmlEntities(title);
127912
+ const option = {
127913
+ value: key === null || key === void 0 ? void 0 : key.replace(startHighlight, '').replace(endHighlight, ''),
127914
+ label: title === null || title === void 0 ? void 0 : title.replace(startHighlight, '').replace(endHighlight, '')
127915
+ };
127916
+ this.selectOption(option);
127917
+ }
127918
+ buildItem(opt, index) {
127919
+ opt.label = opt.label || opt.value;
127920
+ const card = {
127921
+ key: opt.value,
127922
+ title: opt.label,
127923
+ details: opt.details
127924
+ };
127925
+ return h("div", { style: { "height": "100%" }, class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.createOption(card), onMouseOver: () => this._preSelection = index }, h("ez-card-item", { item: card }));
127926
+ }
127927
+ showOptions() {
127928
+ if (!this.enabled)
127929
+ return;
127930
+ if (this.isOptionsVisible()) {
127931
+ return;
127932
+ }
127933
+ if (!!this._resizeObserver)
127934
+ this._resizeObserver.observe(this._textInput);
127935
+ this._floatingID = FloatingManager.float(this._listWrapper, this._listContainer, { autoClose: false, isFixed: true, backClickListener: () => this.hideOptions() });
127936
+ this.setFocus();
127937
+ window.requestAnimationFrame(() => {
127938
+ this.updateListPosition();
127939
+ if (!this.listOptionsPosition) {
127940
+ this._listWrapper.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
127941
+ }
127942
+ });
127943
+ }
127944
+ hideOptions() {
127945
+ if (this._floatingID !== undefined) {
127946
+ FloatingManager.close(this._floatingID);
127947
+ }
127948
+ this._floatingID = undefined;
127949
+ if (!!this._resizeObserver)
127950
+ this._resizeObserver.unobserve(this._textInput);
127951
+ }
127952
+ isOptionsVisible() {
127953
+ return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
127954
+ }
127955
+ nextOption() {
127956
+ if (!this.isOptionsVisible()) {
127957
+ return;
127958
+ }
127959
+ this.showOptions();
127960
+ this._preSelection = this._preSelection === undefined ? 0 : Math.min(this._preSelection + 1, this._visibleOptions.length - 1);
127961
+ this.scrollToOption(this._visibleOptions[this._preSelection]);
127962
+ }
127963
+ previousOption() {
127964
+ this._preSelection = this._preSelection === undefined ? 0 : Math.max(this._preSelection - 1, 0);
127965
+ this.scrollToOption(this._visibleOptions[this._preSelection]);
127966
+ }
127967
+ scrollToOption(opt) {
127968
+ window.requestAnimationFrame(() => {
127969
+ const liElem = (opt === null || opt === void 0 ? void 0 : opt.value) ? this._optionsList.querySelector(`div#item_${this.replaceHighlight(opt.value).replace(/[<>\[\]#=]/g, '\\$&').replace(/:/g, '\\:')}`) : undefined;
127970
+ if (liElem)
127971
+ liElem.scrollIntoView({ behavior: "smooth", block: "nearest" });
127972
+ });
127973
+ }
127974
+ selectCurrentOption() {
127975
+ if (this._preSelection !== undefined) {
127976
+ this.selectOption(this._visibleOptions[this._preSelection]);
127977
+ this._preSelection = undefined;
127978
+ }
127979
+ else {
127980
+ this.controlListWithOnlyOne();
127981
+ }
127982
+ }
127983
+ updateSource(source) {
127984
+ this._startLoading = false;
127985
+ if (source instanceof Promise) {
127986
+ this._showLoading = true;
127987
+ source.then(result => {
127988
+ this._showLoading = false;
127989
+ this.updateSource(result);
127990
+ }).catch(() => this._showLoading = false);
127991
+ this.updateVisibleOptions();
127992
+ }
127993
+ else {
127994
+ this._showLoading = false;
127995
+ if (Array.isArray(source)) {
127996
+ this._source = source;
127997
+ this.updateVisibleOptions();
127998
+ if (this._tabPressed) {
127999
+ this._tabPressed = false;
128000
+ this.controlEmptySearch();
128001
+ }
128002
+ }
128003
+ else {
128004
+ this.selectOption(source);
128005
+ }
128006
+ }
128007
+ }
128008
+ clearSource() {
128009
+ this._source = [];
128010
+ this.updateVisibleOptions();
128011
+ }
128012
+ replaceHighlight(value) {
128013
+ const startHighlight = new RegExp(this._startHighlightTag, 'g');
128014
+ const endHighlight = new RegExp(this._endHighlightTag, 'g');
128015
+ return (value !== null && value !== void 0 ? value : "").replace(startHighlight, '').replace(endHighlight, '');
128016
+ }
128017
+ selectOption(newOption) {
127658
128018
  var _a, _b;
127659
- (_b = (_a = this._comboElement) === null || _a === void 0 ? void 0 : _a['clearValue']) === null || _b === void 0 ? void 0 : _b.call(_a);
128019
+ const currentValue = this.getSelectedOption(this.value);
128020
+ const newOptionsReplaced = Object.assign(Object.assign({}, newOption), { value: this.replaceHighlight(newOption === null || newOption === void 0 ? void 0 : newOption.value), label: this.replaceHighlight(newOption === null || newOption === void 0 ? void 0 : newOption.label) });
128021
+ if ((((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.value) === null || _b === void 0 ? void 0 : _b.toString()))
128022
+ || (currentValue == undefined && newOptionsReplaced != undefined && "value" in newOptionsReplaced)) {
128023
+ const adjustedOpt = !(newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.value) ? undefined : newOptionsReplaced;
128024
+ this.value = adjustedOpt;
128025
+ }
128026
+ else {
128027
+ this.setInputValue();
128028
+ this.resetOptions();
128029
+ }
128030
+ this._visibleOptions = [];
128031
+ this.clearSource();
127660
128032
  }
127661
- /*
127662
- * Retorna uma promise com o valor da opção selecionada,
127663
- * que será resolvida quando o backend devolver este dado.
127664
- */
127665
- async getValueAsync() {
128033
+ loadOptions(mode, argument = "") {
128034
+ this._criteria = argument;
128035
+ this._startLoading = true;
128036
+ if (this.optionLoader) {
128037
+ const searchArgument = { mode, argument };
128038
+ this.updateSource(this.optionLoader(searchArgument));
128039
+ }
128040
+ else {
128041
+ this.updateSource(this.options);
128042
+ }
128043
+ }
128044
+ cancelPreselection() {
128045
+ if (!this._textInput.value && this.value) {
128046
+ this.selectOption(undefined);
128047
+ }
128048
+ else {
128049
+ window.setTimeout(() => {
128050
+ this.setInputValue();
128051
+ }, this._deboucingTime);
128052
+ }
128053
+ this.resetOptions();
128054
+ }
128055
+ setInputValue(clearError = true) {
128056
+ const textValue = this.getText();
128057
+ if ((this._textInput.value || '') !== textValue) {
128058
+ this._textInput.value = textValue;
128059
+ if (clearError) {
128060
+ this.errorMessage = null;
128061
+ }
128062
+ }
128063
+ }
128064
+ clearSearch() {
128065
+ this.value = null;
128066
+ }
128067
+ controlListWithOnlyOne() {
128068
+ var _a, _b;
128069
+ const source = (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.filter((opt) => opt.label !== "" && opt.value != undefined);
128070
+ if ((source === null || source === void 0 ? void 0 : source.length) > 0) {
128071
+ const startHighlight = new RegExp(this._startHighlightTag, 'g');
128072
+ const endHighlight = new RegExp(this._endHighlightTag, 'g');
128073
+ let title = StringUtils$1.decodeHtmlEntities(source[0].label);
128074
+ const option = {
128075
+ value: (_b = source[0].value) === null || _b === void 0 ? void 0 : _b.replace(startHighlight, '').replace(endHighlight, ''),
128076
+ label: title === null || title === void 0 ? void 0 : title.replace(startHighlight, '').replace(endHighlight, '')
128077
+ };
128078
+ this.selectOption(option);
128079
+ }
128080
+ }
128081
+ controlEmptySearch() {
127666
128082
  var _a;
127667
- return (_a = this._comboElement) === null || _a === void 0 ? void 0 : _a.getValueAsync();
128083
+ if (!((_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.length)) {
128084
+ this.clearSearch();
128085
+ ApplicationUtils.info(this._textEmptyList);
128086
+ }
128087
+ else {
128088
+ this.controlListWithOnlyOne();
128089
+ }
127668
128090
  }
127669
- onComboChange(event) {
127670
- event.stopPropagation();
127671
- this.value = event.detail;
127672
- this.ezChange.emit(event.detail);
127673
- if (this.errorMessage !== this._comboElement.errorMessage) {
127674
- this.errorMessage = this._comboElement.errorMessage;
128091
+ validateDescriptionValue() {
128092
+ if (StringUtils$1.isEmpty(this.value)) {
128093
+ return;
128094
+ }
128095
+ let value = this.value;
128096
+ if (typeof value === "object") {
128097
+ return;
128098
+ }
128099
+ if (StringUtils$1.isEmpty(value)) {
128100
+ return;
128101
+ }
128102
+ this.loadDescriptionValue(value);
128103
+ }
128104
+ async loadDescriptionValue(argument) {
128105
+ var _a, _b;
128106
+ if (argument == undefined) {
128107
+ return;
128108
+ }
128109
+ if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0) {
128110
+ this.loadOptionValue(argument);
128111
+ return;
128112
+ }
128113
+ const searchArgument = {
128114
+ mode: SearchMode.PREDICTIVE,
128115
+ argument
128116
+ };
128117
+ const source = await ((_b = this.optionLoader) === null || _b === void 0 ? void 0 : _b.call(this, searchArgument));
128118
+ if (source == undefined) {
128119
+ return;
128120
+ }
128121
+ if (source instanceof Promise) {
128122
+ source.then((result) => {
128123
+ this.setDescriptionValue(result);
128124
+ });
128125
+ }
128126
+ else {
128127
+ this.setDescriptionValue(source);
128128
+ }
128129
+ }
128130
+ setDescriptionValue(source) {
128131
+ const value = (source === null || source === void 0 ? void 0 : source[0]) || source;
128132
+ if (value == undefined || !Object.keys(value).length) {
128133
+ this.showNoResultMessage();
128134
+ return;
128135
+ }
128136
+ this._lookupMode = true;
128137
+ this.value = value ? Object.assign(Object.assign({}, value), { value: this.replaceHighlight(value.value), label: this.replaceHighlight(value.label) }) : value;
128138
+ }
128139
+ loadOptionValue(argument) {
128140
+ var _a;
128141
+ const source = (_a = this.options) === null || _a === void 0 ? void 0 : _a.find((opt) => opt.value === argument);
128142
+ if (source != undefined) {
128143
+ this.selectOption(source);
128144
+ }
128145
+ else {
128146
+ this.showNoResultMessage();
128147
+ }
128148
+ }
128149
+ async showNoResultMessage() {
128150
+ this.clearSearch();
128151
+ ApplicationUtils.info(this._textEmptySearch.replace("{0}", this.getFieldLabel()));
128152
+ }
128153
+ getFieldLabel() {
128154
+ var _a;
128155
+ return (_a = this.label) === null || _a === void 0 ? void 0 : _a.replace(REQUIRED_INFO, "").toUpperCase();
128156
+ }
128157
+ resetOptions() {
128158
+ this.hideOptions();
128159
+ this._criteria = undefined;
128160
+ this._preSelection = undefined;
128161
+ this.updateVisibleOptions();
128162
+ }
128163
+ //---------------------------------------------
128164
+ // Lifecycle web component
128165
+ //---------------------------------------------
128166
+ componentWillLoad() {
128167
+ if (this.options === undefined) {
128168
+ this.options = [];
128169
+ const optionsTags = this.el.querySelectorAll("option");
128170
+ if (optionsTags) {
128171
+ optionsTags.forEach(e => {
128172
+ let label = e.innerText;
128173
+ let value = e.getAttribute("value");
128174
+ let details = e.getAttribute("details");
128175
+ if (!value) {
128176
+ value = label;
128177
+ }
128178
+ this.options.push({ label, value, details });
128179
+ e.hidden = true;
128180
+ });
128181
+ }
128182
+ }
128183
+ this.updateSource([]);
128184
+ }
128185
+ componentDidRender() {
128186
+ var _a;
128187
+ if (this._floatingID === undefined) {
128188
+ this._listWrapper.remove();
127675
128189
  }
128190
+ (_a = this._optionsList) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".item").forEach((elem) => {
128191
+ ElementIDUtils.addIDInfoIfNotExists(elem, "itemSearch");
128192
+ });
128193
+ this.validateDescriptionValue();
127676
128194
  }
127677
128195
  componentDidLoad() {
127678
- CSSVarsUtils.applyVarsTextInput(this._elem, this._comboElement);
128196
+ CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
128197
+ this.setInputValue(false);
128198
+ this._resizeObserver = new ResizeObserver((entries) => {
128199
+ window.requestAnimationFrame(() => {
128200
+ if (!Array.isArray(entries) || !entries.length)
128201
+ return;
128202
+ const { clientWidth } = this._listContainer;
128203
+ if (clientWidth > 0 && !!this._listWrapper) {
128204
+ this._listWrapper.style.width = `${clientWidth}px`;
128205
+ }
128206
+ });
128207
+ });
128208
+ }
128209
+ //---------------------------------------------
128210
+ // Event handlers
128211
+ //---------------------------------------------
128212
+ handlerIconClick() {
128213
+ this.loadOptions(SearchMode.ADVANCED);
128214
+ }
128215
+ buildNumberArgument(argument) {
128216
+ if (this.isTextSearch) {
128217
+ return NaN;
128218
+ }
128219
+ return Number(argument || undefined);
128220
+ }
128221
+ onTextInputChangeHandler(event) {
128222
+ var _a;
128223
+ this.clearDeboucingTimeout();
128224
+ if (this._startLoading) {
128225
+ this._changeDeboucingTimeout = window.setTimeout(() => {
128226
+ this.onTextInputChangeHandler(event);
128227
+ }, this._deboucingTime);
128228
+ return;
128229
+ }
128230
+ const argument = (_a = event.target.value) === null || _a === void 0 ? void 0 : _a.trim();
128231
+ const argumentNumber = this.buildNumberArgument(argument);
128232
+ if (!this._criteria) {
128233
+ this._textInput.value = event.data || argument;
128234
+ }
128235
+ this._criteria = argument;
128236
+ if (argument) {
128237
+ this._showLoading = false;
128238
+ this.clearSource();
128239
+ if (!isNaN(argumentNumber) || argument.length >= this._limitCharsToSearch) {
128240
+ this._showLoading = true;
128241
+ this._changeDeboucingTimeout = window.setTimeout(() => {
128242
+ this.loadOptions(SearchMode.PREDICTIVE, isNaN(argumentNumber) ? argument : argumentNumber.toString());
128243
+ }, this._deboucingTime);
128244
+ this.showOptions();
128245
+ }
128246
+ else {
128247
+ this.hideOptions();
128248
+ }
128249
+ }
128250
+ else {
128251
+ this.hideOptions();
128252
+ this._showLoading = false;
128253
+ this.clearSource();
128254
+ }
128255
+ }
128256
+ clearDeboucingTimeout() {
128257
+ if (this._changeDeboucingTimeout) {
128258
+ window.clearTimeout(this._changeDeboucingTimeout);
128259
+ this._changeDeboucingTimeout = null;
128260
+ }
128261
+ }
128262
+ keyDownHandler(event) {
128263
+ this._tabPressed = false;
128264
+ if (event.ctrlKey) {
128265
+ if (event.key === "f" || event.key === "F") {
128266
+ this.loadOptions(SearchMode.ADVANCED);
128267
+ //ATENÇÃO: Ctrl + F tem ação específica nos browsers
128268
+ //nesse caso, como vamos abrir o popup de busca avançada,
128269
+ //não é interessante deixar o evento propagar;
128270
+ event.stopPropagation();
128271
+ event.stopImmediatePropagation();
128272
+ event.preventDefault();
128273
+ }
128274
+ }
128275
+ switch (event.key) {
128276
+ case "ArrowDown":
128277
+ this.nextOption();
128278
+ event.stopPropagation();
128279
+ break;
128280
+ case "ArrowUp":
128281
+ this.previousOption();
128282
+ event.stopPropagation();
128283
+ break;
128284
+ case "Enter":
128285
+ this.selectCurrentOption();
128286
+ break;
128287
+ case "Escape":
128288
+ this.cancelPreselection();
128289
+ break;
128290
+ case "Tab":
128291
+ this._tabPressed = true;
128292
+ this.controlListWithOnlyOne();
128293
+ break;
128294
+ }
128295
+ //ATENÇÃO: Existe a necessidade de propagar o evento de teclado.
128296
+ //Por exemplo, quando o usuário dá um Enter, além de selecionar
128297
+ //um valor, também significa que a ateração finalizou,
128298
+ //e o contexto pode reagir (fechar um popup por exemplo).
128299
+ //event.stopPropagation();
128300
+ }
128301
+ onTextInputFocusOutHandler() {
128302
+ if (this.hideErrorOnFocusOut)
128303
+ this.cancelPreselection();
128304
+ }
128305
+ canShowListOptions() {
128306
+ return !this._showLoading && this._visibleOptions.length > 0;
127679
128307
  }
127680
128308
  render() {
127681
- ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
127682
- return (h("ez-combo-box", { "data-element-id": ElementIDUtils.getInternalIDInfo("combo"), ref: elem => this._comboElement = elem, value: this.value, label: this.label, enabled: this.enabled, errorMessage: this.errorMessage, hideErrorOnFocusOut: this.hideErrorOnFocusOut, optionLoader: this.optionLoader, searchMode: true, onEzChange: event => this.onComboChange(event), showSelectedValue: this.showSelectedValue, showOptionValue: this.showOptionValue, suppressEmptyOption: this.suppressEmptyOption, mode: this.mode, canShowError: this.canShowError, listOptionsPosition: this.listOptionsPosition, isTextSearch: this.isTextSearch, limitCharsToSearch: this.ignoreLimitCharsToSearch ? 0 : 3 }));
128309
+ var _a;
128310
+ ElementIDUtils.addIDInfoIfNotExists(this.el, 'input');
128311
+ 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), 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: "leftIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handlerIconClick() }, h("ez-icon", { iconName: "search" })), ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value) && (this._criteria || this.value)
128312
+ ? h("button", { class: "btn btn__close", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
128313
+ : undefined), 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
128314
+ && this._visibleOptions.length === 0
128315
+ && h("div", { class: "message" }, h("span", { class: "message__no-result" }, this._textEmptyList)), this._showLoading
128316
+ && h("div", { class: "message" }, h("div", { class: "message__loading" })), h("span", { class: "item__value item__value--hidden", ref: elem => this._itemValueBasis = elem }), this.canShowListOptions() && this._visibleOptions.map((opt, index) => this.buildItem(opt, index)))))));
127683
128317
  }
127684
- ;
127685
- get _elem() { return this; }
128318
+ get el() { return this; }
127686
128319
  static get watchers() { return {
127687
128320
  "errorMessage": ["observeErrorMessage"],
127688
- "value": ["observeValue"]
128321
+ "value": ["observeValue"],
128322
+ "options": ["observeOptions"]
127689
128323
  }; }
127690
128324
  static get style() { return ezSearchCss; }
127691
128325
  };
128326
+ var SearchMode;
128327
+ (function (SearchMode) {
128328
+ SearchMode["ADVANCED"] = "ADVANCED";
128329
+ SearchMode["PRELOAD"] = "PRELOAD";
128330
+ SearchMode["PREDICTIVE"] = "PREDICTIVE";
128331
+ })(SearchMode || (SearchMode = {}));
127692
128332
 
127693
128333
  const ezSidebarButtonCss = ":host{position:relative;--ez-sidebar-button--width:6px;--ez-sidebar-button--hover--width:12px;--ez-sidebar-button--height:96px;--ez-sidebar-button--background-color--xlight:var(--background--xlight, #fff);--ez-sidebar-button--background-color--primary:var(--color--primary);--ez-sidebar-button--space--small:var(--space--small, 6px);--ez-sidebar-button--space--medium:var(--space--medium, 12px);--ez-sidebar-button--box-shadow:var(--shadow--small, 0px 0px 16px rgba(0, 38, 111, 0.07));--ez-sidebar-button--hover--box-shadow:var(--shadow--hard, 0px 0px 16px rgba(43, 58, 84, 0.24));--ez-sidebar-button--border--radius-small:var(--border--radius-small);--ez-sidebar-button--border--radius-medium:var(--border--radius-medium)}button{position:absolute;display:flex;background:var(--ez-sidebar-button--background-color--xlight);border:0;border-radius:0 var(--ez-sidebar-button--border--radius-medium) var(--ez-sidebar-button--border--radius-medium) 0;box-shadow:var(--ez-sidebar-button--box-shadow);padding:0;cursor:pointer}span{width:var(--ez-sidebar-button--width);height:var(--ez-sidebar-button--height);margin:var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--small) var(--ez-sidebar-button--space--medium) 0;background:var(--ez-sidebar-button--background-color--primary);border-radius:0 var(--ez-sidebar-button--border--radius-small) var(--ez-sidebar-button--border--radius-small) 0}button:hover{box-shadow:var(--ez-sidebar-button--hover--box-shadow)}button:hover span{width:var(--ez-sidebar-button--hover--width);margin:var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--medium) 0}";
127694
128334
 
@@ -127776,15 +128416,188 @@ const EzSkeleton$1 = class extends HTMLElement$1 {
127776
128416
  static get style() { return ezSkeletonCss; }
127777
128417
  };
127778
128418
 
127779
- const ezSplitItemCss = ".box_split-item{background-color:var(--background--xlight);padding:var(--space--nano);width:100%;height:100%;border-radius:var(--border--radius-medium);box-shadow:var(--shadow)}";
128419
+ const ezSplitButtonCss = ":host{--ez-split-button--min-width:24;--ez-split-button--width:'auto';--ez-split-button__medium--height:32px;--ez-split-button__large--height:42px;--ez-split-button__medium-icon--width:40px;--ez-split-button__large-icon--width:44px;--ez-split-button__inline__icon--gap:6px;--ez-split-button__label--padding-top:0px;--ez-split-button__label--padding-bottom:0px;--ez-split-button__right-button--padding-left:8px;--ez-split-button--color:var(--title--primary, #FFF);--ez-split-button--font-size:var(--text--medium, 14px);--ez-split-button--font-family:var(--font-pattern, Arial);--ez-split-button--font-weight:var(--text-weight--large);--ez-split-button--background-color:var(--background--medium, #008561);--ez-split-button--border-radius:var(--border--radius-large, 12px);--ez-split-button--border:none;--ez-split-button--justify-content:center;--ez-split-button--hover-color:var(--color--primary-600);--ez-split-button--hover--background-color:var(--background--medium, var(--ez-split-button--background-color));--ez-split-button--disabled-color:var(--text--disable);--ez-split-button--disabled--background-color:var(--color--disable-secondary);--ez-split-button--focus--border:var(--border--medium, 2px) var(--color--primary-300);--ez-split-button--focus--box-shadow:none;--ez-split-button--active-color:var(--color--primary-700);--ez-split-button--active--background-color:var(--background--strong)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;white-space:nowrap;min-width:var(--ez-split-button--min-width);width:var(--ez-split-button--width);height:var(--ez-split-button__medium--height);font-family:var(--ez-split-button--font-family);font-size:var(--ez-split-button--font-size);font-weight:var(--ez-split-button--font-weight);padding:var(--ez-split-button__label--padding-top) 0 var(--ez-split-button__label--padding-bottom) 0;border-top-left-radius:var(--ez-split-button--border-radius);border-bottom-left-radius:var(--ez-split-button--border-radius);background-color:var(--ez-split-button--background-color);color:var(--ez-split-button--color);fill:var(--ez-split-button--color);border:var(--ez-split-button--border);justify-content:var(--ez-split-button--justify-content)}label{cursor:pointer}button:active{outline:none;box-shadow:none;background-color:var(--ez-split-button--active--background-color);color:var(--ez-split-button--active-color);fill:var(--ez-split-button--active-color);--ez-icon--color:var(--ez-split-button--active-color)}.ez-split-button__left-button:focus,.ez-split-button__right-button:focus{outline:var(--ez-split-button--focus--border);box-shadow:var(--ez-split-button--focus--box-shadow)}.ez-split-button__left-button:hover,.ez-split-button__right-button:hover{outline:none;background-color:var(--ez-split-button--hover--background-color);color:var(--ez-split-button--hover-color);fill:var(--ez-split-button--hover-color);--ez-icon--color:var(--ez-split-button--hover-color)}.ez-split-button__left-button:disabled,.ez-split-button__left-button:disabled label,.ez-split-button__right-button:disabled{background-color:var(--ez-split-button--disabled--background-color);color:var(--ez-split-button--disabled-color);fill:var(--ez-split-button--disabled-color);border:none;--ez-icon--color:var(--ez-split-button--disabled-color);cursor:not-allowed}button.large{height:var(--ez-split-button__large--height)}button.medium{height:var(--ez-split-button__medium--height)}.default label{padding:var(--ez-split-button__label--padding-top) 12px var(--ez-split-button__label--padding-bottom) 20px}.icon-left{gap:var(--ez-split-button__inline__icon--gap)}.icon-left label{padding-right:12px}.icon-left ez-icon{padding-left:20px}.icon-only{padding-left:12px;padding-right:12px}.ez-split-button__right-button{border-top-right-radius:var(--ez-split-button--border-radius);border-bottom-right-radius:var(--ez-split-button--border-radius);border-top-left-radius:0;border-bottom-left-radius:0}.ez-split-button__right-button--medium{min-width:var(--ez-split-button__medium-icon--width)}.ez-split-button__right-button--large{min-width:var(--ez-split-button__large-icon--width)}.ez-split-button__right-button--divider{top:10%;bottom:10%}.ez-split-button__right-button--divider:before{content:\"\";position:absolute;left:0;border-left:1px solid rgba(0, 0, 0, 20%);border-radius:2px;height:75%}.btn-icon--medium{min-width:--ez-split-button__medium-icon--width}.btn-icon--large{min-width:--ez-split-button__large-icon--width}.ez-split-button__right-button-container{position:absolute;left:0;padding-left:var(--ez-split-button__right-button--padding-left)}.label-icon{display:flex;flex-direction:row;align-items:center;color:var(--ez-split-button--color)}.label-icon:active{color:var(--ez-split-button--active-color);fill:var(--ez-split-button--active-color);--ez-icon--color:var(--ez-split-button--active-color)}.dropdown{display:flex}.dropdown-content{display:block;position:absolute;background-color:#f1f1f1;min-width:160px;z-index:--ez-elevation--8;border-radius:var(--ez-split-button--border-radius)}.dropdown-content>ez-dropdown{position:relative}";
128420
+
128421
+ const EzSplitButton$1 = class extends HTMLElement$1 {
128422
+ constructor() {
128423
+ super();
128424
+ this.__registerHost();
128425
+ this.__attachShadow();
128426
+ this.buttonClick = createEvent(this, "buttonClick", 7);
128427
+ this.dropdownItemClick = createEvent(this, "dropdownItemClick", 7);
128428
+ this.dropdownSubActionClick = createEvent(this, "dropdownSubActionClick", 7);
128429
+ this.rightDefaultTitle = 'Mais opções';
128430
+ this.show = false;
128431
+ this.enabled = true;
128432
+ this.iconName = undefined;
128433
+ this.image = undefined;
128434
+ this.items = undefined;
128435
+ this.label = undefined;
128436
+ this.leftTitle = undefined;
128437
+ this.rightTitle = 'Mais opções';
128438
+ this.mode = 'default';
128439
+ this.size = 'medium';
128440
+ }
128441
+ /**
128442
+ * Remove o foco de ambos os botões.
128443
+ */
128444
+ async setBlur() {
128445
+ this.leftButton.blur();
128446
+ this.rightButton.blur();
128447
+ }
128448
+ /**
128449
+ * Aplica o foco no botão principal.
128450
+ */
128451
+ async setLeftButtonFocus() {
128452
+ this.leftButton.focus();
128453
+ }
128454
+ /**
128455
+ * Aplica o foco no botão do dropdown.
128456
+ */
128457
+ async setRightButtonFocus() {
128458
+ this.rightButton.focus();
128459
+ }
128460
+ clickListener(evt) {
128461
+ if (!this.enabled) {
128462
+ evt.preventDefault();
128463
+ evt.stopPropagation();
128464
+ evt.stopImmediatePropagation();
128465
+ }
128466
+ }
128467
+ getIconSize(sizeParam = 'medium') {
128468
+ var _a;
128469
+ const sizeList = ['medium', 'large'];
128470
+ const sizeLowerCase = (_a = this.size) === null || _a === void 0 ? void 0 : _a.toLowerCase();
128471
+ return sizeList.includes(sizeLowerCase) ? sizeLowerCase : sizeParam;
128472
+ }
128473
+ closeDropdown() {
128474
+ this.show = false;
128475
+ }
128476
+ toggleDropdown() {
128477
+ this.show = !this.show;
128478
+ }
128479
+ handleButtonClick() {
128480
+ this.buttonClick.emit();
128481
+ }
128482
+ handleDropdownItemClick(evt) {
128483
+ this.dropdownItemClick.emit(evt.detail);
128484
+ evt.stopPropagation();
128485
+ this.closeDropdown();
128486
+ }
128487
+ handleDropdownSubActionClick(evt) {
128488
+ this.dropdownSubActionClick.emit(evt.detail);
128489
+ evt.stopPropagation();
128490
+ this.closeDropdown();
128491
+ }
128492
+ resolveOffsetParentRect() {
128493
+ var _a, _b;
128494
+ const offsetParentRect = (_b = (_a = this.dropdownParent) === null || _a === void 0 ? void 0 : _a.offsetParent) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
128495
+ const scrollLeft = window.scrollX || document.documentElement.scrollLeft;
128496
+ const scrollTop = window.scrollY || document.documentElement.scrollTop;
128497
+ const rectWithoutScroll = {
128498
+ top: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.top) + scrollTop,
128499
+ left: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.left) + scrollLeft,
128500
+ bottom: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.bottom) + scrollTop,
128501
+ right: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.right) + scrollLeft,
128502
+ width: offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.width,
128503
+ height: offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.height
128504
+ };
128505
+ this.offsetParentRect = rectWithoutScroll;
128506
+ }
128507
+ /**
128508
+ * Método responsável em posicionar o dropdown na tela.
128509
+ * Faz com que o dropdown se ajuste automaticamente ao espaco na tela
128510
+ */
128511
+ positionDropdown() {
128512
+ var _a, _b, _c, _d, _e, _f;
128513
+ const { rightButton: _rightButton, dropdownParent: _dropdownParent } = this;
128514
+ const rightButtonRect = _rightButton.getBoundingClientRect();
128515
+ const dropdownParentRect = _dropdownParent.getBoundingClientRect();
128516
+ const spaceBelow = window.innerHeight - (rightButtonRect.bottom + ((_a = this.offsetParentRect) === null || _a === void 0 ? void 0 : _a.top));
128517
+ const spaceAbove = rightButtonRect.top + ((_b = this.offsetParentRect) === null || _b === void 0 ? void 0 : _b.top);
128518
+ const spaceRight = window.innerWidth - (rightButtonRect.left + ((_c = this.offsetParentRect) === null || _c === void 0 ? void 0 : _c.left));
128519
+ const spaceLeft = rightButtonRect.left;
128520
+ const hasSpaceBelow = spaceBelow < dropdownParentRect.height && spaceAbove > dropdownParentRect.height;
128521
+ const hasSpaceRight = spaceRight < dropdownParentRect.width && spaceLeft > dropdownParentRect.width;
128522
+ let top = `${rightButtonRect.bottom - ((_d = this.offsetParentRect) === null || _d === void 0 ? void 0 : _d.top) + window.scrollY}px`;
128523
+ let left = `${rightButtonRect.left - ((_e = this.offsetParentRect) === null || _e === void 0 ? void 0 : _e.left) + window.scrollX}px`;
128524
+ let bottom = 'auto';
128525
+ if (hasSpaceBelow) {
128526
+ bottom = `${window.innerHeight - rightButtonRect.top - window.scrollY}px`;
128527
+ top = 'auto';
128528
+ _dropdownParent.style.maxHeight = `${spaceAbove}px`;
128529
+ }
128530
+ if (hasSpaceRight) {
128531
+ left = `${rightButtonRect.right - dropdownParentRect.width - ((_f = this.offsetParentRect) === null || _f === void 0 ? void 0 : _f.left) + window.scrollX}px`;
128532
+ }
128533
+ _dropdownParent.style.top = top;
128534
+ _dropdownParent.style.bottom = bottom;
128535
+ _dropdownParent.style.left = left;
128536
+ }
128537
+ setEvents() {
128538
+ window.removeEventListener('scroll', this.positionDropdown.bind(this));
128539
+ window.addEventListener('scroll', this.positionDropdown.bind(this));
128540
+ }
128541
+ componentWillLoad() {
128542
+ this.setEvents();
128543
+ }
128544
+ componentWillRender() {
128545
+ this.resolveOffsetParentRect();
128546
+ }
128547
+ componentDidLoad() {
128548
+ if (this._element)
128549
+ ElementIDUtils.addIDInfo(this._element);
128550
+ if (this.leftButton) {
128551
+ const dataInfo = { id: 'embedded' };
128552
+ ElementIDUtils.addIDInfo(this.leftButton, 'left-button', dataInfo);
128553
+ }
128554
+ if (this.rightButton) {
128555
+ const dataInfo = { id: 'embedded' };
128556
+ ElementIDUtils.addIDInfo(this.rightButton, 'right-button', dataInfo);
128557
+ }
128558
+ this.positionDropdown();
128559
+ }
128560
+ componentDidUpdate() {
128561
+ this.positionDropdown();
128562
+ }
128563
+ render() {
128564
+ const hasIconButton = this.shouldShowIconOnLeftButton();
128565
+ const hasLabelButton = this.shouldShowLabelOnLeftButton();
128566
+ const iconSize = this.getIconSize();
128567
+ return (h("div", { class: "label-icon" }, h("button", { class: `ez-split-button__left-button ${iconSize} ${this.mode}`, title: this.leftTitle || this.label, type: "button", disabled: !this.enabled, onClick: () => { this.handleButtonClick(); }, ref: el => (this.leftButton = el) }, hasIconButton && h("ez-icon", { href: this.image, iconName: this.iconName, size: iconSize }), hasLabelButton && h("label", { title: this.leftTitle || this.label }, this.label)), h("div", { class: "dropdown" }, h("button", { class: `ez-split-button__right-button ${iconSize} ez-split-button__right-button--${iconSize} ez-split-button__right-button--divider`, title: this.rightTitle || this.rightDefaultTitle, type: "button", disabled: !this.enabled, onClick: () => { this.toggleDropdown(); }, ref: el => (this.rightButton = el) }, h("ez-icon", { class: `ez-split-button__right-button-container ` + (iconSize ? `btn-icon--${iconSize}` : ''), iconName: 'chevron-down', size: iconSize })), h("div", { class: `dropdown-content dropdown-content--${this.size}`, ref: (ref) => (this.dropdownParent = ref) }, this.show && (h("ez-dropdown", { items: this.items, onClick: evt => { evt.stopPropagation(); }, onEzOutsideClick: () => { this.closeDropdown(); }, onEzClick: evt => { this.handleDropdownItemClick(evt); }, onEzSubActionClick: evt => { this.handleDropdownSubActionClick(evt); } }))))));
128568
+ }
128569
+ shouldShowLabelOnLeftButton() {
128570
+ return ['icon-left', 'default'].includes(this.mode);
128571
+ }
128572
+ shouldShowIconOnLeftButton() {
128573
+ return ['icon-left', 'icon-only'].includes(this.mode);
128574
+ }
128575
+ get _element() { return this; }
128576
+ static get style() { return ezSplitButtonCss; }
128577
+ };
128578
+
128579
+ const ezSplitItemCss = ".box_split-item{background-color:var(--background--xlight);width:100%;height:100%;border-radius:var(--border--radius-medium);box-shadow:var(--shadow);flex-direction:column;overflow:hidden;display:flex;padding:var(--space--nano)}.box_split-item>.ez-split-item--content{overflow:auto}.expanded__item{position:absolute;z-index:var(--more-visible);top:0;left:0;width:100%;height:100%}.ez-split-item--header{display:flex;align-items:center;justify-content:space-between}.ez-split-item--header-title{flex:1;white-space:nowrap;overflow:hidden}.ez-split-item--header-title h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ez-split-item--header-buttons{display:flex;align-items:center}.ez-split-item--content{display:block;height:100%}h3.ez-margin--small{margin-left:var(--space--small)}";
127780
128580
 
127781
128581
  const SplitItem = class extends HTMLElement$1 {
127782
128582
  constructor() {
127783
128583
  super();
127784
128584
  this.__registerHost();
128585
+ this.label = undefined;
128586
+ this.enableExpand = true;
128587
+ this._expanded = false;
128588
+ this.size = undefined;
128589
+ }
128590
+ /**
128591
+ * Alterna a visibilidade do painel.
128592
+ */
128593
+ toggleExpandItem() {
128594
+ this._expanded = !this._expanded;
128595
+ }
128596
+ componentDidLoad() {
128597
+ CSSVarsUtils.applyVarsGrid(this._element, this._slot.children[0]);
127785
128598
  }
127786
128599
  render() {
127787
- return (h(Host, { class: 'box_split-item' }));
128600
+ return (h(Host, { class: `box_split-item ${this._expanded ? 'expanded__item' : ''}`, ref: el => (this._element = el) }, h("div", { class: "ez-split-item--header" }, h("slot", { name: "leftButtons" }), h("div", { class: "ez-split-item--header-title" }, this.label && (h("h3", { class: "ez-text ez-text--primary ez-title ez-title--small ez-margin--small", title: this.label }, this.label))), h("div", { class: "ez-split-item--header-buttons" }, h("slot", { name: "rightButtons" }), this.enableExpand && (h("ez-button", { size: "small", mode: "icon", iconName: "expand", class: 'ez-button--tertiary', onClick: () => this.toggleExpandItem(), title: this._expanded ? 'Resumir' : 'Expandir' })))), h("div", { class: "ez-split-item--content grid_height-0", ref: el => (this._slot = el) }, h("slot", null))));
127788
128601
  }
127789
128602
  static get style() { return ezSplitItemCss; }
127790
128603
  };
@@ -128473,11 +129286,24 @@ const SplitPanel = class extends HTMLElement$1 {
128473
129286
  super();
128474
129287
  this.__registerHost();
128475
129288
  this._items = [];
129289
+ this._buildInProgress = false;
128476
129290
  this.direction = 'column';
129291
+ this.anchorToExpand = false;
128477
129292
  }
128478
- componentDidLoad() {
129293
+ rebuildLayout() {
129294
+ Array.from(this._element.querySelectorAll(".ez-split-gutter")).reverse().forEach(el => {
129295
+ el.remove();
129296
+ });
129297
+ Array.from(this._element.getElementsByTagName("EzSplitPanel")).reverse().forEach(el => {
129298
+ el['rebuildLayout']();
129299
+ });
129300
+ this.buildItems();
129301
+ this.initSplit();
129302
+ }
129303
+ buildItems() {
128479
129304
  this._panelID = StringUtils$1.generateUUID();
128480
129305
  this._element.dataset.panelId = this._panelID;
129306
+ this._element.dataset.uniqueId = "EzSplitPanel";
128481
129307
  let itemsElements = Array.from(this._element.children);
128482
129308
  this._items = itemsElements.filter(child => { var _a; return ((_a = child.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'EZ-SPLIT-ITEM'; });
128483
129309
  let trackCount = 1;
@@ -128488,7 +129314,30 @@ const SplitPanel = class extends HTMLElement$1 {
128488
129314
  }
128489
129315
  trackCount += 2;
128490
129316
  });
129317
+ }
129318
+ componentDidLoad() {
129319
+ this.buildItems();
128491
129320
  this.initSplit();
129321
+ this._mutationObserver = new MutationObserver((mutationsList) => {
129322
+ for (const mutation of mutationsList) {
129323
+ if (mutation.type === 'childList' && this._buildInProgress === false) {
129324
+ this._buildInProgress = true;
129325
+ window.requestAnimationFrame(() => {
129326
+ this.rebuildLayout();
129327
+ });
129328
+ window.requestAnimationFrame(() => this._buildInProgress = false);
129329
+ break;
129330
+ }
129331
+ }
129332
+ });
129333
+ // Configure o observer para observar mudanças nos filhos
129334
+ this._mutationObserver.observe(this._element, { childList: true, subtree: false });
129335
+ }
129336
+ disconnectedCallback() {
129337
+ //disconect o _mutationObserver
129338
+ if (this._mutationObserver != undefined) {
129339
+ this._mutationObserver.disconnect();
129340
+ }
128492
129341
  }
128493
129342
  initSplit() {
128494
129343
  if (!this._items.length) {
@@ -128500,7 +129349,7 @@ const SplitPanel = class extends HTMLElement$1 {
128500
129349
  getGutters() {
128501
129350
  const gutters = {
128502
129351
  columnGutters: [],
128503
- rowGutters: []
129352
+ rowGutters: [],
128504
129353
  };
128505
129354
  if (!this._items.length) {
128506
129355
  return gutters;
@@ -128510,19 +129359,19 @@ const SplitPanel = class extends HTMLElement$1 {
128510
129359
  if (index == this._items.length - 1)
128511
129360
  return;
128512
129361
  let gutterTrack = item.dataset.trackNumber;
128513
- if (index === (this._items.length - 1)) {
129362
+ if (index === this._items.length - 1) {
128514
129363
  gutterTrack = this._items.length.toString();
128515
129364
  }
128516
129365
  gutters[proToChange].push({
128517
129366
  track: Number(gutterTrack),
128518
- element: this._element.querySelector(`ez-split-panel[data-panel-id="${this._panelID}"] > [data-item-track="${item.dataset.trackNumber}"]`)
129367
+ element: this._element.querySelector(`ez-split-panel[data-panel-id="${this._panelID}"] > [data-item-track="${item.dataset.trackNumber}"]`),
128519
129368
  });
128520
129369
  });
128521
129370
  return gutters;
128522
129371
  }
128523
129372
  addItemGutter(item) {
128524
129373
  const gutter = document.createElement('div');
128525
- gutter.classList.add("ez-split-gutter");
129374
+ gutter.classList.add('ez-split-gutter');
128526
129375
  gutter.classList.add(this.direction);
128527
129376
  gutter.dataset.itemTrack = `${item.dataset.trackNumber}`;
128528
129377
  gutter.dataset.trackNumber = (Number(item.dataset.trackNumber) + 1).toString();
@@ -128530,29 +129379,47 @@ const SplitPanel = class extends HTMLElement$1 {
128530
129379
  }
128531
129380
  getElementStyle() {
128532
129381
  const style = {
128533
- 'display': "grid",
128534
- 'height': '100%',
128535
- 'width': '100%'
129382
+ display: 'grid',
129383
+ height: '100%',
129384
+ width: '100%',
129385
+ position: this.anchorToExpand ? 'relative' : 'unset',
128536
129386
  };
128537
129387
  return style;
128538
129388
  }
129389
+ calcFreeSpacePercentage() {
129390
+ const inUseSpacePercentage = this._items.reduce((accumulator, currentValue) => {
129391
+ var _a;
129392
+ return accumulator + (((_a = currentValue.size) === null || _a === void 0 ? void 0 : _a.includes('%')) ? Number(currentValue.size.replace("%", "")) : 0);
129393
+ }, 0);
129394
+ const itemsWithoutSizeAmount = this._items.filter((item) => item.size === undefined).length;
129395
+ if (!itemsWithoutSizeAmount || !inUseSpacePercentage) {
129396
+ return null;
129397
+ }
129398
+ const freeSpacePercentage = ((100 - inUseSpacePercentage) / itemsWithoutSizeAmount);
129399
+ return freeSpacePercentage;
129400
+ }
128539
129401
  getGridTemplate() {
128540
129402
  let template = '';
128541
- this._items.forEach((_col, index) => {
129403
+ const freeSpacePercentage = this.calcFreeSpacePercentage();
129404
+ this._items.forEach((col, index) => {
129405
+ let size = col.size || '1fr';
129406
+ if (!col.size && freeSpacePercentage) {
129407
+ size = `${freeSpacePercentage}%`;
129408
+ }
128542
129409
  if (index === this._items.length - 1) {
128543
- template += ` 1fr`;
129410
+ template += ` ${size}`;
128544
129411
  return;
128545
129412
  }
128546
129413
  if (index === 0) {
128547
- template += `1fr 5px`;
129414
+ template += `${size} 5px`;
128548
129415
  return;
128549
129416
  }
128550
- template += ` 1fr 5px`;
129417
+ template += ` ${size} 5px`;
128551
129418
  });
128552
129419
  return template;
128553
129420
  }
128554
129421
  render() {
128555
- return (h(Host, { style: this.getElementStyle() }));
129422
+ return h(Host, { style: this.getElementStyle() });
128556
129423
  }
128557
129424
  get _element() { return this; }
128558
129425
  static get style() { return ezSplitPanelCss; }
@@ -129577,7 +130444,7 @@ const TreeItem = (props) => {
129577
130444
  itemsList.push(treeItem);
129578
130445
  }
129579
130446
  return (h("ul", { class: level === 1 ? "first-level" : undefined },
129580
- h("li", Object.assign({ title: tooltipResolver(treeItem, !disabled, level), class: `tree-item ${treeItem.id !== selectedId ? 'tree-item-error' : ""}`, onClick: () => available && itemClick(treeItem) }, {
130447
+ h("li", Object.assign({ title: tooltipResolver(treeItem, !disabled, level), class: `tree-item ${treeItem.id !== selectedId ? "tree-item-error" : ""}`, onClick: () => available && itemClick(treeItem) }, {
129581
130448
  disabled,
129582
130449
  selected: treeItem.id === selectedId,
129583
130450
  [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezTreeItem_${treeItem.id}`)
@@ -129585,11 +130452,25 @@ const TreeItem = (props) => {
129585
130452
  h("div", { class: "item-label-container" },
129586
130453
  h("div", { class: "item-icon-box" }, expandable &&
129587
130454
  h("ez-icon", { id: treeItem.id, class: "item-icon", size: "small", iconName: iconResolver(treeItem, expanded, level), onClick: () => available && iconClick(treeItem) })),
129588
- h("label", { class: "item-label" }, treeItem.label)),
129589
- h("div", { class: `tree-item-badge ${(treeItem.id !== selectedId) ? treeItem.badge : null}` }, treeItem.badge === 'error' ? (h("ez-icon", { id: `${treeItem.id}-badge-error`, class: "tree-item-badge-error-icon", size: "x-small", style: { color: 'white' }, iconName: "alert-circle" })) : null)),
130455
+ h("label", { class: `item-label ${treeItem.bold ? "item-label--bold" : ""}` }, treeItem.label)),
130456
+ getBadgeElement(treeItem.id, treeItem.badge, treeItem.id === selectedId)),
129590
130457
  expanded
129591
130458
  && node.getChildren().map(child => h(TreeItem, { selectedId: selectedId, node: child, itemClick: itemClick, iconClick: iconClick, level: level + 1, iconResolver: iconResolver, tooltipResolver: tooltipResolver, itemsList: itemsList }))));
129592
130459
  };
130460
+ function getBadgeElement(itemId, badge, isSelectedItem) {
130461
+ if (badge == undefined) {
130462
+ return;
130463
+ }
130464
+ if (typeof badge === "string") {
130465
+ return h("div", { class: `tree-item-badge ${isSelectedItem ? null : badge}` }, badge === "error" &&
130466
+ h("ez-icon", { id: `${itemId}-badge-error`, class: "tree-item-badge-error-icon", size: "x-small", style: { color: 'white' }, iconName: "alert-circle" }));
130467
+ }
130468
+ if (badge.type === "text") {
130469
+ return h("div", { id: `${itemId}-badge-text`, class: "tree-item-badge-text" }, badge.text);
130470
+ }
130471
+ return h("div", null,
130472
+ h("ez-icon", { id: `${itemId}-badge-icon`, class: "tree-item-badge-icon", style: { "--ez-icon--color": `var(--ez-tree__badge--icon-color--${badge.iconColor || "default"})` }, iconName: badge.iconName }));
130473
+ }
129593
130474
 
129594
130475
  class Node$1 {
129595
130476
  constructor(tree, item, parent, isPlaceHolder = false) {
@@ -129833,7 +130714,7 @@ class Tree extends Node$1 {
129833
130714
  }
129834
130715
  }
129835
130716
 
129836
- const ezTreeCss = ":host{--ez-tree--border-radius:var(--border--radius-small, 8px);--ez-tree--padding-inline-start:20px;--ez-tree--margin:var(--space--extra-small, 3px);--ez-tree--margin-right:calc(var(--space--small, 6px) + 2px);--ez-tree--font-family:var(--font-pattern, Arial);--ez-tree--font-size:var(--text--medium, 14px);--ez-tree--selected--font-weight:var(--text-weight--large, 600);--ez-tree--font-weight:var(--text-weight--small, 400);--ez-tree--color:var(--title--primary, #2B3A54);--ez-tree--selected--color:var(--color--primary, #008561);--ez-tree--disabled--color:var(--text--disable, #AFB6C0);--ez-tree__tree-item--height:var(--size-medium, 18px);--ez-tree__tree-item--padding:var(--space--small, 6px);--ez-tree__tree-item--background-color:var(--background--xlight, #FFFFFF);--ez-tree__tree-item--selected--background-color:var(--color--primary-300, #E2F4EF);--ez-tree__tree-item--hover--background-color:var(--background--medium, #F0F3F7);--ez-tree__tree-item--disabled--background-color:var(--ez-tree__tree-Item--background-color);--ez-tree__item-icon-box--height:var(--ez-tree__tree-item--height);--ez-tree__item-icon-box--width:var(--size-medium, 18px);--ez-tree__item-icon-box--padding:var(--ez-tree__tree-item--padding);display:flex;flex-direction:column;margin:0 var(--ez-tree--margin) var(--ez-tree--margin) var(--ez-tree--margin);outline:none}ul{list-style-type:none;margin:0;padding-inline-start:var(--ez-tree--padding-inline-start)}ul.first-level{padding-inline-start:0}.tree-item-badge{width:16px;height:16px;background:transparent;border-radius:50%;transition:all 300ms ease-in-out;display:flex;align-items:center;justify-content:center}.tree-item-badge-error-icon{--ez-icon--color:white}.tree-item-badge.error{background:var(--color--error)}.tree-item-badge.warning{background:var(--color--warning)}.tree-item-badge.success{background:var(--color--success)}.item-label-container{display:flex;align-items:center}.tree-item{display:flex;align-items:center;margin-top:var(--ez-tree--margin);margin-right:var(--ez-tree--margin-right);border-radius:var(--ez-tree--border-radius);height:var(--ez-tree__tree-item--height);padding:var(--ez-tree__tree-item--padding);justify-content:space-between}.tree-item[selected]{background-color:var(--ez-tree__tree-item--selected--background-color)}.tree-item:hover{background-color:var(--ez-tree__tree-item--hover--background-color)}.tree-item[disabled],.tree-item[disabled]:hover{background-color:var(--ez-tree__tree-item--disabled--background-color)}.item-icon-box{display:flex;align-items:center;justify-content:center;width:var(--ez-tree__item-icon-box--width);height:var(--ez-tree__item-icon-box--height);padding:var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) 0}.item-icon{--ez-icon--color:var(--ez-tree--color)}.item-icon:hover{cursor:pointer}.tree-item[selected] .item-icon{--ez-icon--color:var(--ez-tree--selected--color)}.tree-item[disabled] .item-icon{cursor:unset;--ez-icon--color:var(--ez-tree--disabled--color)}.item-label{cursor:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--ez-tree--font-family);font-size:var(--ez-tree--font-size);font-weight:var(--ez-tree--font-weight);color:var(--ez-tree--color)}.tree-item[selected] .item-label{color:var(--ez-tree--selected--color);font-weight:var(--ez-tree--selected--font-weight)}.tree-item[disabled] .item-label{color:var(--ez-tree--disabled--color)}";
130717
+ const ezTreeCss = ":host{--ez-tree--border-radius:var(--border--radius-small, 8px);--ez-tree--padding-inline-start:20px;--ez-tree--margin:var(--space--extra-small, 3px);--ez-tree--margin-right:calc(var(--space--small, 6px) + 2px);--ez-tree--font-family:var(--font-pattern, Arial);--ez-tree--font-size:var(--text--medium, 14px);--ez-tree--selected--font-weight:var(--text-weight--large, 600);--ez-tree--font-weight:var(--text-weight--small, 400);--ez-tree--color:var(--title--primary, #2B3A54);--ez-tree--selected--color:var(--color--primary, #008561);--ez-tree--disabled--color:var(--text--disable, #AFB6C0);--ez-tree--font-weight--bold:var(--text-weight--large, 600);--ez-tree__tree-item--height:var(--size-medium, 18px);--ez-tree__tree-item--padding:var(--space--small, 6px);--ez-tree__tree-item--background-color:var(--background--xlight, #FFFFFF);--ez-tree__tree-item--selected--background-color:var(--color--primary-300, #E2F4EF);--ez-tree__tree-item--hover--background-color:var(--background--medium, #F0F3F7);--ez-tree__tree-item--disabled--background-color:var(--ez-tree__tree-Item--background-color);--ez-tree__item-icon-box--height:var(--ez-tree__tree-item--height);--ez-tree__item-icon-box--width:var(--size-medium, 18px);--ez-tree__item-icon-box--padding:var(--ez-tree__tree-item--padding);--ez-tree__badge--icon-color--default:var(--title--primary, #2B3A54);--ez-tree__badge--icon-color--error:var(--color--error, #da4453);--ez-tree__badge--icon-color--success:var(--color-alert--success-800, #157a00);--ez-tree__badge--icon-color--warning:var(--color--warning, #f2d410);--ez-tree__badge--icon-color--disabled:var(--text--disable, #AFB6C0);display:flex;flex-direction:column;margin:0 var(--ez-tree--margin) var(--ez-tree--margin) var(--ez-tree--margin);outline:none}ul{list-style-type:none;margin:0;padding-inline-start:var(--ez-tree--padding-inline-start)}ul.first-level{padding-inline-start:0}.tree-item-badge{width:16px;height:16px;background:transparent;border-radius:50%;transition:all 300ms ease-in-out;display:flex;align-items:center;justify-content:center}.tree-item-badge-error-icon{--ez-icon--color:white}.tree-item-badge-text{font-family:var(--ez-tree--font-family);font-size:var(--ez-tree--font-size);font-weight:var(--ez-tree--font-weight);color:var(--ez-tree--color)}.tree-item-badge.error{background:var(--color--error)}.tree-item-badge.warning{background:var(--color--warning)}.tree-item-badge.success{background:var(--color--success)}.item-label-container{display:flex;align-items:center}.tree-item{display:flex;align-items:center;margin-top:var(--ez-tree--margin);margin-right:var(--ez-tree--margin-right);border-radius:var(--ez-tree--border-radius);height:var(--ez-tree__tree-item--height);padding:var(--ez-tree__tree-item--padding);justify-content:space-between}.tree-item[selected]{background-color:var(--ez-tree__tree-item--selected--background-color)}.tree-item:hover{background-color:var(--ez-tree__tree-item--hover--background-color)}.tree-item[disabled],.tree-item[disabled]:hover{background-color:var(--ez-tree__tree-item--disabled--background-color)}.item-icon-box{display:flex;align-items:center;justify-content:center;width:var(--ez-tree__item-icon-box--width);height:var(--ez-tree__item-icon-box--height);padding:var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) 0}.item-icon{--ez-icon--color:var(--ez-tree--color)}.item-icon:hover{cursor:pointer}.tree-item[selected] .item-icon{--ez-icon--color:var(--ez-tree--selected--color)}.tree-item[disabled] .item-icon{cursor:unset;--ez-icon--color:var(--ez-tree--disabled--color)}.item-label{cursor:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--ez-tree--font-family);font-size:var(--ez-tree--font-size);font-weight:var(--ez-tree--font-weight);color:var(--ez-tree--color)}.item-label--bold{font-weight:var(--ez-tree--font-weight--bold)}.tree-item[selected] .item-label{color:var(--ez-tree--selected--color);font-weight:var(--ez-tree--selected--font-weight)}.tree-item[disabled] .item-label{color:var(--ez-tree--disabled--color)}";
129837
130718
 
129838
130719
  const EzTree$1 = class extends HTMLElement$1 {
129839
130720
  constructor() {
@@ -130606,6 +131487,8 @@ const FilterColumn$1 = class extends HTMLElement$1 {
130606
131487
  this.TOP_POSITION_NO_TASKBAR = '32';
130607
131488
  this.TOP_POSITION_NO_TASKBAR_HEADER_HIDDEN = '20';
130608
131489
  this.DEFAULT_HEIGHT = 430;
131490
+ this.FIX_MARGIN = 60;
131491
+ this.FILTER_COLUMN_WIDTH = 330;
130609
131492
  this.opened = true;
130610
131493
  this.columnName = undefined;
130611
131494
  this.columnLabel = undefined;
@@ -130638,15 +131521,24 @@ const FilterColumn$1 = class extends HTMLElement$1 {
130638
131521
  await this.ezPopoverElement.show(this.calcTopPosition(), this.calculateLeftPosition(configs));
130639
131522
  }
130640
131523
  }
130641
- calculateLeftPosition(configs) {
130642
- if (!configs.fromIcon) {
130643
- return configs.leftPosition;
131524
+ calculateLeftPosition({ leftPosition, fromIcon }) {
131525
+ const leftPositionCalculated = this.calcFilterColumnLeftPosition(leftPosition);
131526
+ if (!fromIcon) {
131527
+ return `${leftPositionCalculated}px`;
130644
131528
  }
130645
131529
  const difference = this.ezPopoverElement.getBoundingClientRect().left;
130646
- const leftReference = parseInt(configs.leftPosition.replace('px', ''));
130647
- const leftResolved = (leftReference + 16) - difference;
131530
+ const leftResolved = (leftPositionCalculated + 16) - difference;
130648
131531
  return `${(leftResolved > 0 ? leftResolved : 0)}px`;
130649
131532
  }
131533
+ calcFilterColumnLeftPosition(leftReference) {
131534
+ var _a, _b;
131535
+ const gridReference = this.ezPopoverElement.closest("ez-grid");
131536
+ const gridLimit = (_a = gridReference.getBoundingClientRect()) === null || _a === void 0 ? void 0 : _a.right;
131537
+ const popoverDiff = (_b = this.ezPopoverElement.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.left;
131538
+ const maxLeft = gridLimit - (this.FILTER_COLUMN_WIDTH + popoverDiff);
131539
+ const leftInt = leftReference - (this.FIX_MARGIN + popoverDiff);
131540
+ return leftInt > maxLeft ? maxLeft : leftInt;
131541
+ }
130650
131542
  buildIsTextSearch() {
130651
131543
  var _a, _b;
130652
131544
  const userInterface = (_b = (_a = this.fieldDescriptor) === null || _a === void 0 ? void 0 : _a.userInterface) !== null && _b !== void 0 ? _b : UserInterface.SHORTTEXT;
@@ -130760,21 +131652,21 @@ const MultiSelectionBoxMessage$1 = class extends HTMLElement$1 {
130760
131652
 
130761
131653
  const EzActionsButton = /*@__PURE__*/proxyCustomElement(EzActionsButton$1, [1,"ez-actions-button",{"enabled":[516],"actions":[1040],"size":[513],"showLabel":[516,"show-label"],"displayIcon":[513,"display-icon"],"checkOption":[516,"check-option"],"value":[513],"isTransparent":[516,"is-transparent"],"arrowActive":[516,"arrow-active"],"_selectedAction":[32]}]);
130762
131654
  const EzAlert = /*@__PURE__*/proxyCustomElement(EzAlert$1, [1,"ez-alert",{"alertType":[513,"alert-type"]}]);
130763
- const EzAlertList = /*@__PURE__*/proxyCustomElement(EzAlertList$1, [1,"ez-alert-list",{"alerts":[1040],"enableDragAndDrop":[516,"enable-drag-and-drop"],"enableExpand":[516,"enable-expand"],"itemRightSlotBuilder":[16],"opened":[1540],"expanded":[1540]}]);
131655
+ const EzAlertList = /*@__PURE__*/proxyCustomElement(EzAlertList$1, [1,"ez-alert-list",{"alerts":[1040],"enableDragAndDrop":[516,"enable-drag-and-drop"],"enableExpand":[516,"enable-expand"],"itemRightSlotBuilder":[16],"opened":[1540],"expanded":[1540],"_container":[32]}]);
130764
131656
  const EzApplication = /*@__PURE__*/proxyCustomElement(EzApplication$1, [0,"ez-application"]);
130765
131657
  const EzBadge = /*@__PURE__*/proxyCustomElement(EzBadge$1, [1,"ez-badge",{"size":[513],"label":[513],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"position":[1040],"hasSlot":[32]}]);
130766
131658
  const EzBreadcrumb = /*@__PURE__*/proxyCustomElement(EzBreadcrumb$1, [1,"ez-breadcrumb",{"items":[1040],"fillMode":[1025,"fill-mode"],"maxItems":[1026,"max-items"],"positionEllipsis":[1026,"position-ellipsis"],"visibleItems":[32],"hiddenItems":[32],"showDropdown":[32],"collapseConfigPosition":[32]}]);
130767
131659
  const EzButton = /*@__PURE__*/proxyCustomElement(EzButton$1, [1,"ez-button",{"label":[513],"enabled":[516],"mode":[513],"image":[513],"iconName":[513,"icon-name"],"size":[513]},[[2,"click","clickListener"]]]);
130768
131660
  const EzCalendar = /*@__PURE__*/proxyCustomElement(EzCalendar$1, [1,"ez-calendar",{"value":[1040],"floating":[516],"time":[516],"showSeconds":[516,"show-seconds"]},[[11,"scroll","scrollListener"]]]);
130769
- const EzCardItem = /*@__PURE__*/proxyCustomElement(EzCardItem$1, [1,"ez-card-item",{"item":[16]}]);
131661
+ const EzCardItem = /*@__PURE__*/proxyCustomElement(EzCardItem$1, [1,"ez-card-item",{"item":[16],"enableKey":[4,"enable-key"]}]);
130770
131662
  const EzCheck = /*@__PURE__*/proxyCustomElement(EzCheck$1, [1,"ez-check",{"label":[513],"value":[1540],"enabled":[1540],"indeterminate":[1540],"mode":[513],"compact":[4]}]);
130771
131663
  const EzChip = /*@__PURE__*/proxyCustomElement(EzChip$1, [1,"ez-chip",{"label":[513],"enabled":[516],"removePosition":[513,"remove-position"],"mode":[513],"value":[1540],"showNativeTooltip":[4,"show-native-tooltip"]}]);
130772
131664
  const EzCollapsibleBox = /*@__PURE__*/proxyCustomElement(EzCollapsibleBox$1, [1,"ez-collapsible-box",{"value":[1540],"boxBordered":[4,"box-bordered"],"label":[513],"subtitle":[513],"headerSize":[513,"header-size"],"iconPlacement":[513,"icon-placement"],"headerAlign":[513,"header-align"],"removable":[516],"editable":[516],"conditionalSave":[16],"_activeEditText":[32]}]);
130773
- const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"limitCharsToSearch":[2,"limit-chars-to-search"],"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"searchMode":[4,"search-mode"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
131665
+ const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"limitCharsToSearch":[2,"limit-chars-to-search"],"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
130774
131666
  const EzDateInput = /*@__PURE__*/proxyCustomElement(EzDateInput$1, [1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"mode":[513],"canShowError":[516,"can-show-error"]}]);
130775
131667
  const EzDateTimeInput = /*@__PURE__*/proxyCustomElement(EzDateTimeInput$1, [1,"ez-date-time-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"]}]);
130776
131668
  const EzDialog = /*@__PURE__*/proxyCustomElement(EzDialog$1, [1,"ez-dialog",{"confirm":[1028],"dialogType":[1025,"dialog-type"],"message":[1025],"opened":[1540],"personalizedIconPath":[1025,"personalized-icon-path"],"ezTitle":[1025,"ez-title"],"beforeClose":[1040]},[[8,"keydown","handleKeyDown"]]]);
130777
- const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]}]);
131669
+ const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]},[[4,"click","handleClickOutside"]]]);
130778
131670
  const EzFileItem = /*@__PURE__*/proxyCustomElement(EzFileItem$1, [1,"ez-file-item",{"canRemove":[4,"can-remove"],"fileName":[1,"file-name"],"iconName":[1,"icon-name"],"fileSize":[2,"file-size"],"progress":[2]}]);
130779
131671
  const EzFilterInput = /*@__PURE__*/proxyCustomElement(EzFilterInput$1, [1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513],"asyncSearch":[516,"async-search"],"canShowError":[516,"can-show-error"]}]);
130780
131672
  const EzForm = /*@__PURE__*/proxyCustomElement(EzForm$1, [2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"fieldToFocus":[1,"field-to-focus"]}]);
@@ -130792,11 +131684,12 @@ const EzPopover = /*@__PURE__*/proxyCustomElement(EzPopover$1, [1,"ez-popover",{
130792
131684
  const EzPopup = /*@__PURE__*/proxyCustomElement(EzPopup$1, [1,"ez-popup",{"size":[1],"opened":[1540],"useHeader":[516,"use-header"],"heightMode":[513,"height-mode"],"ezTitle":[1,"ez-title"]}]);
130793
131685
  const EzRadioButton = /*@__PURE__*/proxyCustomElement(EzRadioButton$1, [1,"ez-radio-button",{"value":[1544],"options":[1040],"enabled":[516],"label":[513],"direction":[1537]}]);
130794
131686
  const EzScroller = /*@__PURE__*/proxyCustomElement(EzScroller$1, [1,"ez-scroller",{"direction":[1],"locked":[4],"activeShadow":[4,"active-shadow"],"isActive":[32]},[[2,"click","clickListener"],[1,"mousedown","mouseDownHandler"],[1,"mouseup","mouseUpHandler"],[1,"mousemove","mouseMoveHandler"]]]);
130795
- const EzSearch = /*@__PURE__*/proxyCustomElement(EzSearch$1, [1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"ignoreLimitCharsToSearch":[4,"ignore-limit-chars-to-search"]}]);
131687
+ const EzSearch = /*@__PURE__*/proxyCustomElement(EzSearch$1, [1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"ignoreLimitCharsToSearch":[4,"ignore-limit-chars-to-search"],"options":[1040],"suppressSearch":[4,"suppress-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
130796
131688
  const EzSidebarButton = /*@__PURE__*/proxyCustomElement(EzSidebarButton$1, [1,"ez-sidebar-button"]);
130797
131689
  const EzSkeleton = /*@__PURE__*/proxyCustomElement(EzSkeleton$1, [0,"ez-skeleton",{"count":[2],"variant":[1],"width":[1],"height":[1],"marginBottom":[1,"margin-bottom"],"animation":[1]}]);
130798
- const EzSplitItem = /*@__PURE__*/proxyCustomElement(SplitItem, [0,"ez-split-item"]);
130799
- const EzSplitPanel = /*@__PURE__*/proxyCustomElement(SplitPanel, [0,"ez-split-panel",{"direction":[1]}]);
131690
+ const EzSplitButton = /*@__PURE__*/proxyCustomElement(EzSplitButton$1, [1,"ez-split-button",{"enabled":[516],"iconName":[513,"icon-name"],"image":[513],"items":[16],"label":[513],"leftTitle":[513,"left-title"],"rightTitle":[513,"right-title"],"mode":[513],"size":[513],"show":[32]},[[2,"click","clickListener"]]]);
131691
+ const EzSplitItem = /*@__PURE__*/proxyCustomElement(SplitItem, [4,"ez-split-item",{"label":[1],"enableExpand":[516,"enable-expand"],"size":[1],"_expanded":[32]}]);
131692
+ const EzSplitPanel = /*@__PURE__*/proxyCustomElement(SplitPanel, [0,"ez-split-panel",{"direction":[1],"anchorToExpand":[4,"anchor-to-expand"]}]);
130800
131693
  const EzTabselector = /*@__PURE__*/proxyCustomElement(EzTabselector$1, [1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32]}]);
130801
131694
  const EzTextArea = /*@__PURE__*/proxyCustomElement(EzTextArea$1, [1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"]}]);
130802
131695
  const EzTextEdit = /*@__PURE__*/proxyCustomElement(EzTextEdit$1, [1,"ez-text-edit",{"value":[1],"styled":[16],"_newValue":[32]}]);
@@ -130848,6 +131741,7 @@ const defineCustomElements = (opts) => {
130848
131741
  EzSearch,
130849
131742
  EzSidebarButton,
130850
131743
  EzSkeleton,
131744
+ EzSplitButton,
130851
131745
  EzSplitItem,
130852
131746
  EzSplitPanel,
130853
131747
  EzTabselector,
@@ -130869,4 +131763,4 @@ const defineCustomElements = (opts) => {
130869
131763
  }
130870
131764
  };
130871
131765
 
130872
- export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSkeleton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };
131766
+ export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSkeleton, EzSplitButton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };