@sankhyalabs/ezui 5.22.0-dev.109 → 5.22.0-dev.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/cjs/{DataBinder-e92314c2.js → DataBinder-c2060474.js} +3 -2
  2. package/dist/cjs/{constants-2714478b.js → constants-569271bc.js} +4 -0
  3. package/dist/cjs/ez-actions-button.cjs.entry.js +2 -2
  4. package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
  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_2.cjs.entry.js +4 -1218
  12. package/dist/cjs/ez-chart.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-collapsible-box.cjs.entry.js +2 -2
  16. package/dist/cjs/ez-combo-box-list_3.cjs.entry.js +4 -4
  17. package/dist/cjs/ez-combo-box.cjs.entry.js +2 -8
  18. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-double-list.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-dropdown_2.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-form-view.cjs.entry.js +15 -8
  26. package/dist/cjs/ez-form.cjs.entry.js +2 -2
  27. package/dist/cjs/ez-grid.cjs.entry.js +161 -21
  28. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-popover-plus_3.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  40. package/dist/cjs/ez-scroller_2.cjs.entry.js +1 -1
  41. package/dist/cjs/ez-search-plus.cjs.entry.js +369 -0
  42. package/dist/cjs/ez-search-result-list.cjs.entry.js +98 -0
  43. package/dist/cjs/ez-search.cjs.entry.js +3 -3
  44. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-split-button.cjs.entry.js +1 -1
  46. package/dist/cjs/ez-split-item.cjs.entry.js +2 -2
  47. package/dist/cjs/ez-split-panel.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  49. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  50. package/dist/cjs/ez-text-input.cjs.entry.js +21 -88
  51. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  52. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  53. package/dist/cjs/ez-tooltip.cjs.entry.js +105 -30
  54. package/dist/cjs/ez-tree.cjs.entry.js +1 -1
  55. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  57. package/dist/cjs/ezui.cjs.js +2 -2
  58. package/dist/cjs/filter-column.cjs.entry.js +1 -1
  59. package/dist/cjs/floating-ui.dom.esm-017acce4.js +1404 -0
  60. package/dist/cjs/{index-9e5554cb.js → index-a7b0c73d.js} +8 -3
  61. package/dist/cjs/loader.cjs.js +2 -2
  62. package/dist/cjs/{ICustomRender-6fafffce.js → types-6a5df0c7.js} +8 -0
  63. package/dist/collection/collection-manifest.json +12 -0
  64. package/dist/collection/components/ez-combo-box/ez-combo-box.js +1 -8
  65. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +3 -1
  66. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.js +6 -0
  67. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +92 -8
  68. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +21 -4
  69. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +31 -7
  70. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +2 -0
  71. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.js +15 -0
  72. package/dist/collection/components/ez-search-plus/ez-search-plus.css +373 -0
  73. package/dist/collection/components/ez-search-plus/ez-search-plus.js +952 -0
  74. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.css +227 -0
  75. package/dist/collection/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.js +279 -0
  76. package/dist/collection/components/ez-text-input/ez-text-input.css +18 -2
  77. package/dist/collection/components/ez-text-input/ez-text-input.js +39 -60
  78. package/dist/collection/components/ez-tooltip/ez-tooltip.css +52 -12
  79. package/dist/collection/components/ez-tooltip/ez-tooltip.js +217 -46
  80. package/dist/collection/utils/constants.js +2 -0
  81. package/dist/collection/utils/form/DataBinder.js +3 -2
  82. package/dist/collection/utils/index.js +1 -0
  83. package/dist/collection/utils/search/types.js +7 -0
  84. package/dist/custom-elements/index.d.ts +12 -0
  85. package/dist/custom-elements/index.js +942 -148
  86. package/dist/esm/{DataBinder-9c877244.js → DataBinder-89946126.js} +3 -2
  87. package/dist/esm/constants-b036528f.js +7 -0
  88. package/dist/esm/ez-actions-button.entry.js +2 -2
  89. package/dist/esm/ez-alert-list.entry.js +1 -1
  90. package/dist/esm/ez-alert.entry.js +1 -1
  91. package/dist/esm/ez-application.entry.js +1 -1
  92. package/dist/esm/ez-badge.entry.js +1 -1
  93. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  94. package/dist/esm/ez-button.entry.js +1 -1
  95. package/dist/esm/ez-calendar.entry.js +1 -1
  96. package/dist/esm/ez-card-item_2.entry.js +2 -1216
  97. package/dist/esm/ez-chart.entry.js +1 -1
  98. package/dist/esm/ez-check.entry.js +1 -1
  99. package/dist/esm/ez-chip.entry.js +1 -1
  100. package/dist/esm/ez-collapsible-box.entry.js +2 -2
  101. package/dist/esm/ez-combo-box-list_3.entry.js +3 -3
  102. package/dist/esm/ez-combo-box.entry.js +2 -8
  103. package/dist/esm/ez-date-input.entry.js +1 -1
  104. package/dist/esm/ez-date-time-input.entry.js +1 -1
  105. package/dist/esm/ez-dialog.entry.js +1 -1
  106. package/dist/esm/ez-double-list.entry.js +1 -1
  107. package/dist/esm/ez-dropdown_2.entry.js +1 -1
  108. package/dist/esm/ez-file-item.entry.js +1 -1
  109. package/dist/esm/ez-filter-input.entry.js +1 -1
  110. package/dist/esm/ez-form-view.entry.js +16 -9
  111. package/dist/esm/ez-form.entry.js +2 -2
  112. package/dist/esm/ez-grid.entry.js +160 -20
  113. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  114. package/dist/esm/ez-icon.entry.js +1 -1
  115. package/dist/esm/ez-list.entry.js +1 -1
  116. package/dist/esm/ez-loading-bar.entry.js +1 -1
  117. package/dist/esm/ez-modal-container.entry.js +1 -1
  118. package/dist/esm/ez-modal.entry.js +1 -1
  119. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  120. package/dist/esm/ez-number-input.entry.js +1 -1
  121. package/dist/esm/ez-popover-plus_3.entry.js +1 -1
  122. package/dist/esm/ez-popover.entry.js +1 -1
  123. package/dist/esm/ez-popup.entry.js +1 -1
  124. package/dist/esm/ez-radio-button.entry.js +1 -1
  125. package/dist/esm/ez-scroller_2.entry.js +1 -1
  126. package/dist/esm/ez-search-plus.entry.js +365 -0
  127. package/dist/esm/ez-search-result-list.entry.js +94 -0
  128. package/dist/esm/ez-search.entry.js +3 -3
  129. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  130. package/dist/esm/ez-split-button.entry.js +1 -1
  131. package/dist/esm/ez-split-item.entry.js +2 -2
  132. package/dist/esm/ez-split-panel.entry.js +1 -1
  133. package/dist/esm/ez-tabselector.entry.js +1 -1
  134. package/dist/esm/ez-text-area.entry.js +1 -1
  135. package/dist/esm/ez-text-input.entry.js +21 -88
  136. package/dist/esm/ez-time-input.entry.js +1 -1
  137. package/dist/esm/ez-toast.entry.js +1 -1
  138. package/dist/esm/ez-tooltip.entry.js +105 -30
  139. package/dist/esm/ez-tree.entry.js +1 -1
  140. package/dist/esm/ez-upload.entry.js +1 -1
  141. package/dist/esm/ez-view-stack.entry.js +1 -1
  142. package/dist/esm/ezui.js +3 -3
  143. package/dist/esm/filter-column.entry.js +1 -1
  144. package/dist/esm/floating-ui.dom.esm-5d3da819.js +1398 -0
  145. package/dist/esm/{index-5a720e56.js → index-baa5e267.js} +9 -3
  146. package/dist/esm/loader.js +3 -3
  147. package/dist/esm/{ICustomRender-875b5a40.js → types-6f6b2650.js} +9 -1
  148. package/dist/ezui/ezui.esm.js +1 -1
  149. package/dist/ezui/{p-e6b38ade.entry.js → p-0306dff7.entry.js} +1 -1
  150. package/dist/ezui/{p-91ccae0c.entry.js → p-09de35a2.entry.js} +1 -1
  151. package/dist/ezui/{p-1f7241cd.entry.js → p-0bffeffc.entry.js} +1 -1
  152. package/dist/ezui/{p-88c615f0.entry.js → p-0fa52b0f.entry.js} +1 -1
  153. package/dist/ezui/{p-c96fbbef.entry.js → p-17de16e5.entry.js} +1 -1
  154. package/dist/ezui/p-1a060042.entry.js +1 -0
  155. package/dist/ezui/{p-81461d2f.entry.js → p-1e7a8633.entry.js} +1 -1
  156. package/dist/ezui/{p-a8c7473b.entry.js → p-1ec8bdd2.entry.js} +46 -46
  157. package/dist/ezui/{p-6b51c9cc.entry.js → p-1f50fa05.entry.js} +1 -1
  158. package/dist/ezui/{p-cf33bc48.entry.js → p-20c024f7.entry.js} +1 -1
  159. package/dist/ezui/{p-e4c7eb39.js → p-23a36bb6.js} +2 -2
  160. package/dist/ezui/{p-a537a117.entry.js → p-248d4f54.entry.js} +1 -1
  161. package/dist/ezui/{p-8f49705f.entry.js → p-2872fd16.entry.js} +1 -1
  162. package/dist/ezui/{p-06f1b8e4.entry.js → p-288631d1.entry.js} +1 -1
  163. package/dist/ezui/{p-ca8936df.entry.js → p-2f45506d.entry.js} +1 -1
  164. package/dist/ezui/p-3176a6ef.entry.js +1 -0
  165. package/dist/ezui/{p-23dab72f.entry.js → p-31b71e50.entry.js} +1 -1
  166. package/dist/ezui/{p-0378416a.entry.js → p-44caad9a.entry.js} +1 -1
  167. package/dist/ezui/{p-b8b5e643.entry.js → p-4e0628a7.entry.js} +1 -1
  168. package/dist/ezui/{p-7567ccdd.entry.js → p-555c9018.entry.js} +1 -1
  169. package/dist/ezui/{p-9066b0b0.entry.js → p-56fe5341.entry.js} +1 -1
  170. package/dist/ezui/p-5895e687.js +1 -0
  171. package/dist/ezui/p-5a14f506.entry.js +1 -0
  172. package/dist/ezui/{p-044d46d5.entry.js → p-5b205c80.entry.js} +1 -1
  173. package/dist/ezui/{p-33b720aa.entry.js → p-5ec0ae79.entry.js} +1 -1
  174. package/dist/ezui/{p-6fc26622.entry.js → p-5ed81457.entry.js} +1 -1
  175. package/dist/ezui/p-5eea9886.js +1 -0
  176. package/dist/ezui/{p-fc194825.entry.js → p-6e429cff.entry.js} +1 -1
  177. package/dist/ezui/{p-11bfeca3.entry.js → p-77a4bd35.entry.js} +1 -1
  178. package/dist/ezui/{p-2069c78a.entry.js → p-7e677b7b.entry.js} +1 -1
  179. package/dist/ezui/{p-e18d9e6a.entry.js → p-7fdd479f.entry.js} +1 -1
  180. package/dist/ezui/p-81145609.entry.js +1 -0
  181. package/dist/ezui/{p-e6ebc6a9.entry.js → p-84b1c99e.entry.js} +1 -1
  182. package/dist/ezui/{p-22ea800a.entry.js → p-8ac8093c.entry.js} +1 -1
  183. package/dist/ezui/{p-82fa4b09.entry.js → p-8df1ca33.entry.js} +1 -1
  184. package/dist/ezui/p-9142b27a.entry.js +1 -0
  185. package/dist/ezui/p-9567b31a.entry.js +1 -0
  186. package/dist/ezui/{p-017aafe1.entry.js → p-9f22e1dc.entry.js} +1 -1
  187. package/dist/ezui/{p-c2b20f78.entry.js → p-9f5fa3f9.entry.js} +1 -1
  188. package/dist/ezui/{p-0cfbbe82.entry.js → p-a4cee65d.entry.js} +1 -1
  189. package/dist/ezui/{p-acddfb2e.js → p-a64cfcfc.js} +1 -1
  190. package/dist/ezui/{p-dfca5946.entry.js → p-a80b1287.entry.js} +1 -1
  191. package/dist/ezui/p-bc2f844e.entry.js +1 -0
  192. package/dist/ezui/p-bf9dec89.entry.js +1 -0
  193. package/dist/ezui/{p-92748142.entry.js → p-c0d9c4f8.entry.js} +1 -1
  194. package/dist/ezui/{p-4818b8ce.entry.js → p-c1527804.entry.js} +1 -1
  195. package/dist/ezui/p-c5df78be.entry.js +1 -0
  196. package/dist/ezui/{p-a79f3789.entry.js → p-cd07f8be.entry.js} +1 -1
  197. package/dist/ezui/{p-708b196e.entry.js → p-da1b4a38.entry.js} +1 -1
  198. package/dist/ezui/{p-c7035d65.entry.js → p-dc73e1fe.entry.js} +1 -1
  199. package/dist/ezui/{p-2f351332.entry.js → p-e06a9886.entry.js} +1 -1
  200. package/dist/ezui/p-e07e4671.js +1 -0
  201. package/dist/ezui/{p-1bb62d6b.entry.js → p-e3544d23.entry.js} +1 -1
  202. package/dist/ezui/{p-9e95bfeb.entry.js → p-e6a9041d.entry.js} +1 -1
  203. package/dist/ezui/{p-000159dc.entry.js → p-e75c7a23.entry.js} +1 -1
  204. package/dist/ezui/{p-68b2e579.entry.js → p-ea54d056.entry.js} +1 -1
  205. package/dist/ezui/{p-ba25a351.entry.js → p-ecaac11f.entry.js} +1 -1
  206. package/dist/ezui/{p-9e45446f.entry.js → p-f4861c6a.entry.js} +1 -1
  207. package/dist/ezui/{p-3eaa0f67.entry.js → p-f5a30e35.entry.js} +1 -1
  208. package/dist/ezui/{p-44b39e81.entry.js → p-fa6732f2.entry.js} +1 -1
  209. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +0 -2
  210. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInputPlus.tpl.d.ts +2 -0
  211. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +4 -0
  212. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +5 -0
  213. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +1 -0
  214. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +1 -0
  215. package/dist/types/components/ez-grid/controller/ag-grid/editor/templates/SearchPlus.tpl.d.ts +3 -0
  216. package/dist/types/components/ez-search-plus/ez-search-plus.d.ts +184 -0
  217. package/dist/types/components/ez-search-plus/subcomponent/ez-search-result-list/ez-search-result-list.d.ts +26 -0
  218. package/dist/types/components/ez-text-input/ez-text-input.d.ts +6 -9
  219. package/dist/types/components/ez-tooltip/ez-tooltip.d.ts +37 -5
  220. package/dist/types/components.d.ts +330 -12
  221. package/dist/types/utils/constants.d.ts +2 -0
  222. package/dist/types/utils/index.d.ts +1 -0
  223. package/dist/types/utils/search/types.d.ts +12 -0
  224. package/package.json +2 -2
  225. package/react/components.d.ts +62 -60
  226. package/react/components.js +2 -0
  227. package/react/components.js.map +1 -1
  228. package/react/react-component-lib/createComponent.d.ts +1 -1
  229. package/react/react-component-lib/createComponent.js.map +1 -1
  230. package/react/react-component-lib/createOverlayComponent.js.map +1 -1
  231. package/react/react-component-lib/interfaces.js +1 -0
  232. package/react/react-component-lib/utils/attachProps.d.ts +1 -1
  233. package/react/react-component-lib/utils/attachProps.js.map +1 -1
  234. package/react/react-component-lib/utils/dev.js.map +1 -1
  235. package/react/react-component-lib/utils/index.d.ts +2 -2
  236. package/react/react-component-lib/utils/index.js.map +1 -1
  237. package/dist/collection/utils/ResponsiveInputUtils.js +0 -26
  238. package/dist/esm/constants-4e0d35b7.js +0 -5
  239. package/dist/ezui/p-05e1f4e7.js +0 -1
  240. package/dist/ezui/p-0cd9d4ec.entry.js +0 -1
  241. package/dist/ezui/p-37c840e8.entry.js +0 -1
  242. package/dist/ezui/p-4607fb89.js +0 -1
  243. package/dist/ezui/p-6d8b3298.entry.js +0 -1
  244. package/dist/ezui/p-6ec40dec.entry.js +0 -1
  245. package/dist/ezui/p-7ebbee50.entry.js +0 -1
  246. package/dist/ezui/p-e3f8660b.entry.js +0 -1
  247. package/dist/ezui/p-ede42942.entry.js +0 -1
  248. package/dist/types/utils/ResponsiveInputUtils.d.ts +0 -6
@@ -0,0 +1,952 @@
1
+ import { h, Host, } from "@stencil/core";
2
+ import { ElementIDUtils, KeyboardManager, StringUtils, } from "@sankhyalabs/core";
3
+ import { CSSVarsUtils, SearchMode } from "../../utils";
4
+ export class EzSearchPlus {
5
+ constructor() {
6
+ this.SEARCH_DESCRIPTION_TIMEOUT = 300;
7
+ this.INTERVAL_TO_RETRY_ASYNC_VALUE = 100;
8
+ this.value = undefined;
9
+ this.enabled = true;
10
+ this.disableCodeInput = false;
11
+ this.disableDescriptionInput = false;
12
+ this.label = undefined;
13
+ this.codLabel = undefined;
14
+ this.hideDescriptionInput = false;
15
+ this.canShowError = true;
16
+ this.errorMessage = undefined;
17
+ this.mode = "regular";
18
+ this.contextProperties = undefined;
19
+ this.optionLoader = undefined;
20
+ this.showOptionValue = true;
21
+ this.stopPropagateEnterKeyEvent = false;
22
+ this.autoFocus = false;
23
+ this.showSelectedValue = true;
24
+ this.suppressEmptyOption = false;
25
+ this.hideErrorOnFocusOut = true;
26
+ this.listOptionsPosition = undefined;
27
+ this.isTextSearch = false;
28
+ this.ignoreLimitCharsToSearch = false;
29
+ this.suppressSearch = false;
30
+ this.suppressPreLoad = true;
31
+ this.ensureClearButtonVisible = false;
32
+ this.descriptionValue = "";
33
+ this.codeValue = "";
34
+ this.isLoadingDescription = false;
35
+ this.searchDescriptionIsOpen = false;
36
+ this.visibleOptions = undefined;
37
+ this.showLoading = true;
38
+ }
39
+ async observeValue(newValue, oldValue) {
40
+ const newNormalizedValue = this.normalizeValueToCodeValue(newValue);
41
+ const oldNormalizedValue = this.normalizeValueToCodeValue(oldValue);
42
+ if (newNormalizedValue == oldNormalizedValue)
43
+ return;
44
+ if (newNormalizedValue == undefined) {
45
+ this.codeValue = undefined;
46
+ this.descriptionValue = undefined;
47
+ this.ezChange.emit(undefined);
48
+ return;
49
+ }
50
+ this.codeValue = newNormalizedValue;
51
+ try {
52
+ this.descriptionValue = await this.normalizeCodeToDescriptionValue(newValue);
53
+ }
54
+ catch (err) {
55
+ this.value = undefined;
56
+ console.warn("[EzSearchPlus] Erro ao obter descrição do registro.", err);
57
+ throw err;
58
+ }
59
+ this.ezChange.emit(this.buildCurrentValue());
60
+ }
61
+ canShowLoadSpinDescription() {
62
+ return this.isLoadingDescription;
63
+ }
64
+ /**
65
+ * Aplica o foco no campo.
66
+ */
67
+ async setFocus(options) {
68
+ var _a;
69
+ if (this.disableCodeInput) {
70
+ (_a = this._textInputDescriptionValue) === null || _a === void 0 ? void 0 : _a.setFocus(options);
71
+ return;
72
+ }
73
+ if (this._latestFocusedInputElement) {
74
+ this._latestFocusedInputElement.setFocus(options);
75
+ return;
76
+ }
77
+ this._textInputCodeValue.setFocus(options);
78
+ }
79
+ /**
80
+ * Obtém o valor do componente só após a compo de apresentação
81
+ * ter sido resolvido pelo option loader quando necessário
82
+ */
83
+ async getValueAsync() {
84
+ if (!this.isLoadingDescription) {
85
+ const currentOpt = this.buildCurrentValue();
86
+ return new Promise(resolve => resolve(currentOpt));
87
+ }
88
+ return new Promise(resolve => {
89
+ let id = setInterval(() => {
90
+ if (!this.isLoadingDescription) {
91
+ clearInterval(id);
92
+ const currentOpt = this.buildCurrentValue();
93
+ resolve(currentOpt);
94
+ }
95
+ }, this.INTERVAL_TO_RETRY_ASYNC_VALUE);
96
+ });
97
+ }
98
+ /**
99
+ * Limpa o valor do campo de pesquisa
100
+ */
101
+ async clearValue() {
102
+ this.clearSearch();
103
+ }
104
+ /**
105
+ * Remove o foco do campo.
106
+ */
107
+ async setBlur() {
108
+ var _a, _b;
109
+ (_a = this._textInputCodeValue) === null || _a === void 0 ? void 0 : _a.setBlur();
110
+ (_b = this._textInputDescriptionValue) === null || _b === void 0 ? void 0 : _b.setBlur();
111
+ }
112
+ /**
113
+ * Retorna se o conteúdo é inválido.
114
+ */
115
+ async isInvalid() {
116
+ return typeof this.errorMessage === "string" && this.errorMessage.trim() !== "";
117
+ }
118
+ componentWillLoad() {
119
+ if (this.value && StringUtils.isEmpty(this.codeValue)) {
120
+ this.observeValue(this.value, undefined);
121
+ }
122
+ }
123
+ componentDidLoad() {
124
+ CSSVarsUtils.applyVarsTextInput(this.el, this._textInputCodeValue);
125
+ CSSVarsUtils.applyVarsTextInput(this.el, this._textInputDescriptionValue);
126
+ this.initKeyboardManager();
127
+ if (this.autoFocus) {
128
+ requestAnimationFrame(() => {
129
+ this.setFocus({ selectText: true });
130
+ });
131
+ }
132
+ }
133
+ clearSearch() {
134
+ this.value = null;
135
+ }
136
+ getCodLabel() {
137
+ var _a;
138
+ if (this.hideDescriptionInput) {
139
+ return this.label;
140
+ }
141
+ return (_a = this.codLabel) !== null && _a !== void 0 ? _a : "Cód.";
142
+ }
143
+ async normalizeCodeToDescriptionValue(valueToNormalize) {
144
+ if (!valueToNormalize) {
145
+ return "";
146
+ }
147
+ if (typeof valueToNormalize == 'string') {
148
+ try {
149
+ valueToNormalize = JSON.parse(valueToNormalize);
150
+ if ((valueToNormalize === null || valueToNormalize === void 0 ? void 0 : valueToNormalize.value) && !(valueToNormalize === null || valueToNormalize === void 0 ? void 0 : valueToNormalize.label)) {
151
+ return await this.loadDescriptionValueByCode(valueToNormalize === null || valueToNormalize === void 0 ? void 0 : valueToNormalize.value);
152
+ }
153
+ }
154
+ catch (e) {
155
+ return await this.loadDescriptionValueByCode(valueToNormalize);
156
+ }
157
+ }
158
+ //Se é diferente de objeto, temos que resolver a descrição
159
+ if (typeof valueToNormalize != 'object') {
160
+ return await this.loadDescriptionValueByCode(valueToNormalize);
161
+ }
162
+ return valueToNormalize === null || valueToNormalize === void 0 ? void 0 : valueToNormalize.label;
163
+ }
164
+ normalizeValueToCodeValue(valueToNormalize) {
165
+ if (!valueToNormalize) {
166
+ return undefined;
167
+ }
168
+ if (typeof valueToNormalize == 'string') {
169
+ try {
170
+ valueToNormalize = JSON.parse(valueToNormalize);
171
+ }
172
+ catch (e) {
173
+ return valueToNormalize;
174
+ }
175
+ }
176
+ if (typeof valueToNormalize != 'object') {
177
+ return valueToNormalize;
178
+ }
179
+ return valueToNormalize === null || valueToNormalize === void 0 ? void 0 : valueToNormalize.value;
180
+ }
181
+ async loadDescriptionValueByCode(codeValue) {
182
+ if (!this.optionLoader) {
183
+ console.warn("optionLoader não definido");
184
+ return "";
185
+ }
186
+ try {
187
+ this.isLoadingDescription = true;
188
+ const searchArgument = { mode: SearchMode.LOAD_DESCRIPTION, argument: codeValue };
189
+ const loadedOption = await this.optionLoader(searchArgument);
190
+ if (!loadedOption) {
191
+ return "";
192
+ }
193
+ return loadedOption.label;
194
+ }
195
+ finally {
196
+ this.isLoadingDescription = false;
197
+ }
198
+ }
199
+ handleCodeInputFocusOut() {
200
+ this.cancelSelection();
201
+ if (this.codeValue == this._textInputCodeValue.value)
202
+ return;
203
+ this.value = this._textInputCodeValue.value;
204
+ }
205
+ handleSearchClick() {
206
+ this.loadAdvancedSearch();
207
+ }
208
+ async loadAdvancedSearch() {
209
+ if (!this.optionLoader) {
210
+ console.warn("optionLoader não definido");
211
+ return;
212
+ }
213
+ const searchArgument = { mode: SearchMode.ADVANCED, argument: "" };
214
+ let selectedItem = undefined;
215
+ try {
216
+ selectedItem = await this.optionLoader(searchArgument, this.contextProperties);
217
+ }
218
+ catch (ignore) { }
219
+ if (!selectedItem)
220
+ return;
221
+ this.value = selectedItem;
222
+ }
223
+ buildCurrentValue() {
224
+ if (StringUtils.isEmpty(this.codeValue)) {
225
+ return undefined;
226
+ }
227
+ return {
228
+ value: this.codeValue,
229
+ label: this.descriptionValue
230
+ };
231
+ }
232
+ async handleTextInputChangeHandler(event) {
233
+ if (!this.searchDescriptionIsOpen) {
234
+ this._popover.show();
235
+ }
236
+ const argument = event.target.value;
237
+ await this.debounceLoaderOptions(argument);
238
+ }
239
+ async debounceLoaderOptions(argument) {
240
+ if (this._debounceSearch)
241
+ clearTimeout(this._debounceSearch);
242
+ return new Promise((resolve) => {
243
+ this._debounceSearch = setTimeout(async () => {
244
+ await this.processOptionsLoader(argument);
245
+ resolve();
246
+ }, this.SEARCH_DESCRIPTION_TIMEOUT);
247
+ });
248
+ }
249
+ async processOptionsLoader(argument) {
250
+ try {
251
+ this.showLoading = true;
252
+ const searchArgument = { mode: SearchMode.PREDICTIVE, argument };
253
+ this.visibleOptions = await this.optionLoader(searchArgument);
254
+ }
255
+ finally {
256
+ this.showLoading = false;
257
+ }
258
+ }
259
+ handleSelectItem(evt) {
260
+ const currentOpt = evt.detail;
261
+ this.value = currentOpt;
262
+ this._popover.hide();
263
+ window.requestAnimationFrame(() => {
264
+ var _a;
265
+ (_a = this._textInputDescriptionValue) === null || _a === void 0 ? void 0 : _a.setFocus({ selectText: true });
266
+ });
267
+ }
268
+ async handleArrowUp() {
269
+ if (!this.isOptionsVisible()) {
270
+ return;
271
+ }
272
+ await this._searchList.previousOption();
273
+ }
274
+ async handleArrowDown() {
275
+ if (!this.isOptionsVisible()) {
276
+ return;
277
+ }
278
+ await this._searchList.nextOption();
279
+ }
280
+ async selectCurrentItem() {
281
+ var _a;
282
+ await ((_a = this._searchList) === null || _a === void 0 ? void 0 : _a.selectCurrentItem());
283
+ }
284
+ async cancelSelection() {
285
+ var _a, _b, _c, _d;
286
+ if (this._textInputDescriptionValue && this._textInputDescriptionValue.value != ((_a = this.value) === null || _a === void 0 ? void 0 : _a.label)) {
287
+ this._textInputDescriptionValue.value = (_b = this.value) === null || _b === void 0 ? void 0 : _b.label;
288
+ }
289
+ await ((_c = this._searchList) === null || _c === void 0 ? void 0 : _c.cancelSelection());
290
+ (_d = this._popover) === null || _d === void 0 ? void 0 : _d.hide();
291
+ }
292
+ async handleInputTab() {
293
+ await this.cancelSelection();
294
+ }
295
+ async handleInputEsc() {
296
+ var _a;
297
+ await this.cancelSelection();
298
+ await ((_a = this._latestFocusedInputElement) === null || _a === void 0 ? void 0 : _a.setFocus({ selectText: true }));
299
+ }
300
+ async initKeyboardManager() {
301
+ this._keyboardManager = new KeyboardManager();
302
+ const opts = { element: this.el, propagate: true };
303
+ this._keyboardManager
304
+ .bind("ArrowUp", () => this.handleArrowUp(), opts)
305
+ .bind("ArrowDown", () => this.handleArrowDown(), opts)
306
+ .bind("Enter", () => this.selectCurrentItem(), opts)
307
+ .bind("Tab", () => this.handleInputTab(), opts)
308
+ .bind("Escape", () => this.handleInputEsc(), opts);
309
+ }
310
+ disconnectedCallback() {
311
+ this._keyboardManager
312
+ .unbind("ArrowUp")
313
+ .unbind("ArrowDown")
314
+ .unbind("Enter")
315
+ .unbind("Tab")
316
+ .unbind("Escape");
317
+ }
318
+ isOptionsVisible() {
319
+ return this._popover.opened;
320
+ }
321
+ setLatestFocusedInputElement(el) {
322
+ this._latestFocusedInputElement = el;
323
+ }
324
+ handleCodeInputFocus() {
325
+ this.setLatestFocusedInputElement(this._textInputCodeValue);
326
+ }
327
+ handleDescriptionInputFocus() {
328
+ this.setLatestFocusedInputElement(this._textInputDescriptionValue);
329
+ }
330
+ getRightIconElement() {
331
+ var _a, _b;
332
+ if (!this.ensureClearButtonVisible && (!this.value && !((_a = this._textInputCodeValue) === null || _a === void 0 ? void 0 : _a.value) && !((_b = this._textInputDescriptionValue) === null || _b === void 0 ? void 0 : _b.value))) {
333
+ return null;
334
+ }
335
+ return h("button", { class: "btn btn__close", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }));
336
+ }
337
+ getLeftIconElement() {
338
+ return h("button", { class: "btn", slot: "leftIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handleSearchClick() }, this.canShowLoadSpinDescription() ? h("div", { class: "message__loading" }) : h("ez-icon", { iconName: "search" }));
339
+ }
340
+ render() {
341
+ ElementIDUtils.addIDInfoIfNotExists(this.el, 'input');
342
+ return (h(Host, null, h("div", { class: "ez-search-plus__container" }, h("ez-text-input", { ref: elem => this._textInputCodeValue = elem, class: {
343
+ "ez-search-plus__code-input": true,
344
+ "ez-search-plus__code-input-no-border": !this.hideDescriptionInput,
345
+ "ez-search-plus__code-input-full": this.hideDescriptionInput
346
+ }, "data-element-id": ElementIDUtils.getInternalIDInfo("codeInput"), "data-slave-mode": "true", enabled: !this.disableCodeInput && this.enabled, mode: this.mode, label: this.getCodLabel(), hasInvalid: !StringUtils.isEmpty(this.errorMessage), errorMessage: this.hideDescriptionInput ? this.errorMessage : "", value: this.codeValue, onFocusout: () => this.handleCodeInputFocusOut(), onFocus: () => this.handleCodeInputFocus() }, this.getLeftIconElement()), !this.hideDescriptionInput && h("div", { class: "description-input-container" }, h("ez-text-input", { ref: elem => this._textInputDescriptionValue = elem, tabIndex: -1, class: "ez-search-plus__text-input", "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), "data-slave-mode": "true", enabled: !this.disableDescriptionInput && this.enabled, label: this.label, canShowError: this.canShowError, errorMessage: this.errorMessage, mode: this.mode, value: this.descriptionValue, onInput: event => this.handleTextInputChangeHandler(event), onFocus: () => this.handleDescriptionInputFocus() }, this.getRightIconElement()), h("ez-popover-plus", { ref: elem => this._popover = elem, anchorElement: this._textInputDescriptionValue, autoClose: true, boxWidth: 'fit-content', overlayType: 'none', useAnchorSize: true, onEzVisibilityChange: event => this.searchDescriptionIsOpen = event.detail }, h("ez-search-result-list", { ref: (ref) => this._searchList = ref, showLoading: this.showLoading, visibleOptions: this.visibleOptions, value: this.value, showOptionValue: this.showOptionValue, onChangeValue: (evt) => this.handleSelectItem(evt) }))))));
347
+ }
348
+ static get is() { return "ez-search-plus"; }
349
+ static get encapsulation() { return "shadow"; }
350
+ static get originalStyleUrls() {
351
+ return {
352
+ "$": ["ez-search-plus.css"]
353
+ };
354
+ }
355
+ static get styleUrls() {
356
+ return {
357
+ "$": ["ez-search-plus.css"]
358
+ };
359
+ }
360
+ static get properties() {
361
+ return {
362
+ "value": {
363
+ "type": "any",
364
+ "mutable": true,
365
+ "complexType": {
366
+ "original": "IOption | any",
367
+ "resolved": "any",
368
+ "references": {
369
+ "IOption": {
370
+ "location": "local"
371
+ }
372
+ }
373
+ },
374
+ "required": false,
375
+ "optional": false,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "Define o valor do campo."
379
+ },
380
+ "attribute": "value",
381
+ "reflect": true
382
+ },
383
+ "enabled": {
384
+ "type": "boolean",
385
+ "mutable": true,
386
+ "complexType": {
387
+ "original": "boolean",
388
+ "resolved": "boolean",
389
+ "references": {}
390
+ },
391
+ "required": false,
392
+ "optional": false,
393
+ "docs": {
394
+ "tags": [],
395
+ "text": "Se false o usu\u00E1rio n\u00E3o pode interagir com o campo."
396
+ },
397
+ "attribute": "enabled",
398
+ "reflect": true,
399
+ "defaultValue": "true"
400
+ },
401
+ "disableCodeInput": {
402
+ "type": "boolean",
403
+ "mutable": true,
404
+ "complexType": {
405
+ "original": "boolean",
406
+ "resolved": "boolean",
407
+ "references": {}
408
+ },
409
+ "required": false,
410
+ "optional": false,
411
+ "docs": {
412
+ "tags": [],
413
+ "text": "Se true o campo de c\u00F3digo ficara desabilitado."
414
+ },
415
+ "attribute": "disable-code-input",
416
+ "reflect": true,
417
+ "defaultValue": "false"
418
+ },
419
+ "disableDescriptionInput": {
420
+ "type": "boolean",
421
+ "mutable": true,
422
+ "complexType": {
423
+ "original": "boolean",
424
+ "resolved": "boolean",
425
+ "references": {}
426
+ },
427
+ "required": false,
428
+ "optional": false,
429
+ "docs": {
430
+ "tags": [],
431
+ "text": "Se true o campo de de apresenta\u00E7\u00E3o ficara desabilitado."
432
+ },
433
+ "attribute": "disable-description-input",
434
+ "reflect": true,
435
+ "defaultValue": "false"
436
+ },
437
+ "label": {
438
+ "type": "string",
439
+ "mutable": true,
440
+ "complexType": {
441
+ "original": "string",
442
+ "resolved": "string",
443
+ "references": {}
444
+ },
445
+ "required": false,
446
+ "optional": false,
447
+ "docs": {
448
+ "tags": [],
449
+ "text": "Texto a ser apresentado como t\u00EDtulo do campo."
450
+ },
451
+ "attribute": "label",
452
+ "reflect": true
453
+ },
454
+ "codLabel": {
455
+ "type": "string",
456
+ "mutable": true,
457
+ "complexType": {
458
+ "original": "string",
459
+ "resolved": "string",
460
+ "references": {}
461
+ },
462
+ "required": false,
463
+ "optional": false,
464
+ "docs": {
465
+ "tags": [],
466
+ "text": "Texto a ser apresentado no input de c\u00F3digo."
467
+ },
468
+ "attribute": "cod-label",
469
+ "reflect": true
470
+ },
471
+ "hideDescriptionInput": {
472
+ "type": "boolean",
473
+ "mutable": true,
474
+ "complexType": {
475
+ "original": "boolean",
476
+ "resolved": "boolean",
477
+ "references": {}
478
+ },
479
+ "required": false,
480
+ "optional": false,
481
+ "docs": {
482
+ "tags": [],
483
+ "text": "Se true o campo de de apresenta\u00E7\u00E3o n\u00E3o ser\u00E1 exibido."
484
+ },
485
+ "attribute": "hide-description-input",
486
+ "reflect": true,
487
+ "defaultValue": "false"
488
+ },
489
+ "canShowError": {
490
+ "type": "boolean",
491
+ "mutable": false,
492
+ "complexType": {
493
+ "original": "boolean",
494
+ "resolved": "boolean",
495
+ "references": {}
496
+ },
497
+ "required": false,
498
+ "optional": false,
499
+ "docs": {
500
+ "tags": [],
501
+ "text": "Se false deixa de exibir a mensagem de erro dentro do campo."
502
+ },
503
+ "attribute": "can-show-error",
504
+ "reflect": true,
505
+ "defaultValue": "true"
506
+ },
507
+ "errorMessage": {
508
+ "type": "string",
509
+ "mutable": true,
510
+ "complexType": {
511
+ "original": "string",
512
+ "resolved": "string",
513
+ "references": {}
514
+ },
515
+ "required": false,
516
+ "optional": false,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": "Define uma mensagem de orienta\u00E7\u00E3o ao usu\u00E1rio, colocando o campo em modo inv\u00E1lido."
520
+ },
521
+ "attribute": "error-message",
522
+ "reflect": true
523
+ },
524
+ "mode": {
525
+ "type": "string",
526
+ "mutable": false,
527
+ "complexType": {
528
+ "original": "\"slim\" | \"regular\"",
529
+ "resolved": "\"regular\" | \"slim\"",
530
+ "references": {}
531
+ },
532
+ "required": false,
533
+ "optional": false,
534
+ "docs": {
535
+ "tags": [],
536
+ "text": "Define o tamanho do campo."
537
+ },
538
+ "attribute": "mode",
539
+ "reflect": true,
540
+ "defaultValue": "\"regular\""
541
+ },
542
+ "contextProperties": {
543
+ "type": "any",
544
+ "mutable": false,
545
+ "complexType": {
546
+ "original": "any",
547
+ "resolved": "any",
548
+ "references": {}
549
+ },
550
+ "required": false,
551
+ "optional": true,
552
+ "docs": {
553
+ "tags": [],
554
+ "text": "Propriedades de contexto da aplica\u00E7\u00E3o."
555
+ },
556
+ "attribute": "context-properties",
557
+ "reflect": false
558
+ },
559
+ "optionLoader": {
560
+ "type": "unknown",
561
+ "mutable": false,
562
+ "complexType": {
563
+ "original": "OptionLoaderFunction",
564
+ "resolved": "(argument: ISearchArgument, ctxProperties?: any) => IOption | IOption[] | Promise<IOption[]> | Promise<IOption>",
565
+ "references": {
566
+ "OptionLoaderFunction": {
567
+ "location": "local"
568
+ }
569
+ }
570
+ },
571
+ "required": false,
572
+ "optional": false,
573
+ "docs": {
574
+ "tags": [],
575
+ "text": "Carrega as op\u00E7\u00F5es dinamicamente."
576
+ }
577
+ },
578
+ "showOptionValue": {
579
+ "type": "boolean",
580
+ "mutable": false,
581
+ "complexType": {
582
+ "original": "boolean",
583
+ "resolved": "boolean",
584
+ "references": {}
585
+ },
586
+ "required": false,
587
+ "optional": false,
588
+ "docs": {
589
+ "tags": [],
590
+ "text": "Se false cada op\u00E7\u00E3o na lista deve exibir somente o `label`."
591
+ },
592
+ "attribute": "show-option-value",
593
+ "reflect": false,
594
+ "defaultValue": "true"
595
+ },
596
+ "stopPropagateEnterKeyEvent": {
597
+ "type": "boolean",
598
+ "mutable": false,
599
+ "complexType": {
600
+ "original": "boolean",
601
+ "resolved": "boolean",
602
+ "references": {}
603
+ },
604
+ "required": false,
605
+ "optional": false,
606
+ "docs": {
607
+ "tags": [],
608
+ "text": "Se true, interrompe a propaga\u00E7\u00E3o do evento de KeyDown da tecla enter"
609
+ },
610
+ "attribute": "stop-propagate-enter-key-event",
611
+ "reflect": false,
612
+ "defaultValue": "false"
613
+ },
614
+ "autoFocus": {
615
+ "type": "boolean",
616
+ "mutable": false,
617
+ "complexType": {
618
+ "original": "boolean",
619
+ "resolved": "boolean",
620
+ "references": {}
621
+ },
622
+ "required": false,
623
+ "optional": false,
624
+ "docs": {
625
+ "tags": [],
626
+ "text": "Se true o campo de texto receber\u00E1 o foco ao ser renderizado."
627
+ },
628
+ "attribute": "auto-focus",
629
+ "reflect": false,
630
+ "defaultValue": "false"
631
+ },
632
+ "showSelectedValue": {
633
+ "type": "boolean",
634
+ "mutable": false,
635
+ "complexType": {
636
+ "original": "boolean",
637
+ "resolved": "boolean",
638
+ "references": {}
639
+ },
640
+ "required": false,
641
+ "optional": false,
642
+ "docs": {
643
+ "tags": [{
644
+ "name": "deprecated",
645
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
646
+ }],
647
+ "text": ""
648
+ },
649
+ "attribute": "show-selected-value",
650
+ "reflect": false,
651
+ "defaultValue": "true"
652
+ },
653
+ "suppressEmptyOption": {
654
+ "type": "boolean",
655
+ "mutable": false,
656
+ "complexType": {
657
+ "original": "boolean",
658
+ "resolved": "boolean",
659
+ "references": {}
660
+ },
661
+ "required": false,
662
+ "optional": false,
663
+ "docs": {
664
+ "tags": [{
665
+ "name": "deprecated",
666
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
667
+ }],
668
+ "text": ""
669
+ },
670
+ "attribute": "suppress-empty-option",
671
+ "reflect": false,
672
+ "defaultValue": "false"
673
+ },
674
+ "hideErrorOnFocusOut": {
675
+ "type": "boolean",
676
+ "mutable": false,
677
+ "complexType": {
678
+ "original": "boolean",
679
+ "resolved": "boolean",
680
+ "references": {}
681
+ },
682
+ "required": false,
683
+ "optional": false,
684
+ "docs": {
685
+ "tags": [{
686
+ "name": "deprecated",
687
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
688
+ }],
689
+ "text": ""
690
+ },
691
+ "attribute": "hide-error-on-focus-out",
692
+ "reflect": false,
693
+ "defaultValue": "true"
694
+ },
695
+ "listOptionsPosition": {
696
+ "type": "unknown",
697
+ "mutable": false,
698
+ "complexType": {
699
+ "original": "IEzCheckBoxListPosition",
700
+ "resolved": "IEzCheckBoxListPosition",
701
+ "references": {
702
+ "IEzCheckBoxListPosition": {
703
+ "location": "import",
704
+ "path": "../ez-combo-box/ez-combo-box"
705
+ }
706
+ }
707
+ },
708
+ "required": false,
709
+ "optional": false,
710
+ "docs": {
711
+ "tags": [{
712
+ "name": "deprecated",
713
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
714
+ }],
715
+ "text": ""
716
+ }
717
+ },
718
+ "isTextSearch": {
719
+ "type": "boolean",
720
+ "mutable": false,
721
+ "complexType": {
722
+ "original": "boolean",
723
+ "resolved": "boolean",
724
+ "references": {}
725
+ },
726
+ "required": false,
727
+ "optional": false,
728
+ "docs": {
729
+ "tags": [{
730
+ "name": "deprecated",
731
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
732
+ }],
733
+ "text": ""
734
+ },
735
+ "attribute": "is-text-search",
736
+ "reflect": false,
737
+ "defaultValue": "false"
738
+ },
739
+ "ignoreLimitCharsToSearch": {
740
+ "type": "boolean",
741
+ "mutable": false,
742
+ "complexType": {
743
+ "original": "boolean",
744
+ "resolved": "boolean",
745
+ "references": {}
746
+ },
747
+ "required": false,
748
+ "optional": false,
749
+ "docs": {
750
+ "tags": [{
751
+ "name": "deprecated",
752
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
753
+ }],
754
+ "text": ""
755
+ },
756
+ "attribute": "ignore-limit-chars-to-search",
757
+ "reflect": false,
758
+ "defaultValue": "false"
759
+ },
760
+ "suppressSearch": {
761
+ "type": "boolean",
762
+ "mutable": false,
763
+ "complexType": {
764
+ "original": "boolean",
765
+ "resolved": "boolean",
766
+ "references": {}
767
+ },
768
+ "required": false,
769
+ "optional": false,
770
+ "docs": {
771
+ "tags": [{
772
+ "name": "deprecated",
773
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
774
+ }],
775
+ "text": ""
776
+ },
777
+ "attribute": "suppress-search",
778
+ "reflect": false,
779
+ "defaultValue": "false"
780
+ },
781
+ "suppressPreLoad": {
782
+ "type": "boolean",
783
+ "mutable": false,
784
+ "complexType": {
785
+ "original": "boolean",
786
+ "resolved": "boolean",
787
+ "references": {}
788
+ },
789
+ "required": false,
790
+ "optional": false,
791
+ "docs": {
792
+ "tags": [{
793
+ "name": "deprecated",
794
+ "text": "Propriedade depreciada na nova vers\u00E3o do componente de pesquisa."
795
+ }],
796
+ "text": ""
797
+ },
798
+ "attribute": "suppress-pre-load",
799
+ "reflect": false,
800
+ "defaultValue": "true"
801
+ },
802
+ "ensureClearButtonVisible": {
803
+ "type": "boolean",
804
+ "mutable": false,
805
+ "complexType": {
806
+ "original": "boolean",
807
+ "resolved": "boolean",
808
+ "references": {}
809
+ },
810
+ "required": false,
811
+ "optional": false,
812
+ "docs": {
813
+ "tags": [],
814
+ "text": "Garante que o bot\u00E3o de limpar pesquisa est\u00E1 sempre vis\u00EDvel"
815
+ },
816
+ "attribute": "ensure-clear-button-visible",
817
+ "reflect": false,
818
+ "defaultValue": "false"
819
+ }
820
+ };
821
+ }
822
+ static get states() {
823
+ return {
824
+ "descriptionValue": {},
825
+ "codeValue": {},
826
+ "isLoadingDescription": {},
827
+ "searchDescriptionIsOpen": {},
828
+ "visibleOptions": {},
829
+ "showLoading": {}
830
+ };
831
+ }
832
+ static get events() {
833
+ return [{
834
+ "method": "ezChange",
835
+ "name": "ezChange",
836
+ "bubbles": true,
837
+ "cancelable": true,
838
+ "composed": true,
839
+ "docs": {
840
+ "tags": [],
841
+ "text": "Emitido quando acontece a altera\u00E7\u00E3o de valor do campo."
842
+ },
843
+ "complexType": {
844
+ "original": "IOption",
845
+ "resolved": "IOption",
846
+ "references": {
847
+ "IOption": {
848
+ "location": "local"
849
+ }
850
+ }
851
+ }
852
+ }];
853
+ }
854
+ static get methods() {
855
+ return {
856
+ "setFocus": {
857
+ "complexType": {
858
+ "signature": "(options?: TFocusOptions) => Promise<void>",
859
+ "parameters": [{
860
+ "tags": [],
861
+ "text": ""
862
+ }],
863
+ "references": {
864
+ "Promise": {
865
+ "location": "global"
866
+ },
867
+ "TFocusOptions": {
868
+ "location": "import",
869
+ "path": "../ez-text-input/ez-text-input"
870
+ }
871
+ },
872
+ "return": "Promise<void>"
873
+ },
874
+ "docs": {
875
+ "text": "Aplica o foco no campo.",
876
+ "tags": []
877
+ }
878
+ },
879
+ "getValueAsync": {
880
+ "complexType": {
881
+ "signature": "() => Promise<unknown>",
882
+ "parameters": [],
883
+ "references": {
884
+ "Promise": {
885
+ "location": "global"
886
+ }
887
+ },
888
+ "return": "Promise<unknown>"
889
+ },
890
+ "docs": {
891
+ "text": "Obt\u00E9m o valor do componente s\u00F3 ap\u00F3s a compo de apresenta\u00E7\u00E3o \nter sido resolvido pelo option loader quando necess\u00E1rio",
892
+ "tags": []
893
+ }
894
+ },
895
+ "clearValue": {
896
+ "complexType": {
897
+ "signature": "() => Promise<void>",
898
+ "parameters": [],
899
+ "references": {
900
+ "Promise": {
901
+ "location": "global"
902
+ }
903
+ },
904
+ "return": "Promise<void>"
905
+ },
906
+ "docs": {
907
+ "text": "Limpa o valor do campo de pesquisa",
908
+ "tags": []
909
+ }
910
+ },
911
+ "setBlur": {
912
+ "complexType": {
913
+ "signature": "() => Promise<void>",
914
+ "parameters": [],
915
+ "references": {
916
+ "Promise": {
917
+ "location": "global"
918
+ }
919
+ },
920
+ "return": "Promise<void>"
921
+ },
922
+ "docs": {
923
+ "text": "Remove o foco do campo.",
924
+ "tags": []
925
+ }
926
+ },
927
+ "isInvalid": {
928
+ "complexType": {
929
+ "signature": "() => Promise<boolean>",
930
+ "parameters": [],
931
+ "references": {
932
+ "Promise": {
933
+ "location": "global"
934
+ }
935
+ },
936
+ "return": "Promise<boolean>"
937
+ },
938
+ "docs": {
939
+ "text": "Retorna se o conte\u00FAdo \u00E9 inv\u00E1lido.",
940
+ "tags": []
941
+ }
942
+ }
943
+ };
944
+ }
945
+ static get elementRef() { return "el"; }
946
+ static get watchers() {
947
+ return [{
948
+ "propName": "value",
949
+ "methodName": "observeValue"
950
+ }];
951
+ }
952
+ }