@sankhyalabs/ezui 7.1.0-dev.22 → 7.1.0-dev.23

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 (263) hide show
  1. package/dist/cjs/classic-search-list_7.cjs.entry.js +2 -2
  2. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-avatar.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.cjs.entry.js +1 -1
  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-classic-combo-box.cjs.entry.js +1 -1
  16. package/dist/cjs/ez-classic-date-input.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-classic-date-time-input.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-classic-input.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-classic-number-input.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-classic-search-plus.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-classic-search.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-classic-text-area.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-classic-time-input.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-double-list.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-empty-card.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-form-view.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-form.cjs.entry.js +2 -2
  36. package/dist/cjs/ez-grid-view.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-grid.cjs.entry.js +2 -2
  38. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  40. package/dist/cjs/ez-link-builder_6.cjs.entry.js +1 -1
  41. package/dist/cjs/ez-list-item.cjs.entry.js +1 -1
  42. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  43. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  44. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  47. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-pagination.cjs.entry.js +1 -1
  49. package/dist/cjs/ez-popover-core.cjs.entry.js +1 -1
  50. package/dist/cjs/ez-popover-plus_3.cjs.entry.js +1 -1
  51. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  52. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  53. package/dist/cjs/ez-progress-bar.cjs.entry.js +1 -1
  54. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  55. package/dist/cjs/ez-rich-toolbar-item.cjs.entry.js +1 -1
  56. package/dist/cjs/ez-scroller_2.cjs.entry.js +1 -1
  57. package/dist/cjs/ez-search-plus.cjs.entry.js +1 -1
  58. package/dist/cjs/ez-search-result-list.cjs.entry.js +1 -1
  59. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  60. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  61. package/dist/cjs/ez-skeleton.cjs.entry.js +1 -1
  62. package/dist/cjs/ez-sortable-list.cjs.entry.js +1 -1
  63. package/dist/cjs/ez-spinner.cjs.entry.js +1 -1
  64. package/dist/cjs/ez-split-button.cjs.entry.js +13 -14
  65. package/dist/cjs/ez-split-item.cjs.entry.js +1 -1
  66. package/dist/cjs/ez-split-panel.cjs.entry.js +1 -1
  67. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  68. package/dist/cjs/ez-tag-input.cjs.entry.js +1 -1
  69. package/dist/cjs/ez-tag.cjs.entry.js +1 -1
  70. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  71. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  72. package/dist/cjs/ez-tile-medium.cjs.entry.js +1 -1
  73. package/dist/cjs/ez-tile.cjs.entry.js +1 -1
  74. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  75. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  76. package/dist/cjs/ez-tooltip.cjs.entry.js +1 -1
  77. package/dist/cjs/ez-tree.cjs.entry.js +1 -1
  78. package/dist/cjs/ez-underface.cjs.entry.js +1 -1
  79. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  80. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  81. package/dist/cjs/ezui.cjs.js +2 -2
  82. package/dist/cjs/filter-column.cjs.entry.js +1 -1
  83. package/dist/cjs/{index-9e5554cb.js → index-a7b0c73d.js} +0 -3
  84. package/dist/cjs/loader.cjs.js +2 -2
  85. package/dist/cjs/{search-column-9654bf26.js → search-column-fbf680d7.js} +7 -2
  86. package/dist/collection/components/ez-split-button/ez-split-button.js +18 -13
  87. package/dist/collection/utils/searchColumn/search-column.js +6 -1
  88. package/dist/custom-elements/index.js +19 -15
  89. package/dist/esm/classic-search-list_7.entry.js +2 -2
  90. package/dist/esm/ez-actions-button.entry.js +1 -1
  91. package/dist/esm/ez-alert-list.entry.js +1 -1
  92. package/dist/esm/ez-alert.entry.js +1 -1
  93. package/dist/esm/ez-application.entry.js +1 -1
  94. package/dist/esm/ez-avatar.entry.js +1 -1
  95. package/dist/esm/ez-badge.entry.js +1 -1
  96. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  97. package/dist/esm/ez-button.entry.js +1 -1
  98. package/dist/esm/ez-calendar.entry.js +1 -1
  99. package/dist/esm/ez-card-item.entry.js +1 -1
  100. package/dist/esm/ez-chart.entry.js +1 -1
  101. package/dist/esm/ez-check.entry.js +1 -1
  102. package/dist/esm/ez-chip.entry.js +1 -1
  103. package/dist/esm/ez-classic-combo-box.entry.js +1 -1
  104. package/dist/esm/ez-classic-date-input.entry.js +1 -1
  105. package/dist/esm/ez-classic-date-time-input.entry.js +1 -1
  106. package/dist/esm/ez-classic-input.entry.js +1 -1
  107. package/dist/esm/ez-classic-number-input.entry.js +1 -1
  108. package/dist/esm/ez-classic-search-plus.entry.js +1 -1
  109. package/dist/esm/ez-classic-search.entry.js +1 -1
  110. package/dist/esm/ez-classic-text-area.entry.js +1 -1
  111. package/dist/esm/ez-classic-time-input.entry.js +1 -1
  112. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  113. package/dist/esm/ez-combo-box.entry.js +1 -1
  114. package/dist/esm/ez-date-input.entry.js +1 -1
  115. package/dist/esm/ez-date-time-input.entry.js +1 -1
  116. package/dist/esm/ez-dialog.entry.js +1 -1
  117. package/dist/esm/ez-double-list.entry.js +1 -1
  118. package/dist/esm/ez-dropdown.entry.js +1 -1
  119. package/dist/esm/ez-empty-card.entry.js +1 -1
  120. package/dist/esm/ez-file-item.entry.js +1 -1
  121. package/dist/esm/ez-filter-input.entry.js +1 -1
  122. package/dist/esm/ez-form-view.entry.js +1 -1
  123. package/dist/esm/ez-form.entry.js +2 -2
  124. package/dist/esm/ez-grid-view.entry.js +1 -1
  125. package/dist/esm/ez-grid.entry.js +2 -2
  126. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  127. package/dist/esm/ez-icon.entry.js +1 -1
  128. package/dist/esm/ez-link-builder_6.entry.js +1 -1
  129. package/dist/esm/ez-list-item.entry.js +1 -1
  130. package/dist/esm/ez-list.entry.js +1 -1
  131. package/dist/esm/ez-loading-bar.entry.js +1 -1
  132. package/dist/esm/ez-modal-container.entry.js +1 -1
  133. package/dist/esm/ez-modal.entry.js +1 -1
  134. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  135. package/dist/esm/ez-number-input.entry.js +1 -1
  136. package/dist/esm/ez-pagination.entry.js +1 -1
  137. package/dist/esm/ez-popover-core.entry.js +1 -1
  138. package/dist/esm/ez-popover-plus_3.entry.js +1 -1
  139. package/dist/esm/ez-popover.entry.js +1 -1
  140. package/dist/esm/ez-popup.entry.js +1 -1
  141. package/dist/esm/ez-progress-bar.entry.js +1 -1
  142. package/dist/esm/ez-radio-button.entry.js +1 -1
  143. package/dist/esm/ez-rich-toolbar-item.entry.js +1 -1
  144. package/dist/esm/ez-scroller_2.entry.js +1 -1
  145. package/dist/esm/ez-search-plus.entry.js +1 -1
  146. package/dist/esm/ez-search-result-list.entry.js +1 -1
  147. package/dist/esm/ez-search.entry.js +1 -1
  148. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  149. package/dist/esm/ez-skeleton.entry.js +1 -1
  150. package/dist/esm/ez-sortable-list.entry.js +1 -1
  151. package/dist/esm/ez-spinner.entry.js +1 -1
  152. package/dist/esm/ez-split-button.entry.js +13 -14
  153. package/dist/esm/ez-split-item.entry.js +1 -1
  154. package/dist/esm/ez-split-panel.entry.js +1 -1
  155. package/dist/esm/ez-tabselector.entry.js +1 -1
  156. package/dist/esm/ez-tag-input.entry.js +1 -1
  157. package/dist/esm/ez-tag.entry.js +1 -1
  158. package/dist/esm/ez-text-area.entry.js +1 -1
  159. package/dist/esm/ez-text-input.entry.js +1 -1
  160. package/dist/esm/ez-tile-medium.entry.js +1 -1
  161. package/dist/esm/ez-tile.entry.js +1 -1
  162. package/dist/esm/ez-time-input.entry.js +1 -1
  163. package/dist/esm/ez-toast.entry.js +1 -1
  164. package/dist/esm/ez-tooltip.entry.js +1 -1
  165. package/dist/esm/ez-tree.entry.js +1 -1
  166. package/dist/esm/ez-underface.entry.js +1 -1
  167. package/dist/esm/ez-upload.entry.js +1 -1
  168. package/dist/esm/ez-view-stack.entry.js +1 -1
  169. package/dist/esm/ezui.js +3 -3
  170. package/dist/esm/filter-column.entry.js +1 -1
  171. package/dist/esm/{index-5a720e56.js → index-baa5e267.js} +1 -3
  172. package/dist/esm/loader.js +3 -3
  173. package/dist/esm/{search-column-c3df6285.js → search-column-40a78cac.js} +7 -2
  174. package/dist/ezui/ezui.esm.js +1 -1
  175. package/dist/ezui/{p-e275353b.entry.js → p-0248846f.entry.js} +1 -1
  176. package/dist/ezui/{p-34d596a3.entry.js → p-0625743b.entry.js} +1 -1
  177. package/dist/ezui/p-07fb22c3.entry.js +1 -0
  178. package/dist/ezui/{p-81461d2f.entry.js → p-1e7a8633.entry.js} +1 -1
  179. package/dist/ezui/{p-6b51c9cc.entry.js → p-1f50fa05.entry.js} +1 -1
  180. package/dist/ezui/{p-cf33bc48.entry.js → p-20c024f7.entry.js} +1 -1
  181. package/dist/ezui/{p-e4c7eb39.js → p-23a36bb6.js} +2 -2
  182. package/dist/ezui/{p-169d460d.entry.js → p-2528e988.entry.js} +1 -1
  183. package/dist/ezui/{p-d57ea090.entry.js → p-26cd4c2e.entry.js} +1 -1
  184. package/dist/ezui/{p-06f1b8e4.entry.js → p-288631d1.entry.js} +1 -1
  185. package/dist/ezui/{p-e0380234.entry.js → p-2da9faf1.entry.js} +1 -1
  186. package/dist/ezui/{p-f32d5a82.entry.js → p-34d459e4.entry.js} +1 -1
  187. package/dist/ezui/{p-f7ca8634.entry.js → p-411c0222.entry.js} +1 -1
  188. package/dist/ezui/{p-87739608.entry.js → p-44183c39.entry.js} +1 -1
  189. package/dist/ezui/{p-2c123fdf.entry.js → p-4af745e1.entry.js} +1 -1
  190. package/dist/ezui/{p-0820f8c3.entry.js → p-4c2a4435.entry.js} +1 -1
  191. package/dist/ezui/{p-fe0bca65.entry.js → p-4c76b365.entry.js} +1 -1
  192. package/dist/ezui/{p-4a876b8b.entry.js → p-4d30b703.entry.js} +1 -1
  193. package/dist/ezui/{p-4d909730.entry.js → p-4e576bb9.entry.js} +1 -1
  194. package/dist/ezui/{p-2fa490f1.entry.js → p-4e869617.entry.js} +1 -1
  195. package/dist/ezui/{p-55a9e4ba.entry.js → p-4f7ad3ee.entry.js} +1 -1
  196. package/dist/ezui/{p-3453dad5.entry.js → p-544605c4.entry.js} +1 -1
  197. package/dist/ezui/{p-05bcbe61.entry.js → p-556bf329.entry.js} +1 -1
  198. package/dist/ezui/{p-be2e39c5.entry.js → p-56565777.entry.js} +1 -1
  199. package/dist/ezui/{p-27c8a9b7.entry.js → p-57b68d43.entry.js} +1 -1
  200. package/dist/ezui/{p-12cc95dc.entry.js → p-5abb220b.entry.js} +1 -1
  201. package/dist/ezui/{p-6fc26622.entry.js → p-5ed81457.entry.js} +1 -1
  202. package/dist/ezui/{p-c754774e.entry.js → p-6020f3d5.entry.js} +1 -1
  203. package/dist/ezui/{p-f0425f87.entry.js → p-619225ce.entry.js} +1 -1
  204. package/dist/ezui/{p-51e34317.entry.js → p-6369a0cd.entry.js} +1 -1
  205. package/dist/ezui/{p-81a98a7c.entry.js → p-679a2942.entry.js} +1 -1
  206. package/dist/ezui/{p-29341f74.js → p-6a794336.js} +1 -1
  207. package/dist/ezui/{p-458027b5.entry.js → p-6ac056d7.entry.js} +1 -1
  208. package/dist/ezui/{p-0b531233.entry.js → p-6d596a5a.entry.js} +1 -1
  209. package/dist/ezui/{p-1723f728.entry.js → p-6f77a359.entry.js} +1 -1
  210. package/dist/ezui/{p-82e1d7fc.entry.js → p-7134726a.entry.js} +1 -1
  211. package/dist/ezui/{p-e039e049.entry.js → p-729bd1be.entry.js} +1 -1
  212. package/dist/ezui/{p-70f30bfe.entry.js → p-7953ecb9.entry.js} +1 -1
  213. package/dist/ezui/{p-636ea910.entry.js → p-7edc3ef7.entry.js} +1 -1
  214. package/dist/ezui/{p-e195eaad.entry.js → p-7f792043.entry.js} +1 -1
  215. package/dist/ezui/{p-82fa4b09.entry.js → p-8df1ca33.entry.js} +1 -1
  216. package/dist/ezui/{p-75443a91.entry.js → p-8e5f1c74.entry.js} +1 -1
  217. package/dist/ezui/{p-78e975b4.entry.js → p-91c9d50e.entry.js} +1 -1
  218. package/dist/ezui/{p-05e68ab3.entry.js → p-93e1c917.entry.js} +1 -1
  219. package/dist/ezui/{p-0d393a5d.entry.js → p-951b32a1.entry.js} +1 -1
  220. package/dist/ezui/{p-0ba284cd.entry.js → p-97312709.entry.js} +1 -1
  221. package/dist/ezui/{p-d3aca6aa.entry.js → p-987185c4.entry.js} +1 -1
  222. package/dist/ezui/{p-c2b20f78.entry.js → p-9f5fa3f9.entry.js} +1 -1
  223. package/dist/ezui/{p-bc693db6.entry.js → p-a0bf1fc7.entry.js} +1 -1
  224. package/dist/ezui/{p-27421015.entry.js → p-a0f51b99.entry.js} +1 -1
  225. package/dist/ezui/{p-9bcfa689.entry.js → p-a3075f52.entry.js} +1 -1
  226. package/dist/ezui/{p-f26b97e9.entry.js → p-a3ada561.entry.js} +1 -1
  227. package/dist/ezui/{p-71b341cc.entry.js → p-a3bad8f8.entry.js} +1 -1
  228. package/dist/ezui/{p-e94d3af5.entry.js → p-a4351519.entry.js} +1 -1
  229. package/dist/ezui/{p-dfca5946.entry.js → p-a80b1287.entry.js} +1 -1
  230. package/dist/ezui/{p-534209bf.entry.js → p-a872c642.entry.js} +1 -1
  231. package/dist/ezui/{p-e963cb3f.entry.js → p-b0a716ef.entry.js} +1 -1
  232. package/dist/ezui/p-b36475f9.entry.js +1 -0
  233. package/dist/ezui/{p-9fb7131e.entry.js → p-b705b342.entry.js} +1 -1
  234. package/dist/ezui/{p-f1b54699.entry.js → p-b8078832.entry.js} +1 -1
  235. package/dist/ezui/p-bc2f844e.entry.js +1 -0
  236. package/dist/ezui/{p-75e8862c.entry.js → p-c0ae79fa.entry.js} +1 -1
  237. package/dist/ezui/{p-75e650ff.entry.js → p-c56ee8c0.entry.js} +1 -1
  238. package/dist/ezui/{p-25748a4e.entry.js → p-cd8be0c7.entry.js} +1 -1
  239. package/dist/ezui/{p-24993171.entry.js → p-ce0a0036.entry.js} +1 -1
  240. package/dist/ezui/{p-ce2614fc.entry.js → p-cfa26133.entry.js} +1 -1
  241. package/dist/ezui/{p-c96e536d.entry.js → p-d2645bdf.entry.js} +1 -1
  242. package/dist/ezui/{p-a9432878.entry.js → p-d6742c1e.entry.js} +1 -1
  243. package/dist/ezui/{p-770cf2b8.entry.js → p-d6f50207.entry.js} +1 -1
  244. package/dist/ezui/p-d8cc640d.entry.js +1 -0
  245. package/dist/ezui/{p-9d515e5b.entry.js → p-df802548.entry.js} +1 -1
  246. package/dist/ezui/{p-892e7326.entry.js → p-e2689b33.entry.js} +1 -1
  247. package/dist/ezui/{p-e0fd2ce5.entry.js → p-e2972977.entry.js} +1 -1
  248. package/dist/ezui/{p-181cb82f.entry.js → p-e3a42f47.entry.js} +1 -1
  249. package/dist/ezui/{p-29f0de90.entry.js → p-e3cd5080.entry.js} +1 -1
  250. package/dist/ezui/{p-4df2edb5.entry.js → p-e493ad57.entry.js} +1 -1
  251. package/dist/ezui/{p-000159dc.entry.js → p-e75c7a23.entry.js} +1 -1
  252. package/dist/ezui/{p-e9b409c1.entry.js → p-e7a7c594.entry.js} +1 -1
  253. package/dist/ezui/{p-b21efe83.entry.js → p-e8c57463.entry.js} +1 -1
  254. package/dist/ezui/{p-35e3715c.entry.js → p-ef8bd3e8.entry.js} +1 -1
  255. package/dist/ezui/{p-980f1f18.entry.js → p-f34ec732.entry.js} +1 -1
  256. package/dist/ezui/{p-a6ea8da3.entry.js → p-f5552540.entry.js} +1 -1
  257. package/dist/ezui/{p-44b39e81.entry.js → p-fa6732f2.entry.js} +1 -1
  258. package/dist/types/components/ez-split-button/ez-split-button.d.ts +1 -2
  259. package/package.json +1 -1
  260. package/dist/ezui/p-14d6aeb8.entry.js +0 -1
  261. package/dist/ezui/p-2b51d5a9.entry.js +0 -1
  262. package/dist/ezui/p-6ec40dec.entry.js +0 -1
  263. package/dist/ezui/p-8f7373ab.entry.js +0 -1
@@ -1 +1 @@
1
- import{r as e,c as t,h as i,H as r,g as s}from"./p-e4c7eb39.js";import{StringUtils as a,KeyboardManager as o,ElementIDUtils as l}from"@sankhyalabs/core";import"./p-9825c1d2.js";import{C as n}from"./p-ec7db713.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{i as h}from"./p-c178730b.js";import{S as c}from"./p-5895e687.js";import"./p-47e4a8ce.js";const d=class{constructor(i){e(this,i),this.ezChange=t(this,"ezChange",7),this.SEARCH_DESCRIPTION_TIMEOUT=300,this.INTERVAL_TO_RETRY_ASYNC_VALUE=100,this._ignoreNextValue=!1,this.value=void 0,this.enabled=!0,this.disableCodeInput=!1,this.disableDescriptionInput=!1,this.label=void 0,this.codLabel=void 0,this.hideDescriptionInput=!1,this.canShowError=!0,this.errorMessage=void 0,this.mode="regular",this.contextProperties=void 0,this.optionLoader=void 0,this.showOptionValue=!0,this.stopPropagateEnterKeyEvent=!1,this.autoFocus=!1,this.showSelectedValue=!0,this.suppressEmptyOption=!1,this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1,this.ignoreLimitCharsToSearch=!1,this.suppressSearch=!1,this.suppressPreLoad=!0,this.ensureClearButtonVisible=!1,this.descriptionValue="",this.codeValue="",this.isLoadingDescription=!1,this.searchDescriptionIsOpen=!1,this.visibleOptions=void 0,this.showLoading=!0}async observeValue(e,t){var i;if(this._ignoreNextValue)return void(this._ignoreNextValue=!1);const r=this.normalizeValueToCodeValue(e);if(r!==this.normalizeValueToCodeValue(t)){if(void 0===r)return this.codeValue=void 0,this.descriptionValue=void 0,void this.ezChange.emit(void 0);this.codeValue=r;try{if(this.descriptionValue=await this.normalizeCodeToDescriptionValue(e),null==this.descriptionValue)throw new Error("Valor não encontrado!")}catch(e){throw this._ignoreNextValue=!0,this.clearSearch(),console.warn("[EzSearchPlus] Erro ao obter descrição do registro.",e),"WarningException"===(null===(i=null==e?void 0:e.constructor)||void 0===i?void 0:i.name)&&(this.errorMessage=e.message),e}this.value=this.buildCurrentValue(),this.ezChange.emit(this.value),this.errorMessage=null}}canShowLoadSpinDescription(){return this.isLoadingDescription}async setFocus(e){var t;this.disableCodeInput?null===(t=this._textInputDescriptionValue)||void 0===t||t.setFocus(e):this._latestFocusedInputElement?this._latestFocusedInputElement.setFocus(e):this._textInputCodeValue.setFocus(e)}async getValueAsync(){if(!this.isLoadingDescription){const e=this.buildCurrentValue();return new Promise((t=>t(e)))}return new Promise((e=>{let t=setInterval((()=>{if(!this.isLoadingDescription){clearInterval(t);const i=this.buildCurrentValue();e(i)}}),this.INTERVAL_TO_RETRY_ASYNC_VALUE)}))}async clearValue(){this.clearSearch()}async setBlur(){var e,t;null===(e=this._textInputCodeValue)||void 0===e||e.setBlur(),null===(t=this._textInputDescriptionValue)||void 0===t||t.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async componentWillLoad(){this.i18n=await h(),this.value&&a.isEmpty(this.codeValue)&&await this.observeValue(this.value,void 0)}componentDidLoad(){n.applyVarsTextInput(this.el,this._textInputCodeValue),n.applyVarsTextInput(this.el,this._textInputDescriptionValue)}connectedCallback(){this.initKeyboardManager(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}clearSearch(){this.value=null,this.codeValue=null,this.descriptionValue=null,this.hideDescriptionInput||(this._textInputDescriptionValue.value=null)}getCodLabel(){var e;return this.hideDescriptionInput?this.label:null!==(e=this.codLabel)&&void 0!==e?e:this.i18n("ez-search-plus.defaultCodeLabel")}async normalizeCodeToDescriptionValue(e){if(!e)return"";if("string"==typeof e)try{if((null==(e=JSON.parse(e))?void 0:e.value)&&!(null==e?void 0:e.label))return await this.loadDescriptionValueByCode(null==e?void 0:e.value)}catch(t){return await this.loadDescriptionValueByCode(e)}return"object"!=typeof e?await this.loadDescriptionValueByCode(e):null==e?void 0:e.label}normalizeValueToCodeValue(e){if(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){return e}return"object"!=typeof e?"number"==typeof e?String(e):e:null==e?void 0:e.value}}async loadDescriptionValueByCode(e){if(!this.optionLoader)return console.warn(this.i18n("ez-search-plus.optionLoaderNotDefined")),"";try{this.isLoadingDescription=!0;const t={mode:c.LOAD_DESCRIPTION,argument:e},i=await this.optionLoader(t);return i?Array.isArray(i)?i[0].label:i.label:""}finally{this.isLoadingDescription=!1}}handleCodeInputFocusOut(){this.cancelSelection(),this.codeValue!=this._textInputCodeValue.value&&(this.value=this._textInputCodeValue.value)}handleSearchClick(){this.loadAdvancedSearch()}async loadAdvancedSearch(){if(!this.optionLoader)return void console.warn(this.i18n("ez-search-plus.optionLoaderNotDefined"));const e={mode:c.ADVANCED,argument:""};let t;try{t=await this.optionLoader(e,this.contextProperties)}catch(e){}t&&(this.value=t)}buildCurrentValue(){if(!a.isEmpty(this.codeValue))return{value:this.codeValue,label:this.descriptionValue}}async handleTextInputChangeHandler(e){this.searchDescriptionIsOpen||this._popover.showUnder(this.el);const t=e.target.value;await this.debounceLoaderOptions(t)}async debounceLoaderOptions(e){return this._debounceSearch&&clearTimeout(this._debounceSearch),new Promise((t=>{this._debounceSearch=setTimeout((async()=>{await this.processOptionsLoader(e),t()}),this.SEARCH_DESCRIPTION_TIMEOUT)}))}updateKeyOption(e){return Object.assign(Object.assign({},e),{presentationValue:e.value,presentationLabel:e.label})}parseSearchOptions(e=[]){if(Array.isArray(e)){const t=e[0];return t?"label"in t||"value"in t?e.map((e=>this.updateKeyOption(e))):e:[]}return("label"in e||"value"in e)&&this.updateKeyOption(e),[e]}async processOptionsLoader(e){try{this.showLoading=!0;const t={mode:c.PREDICTIVE,argument:e},i=await this.optionLoader(t);this.visibleOptions=this.parseSearchOptions(i)}finally{this.showLoading=!1}}handleSelectItem(e){this.value=e.detail,this._popover.hide(),window.requestAnimationFrame((()=>{var e;null===(e=this._textInputDescriptionValue)||void 0===e||e.setFocus({selectText:!0})}))}async handleArrowUp(){this.isOptionsVisible()&&await this._searchList.previousOption()}async handleArrowDown(){this.isOptionsVisible()&&await this._searchList.nextOption()}async selectCurrentItem(){var e;await(null===(e=this._searchList)||void 0===e?void 0:e.selectCurrentItem())}async cancelSelection(){var e,t,i;const r="object"==typeof this.value?null===(e=this.value)||void 0===e?void 0:e.label:"";this._textInputDescriptionValue&&r&&this._textInputDescriptionValue.value!=r&&(this._textInputDescriptionValue.value=r),await(null===(t=this._searchList)||void 0===t?void 0:t.cancelSelection()),null===(i=this._popover)||void 0===i||i.hide()}async handleInputTab(){await this.cancelSelection()}async handleInputEsc(){var e;await this.cancelSelection(),await(null===(e=this._latestFocusedInputElement)||void 0===e?void 0:e.setFocus({selectText:!0}))}async initKeyboardManager(){this._keyboardManager=new o;const e={element:this.el,propagate:!0};this._keyboardManager.bind("ArrowUp",(()=>this.handleArrowUp()),Object.assign(Object.assign({},e),{propagate:!1})).bind("ArrowDown",(()=>this.handleArrowDown()),Object.assign(Object.assign({},e),{propagate:!1})).bind("Enter",(()=>this.selectCurrentItem()),Object.assign(Object.assign({},e),{propagate:!this.stopPropagateEnterKeyEvent})).bind("Tab",(()=>this.handleInputTab()),e).bind("Escape",(()=>this.handleInputEsc()),e)}disconnectedCallback(){this._keyboardManager.unbind("ArrowUp").unbind("ArrowDown").unbind("Enter").unbind("Tab").unbind("Escape")}isOptionsVisible(){return this._popover.opened}setLatestFocusedInputElement(e){this._latestFocusedInputElement=e}handleCodeInputFocus(){this.setLatestFocusedInputElement(this._textInputCodeValue)}handleDescriptionInputFocus(){this.setLatestFocusedInputElement(this._textInputDescriptionValue)}getRightIconElement(){var e,t;return this.ensureClearButtonVisible||this.value||(null===(e=this._textInputCodeValue)||void 0===e?void 0:e.value)||(null===(t=this._textInputDescriptionValue)||void 0===t?void 0:t.value)?i("button",{class:"btn btn__close",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.clearSearch()},i("ez-icon",{iconName:"close"})):null}getLeftIconElement(){return i("button",{class:"btn",slot:"leftIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handleSearchClick()},this.canShowLoadSpinDescription()?i("div",{class:"message__loading"}):i("ez-icon",{iconName:"search"}))}handleOnEzVisibilityChange(e){e.stopPropagation(),this.searchDescriptionIsOpen=e.detail}render(){return l.addIDInfoIfNotExists(this.el,"input"),i(r,null,i("div",{class:"ez-search-plus__container"},i("ez-text-input",{ref:e=>this._textInputCodeValue=e,class:{"ez-search-plus__code-input":!this.hideDescriptionInput,"ez-search-plus__code-input-no-border":!this.hideDescriptionInput,"ez-search-plus__code-input-full":this.hideDescriptionInput},"data-element-id":l.getInternalIDInfo("codeInput"),"data-slave-mode":"true",enabled:!this.disableCodeInput&&this.enabled,mode:this.mode,label:this.getCodLabel(),canShowError:this.canShowError,hasInvalid:!a.isEmpty(this.errorMessage),errorMessage:this.hideDescriptionInput?this.errorMessage:"",value:this.codeValue,onFocusout:()=>this.handleCodeInputFocusOut(),onFocus:()=>this.handleCodeInputFocus()},this.getLeftIconElement()),!this.hideDescriptionInput&&i("div",{class:"description-input-container"},i("ez-text-input",{ref:e=>this._textInputDescriptionValue=e,tabIndex:-1,class:"ez-search-plus__text-input","data-element-id":l.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:e=>this.handleTextInputChangeHandler(e),onFocus:()=>this.handleDescriptionInputFocus()},this.getRightIconElement()),i("ez-popover-plus",{ref:e=>this._popover=e,anchorElement:this.el,autoClose:!0,boxWidth:"fit-content",overlayType:"none",useAnchorSize:!0,onEzVisibilityChange:e=>this.handleOnEzVisibilityChange(e),"data-element-id":this.el.getAttribute("data-element-id")},i("ez-search-result-list",{ref:e=>this._searchList=e,showLoading:this.showLoading,visibleOptions:this.visibleOptions,value:this.value,showOptionValue:this.showOptionValue,onChangeValue:e=>this.handleSelectItem(e)})))))}get el(){return s(this)}static get watchers(){return{value:["observeValue"]}}};d.style=":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)}.list-options{margin-top:0px;box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--scrollbar--background);width:var(--space--small);max-width:var(--space--small);min-width:var(--space--small);height:var(--space--small);max-height:var(--space--small);min-height:var(--space--small)}.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);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:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;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)}}@supports not (scrollbar-width: thin){.item{padding-right:8px}}.ez-search-plus__container{display:flex;flex-grow:1;gap:3px}.ez-search-plus__text-input{--ez-text-input--border-top-left-radius:0px;--ez-text-input--border-bottom-left-radius:0px;outline:none}.ez-search-plus__code-input-no-border{--ez-text-input--border-top-right-radius:0px;--ez-text-input--border-bottom-right-radius:0px}.ez-search-plus__code-input{max-width:85px}.ez-search-plus__code-input-full{width:100%}.description-input-container{width:100%;outline:none}";export{d as ez_search_plus}
1
+ import{r as e,c as t,h as i,H as r,g as s}from"./p-23a36bb6.js";import{StringUtils as a,KeyboardManager as o,ElementIDUtils as l}from"@sankhyalabs/core";import"./p-9825c1d2.js";import{C as n}from"./p-ec7db713.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{i as h}from"./p-c178730b.js";import{S as c}from"./p-5895e687.js";import"./p-47e4a8ce.js";const d=class{constructor(i){e(this,i),this.ezChange=t(this,"ezChange",7),this.SEARCH_DESCRIPTION_TIMEOUT=300,this.INTERVAL_TO_RETRY_ASYNC_VALUE=100,this._ignoreNextValue=!1,this.value=void 0,this.enabled=!0,this.disableCodeInput=!1,this.disableDescriptionInput=!1,this.label=void 0,this.codLabel=void 0,this.hideDescriptionInput=!1,this.canShowError=!0,this.errorMessage=void 0,this.mode="regular",this.contextProperties=void 0,this.optionLoader=void 0,this.showOptionValue=!0,this.stopPropagateEnterKeyEvent=!1,this.autoFocus=!1,this.showSelectedValue=!0,this.suppressEmptyOption=!1,this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1,this.ignoreLimitCharsToSearch=!1,this.suppressSearch=!1,this.suppressPreLoad=!0,this.ensureClearButtonVisible=!1,this.descriptionValue="",this.codeValue="",this.isLoadingDescription=!1,this.searchDescriptionIsOpen=!1,this.visibleOptions=void 0,this.showLoading=!0}async observeValue(e,t){var i;if(this._ignoreNextValue)return void(this._ignoreNextValue=!1);const r=this.normalizeValueToCodeValue(e);if(r!==this.normalizeValueToCodeValue(t)){if(void 0===r)return this.codeValue=void 0,this.descriptionValue=void 0,void this.ezChange.emit(void 0);this.codeValue=r;try{if(this.descriptionValue=await this.normalizeCodeToDescriptionValue(e),null==this.descriptionValue)throw new Error("Valor não encontrado!")}catch(e){throw this._ignoreNextValue=!0,this.clearSearch(),console.warn("[EzSearchPlus] Erro ao obter descrição do registro.",e),"WarningException"===(null===(i=null==e?void 0:e.constructor)||void 0===i?void 0:i.name)&&(this.errorMessage=e.message),e}this.value=this.buildCurrentValue(),this.ezChange.emit(this.value),this.errorMessage=null}}canShowLoadSpinDescription(){return this.isLoadingDescription}async setFocus(e){var t;this.disableCodeInput?null===(t=this._textInputDescriptionValue)||void 0===t||t.setFocus(e):this._latestFocusedInputElement?this._latestFocusedInputElement.setFocus(e):this._textInputCodeValue.setFocus(e)}async getValueAsync(){if(!this.isLoadingDescription){const e=this.buildCurrentValue();return new Promise((t=>t(e)))}return new Promise((e=>{let t=setInterval((()=>{if(!this.isLoadingDescription){clearInterval(t);const i=this.buildCurrentValue();e(i)}}),this.INTERVAL_TO_RETRY_ASYNC_VALUE)}))}async clearValue(){this.clearSearch()}async setBlur(){var e,t;null===(e=this._textInputCodeValue)||void 0===e||e.setBlur(),null===(t=this._textInputDescriptionValue)||void 0===t||t.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async componentWillLoad(){this.i18n=await h(),this.value&&a.isEmpty(this.codeValue)&&await this.observeValue(this.value,void 0)}componentDidLoad(){n.applyVarsTextInput(this.el,this._textInputCodeValue),n.applyVarsTextInput(this.el,this._textInputDescriptionValue)}connectedCallback(){this.initKeyboardManager(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}clearSearch(){this.value=null,this.codeValue=null,this.descriptionValue=null,this.hideDescriptionInput||(this._textInputDescriptionValue.value=null)}getCodLabel(){var e;return this.hideDescriptionInput?this.label:null!==(e=this.codLabel)&&void 0!==e?e:this.i18n("ez-search-plus.defaultCodeLabel")}async normalizeCodeToDescriptionValue(e){if(!e)return"";if("string"==typeof e)try{if((null==(e=JSON.parse(e))?void 0:e.value)&&!(null==e?void 0:e.label))return await this.loadDescriptionValueByCode(null==e?void 0:e.value)}catch(t){return await this.loadDescriptionValueByCode(e)}return"object"!=typeof e?await this.loadDescriptionValueByCode(e):null==e?void 0:e.label}normalizeValueToCodeValue(e){if(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){return e}return"object"!=typeof e?"number"==typeof e?String(e):e:null==e?void 0:e.value}}async loadDescriptionValueByCode(e){if(!this.optionLoader)return console.warn(this.i18n("ez-search-plus.optionLoaderNotDefined")),"";try{this.isLoadingDescription=!0;const t={mode:c.LOAD_DESCRIPTION,argument:e},i=await this.optionLoader(t);return i?Array.isArray(i)?i[0].label:i.label:""}finally{this.isLoadingDescription=!1}}handleCodeInputFocusOut(){this.cancelSelection(),this.codeValue!=this._textInputCodeValue.value&&(this.value=this._textInputCodeValue.value)}handleSearchClick(){this.loadAdvancedSearch()}async loadAdvancedSearch(){if(!this.optionLoader)return void console.warn(this.i18n("ez-search-plus.optionLoaderNotDefined"));const e={mode:c.ADVANCED,argument:""};let t;try{t=await this.optionLoader(e,this.contextProperties)}catch(e){}t&&(this.value=t)}buildCurrentValue(){if(!a.isEmpty(this.codeValue))return{value:this.codeValue,label:this.descriptionValue}}async handleTextInputChangeHandler(e){this.searchDescriptionIsOpen||this._popover.showUnder(this.el);const t=e.target.value;await this.debounceLoaderOptions(t)}async debounceLoaderOptions(e){return this._debounceSearch&&clearTimeout(this._debounceSearch),new Promise((t=>{this._debounceSearch=setTimeout((async()=>{await this.processOptionsLoader(e),t()}),this.SEARCH_DESCRIPTION_TIMEOUT)}))}updateKeyOption(e){return Object.assign(Object.assign({},e),{presentationValue:e.value,presentationLabel:e.label})}parseSearchOptions(e=[]){if(Array.isArray(e)){const t=e[0];return t?"label"in t||"value"in t?e.map((e=>this.updateKeyOption(e))):e:[]}return("label"in e||"value"in e)&&this.updateKeyOption(e),[e]}async processOptionsLoader(e){try{this.showLoading=!0;const t={mode:c.PREDICTIVE,argument:e},i=await this.optionLoader(t);this.visibleOptions=this.parseSearchOptions(i)}finally{this.showLoading=!1}}handleSelectItem(e){this.value=e.detail,this._popover.hide(),window.requestAnimationFrame((()=>{var e;null===(e=this._textInputDescriptionValue)||void 0===e||e.setFocus({selectText:!0})}))}async handleArrowUp(){this.isOptionsVisible()&&await this._searchList.previousOption()}async handleArrowDown(){this.isOptionsVisible()&&await this._searchList.nextOption()}async selectCurrentItem(){var e;await(null===(e=this._searchList)||void 0===e?void 0:e.selectCurrentItem())}async cancelSelection(){var e,t,i;const r="object"==typeof this.value?null===(e=this.value)||void 0===e?void 0:e.label:"";this._textInputDescriptionValue&&r&&this._textInputDescriptionValue.value!=r&&(this._textInputDescriptionValue.value=r),await(null===(t=this._searchList)||void 0===t?void 0:t.cancelSelection()),null===(i=this._popover)||void 0===i||i.hide()}async handleInputTab(){await this.cancelSelection()}async handleInputEsc(){var e;await this.cancelSelection(),await(null===(e=this._latestFocusedInputElement)||void 0===e?void 0:e.setFocus({selectText:!0}))}async initKeyboardManager(){this._keyboardManager=new o;const e={element:this.el,propagate:!0};this._keyboardManager.bind("ArrowUp",(()=>this.handleArrowUp()),Object.assign(Object.assign({},e),{propagate:!1})).bind("ArrowDown",(()=>this.handleArrowDown()),Object.assign(Object.assign({},e),{propagate:!1})).bind("Enter",(()=>this.selectCurrentItem()),Object.assign(Object.assign({},e),{propagate:!this.stopPropagateEnterKeyEvent})).bind("Tab",(()=>this.handleInputTab()),e).bind("Escape",(()=>this.handleInputEsc()),e)}disconnectedCallback(){this._keyboardManager.unbind("ArrowUp").unbind("ArrowDown").unbind("Enter").unbind("Tab").unbind("Escape")}isOptionsVisible(){return this._popover.opened}setLatestFocusedInputElement(e){this._latestFocusedInputElement=e}handleCodeInputFocus(){this.setLatestFocusedInputElement(this._textInputCodeValue)}handleDescriptionInputFocus(){this.setLatestFocusedInputElement(this._textInputDescriptionValue)}getRightIconElement(){var e,t;return this.ensureClearButtonVisible||this.value||(null===(e=this._textInputCodeValue)||void 0===e?void 0:e.value)||(null===(t=this._textInputDescriptionValue)||void 0===t?void 0:t.value)?i("button",{class:"btn btn__close",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.clearSearch()},i("ez-icon",{iconName:"close"})):null}getLeftIconElement(){return i("button",{class:"btn",slot:"leftIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handleSearchClick()},this.canShowLoadSpinDescription()?i("div",{class:"message__loading"}):i("ez-icon",{iconName:"search"}))}handleOnEzVisibilityChange(e){e.stopPropagation(),this.searchDescriptionIsOpen=e.detail}render(){return l.addIDInfoIfNotExists(this.el,"input"),i(r,null,i("div",{class:"ez-search-plus__container"},i("ez-text-input",{ref:e=>this._textInputCodeValue=e,class:{"ez-search-plus__code-input":!this.hideDescriptionInput,"ez-search-plus__code-input-no-border":!this.hideDescriptionInput,"ez-search-plus__code-input-full":this.hideDescriptionInput},"data-element-id":l.getInternalIDInfo("codeInput"),"data-slave-mode":"true",enabled:!this.disableCodeInput&&this.enabled,mode:this.mode,label:this.getCodLabel(),canShowError:this.canShowError,hasInvalid:!a.isEmpty(this.errorMessage),errorMessage:this.hideDescriptionInput?this.errorMessage:"",value:this.codeValue,onFocusout:()=>this.handleCodeInputFocusOut(),onFocus:()=>this.handleCodeInputFocus()},this.getLeftIconElement()),!this.hideDescriptionInput&&i("div",{class:"description-input-container"},i("ez-text-input",{ref:e=>this._textInputDescriptionValue=e,tabIndex:-1,class:"ez-search-plus__text-input","data-element-id":l.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:e=>this.handleTextInputChangeHandler(e),onFocus:()=>this.handleDescriptionInputFocus()},this.getRightIconElement()),i("ez-popover-plus",{ref:e=>this._popover=e,anchorElement:this.el,autoClose:!0,boxWidth:"fit-content",overlayType:"none",useAnchorSize:!0,onEzVisibilityChange:e=>this.handleOnEzVisibilityChange(e),"data-element-id":this.el.getAttribute("data-element-id")},i("ez-search-result-list",{ref:e=>this._searchList=e,showLoading:this.showLoading,visibleOptions:this.visibleOptions,value:this.value,showOptionValue:this.showOptionValue,onChangeValue:e=>this.handleSelectItem(e)})))))}get el(){return s(this)}static get watchers(){return{value:["observeValue"]}}};d.style=":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)}.list-options{margin-top:0px;box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--scrollbar--background);width:var(--space--small);max-width:var(--space--small);min-width:var(--space--small);height:var(--space--small);max-height:var(--space--small);min-height:var(--space--small)}.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);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:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;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)}}@supports not (scrollbar-width: thin){.item{padding-right:8px}}.ez-search-plus__container{display:flex;flex-grow:1;gap:3px}.ez-search-plus__text-input{--ez-text-input--border-top-left-radius:0px;--ez-text-input--border-bottom-left-radius:0px;outline:none}.ez-search-plus__code-input-no-border{--ez-text-input--border-top-right-radius:0px;--ez-text-input--border-bottom-right-radius:0px}.ez-search-plus__code-input{max-width:85px}.ez-search-plus__code-input-full{width:100%}.description-input-container{width:100%;outline:none}";export{d as ez_search_plus}
@@ -1 +1 @@
1
- import{UserInterface as t,Action as s,StringUtils as i,ApplicationContext as e,ObjectUtils as n,WaitingChangeException as a,DataUnitAction as h}from"@sankhyalabs/core";import{A as r}from"./p-9825c1d2.js";import{g as o}from"./p-c178730b.js";import{h as l}from"./p-e4c7eb39.js";const c=(s,i)=>{var e,n;let a,h,{name:r,label:o,group:l}=Object.assign({},i),{readOnly:c,required:d}=Object.assign({},i);return s&&(o=o||s.label,r=r||s.name,d=null!==(e=s.required)&&void 0!==e?e:null==i?void 0:i.required,c=null!==(n=s.readOnly)&&void 0!==n?n:null==i?void 0:i.readOnly,a=s.properties,h=s.userInterface),{name:r,label:o,group:l,readOnly:c,required:d,props:a,userInterface:h||t.SHORTTEXT}};class d{constructor(t,s,i){this._dataUnit=t,this._validationSource=s,this._validator=i,this._i18n=o()}validate(t=!0){return new Promise(((s,i)=>{const e=this._dataUnit.getModifiedRecords();for(let s=0;s<e.length;s++){const n=e[s],a=[];let h=this.validateRequired(n);if(h&&!h.isValid&&a.push(h),this._validator&&(h=this._validator.validateRecord(n),h&&!h.isValid&&a.push(h)),a.length>0){if(!t&&a[0].invalidFields.length>0){this._validationSource.markAsInvalid(a[0].invalidFields[0],n.__record__id__),i();break}this.processValidationResult(a,n.__record__id__),i();break}}return s()}))}validateRequired(t){const s=this._validationSource.getRequiredFields(),i=[];if(new Set(s).forEach((s=>{const e=t[s];if(null==e||""===e){const e=this._validationSource.getMessageForField(s,t.__record__id__);i.push(e?{name:s,message:e}:{name:s,message:this._i18n("utils.requiredField")})}})),i.length>0)return{isValid:!1,invalidFields:i,infoMessage:this._i18n("utils.requiredFieldMessage")}}processValidationResult(t,s){t.forEach((t=>{const i=t.invalidFields;if(this._dataUnit.savingCanceled(i,s),i&&i.forEach((t=>{this.markAsInvalid(t,s)})),t.infoMessage&&r.info(t.infoMessage),t.errorMessage){const{errorTitle:s,errorMessage:i}=t;r.error(s,i)}}))}markAsInvalid(t,s){this._dataUnit.setInvalidField(t.name,t.message,s),this._validationSource.markAsInvalid(t,s)}}class u{constructor(t){this.onDataUnitEvent=t=>{var i;switch(t.type){case s.MULTIPLE_EDITION_CHANGED:this.clearInvalid(),this.updateAllFieldsValues();break;case s.DATA_LOADED:case s.DATA_SAVED:case s.RECORDS_REMOVED:case s.RECORDS_ADDED:case s.RECORDS_COPIED:case s.EDITION_CANCELED:case s.SELECTION_CHANGED:case s.NEXT_SELECTED:case s.PREVIOUS_SELECTED:this.clearInvalid();case s.DATA_CHANGED:case s.CHANGE_UNDONE:case s.CHANGE_REDONE:case s.RECORD_LOADED:this.updateAllFieldsValues(),this.clearFieldError(Object.keys(t.payload)[0]);break;case s.FIELD_INVALIDATED:null===(i=this._fields)||void 0===i||i.forEach((t=>{this.updateErrorMessage(t.fieldName,t.field)}))}},this._uuid=i.generateUUID(),this._fields=new Map,this._dataUnit=t,this.applyDefaultValues(),this._dataUnit.subscribe(this.onDataUnitEvent),this._dataUnit.addInterceptor(this),this.setContextDataBinder(t)}get dataBinderId(){return this._uuid}setContextDataBinder(t){const s=e.getContextValue("__DATABINDER_BY_DATAUNIT__")||new Map,i=[...s.get(t.dataUnitId)||[],this];s.set(t.dataUnitId,i),e.setContextValue("__DATABINDER_BY_DATAUNIT__",s)}applyDefaultValues(){const t=(this._dataUnit.getAddedRecords()||[]).map((t=>t.__record__id__));if(t.length>0){const s=this.getDefaultValues();s&&Object.keys(s).forEach((i=>{this._dataUnit.setFieldValue(i,s[i],t)}))}}bind(t,s,i,e){t.forEach((t=>{const{fieldName:i,contextName:e}=t.dataset;null!=e&&e!==s||this.updateBind(i,t)})),this._formMetadata=i,this._recordValidatorProcessor=new d(this._dataUnit,{getRequiredFields:()=>this.getFormRequiredFields(),markAsInvalid:t=>this.markInvalid(t),getMessageForField:t=>this.getErrorMessage(t)},e)}getFormRequiredFields(){return this._formMetadata.getRequiredFields()}disconnectDataUnit(){const t=e.getContextValue("__DATABINDER_BY_DATAUNIT__")||new Map,s=t.get(this._dataUnit.dataUnitId).filter((t=>t.dataBinderId!==this.dataBinderId));t.set(this._dataUnit.dataUnitId,s),e.setContextValue("__DATABINDER_BY_DATAUNIT__",t)}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent),this._dataUnit.removeInterceptor(this),this.disconnectDataUnit()}getCurrentRecordId(){const t=this._dataUnit.getSelectedRecord();return null==t?void 0:t.__record__id__}markInvalid(t){if(this._fields.has(t.name)){const s=this._fields.get(t.name).field;this.updateErrorMessage(t.name,s,t.message)}}setFocus(t){if(!this._fields.has(t))return;const s=this._fields.get(t).field;"function"==typeof s.setFocus&&s.setFocus()}clearInvalid(t){this._dataUnit.clearInvalid(t),this._fields.forEach((t=>{t.field.errorMessage=""}))}clearFieldError(t){var s;const i=null===(s=this._fields.get(t))||void 0===s?void 0:s.field;i&&i.errorMessage&&(i.errorMessage="",this._dataUnit.clearInvalid(this.getCurrentRecordId(),t))}updateFieldValue(t,s){const i=this._fields.get(t);try{i&&(i.listen=!1),this._dataUnit.isMultipleEdition&&this.hasMultipleValuesBetweenRecords(t)?(s.value=void 0,s.alternativePlaceholder="Múltiplos Valores"):(s.value=this._dataUnit.getFieldValue(t),s.alternativePlaceholder=void 0),this.updateErrorMessage(t,s)}finally{i&&(i.listen=!0)}}hasMultipleValuesBetweenRecords(t){var s,i;const e=null!==(i=null===(s=this._dataUnit.getSelectionInfo())||void 0===s?void 0:s.records)&&void 0!==i?i:[];if(e.length<=1)return!1;const a=e[0][t];return!e.every((s=>n.equals(s[t],a)))}validate(){return this._recordValidatorProcessor.validate()}static async validateByDataunit(t){try{const s=this.getDataBindersByDataUnit(t);return await Promise.all(s.map((t=>t.validate()))),!0}catch(t){return!1}}static getDataBindersByDataUnit(t){const s=e.getContextValue("__DATABINDER_BY_DATAUNIT__");return(null==s?void 0:s.get(t.dataUnitId))||[]}updateErrorMessage(t,s,i){null==i&&(i=this._dataUnit.getInvalidMessage(this.getCurrentRecordId(),t)),s.errorMessage||(s.errorMessage=i)}getErrorMessage(t){if(this._fields.has(t))return this._fields.get(t).field.errorMessage}updateBind(t,s){const i=this._fields.get(t);i&&i.destroy(),this.bindSearchOptionsLoader(t,s),this.updateFieldValue(t,s),this.updateErrorMessage(t,s),this._fields.set(t,_.create(t,s,((t,s)=>this.changeStarted(t,s)),(t=>this.cancelWaitingChange(t)),((t,s)=>this.setFieldValue(t,s)))),this.applyEzUploadContext(t,s)}changeStarted(t,s){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),!s.blocking&&null==s.promise){const i=this._fields.get(t);i&&(s.promise=new Promise(((t,s)=>{i.waitingChangePromiseResolve=t,i.waitingChangePromiseReject=s})))}this._dataUnit.startChange(t,s)}cancelWaitingChange(t){if(this._dataUnit.waitingForChange(t)){this._dataUnit.cancelWaitingChange(t);const s=this._fields.get(t);s&&s.rejectWaitingChange(new a("Change canceled",t))}}setFieldValue(t,s){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.clearInvalid(this.getCurrentRecordId(),t),this._dataUnit.isMultipleEdition){const i=this._dataUnit.getSelectionInfo();this._dataUnit.setFieldValue(t,s,i.recordIds)}else{const i=this._dataUnit.getSelectedRecord();this._dataUnit.setFieldValue(t,s,i?[i.__record__id__]:void 0)}if(this._dataUnit.waitingForChange(t)){const s=this._fields.get(t);s&&s.acceptWaitingChange()}}bindSearchOptionsLoader(t,s){if(("EZ-SEARCH"===s.nodeName||"EZ-CLASSIC-SEARCH"===s.nodeName||"EZ-SEARCH-PLUS"===s.nodeName||"EZ-CLASSIC-SEARCH-PLUS"===s.nodeName)&&null==s.optionLoader){const i=e.getContextValue("EZ-SEARCH-PLUS"===s.nodeName||"EZ-CLASSIC-SEARCH-PLUS"===s.nodeName?"__EZUI__SEARCH__PLUS__OPTION__LOADER__":"__EZUI__SEARCH__OPTION__LOADER__");i&&(s.optionLoader=(s,e)=>i(s,t,this._dataUnit,e))}}applyEzUploadContext(t,s){var i,n;if("EZ-UPLOAD"===s.nodeName){s.urlUpload=e.getContextValue("__EZUI__UPLOAD__ADD__URL__"),s.urlDelete=e.getContextValue("__EZUI__UPLOAD__DEL__URL__");const a=this._dataUnit.getField(t),h=null===(i=a.properties)||void 0===i?void 0:i.DESTINATION;h&&(s.requestHeaders={XTRAINF:`{"destination": "${h}"}`}),s.maxFiles=(null===(n=a.properties)||void 0===n?void 0:n.MAX_FILES)||0}}updateAllFieldsValues(){var t;null===(t=this._fields)||void 0===t||t.forEach((t=>{this.updateFieldValue(t.fieldName,t.field)}))}interceptAction(t){if(t.type===s.RECORDS_COPIED){const i=this._formMetadata.getCleanOnCopyFields();if(i)return new h(s.RECORDS_COPIED,t.payload.map((t=>{const s=Object.assign({},t);return i.forEach((t=>delete s[t])),s})))}if(t.type===s.SAVING_DATA)return new Promise((s=>{this.validate().then((()=>s(t))).catch((()=>{}))}));if(t.type===s.RECORDS_ADDED){const i=this.getDefaultValues();if(i)return new h(s.RECORDS_ADDED,t.payload.map((t=>Object.assign(Object.assign({},t),i))))}return t}getDefaultValues(){var t;const s=null===(t=this._formMetadata)||void 0===t?void 0:t.getDefaultValues();if(s){const t={};for(const i in s)t[i]=this._dataUnit.valueFromString(i,s[i]);return t}}}class _{constructor(){this.listen=!0,this.startChangeEventName="ezStartChange",this.cancelWaitingChangeEventName="ezCancelWaitingChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.cancelWaitingChangeEventName,this.cancelWaitingChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}acceptWaitingChange(){this.waitingChangePromiseResolve&&(this.waitingChangePromiseResolve(),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}rejectWaitingChange(t){this.waitingChangePromiseReject&&(this.waitingChangePromiseReject(t),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}static create(t,s,i,e,n){const a=new _;return a.field=s,a.fieldName=t,a.startChangeListener=s=>{a.listen&&i(t,s.detail)},a.field.addEventListener(a.startChangeEventName,a.startChangeListener),a.cancelWaitingChangeListener=()=>{a.listen&&e(t)},a.field.addEventListener(a.cancelWaitingChangeEventName,a.cancelWaitingChangeListener),a.changeListener=s=>{a.listen&&n(t,s.detail)},a.field.addEventListener(a.changeEventName,a.changeListener),a}}const A="ctrl+f",v=240,p=String(210)+"px",f=(t,s,i)=>l("ez-search",{class:"ez-padding--small ez-margin--none",style:{"--ez-text-input__margin-bottom":"0px","--ez-search--width":p},canShowError:!1,showSelectedValue:!1,showOptionValue:!1,suppressEmptyOption:!0,label:t.label,value:null,optionLoader:s,onEzChange:t=>i(t.detail),ignoreLimitCharsToSearch:!0}),g=async t=>{requestAnimationFrame((async()=>{if(t){const s=t.t;if(!s)return;s.value=null,await s.setFocus()}}))};export{u as D,d as R,A as S,f as a,c as b,v as c,g as f}
1
+ import{UserInterface as t,Action as s,StringUtils as i,ApplicationContext as e,ObjectUtils as n,WaitingChangeException as a,DataUnitAction as h}from"@sankhyalabs/core";import{A as r}from"./p-9825c1d2.js";import{g as o}from"./p-c178730b.js";import{h as l}from"./p-23a36bb6.js";const c=(s,i)=>{var e,n;let a,h,{name:r,label:o,group:l}=Object.assign({},i),{readOnly:c,required:d}=Object.assign({},i);return s&&(o=o||s.label,r=r||s.name,d=null!==(e=s.required)&&void 0!==e?e:null==i?void 0:i.required,c=null!==(n=s.readOnly)&&void 0!==n?n:null==i?void 0:i.readOnly,a=s.properties,h=s.userInterface),{name:r,label:o,group:l,readOnly:c,required:d,props:a,userInterface:h||t.SHORTTEXT}};class d{constructor(t,s,i){this._dataUnit=t,this._validationSource=s,this._validator=i,this._i18n=o()}validate(t=!0){return new Promise(((s,i)=>{const e=this._dataUnit.getModifiedRecords();for(let s=0;s<e.length;s++){const n=e[s],a=[];let h=this.validateRequired(n);if(h&&!h.isValid&&a.push(h),this._validator&&(h=this._validator.validateRecord(n),h&&!h.isValid&&a.push(h)),a.length>0){if(!t&&a[0].invalidFields.length>0){this._validationSource.markAsInvalid(a[0].invalidFields[0],n.__record__id__),i();break}this.processValidationResult(a,n.__record__id__),i();break}}return s()}))}validateRequired(t){const s=this._validationSource.getRequiredFields(),i=[];if(new Set(s).forEach((s=>{const e=t[s];if(null==e||""===e){const e=this._validationSource.getMessageForField(s,t.__record__id__);i.push(e?{name:s,message:e}:{name:s,message:this._i18n("utils.requiredField")})}})),i.length>0)return{isValid:!1,invalidFields:i,infoMessage:this._i18n("utils.requiredFieldMessage")}}processValidationResult(t,s){t.forEach((t=>{const i=t.invalidFields;if(this._dataUnit.savingCanceled(i,s),i&&i.forEach((t=>{this.markAsInvalid(t,s)})),t.infoMessage&&r.info(t.infoMessage),t.errorMessage){const{errorTitle:s,errorMessage:i}=t;r.error(s,i)}}))}markAsInvalid(t,s){this._dataUnit.setInvalidField(t.name,t.message,s),this._validationSource.markAsInvalid(t,s)}}class u{constructor(t){this.onDataUnitEvent=t=>{var i;switch(t.type){case s.MULTIPLE_EDITION_CHANGED:this.clearInvalid(),this.updateAllFieldsValues();break;case s.DATA_LOADED:case s.DATA_SAVED:case s.RECORDS_REMOVED:case s.RECORDS_ADDED:case s.RECORDS_COPIED:case s.EDITION_CANCELED:case s.SELECTION_CHANGED:case s.NEXT_SELECTED:case s.PREVIOUS_SELECTED:this.clearInvalid();case s.DATA_CHANGED:case s.CHANGE_UNDONE:case s.CHANGE_REDONE:case s.RECORD_LOADED:this.updateAllFieldsValues(),this.clearFieldError(Object.keys(t.payload)[0]);break;case s.FIELD_INVALIDATED:null===(i=this._fields)||void 0===i||i.forEach((t=>{this.updateErrorMessage(t.fieldName,t.field)}))}},this._uuid=i.generateUUID(),this._fields=new Map,this._dataUnit=t,this.applyDefaultValues(),this._dataUnit.subscribe(this.onDataUnitEvent),this._dataUnit.addInterceptor(this),this.setContextDataBinder(t)}get dataBinderId(){return this._uuid}setContextDataBinder(t){const s=e.getContextValue("__DATABINDER_BY_DATAUNIT__")||new Map,i=[...s.get(t.dataUnitId)||[],this];s.set(t.dataUnitId,i),e.setContextValue("__DATABINDER_BY_DATAUNIT__",s)}applyDefaultValues(){const t=(this._dataUnit.getAddedRecords()||[]).map((t=>t.__record__id__));if(t.length>0){const s=this.getDefaultValues();s&&Object.keys(s).forEach((i=>{this._dataUnit.setFieldValue(i,s[i],t)}))}}bind(t,s,i,e){t.forEach((t=>{const{fieldName:i,contextName:e}=t.dataset;null!=e&&e!==s||this.updateBind(i,t)})),this._formMetadata=i,this._recordValidatorProcessor=new d(this._dataUnit,{getRequiredFields:()=>this.getFormRequiredFields(),markAsInvalid:t=>this.markInvalid(t),getMessageForField:t=>this.getErrorMessage(t)},e)}getFormRequiredFields(){return this._formMetadata.getRequiredFields()}disconnectDataUnit(){const t=e.getContextValue("__DATABINDER_BY_DATAUNIT__")||new Map,s=t.get(this._dataUnit.dataUnitId).filter((t=>t.dataBinderId!==this.dataBinderId));t.set(this._dataUnit.dataUnitId,s),e.setContextValue("__DATABINDER_BY_DATAUNIT__",t)}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent),this._dataUnit.removeInterceptor(this),this.disconnectDataUnit()}getCurrentRecordId(){const t=this._dataUnit.getSelectedRecord();return null==t?void 0:t.__record__id__}markInvalid(t){if(this._fields.has(t.name)){const s=this._fields.get(t.name).field;this.updateErrorMessage(t.name,s,t.message)}}setFocus(t){if(!this._fields.has(t))return;const s=this._fields.get(t).field;"function"==typeof s.setFocus&&s.setFocus()}clearInvalid(t){this._dataUnit.clearInvalid(t),this._fields.forEach((t=>{t.field.errorMessage=""}))}clearFieldError(t){var s;const i=null===(s=this._fields.get(t))||void 0===s?void 0:s.field;i&&i.errorMessage&&(i.errorMessage="",this._dataUnit.clearInvalid(this.getCurrentRecordId(),t))}updateFieldValue(t,s){const i=this._fields.get(t);try{i&&(i.listen=!1),this._dataUnit.isMultipleEdition&&this.hasMultipleValuesBetweenRecords(t)?(s.value=void 0,s.alternativePlaceholder="Múltiplos Valores"):(s.value=this._dataUnit.getFieldValue(t),s.alternativePlaceholder=void 0),this.updateErrorMessage(t,s)}finally{i&&(i.listen=!0)}}hasMultipleValuesBetweenRecords(t){var s,i;const e=null!==(i=null===(s=this._dataUnit.getSelectionInfo())||void 0===s?void 0:s.records)&&void 0!==i?i:[];if(e.length<=1)return!1;const a=e[0][t];return!e.every((s=>n.equals(s[t],a)))}validate(){return this._recordValidatorProcessor.validate()}static async validateByDataunit(t){try{const s=this.getDataBindersByDataUnit(t);return await Promise.all(s.map((t=>t.validate()))),!0}catch(t){return!1}}static getDataBindersByDataUnit(t){const s=e.getContextValue("__DATABINDER_BY_DATAUNIT__");return(null==s?void 0:s.get(t.dataUnitId))||[]}updateErrorMessage(t,s,i){null==i&&(i=this._dataUnit.getInvalidMessage(this.getCurrentRecordId(),t)),s.errorMessage||(s.errorMessage=i)}getErrorMessage(t){if(this._fields.has(t))return this._fields.get(t).field.errorMessage}updateBind(t,s){const i=this._fields.get(t);i&&i.destroy(),this.bindSearchOptionsLoader(t,s),this.updateFieldValue(t,s),this.updateErrorMessage(t,s),this._fields.set(t,_.create(t,s,((t,s)=>this.changeStarted(t,s)),(t=>this.cancelWaitingChange(t)),((t,s)=>this.setFieldValue(t,s)))),this.applyEzUploadContext(t,s)}changeStarted(t,s){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),!s.blocking&&null==s.promise){const i=this._fields.get(t);i&&(s.promise=new Promise(((t,s)=>{i.waitingChangePromiseResolve=t,i.waitingChangePromiseReject=s})))}this._dataUnit.startChange(t,s)}cancelWaitingChange(t){if(this._dataUnit.waitingForChange(t)){this._dataUnit.cancelWaitingChange(t);const s=this._fields.get(t);s&&s.rejectWaitingChange(new a("Change canceled",t))}}setFieldValue(t,s){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.clearInvalid(this.getCurrentRecordId(),t),this._dataUnit.isMultipleEdition){const i=this._dataUnit.getSelectionInfo();this._dataUnit.setFieldValue(t,s,i.recordIds)}else{const i=this._dataUnit.getSelectedRecord();this._dataUnit.setFieldValue(t,s,i?[i.__record__id__]:void 0)}if(this._dataUnit.waitingForChange(t)){const s=this._fields.get(t);s&&s.acceptWaitingChange()}}bindSearchOptionsLoader(t,s){if(("EZ-SEARCH"===s.nodeName||"EZ-CLASSIC-SEARCH"===s.nodeName||"EZ-SEARCH-PLUS"===s.nodeName||"EZ-CLASSIC-SEARCH-PLUS"===s.nodeName)&&null==s.optionLoader){const i=e.getContextValue("EZ-SEARCH-PLUS"===s.nodeName||"EZ-CLASSIC-SEARCH-PLUS"===s.nodeName?"__EZUI__SEARCH__PLUS__OPTION__LOADER__":"__EZUI__SEARCH__OPTION__LOADER__");i&&(s.optionLoader=(s,e)=>i(s,t,this._dataUnit,e))}}applyEzUploadContext(t,s){var i,n;if("EZ-UPLOAD"===s.nodeName){s.urlUpload=e.getContextValue("__EZUI__UPLOAD__ADD__URL__"),s.urlDelete=e.getContextValue("__EZUI__UPLOAD__DEL__URL__");const a=this._dataUnit.getField(t),h=null===(i=a.properties)||void 0===i?void 0:i.DESTINATION;h&&(s.requestHeaders={XTRAINF:`{"destination": "${h}"}`}),s.maxFiles=(null===(n=a.properties)||void 0===n?void 0:n.MAX_FILES)||0}}updateAllFieldsValues(){var t;null===(t=this._fields)||void 0===t||t.forEach((t=>{this.updateFieldValue(t.fieldName,t.field)}))}interceptAction(t){if(t.type===s.RECORDS_COPIED){const i=this._formMetadata.getCleanOnCopyFields();if(i)return new h(s.RECORDS_COPIED,t.payload.map((t=>{const s=Object.assign({},t);return i.forEach((t=>delete s[t])),s})))}if(t.type===s.SAVING_DATA)return new Promise((s=>{this.validate().then((()=>s(t))).catch((()=>{}))}));if(t.type===s.RECORDS_ADDED){const i=this.getDefaultValues();if(i)return new h(s.RECORDS_ADDED,t.payload.map((t=>Object.assign(Object.assign({},t),i))))}return t}getDefaultValues(){var t;const s=null===(t=this._formMetadata)||void 0===t?void 0:t.getDefaultValues();if(s){const t={};for(const i in s)t[i]=this._dataUnit.valueFromString(i,s[i]);return t}}}class _{constructor(){this.listen=!0,this.startChangeEventName="ezStartChange",this.cancelWaitingChangeEventName="ezCancelWaitingChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.cancelWaitingChangeEventName,this.cancelWaitingChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}acceptWaitingChange(){this.waitingChangePromiseResolve&&(this.waitingChangePromiseResolve(),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}rejectWaitingChange(t){this.waitingChangePromiseReject&&(this.waitingChangePromiseReject(t),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}static create(t,s,i,e,n){const a=new _;return a.field=s,a.fieldName=t,a.startChangeListener=s=>{a.listen&&i(t,s.detail)},a.field.addEventListener(a.startChangeEventName,a.startChangeListener),a.cancelWaitingChangeListener=()=>{a.listen&&e(t)},a.field.addEventListener(a.cancelWaitingChangeEventName,a.cancelWaitingChangeListener),a.changeListener=s=>{a.listen&&n(t,s.detail)},a.field.addEventListener(a.changeEventName,a.changeListener),a}}const v="ctrl+f",A=240,p=String(210)+"px",f=(t,s,i)=>l("ez-search",{class:"ez-padding--small ez-margin--none",style:{"--ez-text-input__margin-bottom":"0px","--ez-search--width":p},canShowError:!1,showSelectedValue:!1,showOptionValue:!1,suppressEmptyOption:!0,label:t.label,value:null,optionLoader:s,onEzChange:s=>{window.dispatchEvent(new CustomEvent("ezCloseSplitButtonDropdown",{detail:{action:t,value:s.detail}})),requestAnimationFrame((()=>{i(s.detail)}))},ignoreLimitCharsToSearch:!0}),g=async t=>{requestAnimationFrame((async()=>{if(t){const s=t.t;if(!s)return;s.value=null,await s.setFocus()}}))};export{u as D,d as R,v as S,f as a,c as b,A as c,g as f}
@@ -1 +1 @@
1
- import{r as e,c as r,h as t,H as i}from"./p-e4c7eb39.js";import{StringUtils as a}from"@sankhyalabs/core";import{i as s}from"./p-c178730b.js";const l=class{constructor(t){e(this,t),this.changeValue=r(this,"changeValue",7),this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this.showLoading=void 0,this.visibleOptions=[],this.value=void 0,this.showOptionValue=!0,this._preSelection=void 0}observerVisivleOptions(e){e.length&&this.preSelectItemByIndex(0)}async nextOption(){const e=void 0===this._preSelection?0:Math.min(this._preSelection+1,this.visibleOptions.length-1);this.preSelectItemByIndex(e)}async previousOption(){const e=void 0===this._preSelection?0:Math.max(this._preSelection-1,0);this.preSelectItemByIndex(e)}preSelectItemByIndex(e){this._preSelection=e,this.scrollToOption(this.visibleOptions[e])}selectOption(e){const r=Object.assign(Object.assign({},e),{value:null==e?void 0:e.value,label:null==e?void 0:e.label}),t=Object.assign(Object.assign({},r),{value:this.removeHighLight(null==r?void 0:r.value),label:this.removeHighLight(null==r?void 0:r.label)});this.changeValue.emit(t)}removeHighLight(e){if(!e||"string"!=typeof e)return e;const r=new RegExp(this._startHighlightTag,"g"),t=new RegExp(this._endHighlightTag,"g");return e.replace(r,"").replace(t,"")}createAndSelectOption(e){let{key:r,title:t}=e;r=String(null!=r?r:""),t=a.decodeHtmlEntities(t);const i={value:this.removeHighLight(r),label:this.removeHighLight(t)};this.selectOption(i)}scrollToOption(e){(null==e?void 0:e.value)&&this._optionsList&&window.requestAnimationFrame((()=>{var r;const t=String(null!==(r=null==e?void 0:e.value)&&void 0!==r?r:""),i=t?this._optionsList.querySelector(`div#item_${t.replace(/([ #;&,.+*~':"!^$[\]()=<>|/\\])/g,"\\$1")}`):void 0;i&&i.scrollIntoView({behavior:"smooth",block:"nearest"})}))}buildItem(e,r){var i;e.label=e.label||e.value;const a={key:String(null!==(i=e.presentationValue)&&void 0!==i?i:""),title:e.presentationLabel,details:e.details};return t("div",{style:{height:"100%"},class:r===this._preSelection?"item preselected":"item",id:`item_${e.value}`,onMouseDown:()=>this.createAndSelectOption(a),onMouseOver:()=>{this._preSelection=r}},t("ez-card-item",{item:a,compacted:!0,enableKey:this.showOptionValue}))}async selectCurrentItem(){this.selectOption(this.visibleOptions[this._preSelection])}async cancelSelection(){this.cancelPreselection()}cancelPreselection(){this._preSelection=void 0}canShowListOptions(){return!this.showLoading&&this.visibleOptions.length>0}async componentWillLoad(){this.i18n=await s()}render(){return t(i,null,t("ul",{class:"list-options",ref:e=>this._optionsList=e},!this.showLoading&&0===this.visibleOptions.length&&t("div",{class:"message"},t("span",{class:"message__no-result"},this.i18n("ez-search-plus.emptyList"))),this.showLoading&&t("div",{class:"loading__container"},t("ez-skeleton",{count:4,height:"20px"})),this.canShowListOptions()&&this.visibleOptions.map(((e,r)=>this.buildItem(e,r)))))}static get watchers(){return{visibleOptions:["observerVisivleOptions"]}}};l.style=":host{--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__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--small, 6px);--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-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px)}.list-options{position:relative;z-index:var(--more-visible, 2);margin:var(--space--small) 0px;padding:0px;padding-inline-start:0px;box-sizing:border-box;width:100%;height:100%;max-height:350px;min-width:150px;display:flex;flex-direction:column;scroll-behavior:smooth;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--scrollbar--background);width:var(--space--small);max-width:var(--space--small);min-width:var(--space--small);height:var(--space--small);max-height:var(--space--small);min-height:var(--space--small)}.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)}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;margin:var(--space--medium) 0px;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)}.loading__container{display:flex;flex-direction:column;margin:var(--space--small)}.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}.item__list>li:hover{background-color:var(--ez-search--background-medium)}.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);gap:var(--space--small, 6px)}.preselected{background-color:var(--background--medium)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@supports not (scrollbar-width: thin){.item{padding-right:8px}}";export{l as ez_search_result_list}
1
+ import{r as e,c as r,h as t,H as i}from"./p-23a36bb6.js";import{StringUtils as a}from"@sankhyalabs/core";import{i as s}from"./p-c178730b.js";const l=class{constructor(t){e(this,t),this.changeValue=r(this,"changeValue",7),this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this.showLoading=void 0,this.visibleOptions=[],this.value=void 0,this.showOptionValue=!0,this._preSelection=void 0}observerVisivleOptions(e){e.length&&this.preSelectItemByIndex(0)}async nextOption(){const e=void 0===this._preSelection?0:Math.min(this._preSelection+1,this.visibleOptions.length-1);this.preSelectItemByIndex(e)}async previousOption(){const e=void 0===this._preSelection?0:Math.max(this._preSelection-1,0);this.preSelectItemByIndex(e)}preSelectItemByIndex(e){this._preSelection=e,this.scrollToOption(this.visibleOptions[e])}selectOption(e){const r=Object.assign(Object.assign({},e),{value:null==e?void 0:e.value,label:null==e?void 0:e.label}),t=Object.assign(Object.assign({},r),{value:this.removeHighLight(null==r?void 0:r.value),label:this.removeHighLight(null==r?void 0:r.label)});this.changeValue.emit(t)}removeHighLight(e){if(!e||"string"!=typeof e)return e;const r=new RegExp(this._startHighlightTag,"g"),t=new RegExp(this._endHighlightTag,"g");return e.replace(r,"").replace(t,"")}createAndSelectOption(e){let{key:r,title:t}=e;r=String(null!=r?r:""),t=a.decodeHtmlEntities(t);const i={value:this.removeHighLight(r),label:this.removeHighLight(t)};this.selectOption(i)}scrollToOption(e){(null==e?void 0:e.value)&&this._optionsList&&window.requestAnimationFrame((()=>{var r;const t=String(null!==(r=null==e?void 0:e.value)&&void 0!==r?r:""),i=t?this._optionsList.querySelector(`div#item_${t.replace(/([ #;&,.+*~':"!^$[\]()=<>|/\\])/g,"\\$1")}`):void 0;i&&i.scrollIntoView({behavior:"smooth",block:"nearest"})}))}buildItem(e,r){var i;e.label=e.label||e.value;const a={key:String(null!==(i=e.presentationValue)&&void 0!==i?i:""),title:e.presentationLabel,details:e.details};return t("div",{style:{height:"100%"},class:r===this._preSelection?"item preselected":"item",id:`item_${e.value}`,onMouseDown:()=>this.createAndSelectOption(a),onMouseOver:()=>{this._preSelection=r}},t("ez-card-item",{item:a,compacted:!0,enableKey:this.showOptionValue}))}async selectCurrentItem(){this.selectOption(this.visibleOptions[this._preSelection])}async cancelSelection(){this.cancelPreselection()}cancelPreselection(){this._preSelection=void 0}canShowListOptions(){return!this.showLoading&&this.visibleOptions.length>0}async componentWillLoad(){this.i18n=await s()}render(){return t(i,null,t("ul",{class:"list-options",ref:e=>this._optionsList=e},!this.showLoading&&0===this.visibleOptions.length&&t("div",{class:"message"},t("span",{class:"message__no-result"},this.i18n("ez-search-plus.emptyList"))),this.showLoading&&t("div",{class:"loading__container"},t("ez-skeleton",{count:4,height:"20px"})),this.canShowListOptions()&&this.visibleOptions.map(((e,r)=>this.buildItem(e,r)))))}static get watchers(){return{visibleOptions:["observerVisivleOptions"]}}};l.style=":host{--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__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--small, 6px);--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-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px)}.list-options{position:relative;z-index:var(--more-visible, 2);margin:var(--space--small) 0px;padding:0px;padding-inline-start:0px;box-sizing:border-box;width:100%;height:100%;max-height:350px;min-width:150px;display:flex;flex-direction:column;scroll-behavior:smooth;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--scrollbar--background);width:var(--space--small);max-width:var(--space--small);min-width:var(--space--small);height:var(--space--small);max-height:var(--space--small);min-height:var(--space--small)}.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)}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;margin:var(--space--medium) 0px;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)}.loading__container{display:flex;flex-direction:column;margin:var(--space--small)}.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}.item__list>li:hover{background-color:var(--ez-search--background-medium)}.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);gap:var(--space--small, 6px)}.preselected{background-color:var(--background--medium)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@supports not (scrollbar-width: thin){.item{padding-right:8px}}";export{l as ez_search_result_list}
@@ -1 +1 @@
1
- import{r as e,c as o,h as i,H as r,g as t}from"./p-e4c7eb39.js";import{ElementIDUtils as l}from"@sankhyalabs/core";const c=class{constructor(i){e(this,i),this.tileClick=o(this,"tileClick",7),this.text=void 0,this.size="small",this.height=void 0,this.width=void 0,this.color="default",this.iconName="home",this.maximumLines=void 0,this.isInteractive=!1}async setFocus(){this._container.focus()}async setBlur(){this._container.blur()}clickListener(e){this.isInteractive||e.stopImmediatePropagation()}handleClick(){this.isInteractive&&this.tileClick.emit()}componentDidRender(){this._element&&l.addIDInfo(this._element),this._container&&l.addIDInfo(this._container,"tile-button",{id:"embedded"})}render(){const e=Object.assign(Object.assign(Object.assign({},this.height?{"--ez-tile--custom-height":`${this.height}px`}:{}),this.width?{"--ez-tile--custom-width":`${this.width}px`}:{}),this.maximumLines?{"--ez-tile--custom-maximum-lines":`${this.maximumLines}`}:{});return i(r,{style:e},i("button",{ref:e=>this._container=e,class:`${this.color} ${this.size} ${this.isInteractive?"isInteractive":""}`,onClick:()=>this.handleClick()},i("ez-icon",{class:"icon",iconName:this.iconName,size:"large"}),i("span",{title:this.text},this.text)))}get _element(){return t(this)}};c.style=":host{--ez-tile--width:120px;--ez-tile--height:80px;--ez-tile--padding:var(--space--12, 12px);--ez-tile--icon--margin-bottom:var(--space--8);--ez-tile--border-radius:var(--border--radius-16, 16px);--ez-tile--background-color:var(--color--gray-70, #ffffff);--ez-tile--color:var(--color--ocean-green-900, #003D2D);--ez-tile--icon-color:var(--color--ocean-green-400, #42A58A);--ez-tile--hover-background-color:var(--color--gray-80, #F9F9F9);--ez-tile--hover-color:var(--color--ocean-green-900, #003D2D);--ez-tile--hover-icon-color:var(--color--ocean-green-400, #42A58A);--ez-tile--focus-visible-border:2px solid var(--color--petroleum-400, #626D80);--ez-tile--font-family:var(--font-pattern, Arial);--ez-tile--font-weight:var(--font-weight--regular, 400);--ez-tile--font-size:var(--font-size--default, 14px);--ez-tile--title-line-height:var(--line-height--20, 20px);--ez-tile--icon-line-height:var(--line-height--24, 24px)}button{display:flex;flex-wrap:wrap;align-content:space-between;overflow:hidden;outline:none;box-shadow:none;width:var(--ez-tile--custom-width, var(--ez-tile--width));height:var(--ez-tile--custom-height, var(--ez-tile--height));border-radius:var(--ez-tile--border-radius);background-color:var(--ez-tile--background-color);color:var(--ez-tile--color);box-sizing:border-box;padding:var(--ez-tile--padding);border:2px solid var(--ez-tile--background-color)}button:focus-visible{border:var(--ez-tile--focus-visible-border)}.medium{--ez-tile--width:var(--ez-tile--custom-width, 120px);--ez-tile--height:var(--ez-tile--custom-height, 170px)}.isInteractive:hover,.isInteractive:focus{--ez-icon--color:var(--ez-tile--hover-icon-color);--ez-tile--background-color:var(--ez-tile--hover-background-color);--ez-tile--color:var(--ez-tile--hover-color);cursor:pointer}span{-webkit-line-clamp:var(--ez-tile--custom-maximum-lines, 1);line-clamp:var(--ez-tile--custom-maximum-lines,1);font-family:var(--ez-tile--font-family);font-weight:var(--ez-tile--font-weight);font-size:var(--ez-tile--font-size);line-height:var(--ez-tile--title-line-height);display:-webkit-box;-webkit-box-orient:vertical;width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:pre-wrap}ez-icon{--ez-icon--color:var(--ez-tile--icon-color);margin-bottom:var(--ez-tile--icon--margin-bottom);line-height:var(--ez-tile--icon-line-height)}.isInteractive:hover,.isInteractive:focus{outline:none}.green{--ez-tile--background-color:var(--color--ocean-green-90);--ez-tile--icon-color:var(--color--ocean-green-500)}.isInteractive.green:hover,.isInteractive.green:focus{--ez-tile--hover-background-color:var(--color--ocean-green-100);--ez-tile--icon-color:var(--color--ocean-green-500);outline:none}.gray{--ez-tile--background-color:var(--color--gray-80);--ez-tile--icon-color:var(--color--ocean-green-400)}.isInteractive.gray:hover,.isInteractive.gray:focus{--ez-tile--hover-background-color:var(--color--gray-90);--ez-tile--hover-icon-color:var(--color--ocean-green-400)}.red{--ez-tile--background-color:var(--color--red-100);--ez-tile--icon-color:var(--color--red-300)}.isInteractive.red:hover,.isInteractive.red:focus{--ez-tile--hover-background-color:var(--color--red-200);--ez-tile--hover-icon-color:var(--color--red-300)}.yellow{--ez-tile--background-color:var(--color--yellow-100);--ez-tile--icon-color:var(--color--yellow-400)}.isInteractive.yellow:hover,.isInteractive.yellow:focus{--ez-tile--hover-background-color:var(--color--yellow-200);--ez-tile--hover-icon-color:var(--color--yellow-400)}";export{c as ez_tile}
1
+ import{r as e,c as o,h as i,H as r,g as t}from"./p-23a36bb6.js";import{ElementIDUtils as l}from"@sankhyalabs/core";const c=class{constructor(i){e(this,i),this.tileClick=o(this,"tileClick",7),this.text=void 0,this.size="small",this.height=void 0,this.width=void 0,this.color="default",this.iconName="home",this.maximumLines=void 0,this.isInteractive=!1}async setFocus(){this._container.focus()}async setBlur(){this._container.blur()}clickListener(e){this.isInteractive||e.stopImmediatePropagation()}handleClick(){this.isInteractive&&this.tileClick.emit()}componentDidRender(){this._element&&l.addIDInfo(this._element),this._container&&l.addIDInfo(this._container,"tile-button",{id:"embedded"})}render(){const e=Object.assign(Object.assign(Object.assign({},this.height?{"--ez-tile--custom-height":`${this.height}px`}:{}),this.width?{"--ez-tile--custom-width":`${this.width}px`}:{}),this.maximumLines?{"--ez-tile--custom-maximum-lines":`${this.maximumLines}`}:{});return i(r,{style:e},i("button",{ref:e=>this._container=e,class:`${this.color} ${this.size} ${this.isInteractive?"isInteractive":""}`,onClick:()=>this.handleClick()},i("ez-icon",{class:"icon",iconName:this.iconName,size:"large"}),i("span",{title:this.text},this.text)))}get _element(){return t(this)}};c.style=":host{--ez-tile--width:120px;--ez-tile--height:80px;--ez-tile--padding:var(--space--12, 12px);--ez-tile--icon--margin-bottom:var(--space--8);--ez-tile--border-radius:var(--border--radius-16, 16px);--ez-tile--background-color:var(--color--gray-70, #ffffff);--ez-tile--color:var(--color--ocean-green-900, #003D2D);--ez-tile--icon-color:var(--color--ocean-green-400, #42A58A);--ez-tile--hover-background-color:var(--color--gray-80, #F9F9F9);--ez-tile--hover-color:var(--color--ocean-green-900, #003D2D);--ez-tile--hover-icon-color:var(--color--ocean-green-400, #42A58A);--ez-tile--focus-visible-border:2px solid var(--color--petroleum-400, #626D80);--ez-tile--font-family:var(--font-pattern, Arial);--ez-tile--font-weight:var(--font-weight--regular, 400);--ez-tile--font-size:var(--font-size--default, 14px);--ez-tile--title-line-height:var(--line-height--20, 20px);--ez-tile--icon-line-height:var(--line-height--24, 24px)}button{display:flex;flex-wrap:wrap;align-content:space-between;overflow:hidden;outline:none;box-shadow:none;width:var(--ez-tile--custom-width, var(--ez-tile--width));height:var(--ez-tile--custom-height, var(--ez-tile--height));border-radius:var(--ez-tile--border-radius);background-color:var(--ez-tile--background-color);color:var(--ez-tile--color);box-sizing:border-box;padding:var(--ez-tile--padding);border:2px solid var(--ez-tile--background-color)}button:focus-visible{border:var(--ez-tile--focus-visible-border)}.medium{--ez-tile--width:var(--ez-tile--custom-width, 120px);--ez-tile--height:var(--ez-tile--custom-height, 170px)}.isInteractive:hover,.isInteractive:focus{--ez-icon--color:var(--ez-tile--hover-icon-color);--ez-tile--background-color:var(--ez-tile--hover-background-color);--ez-tile--color:var(--ez-tile--hover-color);cursor:pointer}span{-webkit-line-clamp:var(--ez-tile--custom-maximum-lines, 1);line-clamp:var(--ez-tile--custom-maximum-lines,1);font-family:var(--ez-tile--font-family);font-weight:var(--ez-tile--font-weight);font-size:var(--ez-tile--font-size);line-height:var(--ez-tile--title-line-height);display:-webkit-box;-webkit-box-orient:vertical;width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:pre-wrap}ez-icon{--ez-icon--color:var(--ez-tile--icon-color);margin-bottom:var(--ez-tile--icon--margin-bottom);line-height:var(--ez-tile--icon-line-height)}.isInteractive:hover,.isInteractive:focus{outline:none}.green{--ez-tile--background-color:var(--color--ocean-green-90);--ez-tile--icon-color:var(--color--ocean-green-500)}.isInteractive.green:hover,.isInteractive.green:focus{--ez-tile--hover-background-color:var(--color--ocean-green-100);--ez-tile--icon-color:var(--color--ocean-green-500);outline:none}.gray{--ez-tile--background-color:var(--color--gray-80);--ez-tile--icon-color:var(--color--ocean-green-400)}.isInteractive.gray:hover,.isInteractive.gray:focus{--ez-tile--hover-background-color:var(--color--gray-90);--ez-tile--hover-icon-color:var(--color--ocean-green-400)}.red{--ez-tile--background-color:var(--color--red-100);--ez-tile--icon-color:var(--color--red-300)}.isInteractive.red:hover,.isInteractive.red:focus{--ez-tile--hover-background-color:var(--color--red-200);--ez-tile--hover-icon-color:var(--color--red-300)}.yellow{--ez-tile--background-color:var(--color--yellow-100);--ez-tile--icon-color:var(--color--yellow-400)}.isInteractive.yellow:hover,.isInteractive.yellow:focus{--ez-tile--hover-background-color:var(--color--yellow-200);--ez-tile--hover-icon-color:var(--color--yellow-400)}";export{c as ez_tile}
@@ -1 +1 @@
1
- import{r as o,h as t,H as e,g as r}from"./p-e4c7eb39.js";import{ElementIDUtils as n}from"@sankhyalabs/core";const i=class{constructor(t){o(this,t),this.createRipple=o=>{const t=this._button;if(!t||this.isDisabled||!this.enabled)return;const e=t.getBoundingClientRect();let r,n;o instanceof MouseEvent?(r=o.clientX,n=o.clientY):(r=o.touches[0].clientX,n=o.touches[0].clientY);const i={x:r-e.left,y:n-e.top,id:Date.now()};this.ripples=[...this.ripples,i],this.isPressed=!0,setTimeout((()=>{this.isPressed=!1}),150),setTimeout((()=>{this.ripples=this.ripples.filter((o=>o.id!==i.id))}),600)},this.ripples=[],this.isPressed=!1,this.label=void 0,this.enabled=!0,this.isDisabled=!1,this.mode="regular",this.image=void 0,this.iconName=void 0,this.size="medium",this.variant=void 0,this.type="button",this.leftIconName=void 0,this.rightIconName=void 0,this.suppressAnimation=!1}async setFocus(){this._button.focus(),this._button.classList.add("force-focus-visible")}async setBlur(){this._button.blur()}onMouseDown(o){this.createRipple(o)}onTouchStart(o){this.createRipple(o)}clickListener(o){(!this.enabled||!0===this.isDisabled||""===this.isDisabled||"full"===this.isDisabled)&&o.stopImmediatePropagation()}removeForcedFocusVisible(){var o;null===(o=this._button)||void 0===o||o.classList.remove("force-focus-visible")}connectedCallback(){var o,t;null===(o=this._button)||void 0===o||o.removeEventListener("blur",this.removeForcedFocusVisible.bind(this)),null===(t=this._button)||void 0===t||t.addEventListener("blur",this.removeForcedFocusVisible.bind(this))}componentDidLoad(){var o;this._element&&n.addIDInfo(this._element),this._button&&n.addIDInfo(this._button,"button",{id:"embedded"}),null===(o=this._button)||void 0===o||o.addEventListener("blur",this.removeForcedFocusVisible.bind(this))}disconnectCallback(){var o;null===(o=this._button)||void 0===o||o.removeEventListener("blur",this.removeForcedFocusVisible.bind(this))}getButtonSize(o="medium"){const t=this.size&&this.size.toLowerCase();return["x-small","small","medium","large"].includes(t)?t:o}getButtonSizeClass(){return this.getButtonSize()?`btn-icon--${this.getButtonSize()}`:""}getIconSize(){return"x-small"===this.size?"small":this.size}handleSlotChange(o){const t=o.target.assignedElements()[0];t&&("link"==this.mode?t.style.display="inline":t.style.setProperty("--ez-icon--color","var(--ez-icon--color)"))}renderRipples(){return this.ripples.map((o=>t("span",{key:o.id,class:"ripple",style:{left:o.x-10+"px",top:o.y-10+"px"}})))}render(){return t(e,{class:this.variant?`ez-button--${this.variant}`:""},(()=>"icon"==this.mode?t("button",{class:`btn-icon ${this.getButtonSizeClass()} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},t("ez-icon",{class:"icon",href:this.image,iconName:this.iconName,size:this.getIconSize()}),!this.suppressAnimation&&this.renderRipples()):"label-icon"==this.mode?t("div",{class:"label-icon "+("full"!==this.isDisabled&&""!==this.isDisabled&&!0!==this.isDisabled&&this.enabled?"":"disabled")},t("button",{class:`btn-icon ${this.getButtonSizeClass()} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},t("ez-icon",{class:"icon",href:this.image,iconName:this.iconName,size:this.getIconSize()}),!this.suppressAnimation&&this.renderRipples()),t("label",{title:this.label},this.label)):"link"==this.mode?t("a",{class:`${this.getIconSize()} ${"full"!==this.isDisabled&&""!==this.isDisabled&&!0!==this.isDisabled&&this.enabled?"":"disabled"}`,tabIndex:0,ref:o=>this._button=o},this.leftIconName?t("ez-icon",{class:"leftIcon",iconName:this.leftIconName,size:this.getIconSize()}):t("slot",{name:"leftIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),this.label,this.rightIconName?t("ez-icon",{class:"rightIcon",iconName:this.rightIconName,size:this.getIconSize()}):t("slot",{name:"rightIcon",onSlotchange:o=>{this.handleSlotChange(o)}})):t("button",{class:`${this.getButtonSize("")} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},this.leftIconName?t("ez-icon",{class:"leftIcon",iconName:this.leftIconName,size:this.getIconSize()}):t("slot",{name:"leftIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),this.label,this.rightIconName?t("ez-icon",{class:"rightIcon",iconName:this.rightIconName,size:this.getIconSize()}):t("slot",{name:"rightIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),!this.suppressAnimation&&this.renderRipples()))())}get _element(){return r(this)}};i.style=":host{--ez-button--min-width:50px;--ez-button--width:auto;--ez-button--height:var(--space--42, 42px);--ez-button--padding-top:var(--space--0, 0px);--ez-button--padding-bottom:var(--space--0, 0px);--ez-button--padding-right:var(--space--12, 12px);--ez-button--padding-left:var(--space--12, 12px);--ez-button--icon--gap:var(--space--8, 8px);--ez-button--color:var(--color--ocean-green-600, #008561);--ez-button--label-icon--color:var(--color--ocean-green-500, #1A9171);--ez-button--label-icon--hover-color:var(--color--ocean-green-700, #00684C);--ez-button--label-icon--disabled-color:var(--color--gray-400);--ez-button--left-icon--color:var(--color--ocean-green-600, #008561);--ez-button--right-icon--color:var(--color--ocean-green-600, #008561);--ez-button--left-icon--hover-color:var(--color--ocean-green-600, #008561);--ez-button--right-icon--hover-color:var(--color--ocean-green-600, #008561);--ez-button--left-icon--disabled-color:var(--color--gray-300, #A4A5A7);--ez-button--right-icon--disabled-color:var(--color--gray-300, #A4A5A7);--ez-button--font-size:var(--font-size--default, 14px);--ez-button--font-family:var(--font-pattern, Arial);--ez-button--font-weight:var(--font-weight--medium, 500);--ez-button--background-color:var(--color--gray-70, #ffffff);--ez-button--border-radius:var(--border--radius--24, 24px);--ez-button--border:1px solid var(--color--gray-90, #EAEAEA);--ez-button--hover--border:1px solid var(--color--gray-90, #EAEAEA);--ez-button--justify-content:center;--ez-button--hover-color:var(--color--ocean-green-600, #008561);--ez-button--hover--background-color:var(--color--gray-80, #F9F9F9);--ez-button--disabled-color:var(--color--gray-400, #77777A);--ez-button--disabled--background-color:var(--color--gray-80, #F9F9F9);--ez-button--disabled--border:1px solid var(--color--gray-200, #A4A5A7);--ez-button--disabled-icon-color:var(--color--gray-400, #D2D2D3);--ez-button--link-color:var(--color--ocean-green-600, #008561);--ez-button--link--hover-color:var(--color--primary-700, #1C1D22);--ez-button--link-disabled-color:var(--color--gray-400, #77777A);--ez-button--link--small--font-size:var(--font-size--small, 12px);--ez-button--link--medium--font-size:var(--font-size--default, 14px);--ez-button--link--large--font-size:var(--font-size--medium, 16px);display:flex;width:fit-content}:host(.ez-button--primary){--ez-button--color:var(--color--gray-70);--ez-button--background-color:var(--color--ocean-green-500);--ez-button--font-weight:var(--font-weight--regular);--ez-button--left-icon--color:var(--color--gray-70);--ez-button--right-icon--color:var(--color--gray-70);--ez-button--border:1px solid var(--color--ocean-green-500);--ez-button--hover-color:var(--color--gray-70);--ez-button--hover--background-color:var(--color--ocean-green-700);--ez-button--hover--border:1px solid var(--color--ocean-green-700);--ez-button--left-icon--hover-color:var(--color--gray-70);--ez-button--right-icon--hover-color:var(--color--gray-70);--ez-button--disabled-color:var(--color--gray-70);--ez-button--disabled--background-color:var(--color--gray-400);--ez-button--disabled--border:1px solid var(--color--gray-400);--ez-button--disabled-icon-color:var(--color--gray-200);--ez-button--left-icon--disabled-color:var(--color--gray-200);--ez-button--right-icon--disabled-color:var(--color--gray-200)}:host(.ez-button--secondary){--ez-button--color:var(--color--ocean-green-600);--ez-button--background-color:var(--color--gray-70);--ez-button--border:1px solid var(--color--gray-90);--ez-button--left-icon--color:var(--color--ocean-green-600);--ez-button--right-icon--color:var(--color--ocean-green-600);--ez-button--hover-color:var(--color--ocean-green-600);--ez-button--hover--background-color:var(--color--gray-80);--ez-button--hover--border:1px solid var(--color--gray-90);--ez-button--left-icon--hover-color:var(--color--ocean-green-600);--ez-button--right-icon--hover-color:var(--color--ocean-green-600);--ez-button--disabled-color:var(--color--gray-400);--ez-button--disabled--background-color:var(--color--gray-80);--ez-button--disabled--border:1px solid var(--color--gray-200);--ez-button--disabled-icon-color:var(--color--gray-400);--ez-button--left-icon--disabled-color:var(--color--gray-300);--ez-button--right-icon--disabled-color:var(--color--gray-300)}:host(.ez-button--tertiary){--ez-button--color:var(--color--ocean-green-600);--ez-button--background-color:transparent;--ez-button--font-weight:var(--font-weight--regular);--ez-button--border:none;--ez-button--left-icon--color:var(--color--ocean-green-600);--ez-button--right-icon--color:var(--color--ocean-green-600);--ez-button--hover-color:var(--color--ocean-green-800);--ez-button--hover--background-color:transparent;--ez-button--hover--border:none;--ez-button--left-icon--hover-color:var(--color--ocean-green-800);--ez-button--right-icon--hover-color:var(--color--ocean-green-800);--ez-button--disabled-color:var(--color--gray-400);--ez-button--disabled--background-color:transparent;--ez-button--disabled--border:transparent;--ez-button--disabled-icon-color:var(--color--gray-200);--ez-button--left-icon--disabled-color:var(--color--gray-200);--ez-button--right-icon--disabled-color:var(--color--gray-200)}:host(.ez-button--link--primary){color:var(--color--primary);fill:var(--color--primary)}button{position:relative;display:flex;align-items:center;outline:0;border:0;margin:0;padding:0;cursor:pointer;transition:background-color 0.2s linear, transform 0.15s ease;white-space:nowrap;box-sizing:border-box;overflow:hidden;transform:scale(1);min-width:var(--ez-button--min-width);width:var(--ez-button--width);height:var(--ez-button--height);font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);padding:var(--ez-button--padding-top) var(--ez-button--padding-right) var(--ez-button--padding-bottom) var(--ez-button--padding-left);border-radius:var(--ez-button--border-radius);gap:var(--ez-button--icon--gap);background-color:var(--ez-button--background-color);color:var(--ez-button--color);fill:var(--ez-button--color);border:var(--ez-button--border);justify-content:var(--ez-button--justify-content)}button.pressed{transform:scale(0.98)}button.btn-icon{transition:background-color 0.2s linear, transform 0.15s ease;transform:scale(1)}button.btn-icon.pressed{transform:scale(0.95)}button:disabled,button[aria-disabled]{transform:scale(1) !important}.ripple{position:absolute;width:20px;height:20px;border-radius:50%;background:rgba(255, 255, 255, 0.3);pointer-events:none;transform:scale(0);animation:ripple-animation 0.6s linear;z-index:0}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}:host .ripple,:host(.ez-button--secondary) .ripple{background:rgba(0, 133, 97, 0.2)}:host(.ez-button--primary) .ripple{background:rgba(255, 255, 255, 0.3)}:host(.ez-button--tertiary) .ripple{background:rgba(0, 133, 97, 0.15)}button>*:not(.ripple){position:relative;z-index:1}button:disabled .ripple,button[aria-disabled] .ripple{display:none}button:hover{background-color:var(--ez-button--hover--background-color);border:var(--ez-button--hover--border);color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}button[aria-disabled]:active,button:disabled:active,button[aria-disabled]:hover,button:disabled:hover,button[aria-disabled],button:disabled{background-color:var(--ez-button--disabled--background-color);color:var(--ez-button--disabled-color);fill:var(--ez-button--disabled-color);--ez-icon--color:var(--ez-button--disabled-icon-color);--ez-button--left-icon--color:var(--ez-button--left-icon--disabled-color);--ez-button--right-icon--color:var(--ez-button--right-icon--disabled-color);cursor:no-drop;border:var(--ez-button--disabled--border)}button[aria-disabled].force-focus-visible,button[aria-disabled]:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--petroleum-100)}button ez-icon{--ez-icon--color:inherit}button ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--color)}button ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--color)}button:hover ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--hover-color)}button:hover ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--hover-color)}button:disabled:hover ez-icon.leftIcon,button[aria-disabled]:hover ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--disabled-color)}button:disabled:hover ez-icon.rightIcon,button[aria-disabled]:hover ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--disabled-color)}button.x-small{height:28px;--ez-button--font-size:var(--text--small, 12px)}button.small{height:32px;--ez-button--font-size:var(--text--small, 12px)}button.medium{height:42px}button.large{height:46px}button.btn-icon{padding:0px}.btn-icon--medium{width:42px;min-width:42px;height:42px}.btn-icon--x-small{width:28px;min-width:28px;height:28px}.btn-icon--small{width:32px;min-width:32px;height:32px}.btn-icon--large{width:46px;min-width:46px;height:46px}.label-icon{display:flex;flex-direction:column;align-items:center;color:var(--ez-button--label-icon--color)}.label-icon:hover{color:var(--ez-button--label-icon--hover-color);fill:var(--ez-button--label-icon--hover-color)}.label-icon .disabled{color:var(--ez-button--label-icon--disabled-color)}.label-icon label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);user-select:none}button[aria-disabled]+label,button:disabled+label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);color:var(--ez-button--label-icon--disabled-color);cursor:no-drop}button.force-focus-visible,button:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--ocean-green-200)}div.label-icon{cursor:pointer}div.label-icon button[aria-disabled],div.label-icon button:disabled{cursor:no-drop}a{outline:0;border:0;margin:0;border-radius:0;padding:0;margin:0;padding-inline:var(--space--8);font-family:var(--ez-button--font-family);font-weight:var(--ez-button--font-weight);color:var(--ez-button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--ez-button--border-radius);gap:var(--ez-button--icon--gap)}a ez-icon{--ez-icon--color:var(--ez-button--link--color)}a:hover{color:var(--ez-button--link--hover-color);--ez-icon--color:var(--ez-button--link--hover-color)}a:hover ez-icon{--ez-icon--color:var(--ez-button--link--hover-color)}a.disabled{color:var(--ez-button--link-disabled-color);cursor:not-allowed}a.disabled ez-icon{--ez-icon--color:var(--ez-button--link-disabled-color)}a.small{font-size:var(--ez-button--link--small--font-size);line-height:var(--ez-button--link--small--font-size)}a.medium{font-size:var(--ez-button--link--medium--font-size);line-height:var(--ez-button--link--medium--font-size)}a.large{font-size:var(--ez-button--link--large--font-size);line-height:var(--ez-button--link--large--font-size)}a.force-focus-visible,a:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--ocean-green-200)}a.disabled.force-focus-visible,a.disabled:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--petroleum-100)}";export{i as ez_button}
1
+ import{r as o,h as t,H as e,g as r}from"./p-23a36bb6.js";import{ElementIDUtils as n}from"@sankhyalabs/core";const i=class{constructor(t){o(this,t),this.createRipple=o=>{const t=this._button;if(!t||this.isDisabled||!this.enabled)return;const e=t.getBoundingClientRect();let r,n;o instanceof MouseEvent?(r=o.clientX,n=o.clientY):(r=o.touches[0].clientX,n=o.touches[0].clientY);const i={x:r-e.left,y:n-e.top,id:Date.now()};this.ripples=[...this.ripples,i],this.isPressed=!0,setTimeout((()=>{this.isPressed=!1}),150),setTimeout((()=>{this.ripples=this.ripples.filter((o=>o.id!==i.id))}),600)},this.ripples=[],this.isPressed=!1,this.label=void 0,this.enabled=!0,this.isDisabled=!1,this.mode="regular",this.image=void 0,this.iconName=void 0,this.size="medium",this.variant=void 0,this.type="button",this.leftIconName=void 0,this.rightIconName=void 0,this.suppressAnimation=!1}async setFocus(){this._button.focus(),this._button.classList.add("force-focus-visible")}async setBlur(){this._button.blur()}onMouseDown(o){this.createRipple(o)}onTouchStart(o){this.createRipple(o)}clickListener(o){(!this.enabled||!0===this.isDisabled||""===this.isDisabled||"full"===this.isDisabled)&&o.stopImmediatePropagation()}removeForcedFocusVisible(){var o;null===(o=this._button)||void 0===o||o.classList.remove("force-focus-visible")}connectedCallback(){var o,t;null===(o=this._button)||void 0===o||o.removeEventListener("blur",this.removeForcedFocusVisible.bind(this)),null===(t=this._button)||void 0===t||t.addEventListener("blur",this.removeForcedFocusVisible.bind(this))}componentDidLoad(){var o;this._element&&n.addIDInfo(this._element),this._button&&n.addIDInfo(this._button,"button",{id:"embedded"}),null===(o=this._button)||void 0===o||o.addEventListener("blur",this.removeForcedFocusVisible.bind(this))}disconnectCallback(){var o;null===(o=this._button)||void 0===o||o.removeEventListener("blur",this.removeForcedFocusVisible.bind(this))}getButtonSize(o="medium"){const t=this.size&&this.size.toLowerCase();return["x-small","small","medium","large"].includes(t)?t:o}getButtonSizeClass(){return this.getButtonSize()?`btn-icon--${this.getButtonSize()}`:""}getIconSize(){return"x-small"===this.size?"small":this.size}handleSlotChange(o){const t=o.target.assignedElements()[0];t&&("link"==this.mode?t.style.display="inline":t.style.setProperty("--ez-icon--color","var(--ez-icon--color)"))}renderRipples(){return this.ripples.map((o=>t("span",{key:o.id,class:"ripple",style:{left:o.x-10+"px",top:o.y-10+"px"}})))}render(){return t(e,{class:this.variant?`ez-button--${this.variant}`:""},(()=>"icon"==this.mode?t("button",{class:`btn-icon ${this.getButtonSizeClass()} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},t("ez-icon",{class:"icon",href:this.image,iconName:this.iconName,size:this.getIconSize()}),!this.suppressAnimation&&this.renderRipples()):"label-icon"==this.mode?t("div",{class:"label-icon "+("full"!==this.isDisabled&&""!==this.isDisabled&&!0!==this.isDisabled&&this.enabled?"":"disabled")},t("button",{class:`btn-icon ${this.getButtonSizeClass()} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},t("ez-icon",{class:"icon",href:this.image,iconName:this.iconName,size:this.getIconSize()}),!this.suppressAnimation&&this.renderRipples()),t("label",{title:this.label},this.label)):"link"==this.mode?t("a",{class:`${this.getIconSize()} ${"full"!==this.isDisabled&&""!==this.isDisabled&&!0!==this.isDisabled&&this.enabled?"":"disabled"}`,tabIndex:0,ref:o=>this._button=o},this.leftIconName?t("ez-icon",{class:"leftIcon",iconName:this.leftIconName,size:this.getIconSize()}):t("slot",{name:"leftIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),this.label,this.rightIconName?t("ez-icon",{class:"rightIcon",iconName:this.rightIconName,size:this.getIconSize()}):t("slot",{name:"rightIcon",onSlotchange:o=>{this.handleSlotChange(o)}})):t("button",{class:`${this.getButtonSize("")} ${this.isPressed?"pressed":""}`,type:this.type,disabled:"full"===this.isDisabled||!this.enabled,"aria-disabled":this.isDisabled&&!0===this.isDisabled,ref:o=>this._button=o},this.leftIconName?t("ez-icon",{class:"leftIcon",iconName:this.leftIconName,size:this.getIconSize()}):t("slot",{name:"leftIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),this.label,this.rightIconName?t("ez-icon",{class:"rightIcon",iconName:this.rightIconName,size:this.getIconSize()}):t("slot",{name:"rightIcon",onSlotchange:o=>{this.handleSlotChange(o)}}),!this.suppressAnimation&&this.renderRipples()))())}get _element(){return r(this)}};i.style=":host{--ez-button--min-width:50px;--ez-button--width:auto;--ez-button--height:var(--space--42, 42px);--ez-button--padding-top:var(--space--0, 0px);--ez-button--padding-bottom:var(--space--0, 0px);--ez-button--padding-right:var(--space--12, 12px);--ez-button--padding-left:var(--space--12, 12px);--ez-button--icon--gap:var(--space--8, 8px);--ez-button--color:var(--color--ocean-green-600, #008561);--ez-button--label-icon--color:var(--color--ocean-green-500, #1A9171);--ez-button--label-icon--hover-color:var(--color--ocean-green-700, #00684C);--ez-button--label-icon--disabled-color:var(--color--gray-400);--ez-button--left-icon--color:var(--color--ocean-green-600, #008561);--ez-button--right-icon--color:var(--color--ocean-green-600, #008561);--ez-button--left-icon--hover-color:var(--color--ocean-green-600, #008561);--ez-button--right-icon--hover-color:var(--color--ocean-green-600, #008561);--ez-button--left-icon--disabled-color:var(--color--gray-300, #A4A5A7);--ez-button--right-icon--disabled-color:var(--color--gray-300, #A4A5A7);--ez-button--font-size:var(--font-size--default, 14px);--ez-button--font-family:var(--font-pattern, Arial);--ez-button--font-weight:var(--font-weight--medium, 500);--ez-button--background-color:var(--color--gray-70, #ffffff);--ez-button--border-radius:var(--border--radius--24, 24px);--ez-button--border:1px solid var(--color--gray-90, #EAEAEA);--ez-button--hover--border:1px solid var(--color--gray-90, #EAEAEA);--ez-button--justify-content:center;--ez-button--hover-color:var(--color--ocean-green-600, #008561);--ez-button--hover--background-color:var(--color--gray-80, #F9F9F9);--ez-button--disabled-color:var(--color--gray-400, #77777A);--ez-button--disabled--background-color:var(--color--gray-80, #F9F9F9);--ez-button--disabled--border:1px solid var(--color--gray-200, #A4A5A7);--ez-button--disabled-icon-color:var(--color--gray-400, #D2D2D3);--ez-button--link-color:var(--color--ocean-green-600, #008561);--ez-button--link--hover-color:var(--color--primary-700, #1C1D22);--ez-button--link-disabled-color:var(--color--gray-400, #77777A);--ez-button--link--small--font-size:var(--font-size--small, 12px);--ez-button--link--medium--font-size:var(--font-size--default, 14px);--ez-button--link--large--font-size:var(--font-size--medium, 16px);display:flex;width:fit-content}:host(.ez-button--primary){--ez-button--color:var(--color--gray-70);--ez-button--background-color:var(--color--ocean-green-500);--ez-button--font-weight:var(--font-weight--regular);--ez-button--left-icon--color:var(--color--gray-70);--ez-button--right-icon--color:var(--color--gray-70);--ez-button--border:1px solid var(--color--ocean-green-500);--ez-button--hover-color:var(--color--gray-70);--ez-button--hover--background-color:var(--color--ocean-green-700);--ez-button--hover--border:1px solid var(--color--ocean-green-700);--ez-button--left-icon--hover-color:var(--color--gray-70);--ez-button--right-icon--hover-color:var(--color--gray-70);--ez-button--disabled-color:var(--color--gray-70);--ez-button--disabled--background-color:var(--color--gray-400);--ez-button--disabled--border:1px solid var(--color--gray-400);--ez-button--disabled-icon-color:var(--color--gray-200);--ez-button--left-icon--disabled-color:var(--color--gray-200);--ez-button--right-icon--disabled-color:var(--color--gray-200)}:host(.ez-button--secondary){--ez-button--color:var(--color--ocean-green-600);--ez-button--background-color:var(--color--gray-70);--ez-button--border:1px solid var(--color--gray-90);--ez-button--left-icon--color:var(--color--ocean-green-600);--ez-button--right-icon--color:var(--color--ocean-green-600);--ez-button--hover-color:var(--color--ocean-green-600);--ez-button--hover--background-color:var(--color--gray-80);--ez-button--hover--border:1px solid var(--color--gray-90);--ez-button--left-icon--hover-color:var(--color--ocean-green-600);--ez-button--right-icon--hover-color:var(--color--ocean-green-600);--ez-button--disabled-color:var(--color--gray-400);--ez-button--disabled--background-color:var(--color--gray-80);--ez-button--disabled--border:1px solid var(--color--gray-200);--ez-button--disabled-icon-color:var(--color--gray-400);--ez-button--left-icon--disabled-color:var(--color--gray-300);--ez-button--right-icon--disabled-color:var(--color--gray-300)}:host(.ez-button--tertiary){--ez-button--color:var(--color--ocean-green-600);--ez-button--background-color:transparent;--ez-button--font-weight:var(--font-weight--regular);--ez-button--border:none;--ez-button--left-icon--color:var(--color--ocean-green-600);--ez-button--right-icon--color:var(--color--ocean-green-600);--ez-button--hover-color:var(--color--ocean-green-800);--ez-button--hover--background-color:transparent;--ez-button--hover--border:none;--ez-button--left-icon--hover-color:var(--color--ocean-green-800);--ez-button--right-icon--hover-color:var(--color--ocean-green-800);--ez-button--disabled-color:var(--color--gray-400);--ez-button--disabled--background-color:transparent;--ez-button--disabled--border:transparent;--ez-button--disabled-icon-color:var(--color--gray-200);--ez-button--left-icon--disabled-color:var(--color--gray-200);--ez-button--right-icon--disabled-color:var(--color--gray-200)}:host(.ez-button--link--primary){color:var(--color--primary);fill:var(--color--primary)}button{position:relative;display:flex;align-items:center;outline:0;border:0;margin:0;padding:0;cursor:pointer;transition:background-color 0.2s linear, transform 0.15s ease;white-space:nowrap;box-sizing:border-box;overflow:hidden;transform:scale(1);min-width:var(--ez-button--min-width);width:var(--ez-button--width);height:var(--ez-button--height);font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);padding:var(--ez-button--padding-top) var(--ez-button--padding-right) var(--ez-button--padding-bottom) var(--ez-button--padding-left);border-radius:var(--ez-button--border-radius);gap:var(--ez-button--icon--gap);background-color:var(--ez-button--background-color);color:var(--ez-button--color);fill:var(--ez-button--color);border:var(--ez-button--border);justify-content:var(--ez-button--justify-content)}button.pressed{transform:scale(0.98)}button.btn-icon{transition:background-color 0.2s linear, transform 0.15s ease;transform:scale(1)}button.btn-icon.pressed{transform:scale(0.95)}button:disabled,button[aria-disabled]{transform:scale(1) !important}.ripple{position:absolute;width:20px;height:20px;border-radius:50%;background:rgba(255, 255, 255, 0.3);pointer-events:none;transform:scale(0);animation:ripple-animation 0.6s linear;z-index:0}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}:host .ripple,:host(.ez-button--secondary) .ripple{background:rgba(0, 133, 97, 0.2)}:host(.ez-button--primary) .ripple{background:rgba(255, 255, 255, 0.3)}:host(.ez-button--tertiary) .ripple{background:rgba(0, 133, 97, 0.15)}button>*:not(.ripple){position:relative;z-index:1}button:disabled .ripple,button[aria-disabled] .ripple{display:none}button:hover{background-color:var(--ez-button--hover--background-color);border:var(--ez-button--hover--border);color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}button[aria-disabled]:active,button:disabled:active,button[aria-disabled]:hover,button:disabled:hover,button[aria-disabled],button:disabled{background-color:var(--ez-button--disabled--background-color);color:var(--ez-button--disabled-color);fill:var(--ez-button--disabled-color);--ez-icon--color:var(--ez-button--disabled-icon-color);--ez-button--left-icon--color:var(--ez-button--left-icon--disabled-color);--ez-button--right-icon--color:var(--ez-button--right-icon--disabled-color);cursor:no-drop;border:var(--ez-button--disabled--border)}button[aria-disabled].force-focus-visible,button[aria-disabled]:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--petroleum-100)}button ez-icon{--ez-icon--color:inherit}button ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--color)}button ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--color)}button:hover ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--hover-color)}button:hover ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--hover-color)}button:disabled:hover ez-icon.leftIcon,button[aria-disabled]:hover ez-icon.leftIcon{--ez-icon--color:var(--ez-button--left-icon--disabled-color)}button:disabled:hover ez-icon.rightIcon,button[aria-disabled]:hover ez-icon.rightIcon{--ez-icon--color:var(--ez-button--right-icon--disabled-color)}button.x-small{height:28px;--ez-button--font-size:var(--text--small, 12px)}button.small{height:32px;--ez-button--font-size:var(--text--small, 12px)}button.medium{height:42px}button.large{height:46px}button.btn-icon{padding:0px}.btn-icon--medium{width:42px;min-width:42px;height:42px}.btn-icon--x-small{width:28px;min-width:28px;height:28px}.btn-icon--small{width:32px;min-width:32px;height:32px}.btn-icon--large{width:46px;min-width:46px;height:46px}.label-icon{display:flex;flex-direction:column;align-items:center;color:var(--ez-button--label-icon--color)}.label-icon:hover{color:var(--ez-button--label-icon--hover-color);fill:var(--ez-button--label-icon--hover-color)}.label-icon .disabled{color:var(--ez-button--label-icon--disabled-color)}.label-icon label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);user-select:none}button[aria-disabled]+label,button:disabled+label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);color:var(--ez-button--label-icon--disabled-color);cursor:no-drop}button.force-focus-visible,button:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--ocean-green-200)}div.label-icon{cursor:pointer}div.label-icon button[aria-disabled],div.label-icon button:disabled{cursor:no-drop}a{outline:0;border:0;margin:0;border-radius:0;padding:0;margin:0;padding-inline:var(--space--8);font-family:var(--ez-button--font-family);font-weight:var(--ez-button--font-weight);color:var(--ez-button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--ez-button--border-radius);gap:var(--ez-button--icon--gap)}a ez-icon{--ez-icon--color:var(--ez-button--link--color)}a:hover{color:var(--ez-button--link--hover-color);--ez-icon--color:var(--ez-button--link--hover-color)}a:hover ez-icon{--ez-icon--color:var(--ez-button--link--hover-color)}a.disabled{color:var(--ez-button--link-disabled-color);cursor:not-allowed}a.disabled ez-icon{--ez-icon--color:var(--ez-button--link-disabled-color)}a.small{font-size:var(--ez-button--link--small--font-size);line-height:var(--ez-button--link--small--font-size)}a.medium{font-size:var(--ez-button--link--medium--font-size);line-height:var(--ez-button--link--medium--font-size)}a.large{font-size:var(--ez-button--link--large--font-size);line-height:var(--ez-button--link--large--font-size)}a.force-focus-visible,a:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--ocean-green-200)}a.disabled.force-focus-visible,a.disabled:focus-visible{box-shadow:0 0 0 2px var(--color--gray-70), 0 0 0 4px var(--color--petroleum-100)}";export{i as ez_button}
@@ -1 +1 @@
1
- import{r as i,c as t,h as s,H as e,g as h}from"./p-e4c7eb39.js";import{C as a}from"./p-ec7db713.js";import{ObjectUtils as r,StringUtils as o,ElementIDUtils as l}from"@sankhyalabs/core";import{A as n}from"./p-9825c1d2.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{i as c}from"./p-c178730b.js";import{S as d}from"./p-5895e687.js";import"./p-47e4a8ce.js";import{r as u,a as v}from"./p-88a115b3.js";const p=class{constructor(s){i(this,s),this.ezChange=t(this,"ezChange",7),this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.value=void 0,this.label=void 0,this.enabled=!0,this.errorMessage=void 0,this.size="default",this.optionLoader=void 0,this.contextProperties=void 0,this.showSelectedValue=!0,this.showOptionValue=!0,this.suppressEmptyOption=!1,this.stopPropagateEnterKeyEvent=!1,this.mode="regular",this.classic=!1,this.required=!1,this.canShowError=!0,this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1,this.ignoreLimitCharsToSearch=!1,this.options=void 0,this.suppressSearch=!1,this.ensureClearButtonVisible=!1,this.suppressPreLoad=!0,this.autoFocus=!1,this.alternativePlaceholder=void 0,this.showMore=void 0,this.suppressInputPersist=!1,this.hideDescriptionInput=!1}observeErrorMessage(){var i;this._textInput&&(this._textInput.errorMessage=this.errorMessage,!(null===(i=this.errorMessage)||void 0===i?void 0:i.trim())&&this.errorMessage&&this.setInputValue())}getValue(i){return"object"==typeof i?null==i?void 0:i.value:i}validateNewValue(i,t){const s=this.getValue(i),e=this.getValue(t);return!("[object Object]"===s||s===e)}async observeValue(i,t){if(this._textInput&&this.validateNewValue(i,t)){if("string"==typeof i)return void await this.handleValueAsString(i);const t=this.getSelectedOption(i),s=this.getSelectedOption(this._currentValue);this.isDifferentValues(s,t)&&(this._currentValue=t,this.setInputValue(),this.ezChange.emit(null!=t?t:void 0)),this.resetOptions()}}observeOptions(i,t){!i.length&&this.suppressPreLoad||(null==i?void 0:i.join(""))!==(null==t?void 0:t.join(""))&&this.loadOptions(d.PRELOAD)}async getValueAsync(){return new Promise(this._showLoading?i=>{let t=setInterval((()=>{this._showLoading||(clearInterval(t),i(this.value))}),100)}:i=>i(this.value))}async setFocus(i){this._textInput&&this._textInput.setFocus(i)}async setBlur(){this._textInput&&this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async clearValue(){this.clearSearch()}async handleValueAsString(i){this.getSelectedOption(i)?this.setInputValue():(await this.loadDescriptionValue(i),this._currentValue&&(this.setInputValue(),this.ezChange.emit(this.value),this._currentValue=this.value))}isDifferentValues(i,t){return r.objectToString(i||{})!==r.objectToString(t||{})}getFormattedText(i){if(null==i)return;let t=this.showSelectedValue&&null!=i.value?i.label?`${i.value} - ${i.label}`:i.value:i.label;return t=null==t?void 0:t.replace(new RegExp(this._startHighlightTag,"g"),"").replace(new RegExp(this._endHighlightTag,"g"),""),t}getText(){const i=this.getSelectedOption(this._currentValue),t=this.getFormattedText(i);return u(t)}getSelectedOption(i){return"string"==typeof i||i instanceof String?this._visibleOptions.find((t=>t.value===i)):i?Object.assign(Object.assign({},i),{value:v(null==i?void 0:i.value),label:v(null==i?void 0:i.label)}):i}updateVisibleOptions(){let i=this._source||[];this._visibleOptions=this.suppressEmptyOption?i:[{value:void 0,label:""}].concat(i),this._maxWidthValue=this.getMaxWidthValue()}getMaxWidthValue(){var i;const t=[];return null===(i=this._visibleOptions)||void 0===i||i.forEach((i=>{const s=this.getWidthValue(i.value);t.includes(s)||t.push(s)})),t.length>1?Math.max(...t):0}getWidthValue(i){if(null!=this._itemValueBasis){const t=this._itemValueBasis;if(null!=i)return t.innerHTML=i,t.clientWidth>0?t.clientWidth+2:0;t.innerHTML=""}return 0}showOptions(){this.enabled&&(this.isOptionsVisible()||this._ezPopOverPlusElement.showUnder(this._textInput))}hideOptions(){this._ezPopOverPlusElement.hide()}isOptionsVisible(){return this._ezPopOverPlusElement.opened}selectCurrentOption(i=!0){void 0!==this._preSelection?(this.selectOption(this._visibleOptions[this._preSelection],i),this._preSelection=void 0):this.controlListWithOnlyOne()}updateSource(i){this._startLoading=!1,i instanceof Promise?(this._showLoading=!0,i.then((i=>{this.updateSource(i)})).finally((()=>{this._showLoading=!1})),this.updateVisibleOptions()):(this._showLoading=!1,Array.isArray(i)?(this._source=i,this.updateVisibleOptions(),this._tabPressed&&(this._tabPressed=!1,this.controlEmptySearch(!1))):this.selectOption(i))}clearSource(){this._source=[],this.updateVisibleOptions()}selectOption(i,t=!0){var s,e;const h=this.getSelectedOption(this.value),a=Object.assign(Object.assign({},i),{value:v(null==i?void 0:i.value),label:v(null==i?void 0:i.label)}),r=Object.assign(Object.assign({},a),{value:u(null==a?void 0:a.value),label:u(null==a?void 0:a.label)});if((null===(s=null==h?void 0:h.value)||void 0===s?void 0:s.toString())!==(null===(e=null==r?void 0:r.value)||void 0===e?void 0:e.toString())||null==h&&null!=r&&"value"in r){const i=(null==r?void 0:r.value)?r:void 0;this.value=i,this._currentValue=i}else this.setInputValue(),this.resetOptions();this._visibleOptions=[],this.clearSource(),t&&setTimeout((()=>{this.setFocus()}),0)}loadOptions(i,t=""){this._criteria=t,this._startLoading=!0,this.updateSource(this.optionLoader?this.optionLoader({mode:i,argument:t},this.contextProperties):this.options)}cancelPreselection(){!this._textInput.value&&this._currentValue&&this._source.length>0?this.selectOption(void 0):window.setTimeout((()=>{this.setInputValue()}),this._deboucingTime),this.resetOptions()}setInputValue(i=!0){if(this.suppressInputPersist)return void this.clearSearch();const t=this.getText();(this._textInput.value||"")!==t&&(this._textInput.value=t,i&&(this.errorMessage=null))}clearSearch(){this.value=null,this._currentValue=null,this._textInput.value=""}controlListWithOnlyOne(i=!0){var t,s;const e=null===(t=this._visibleOptions)||void 0===t?void 0:t.filter((i=>""!==i.label&&null!=i.value));if((null==e?void 0:e.length)>0){const t=new RegExp(this._startHighlightTag,"g"),h=new RegExp(this._endHighlightTag,"g");let a=o.decodeHtmlEntities(e[0].label);const r={value:null===(s=e[0].value)||void 0===s?void 0:s.replace(t,"").replace(h,""),label:null==a?void 0:a.replace(t,"").replace(h,"")};this.selectOption(r,i)}}controlEmptySearch(i=!0){var t;(null===(t=this._visibleOptions)||void 0===t?void 0:t.length)?this.controlListWithOnlyOne(i):(this.clearSearch(),n.info(this.i18n("ez-classic-search.emptyList")))}async loadDescriptionValue(i){var t,s,e;if(null==i)return;if((null===(t=this.options)||void 0===t?void 0:t.length)>0)return void this.loadOptionValue(i);const h={mode:this.hideDescriptionInput?d.LOAD_DESCRIPTION:d.PREDICTIVE,argument:i};try{const i=await(null===(s=this.optionLoader)||void 0===s?void 0:s.call(this,h,this.contextProperties));if(null==i)return;i instanceof Promise?i.then((i=>{this.setDescriptionValue(i)})):this.setDescriptionValue(i)}catch(i){throw"WarningException"===(null===(e=null==i?void 0:i.constructor)||void 0===e?void 0:e.name)&&(this.errorMessage=i.message),i}}setDescriptionValue(i){const t=(null==i?void 0:i[0])||i;null!=t&&Object.keys(t).length?(this._currentValue=t?Object.assign(Object.assign({},t),{value:v(t.value),label:v(t.label)}):t,this.value=this._currentValue,this.setTextInputValue()):this.showNoResultMessage()}setTextInputValue(){if(this._textInput&&null==this._textInput.value){if(null==this.value)return;const i="string"==typeof this.value?this.value:this.getFormattedText(this.value);this._textInput.value=u(i)}}loadOptionValue(i){var t;const s=null===(t=this.options)||void 0===t?void 0:t.find((t=>t.value===i));null!=s?this.selectOption(s):this.showNoResultMessage()}async showNoResultMessage(){this.clearSearch(),n.info(this.i18n("ez-classic-search.emptySearch",{field:this.getFieldLabel()}))}getFieldLabel(){var i;return null===(i=this.label)||void 0===i?void 0:i.replace(this.i18n("app.requiredInfo"),"").toUpperCase()}resetOptions(){this.showMore?this.handleResetOptionsWithShowMoreVisible():(this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions())}handleResetOptionsWithShowMoreVisible(){setTimeout((()=>{this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions()}),100)}async handleInitialValue(){if(!this.getValue(this.value))return;if("string"==typeof this.value)return void await this.handleValueAsString(this.value);let i=this.getFormattedText(this.value);i=u(i),this._textInput.value=i}async componentWillLoad(){if(this.i18n=await c(),void 0===this.options){this.options=[];const i=this.el.querySelectorAll("option");i&&i.forEach((i=>{let t=i.innerText,s=i.getAttribute("value"),e=i.getAttribute("details");s||(s=t),this.options.push({label:t,value:s,details:e}),i.hidden=!0}))}this.updateSource([])}componentDidRender(){var i;null===(i=this._optionsList)||void 0===i||i.querySelectorAll(".item").forEach((i=>{l.addIDInfoIfNotExists(i,"itemSearch")}))}async componentDidLoad(){this._currentValue=this.value,a.applyVarsTextInput(this.el,this._textInput),this._resizeObserver=new ResizeObserver((i=>{window.requestAnimationFrame((()=>{Array.isArray(i)}))})),this._intersectionObserver=new IntersectionObserver((i=>{i.forEach((i=>{!i.isIntersecting&&this._ezPopOverPlusElement&&this._ezPopOverPlusElement.hide()}))}),{threshold:.1}),this._textInput&&this._intersectionObserver.observe(this._textInput),await this.handleInitialValue(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}disconnectedCallback(){var i,t;null===(i=this._resizeObserver)||void 0===i||i.disconnect(),null===(t=this._intersectionObserver)||void 0===t||t.disconnect()}handleClassicIconClick(i){const{icon:t}=i.detail;"left"!==t?this.clearSearch():this.loadOptions(d.ADVANCED)}buildNumberArgument(i){return this.isTextSearch?NaN:Number(i||void 0)}onTextInputChangeHandler(i){var t;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=window.setTimeout((()=>{this.onTextInputChangeHandler(i)}),this._deboucingTime));const s=null===(t=i.target.value)||void 0===t?void 0:t.trim(),e=this.buildNumberArgument(s);this._criteria||(this._textInput.value=i.data||s),this._criteria=s,s?(this._showLoading=!1,this.clearSource(),this.ignoreLimitCharsToSearch||!isNaN(e)||s.length>=this._limitCharsToSearch?(this._showLoading=!0,this._changeDeboucingTimeout=window.setTimeout((()=>{this.loadOptions(d.PREDICTIVE,isNaN(e)?s:e.toString())}),this._deboucingTime),this.showOptions()):this.hideOptions()):(this.hideOptions(),this._showLoading=!1,this.clearSource())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}async keyDownHandler(i){switch(this._tabPressed=!1,i.ctrlKey&&("f"!==i.key&&"F"!==i.key||(this.loadOptions(d.ADVANCED),i.stopPropagation(),i.stopImmediatePropagation(),i.preventDefault())),i.key){case"ArrowDown":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),this.isOptionsVisible()||this.showOptions(),await this._classicSearchList.nextOption();break;case"ArrowUp":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),await this._classicSearchList.previousOption();break;case"Enter":this.handleEventPropagation(i),this.selectCurrentOption();break;case"Escape":this.cancelPreselection();break;case"Tab":this._tabPressed=!0,this.selectCurrentOption(!1)}}handleEventPropagation(i){this._ezPopOverPlusElement.opened&&this.stopPropagateEnterKeyEvent&&i.stopPropagation()}onTextInputFocusOutHandler(){this.hideErrorOnFocusOut&&this.cancelPreselection()}canShowListOptions(){return!this._showLoading&&this._visibleOptions.length>0}onChangePreSelection(i){this._preSelection=i}async handleClickShowMore(){var i,t;if(!this.optionLoader)return;const s=null!==(t=null===(i=this._textInput)||void 0===i?void 0:i.value)&&void 0!==t?t:"",e={mode:d.ADVANCED,argument:s},h=await this.optionLoader(e,this.contextProperties);h&&!Array.isArray(h)&&this.selectOption(h)}renderShowMore(){if(this.showMore&&!this._showLoading)return s("div",{style:{display:"flex",justifyContent:"center"},"data-element-id":l.getInternalIDInfo("showMore")},s("ez-button",{onClick:async()=>await this.handleClickShowMore(),variant:"tertiary",style:{width:"100%",justifyContent:"center"},label:this.i18n("ez-classic-search.showMore")}))}render(){var i;l.addIDInfoIfNotExists(this.el,"input");const t=!(!(null===(i=this._textInput)||void 0===i?void 0:i.value)||!this._criteria&&!this.value)||this.ensureClearButtonVisible;return s(e,null,s("ez-classic-input",{"data-element-id":l.getInternalIDInfo("textInput"),class:this.suppressSearch?"suppressed-search-input":"",ref:i=>this._textInput=i,"data-slave-mode":"true",enabled:this.enabled&&!this.suppressSearch,onInput:i=>this.onTextInputChangeHandler(i),onFocusout:()=>this.onTextInputFocusOutHandler(),onKeyDown:i=>this.keyDownHandler(i),label:this.label,helpText:this.canShowError?this.errorMessage:void 0,state:this.errorMessage&&this.canShowError?"error":"default",size:this.size,placeholder:this.alternativePlaceholder,leftIconName:"search",leftIconClickable:!0,rightIconName:t?"close":null,rightIconClickable:!0,required:this.required,onIconClick:i=>this.handleClassicIconClick(i),onEzChange:i=>i.stopPropagation()}),s("ez-popover-plus",{ref:i=>this._ezPopOverPlusElement=i,autoClose:!1,overlayType:"none",useAnchorSize:!0,anchorElement:[this._textInput,this.el],"data-element-id":this.el.getAttribute("data-element-id"),onEzVisibilityChange:i=>i.stopPropagation()},s("div",null,s("classic-search-list",{ref:i=>this._classicSearchList=i,showLoading:this._showLoading,visibleOptions:this._visibleOptions,textEmptyList:this.i18n("ez-classic-search.emptyList"),canShowListOptions:this.canShowListOptions(),value:this.value,showOptionValue:this.showOptionValue,preSelection:this._preSelection,onChangeValue:({detail:i})=>this.selectOption(i),onChangePreSelection:({detail:i})=>this.onChangePreSelection(i)}),this.renderShowMore())))}get el(){return h(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"],options:["observeOptions"]}}};p.style=":host{--ez-classic-search--height:42px;--ez-classic-search--width:100%;--ez-classic-search__icon--width:48px;--ez-classic-search--border-radius:var(--border--radius-medium, 12px);--ez-classic-search--border-radius-small:var(--border--radius-small, 6px);--ez-classic-search--font-size:var(--text--medium, 14px);--ez-classic-search--font-family:var(--font-pattern, Arial);--ez-classic-search--font-weight--large:var(--text-weight--large, 500);--ez-classic-search--font-weight--medium:var(--text-weight--medium, 400);--ez-classic-search--background-color--xlight:var(--background--xlight, #fff);--ez-classic-search--background-medium:var(--background--medium, #f0f3f7);--ez-classic-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-classic-search__input--background-color:var(--background--medium, #e0e0e0);--ez-classic-search__input--border:var(--border--medium, 2px solid);--ez-classic-search__input--border-color:var(--ez-classic-search__input--background-color);--ez-classic-search__input--focus--border-color:var(--color--primary, #008561);--ez-classic-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-classic-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-classic-search__input--error--border-color:#CC2936;--ez-classic-search__btn--color:var(--title--primary, #2B3A54);--ez-classic-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-classic-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-classic-search__label--color:var(--title--primary, #2B3A54);--ez-classic-search--space--medium:var(--space--medium, 12px);--ez-classic-search--space--small:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-classic-search--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-classic-input__input--border-color:var(--color--strokes, #dce0e8);--ez-classic-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-classic-input__input--disabled--color:var(--title--primary, #2B3A54)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-classic-search__btn--color)}.btn:disabled{cursor:not-allowed;color:var(--ez-classic-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-classic-search__btn-disabled--color)}.btn:hover{color:var(--ez-classic-search__btn-hover--color)}.btn__close{visibility:hidden}ez-classic-input:hover .btn__close,ez-classic-input:focus .btn__close{visibility:visible}";export{p as ez_classic_search}
1
+ import{r as i,c as t,h as s,H as e,g as h}from"./p-23a36bb6.js";import{C as a}from"./p-ec7db713.js";import{ObjectUtils as r,StringUtils as o,ElementIDUtils as l}from"@sankhyalabs/core";import{A as n}from"./p-9825c1d2.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{i as c}from"./p-c178730b.js";import{S as d}from"./p-5895e687.js";import"./p-47e4a8ce.js";import{r as u,a as v}from"./p-88a115b3.js";const p=class{constructor(s){i(this,s),this.ezChange=t(this,"ezChange",7),this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.value=void 0,this.label=void 0,this.enabled=!0,this.errorMessage=void 0,this.size="default",this.optionLoader=void 0,this.contextProperties=void 0,this.showSelectedValue=!0,this.showOptionValue=!0,this.suppressEmptyOption=!1,this.stopPropagateEnterKeyEvent=!1,this.mode="regular",this.classic=!1,this.required=!1,this.canShowError=!0,this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1,this.ignoreLimitCharsToSearch=!1,this.options=void 0,this.suppressSearch=!1,this.ensureClearButtonVisible=!1,this.suppressPreLoad=!0,this.autoFocus=!1,this.alternativePlaceholder=void 0,this.showMore=void 0,this.suppressInputPersist=!1,this.hideDescriptionInput=!1}observeErrorMessage(){var i;this._textInput&&(this._textInput.errorMessage=this.errorMessage,!(null===(i=this.errorMessage)||void 0===i?void 0:i.trim())&&this.errorMessage&&this.setInputValue())}getValue(i){return"object"==typeof i?null==i?void 0:i.value:i}validateNewValue(i,t){const s=this.getValue(i),e=this.getValue(t);return!("[object Object]"===s||s===e)}async observeValue(i,t){if(this._textInput&&this.validateNewValue(i,t)){if("string"==typeof i)return void await this.handleValueAsString(i);const t=this.getSelectedOption(i),s=this.getSelectedOption(this._currentValue);this.isDifferentValues(s,t)&&(this._currentValue=t,this.setInputValue(),this.ezChange.emit(null!=t?t:void 0)),this.resetOptions()}}observeOptions(i,t){!i.length&&this.suppressPreLoad||(null==i?void 0:i.join(""))!==(null==t?void 0:t.join(""))&&this.loadOptions(d.PRELOAD)}async getValueAsync(){return new Promise(this._showLoading?i=>{let t=setInterval((()=>{this._showLoading||(clearInterval(t),i(this.value))}),100)}:i=>i(this.value))}async setFocus(i){this._textInput&&this._textInput.setFocus(i)}async setBlur(){this._textInput&&this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async clearValue(){this.clearSearch()}async handleValueAsString(i){this.getSelectedOption(i)?this.setInputValue():(await this.loadDescriptionValue(i),this._currentValue&&(this.setInputValue(),this.ezChange.emit(this.value),this._currentValue=this.value))}isDifferentValues(i,t){return r.objectToString(i||{})!==r.objectToString(t||{})}getFormattedText(i){if(null==i)return;let t=this.showSelectedValue&&null!=i.value?i.label?`${i.value} - ${i.label}`:i.value:i.label;return t=null==t?void 0:t.replace(new RegExp(this._startHighlightTag,"g"),"").replace(new RegExp(this._endHighlightTag,"g"),""),t}getText(){const i=this.getSelectedOption(this._currentValue),t=this.getFormattedText(i);return u(t)}getSelectedOption(i){return"string"==typeof i||i instanceof String?this._visibleOptions.find((t=>t.value===i)):i?Object.assign(Object.assign({},i),{value:v(null==i?void 0:i.value),label:v(null==i?void 0:i.label)}):i}updateVisibleOptions(){let i=this._source||[];this._visibleOptions=this.suppressEmptyOption?i:[{value:void 0,label:""}].concat(i),this._maxWidthValue=this.getMaxWidthValue()}getMaxWidthValue(){var i;const t=[];return null===(i=this._visibleOptions)||void 0===i||i.forEach((i=>{const s=this.getWidthValue(i.value);t.includes(s)||t.push(s)})),t.length>1?Math.max(...t):0}getWidthValue(i){if(null!=this._itemValueBasis){const t=this._itemValueBasis;if(null!=i)return t.innerHTML=i,t.clientWidth>0?t.clientWidth+2:0;t.innerHTML=""}return 0}showOptions(){this.enabled&&(this.isOptionsVisible()||this._ezPopOverPlusElement.showUnder(this._textInput))}hideOptions(){this._ezPopOverPlusElement.hide()}isOptionsVisible(){return this._ezPopOverPlusElement.opened}selectCurrentOption(i=!0){void 0!==this._preSelection?(this.selectOption(this._visibleOptions[this._preSelection],i),this._preSelection=void 0):this.controlListWithOnlyOne()}updateSource(i){this._startLoading=!1,i instanceof Promise?(this._showLoading=!0,i.then((i=>{this.updateSource(i)})).finally((()=>{this._showLoading=!1})),this.updateVisibleOptions()):(this._showLoading=!1,Array.isArray(i)?(this._source=i,this.updateVisibleOptions(),this._tabPressed&&(this._tabPressed=!1,this.controlEmptySearch(!1))):this.selectOption(i))}clearSource(){this._source=[],this.updateVisibleOptions()}selectOption(i,t=!0){var s,e;const h=this.getSelectedOption(this.value),a=Object.assign(Object.assign({},i),{value:v(null==i?void 0:i.value),label:v(null==i?void 0:i.label)}),r=Object.assign(Object.assign({},a),{value:u(null==a?void 0:a.value),label:u(null==a?void 0:a.label)});if((null===(s=null==h?void 0:h.value)||void 0===s?void 0:s.toString())!==(null===(e=null==r?void 0:r.value)||void 0===e?void 0:e.toString())||null==h&&null!=r&&"value"in r){const i=(null==r?void 0:r.value)?r:void 0;this.value=i,this._currentValue=i}else this.setInputValue(),this.resetOptions();this._visibleOptions=[],this.clearSource(),t&&setTimeout((()=>{this.setFocus()}),0)}loadOptions(i,t=""){this._criteria=t,this._startLoading=!0,this.updateSource(this.optionLoader?this.optionLoader({mode:i,argument:t},this.contextProperties):this.options)}cancelPreselection(){!this._textInput.value&&this._currentValue&&this._source.length>0?this.selectOption(void 0):window.setTimeout((()=>{this.setInputValue()}),this._deboucingTime),this.resetOptions()}setInputValue(i=!0){if(this.suppressInputPersist)return void this.clearSearch();const t=this.getText();(this._textInput.value||"")!==t&&(this._textInput.value=t,i&&(this.errorMessage=null))}clearSearch(){this.value=null,this._currentValue=null,this._textInput.value=""}controlListWithOnlyOne(i=!0){var t,s;const e=null===(t=this._visibleOptions)||void 0===t?void 0:t.filter((i=>""!==i.label&&null!=i.value));if((null==e?void 0:e.length)>0){const t=new RegExp(this._startHighlightTag,"g"),h=new RegExp(this._endHighlightTag,"g");let a=o.decodeHtmlEntities(e[0].label);const r={value:null===(s=e[0].value)||void 0===s?void 0:s.replace(t,"").replace(h,""),label:null==a?void 0:a.replace(t,"").replace(h,"")};this.selectOption(r,i)}}controlEmptySearch(i=!0){var t;(null===(t=this._visibleOptions)||void 0===t?void 0:t.length)?this.controlListWithOnlyOne(i):(this.clearSearch(),n.info(this.i18n("ez-classic-search.emptyList")))}async loadDescriptionValue(i){var t,s,e;if(null==i)return;if((null===(t=this.options)||void 0===t?void 0:t.length)>0)return void this.loadOptionValue(i);const h={mode:this.hideDescriptionInput?d.LOAD_DESCRIPTION:d.PREDICTIVE,argument:i};try{const i=await(null===(s=this.optionLoader)||void 0===s?void 0:s.call(this,h,this.contextProperties));if(null==i)return;i instanceof Promise?i.then((i=>{this.setDescriptionValue(i)})):this.setDescriptionValue(i)}catch(i){throw"WarningException"===(null===(e=null==i?void 0:i.constructor)||void 0===e?void 0:e.name)&&(this.errorMessage=i.message),i}}setDescriptionValue(i){const t=(null==i?void 0:i[0])||i;null!=t&&Object.keys(t).length?(this._currentValue=t?Object.assign(Object.assign({},t),{value:v(t.value),label:v(t.label)}):t,this.value=this._currentValue,this.setTextInputValue()):this.showNoResultMessage()}setTextInputValue(){if(this._textInput&&null==this._textInput.value){if(null==this.value)return;const i="string"==typeof this.value?this.value:this.getFormattedText(this.value);this._textInput.value=u(i)}}loadOptionValue(i){var t;const s=null===(t=this.options)||void 0===t?void 0:t.find((t=>t.value===i));null!=s?this.selectOption(s):this.showNoResultMessage()}async showNoResultMessage(){this.clearSearch(),n.info(this.i18n("ez-classic-search.emptySearch",{field:this.getFieldLabel()}))}getFieldLabel(){var i;return null===(i=this.label)||void 0===i?void 0:i.replace(this.i18n("app.requiredInfo"),"").toUpperCase()}resetOptions(){this.showMore?this.handleResetOptionsWithShowMoreVisible():(this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions())}handleResetOptionsWithShowMoreVisible(){setTimeout((()=>{this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions()}),100)}async handleInitialValue(){if(!this.getValue(this.value))return;if("string"==typeof this.value)return void await this.handleValueAsString(this.value);let i=this.getFormattedText(this.value);i=u(i),this._textInput.value=i}async componentWillLoad(){if(this.i18n=await c(),void 0===this.options){this.options=[];const i=this.el.querySelectorAll("option");i&&i.forEach((i=>{let t=i.innerText,s=i.getAttribute("value"),e=i.getAttribute("details");s||(s=t),this.options.push({label:t,value:s,details:e}),i.hidden=!0}))}this.updateSource([])}componentDidRender(){var i;null===(i=this._optionsList)||void 0===i||i.querySelectorAll(".item").forEach((i=>{l.addIDInfoIfNotExists(i,"itemSearch")}))}async componentDidLoad(){this._currentValue=this.value,a.applyVarsTextInput(this.el,this._textInput),this._resizeObserver=new ResizeObserver((i=>{window.requestAnimationFrame((()=>{Array.isArray(i)}))})),this._intersectionObserver=new IntersectionObserver((i=>{i.forEach((i=>{!i.isIntersecting&&this._ezPopOverPlusElement&&this._ezPopOverPlusElement.hide()}))}),{threshold:.1}),this._textInput&&this._intersectionObserver.observe(this._textInput),await this.handleInitialValue(),this.autoFocus&&requestAnimationFrame((()=>{this.setFocus({selectText:!0})}))}disconnectedCallback(){var i,t;null===(i=this._resizeObserver)||void 0===i||i.disconnect(),null===(t=this._intersectionObserver)||void 0===t||t.disconnect()}handleClassicIconClick(i){const{icon:t}=i.detail;"left"!==t?this.clearSearch():this.loadOptions(d.ADVANCED)}buildNumberArgument(i){return this.isTextSearch?NaN:Number(i||void 0)}onTextInputChangeHandler(i){var t;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=window.setTimeout((()=>{this.onTextInputChangeHandler(i)}),this._deboucingTime));const s=null===(t=i.target.value)||void 0===t?void 0:t.trim(),e=this.buildNumberArgument(s);this._criteria||(this._textInput.value=i.data||s),this._criteria=s,s?(this._showLoading=!1,this.clearSource(),this.ignoreLimitCharsToSearch||!isNaN(e)||s.length>=this._limitCharsToSearch?(this._showLoading=!0,this._changeDeboucingTimeout=window.setTimeout((()=>{this.loadOptions(d.PREDICTIVE,isNaN(e)?s:e.toString())}),this._deboucingTime),this.showOptions()):this.hideOptions()):(this.hideOptions(),this._showLoading=!1,this.clearSource())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}async keyDownHandler(i){switch(this._tabPressed=!1,i.ctrlKey&&("f"!==i.key&&"F"!==i.key||(this.loadOptions(d.ADVANCED),i.stopPropagation(),i.stopImmediatePropagation(),i.preventDefault())),i.key){case"ArrowDown":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),this.isOptionsVisible()||this.showOptions(),await this._classicSearchList.nextOption();break;case"ArrowUp":i.stopPropagation(),this.canShowListOptions()&&i.preventDefault(),await this._classicSearchList.previousOption();break;case"Enter":this.handleEventPropagation(i),this.selectCurrentOption();break;case"Escape":this.cancelPreselection();break;case"Tab":this._tabPressed=!0,this.selectCurrentOption(!1)}}handleEventPropagation(i){this._ezPopOverPlusElement.opened&&this.stopPropagateEnterKeyEvent&&i.stopPropagation()}onTextInputFocusOutHandler(){this.hideErrorOnFocusOut&&this.cancelPreselection()}canShowListOptions(){return!this._showLoading&&this._visibleOptions.length>0}onChangePreSelection(i){this._preSelection=i}async handleClickShowMore(){var i,t;if(!this.optionLoader)return;const s=null!==(t=null===(i=this._textInput)||void 0===i?void 0:i.value)&&void 0!==t?t:"",e={mode:d.ADVANCED,argument:s},h=await this.optionLoader(e,this.contextProperties);h&&!Array.isArray(h)&&this.selectOption(h)}renderShowMore(){if(this.showMore&&!this._showLoading)return s("div",{style:{display:"flex",justifyContent:"center"},"data-element-id":l.getInternalIDInfo("showMore")},s("ez-button",{onClick:async()=>await this.handleClickShowMore(),variant:"tertiary",style:{width:"100%",justifyContent:"center"},label:this.i18n("ez-classic-search.showMore")}))}render(){var i;l.addIDInfoIfNotExists(this.el,"input");const t=!(!(null===(i=this._textInput)||void 0===i?void 0:i.value)||!this._criteria&&!this.value)||this.ensureClearButtonVisible;return s(e,null,s("ez-classic-input",{"data-element-id":l.getInternalIDInfo("textInput"),class:this.suppressSearch?"suppressed-search-input":"",ref:i=>this._textInput=i,"data-slave-mode":"true",enabled:this.enabled&&!this.suppressSearch,onInput:i=>this.onTextInputChangeHandler(i),onFocusout:()=>this.onTextInputFocusOutHandler(),onKeyDown:i=>this.keyDownHandler(i),label:this.label,helpText:this.canShowError?this.errorMessage:void 0,state:this.errorMessage&&this.canShowError?"error":"default",size:this.size,placeholder:this.alternativePlaceholder,leftIconName:"search",leftIconClickable:!0,rightIconName:t?"close":null,rightIconClickable:!0,required:this.required,onIconClick:i=>this.handleClassicIconClick(i),onEzChange:i=>i.stopPropagation()}),s("ez-popover-plus",{ref:i=>this._ezPopOverPlusElement=i,autoClose:!1,overlayType:"none",useAnchorSize:!0,anchorElement:[this._textInput,this.el],"data-element-id":this.el.getAttribute("data-element-id"),onEzVisibilityChange:i=>i.stopPropagation()},s("div",null,s("classic-search-list",{ref:i=>this._classicSearchList=i,showLoading:this._showLoading,visibleOptions:this._visibleOptions,textEmptyList:this.i18n("ez-classic-search.emptyList"),canShowListOptions:this.canShowListOptions(),value:this.value,showOptionValue:this.showOptionValue,preSelection:this._preSelection,onChangeValue:({detail:i})=>this.selectOption(i),onChangePreSelection:({detail:i})=>this.onChangePreSelection(i)}),this.renderShowMore())))}get el(){return h(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"],options:["observeOptions"]}}};p.style=":host{--ez-classic-search--height:42px;--ez-classic-search--width:100%;--ez-classic-search__icon--width:48px;--ez-classic-search--border-radius:var(--border--radius-medium, 12px);--ez-classic-search--border-radius-small:var(--border--radius-small, 6px);--ez-classic-search--font-size:var(--text--medium, 14px);--ez-classic-search--font-family:var(--font-pattern, Arial);--ez-classic-search--font-weight--large:var(--text-weight--large, 500);--ez-classic-search--font-weight--medium:var(--text-weight--medium, 400);--ez-classic-search--background-color--xlight:var(--background--xlight, #fff);--ez-classic-search--background-medium:var(--background--medium, #f0f3f7);--ez-classic-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-classic-search__input--background-color:var(--background--medium, #e0e0e0);--ez-classic-search__input--border:var(--border--medium, 2px solid);--ez-classic-search__input--border-color:var(--ez-classic-search__input--background-color);--ez-classic-search__input--focus--border-color:var(--color--primary, #008561);--ez-classic-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-classic-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-classic-search__input--error--border-color:#CC2936;--ez-classic-search__btn--color:var(--title--primary, #2B3A54);--ez-classic-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-classic-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-classic-search__label--color:var(--title--primary, #2B3A54);--ez-classic-search--space--medium:var(--space--medium, 12px);--ez-classic-search--space--small:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-classic-search--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-classic-input__input--border-color:var(--color--strokes, #dce0e8);--ez-classic-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-classic-input__input--disabled--color:var(--title--primary, #2B3A54)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-classic-search__btn--color)}.btn:disabled{cursor:not-allowed;color:var(--ez-classic-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-classic-search__btn-disabled--color)}.btn:hover{color:var(--ez-classic-search__btn-hover--color)}.btn__close{visibility:hidden}ez-classic-input:hover .btn__close,ez-classic-input:focus .btn__close{visibility:visible}";export{p as ez_classic_search}
@@ -1 +1 @@
1
- import{r as t,c as i,h as e,F as s,H as r}from"./p-e4c7eb39.js";import{StringUtils as l,ElementIDUtils as o}from"@sankhyalabs/core";import{p as a}from"./p-80dfc50b.js";import{i as c}from"./p-c178730b.js";const n=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this.ezSelectItem=i(this,"ezSelectItem",7),this.ezSelectMultipleItems=i(this,"ezSelectMultipleItems",7),this.ezCheckChange=i(this,"ezCheckChange",7),this.ezDoubleClick=i(this,"ezDoubleClick",7),this._listItemsHistory=[],this._listItems=[],this._listGroupItems=[],this.dataSource=[],this.listMode="regular",this.useGroups=!1,this.ezDraggable=!1,this.ezSelectable=!1,this.itemSlotBuilder=void 0,this.itemLeftSlotBuilder=void 0,this.hoverFeedback=!1,this.enableMultipleSelection=!1,this.enabled=!0}async clearHistory(){this._listItemsHistory=[]}async scrollToTop(){this.useGroups?this._element.querySelector(".group-container").scrollTop=0:this._element.querySelector(".items-container").scrollTop=0}async setSelection(t,i,e,s){t&&this.ezSelectable?this.useGroups?this.setSelectionWithGroups(t,i):this.enableMultipleSelection&&s?this.setSelectionMultiple(t):this.enableMultipleSelection&&e?this.setSelectionRange(t):(this.setSelectionSingleItem(t,i),this.emitSelectedItems(t)):await this.removeSelection()}emitSelectedItems(t,i){this.ezSelectItem.emit(t),this.ezSelectMultipleItems.emit(null!=i?i:[t])}setSelectionRange(t){const i=this._listItems.findIndex((t=>t.selected)),e=this._listItems.findIndex((i=>i.id===t.id));if(i<0||i===e)return void this.setSelectionSingleItem(t);const s=Math.min(i,e),r=Math.max(i,e);let l=[...this._listItems];l.forEach(((t,i)=>{t.selected=i>=s&&i<=r})),this._listItems=[...l];const o=this._listItems.filter((t=>t.selected));this.emitSelectedItems(t,o)}setSelectionMultiple(t){let i=[...this._listItems];i.forEach((i=>{i.selected=i.id===t.id?!i.selected:i.selected})),this._listItems=[...i];const e=this._listItems.filter((t=>t.selected));this.emitSelectedItems(t,e)}setSelectionSingleItem(t,i){this.emitSelectedItems(t);let e=[...this._listItems];if(e.forEach((i=>{i.selected=i.id===t.id})),this._listItems=e,!i)return;let s=this._itemContainer.querySelector("li#item_"+t.id);s&&s.scrollIntoView()}setSelectionWithGroups(t,i){this.emitSelectedItems(t);let e=[...this._listGroupItems];if(e.forEach((i=>{i.items.forEach((i=>{i.selected=i.id===t.id}))})),this._listGroupItems=e,!i)return;let s=this._groupContainer.querySelector("li#item_"+t.id);s&&s.scrollIntoView()}async getSelection(){if(!this.useGroups)return this._listItems.find((t=>1==t.selected));let t;return this._listGroupItems.every((i=>{let e=i.items.find((t=>1==t.selected));return!e||(t=e,!1)})),t}async getList(){return this.useGroups?this._listGroupItems:this._listItems}async removeSelection(){if(this.useGroups){let t=[...this._listGroupItems];return t.forEach((t=>{t.items.forEach((t=>{t.selected=!1}))})),void(this._listGroupItems=t)}let t=[...this._listItems];t.forEach((t=>t.selected=!1)),this._listItems=t}applyUUID(t){t.id||(t.id=l.generateUUID())}createList(){if(this.useGroups){let t=this.dataSource.map((t=>t));t.forEach((t=>{t.items.map(this.applyUUID),this.sortGroup(t)})),this._listGroupItems=t}else this._listItems=this._listItemsHistory.length>0?this._listItemsHistory:this.dataSource.map((t=>(this.applyUUID(t),t)))}sortGroup(t){t.sort&&(t.items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===t.sort&&t.items.reverse())}buildIdDraggableListAndSelectable(){const t=this._element.querySelectorAll(".draggable-list");null==t||t.forEach(((t,i)=>{var e,s;let r="draggableList";const l=null===(s=null===(e=this._listGroupItems)||void 0===e?void 0:e[i])||void 0===s?void 0:s.group;this.useGroups&&l&&(r=r.concat("_",l)),o.addIDInfoIfNotExists(t,r)}));const i=this._element.querySelectorAll(".selectable-container");null==i||i.forEach((t=>{o.addIDInfoIfNotExists(t,"selectable")}))}async componentWillLoad(){this.i18n=await c(),this._listItemsHistory=[]}componentWillRender(){this.createList(),this._element&&this.buildIdDraggableListAndSelectable()}componentDidLoad(){o.addIDInfo(this._element)}onDrop(t,i){t.stopPropagation(),this.removeOverClass(),this._dragStartItem&&(this.useGroups?this.onDropWithGroups(i):(this._listItems=[...a(this.buildDragHandlerConfig(i.index,!1))],this._listItemsHistory=[...this._listItems],this.ezChange.emit(this._listItems)))}buildDragHandlerConfig(t,i){return{listItems:this._listItems,dragItem:this._dragStartItem,enableMultipleSelection:this.enableMultipleSelection,targetIndex:t,moveToFinal:i,clearSelection:()=>this.setSelection(void 0)}}onDropWithGroups(t){this.setSelection(void 0);let i=[...this._listGroupItems],e=this._listGroupItems.find((i=>t.groupName==i.group));if(i.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),e.sort)i.find((i=>i.group==t.groupName)).items.push(this._dragStartItem.item),i.find((i=>i.group==t.groupName)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&i.find((i=>i.group==t.groupName)).items.reverse();else{let e=t.index>this._dragStartItem.index?t.index-1:t.index;i.find((i=>i.group==t.groupName)).items.splice(e,0,this._dragStartItem.item)}this._listGroupItems=i,this.ezChange.emit(this._listGroupItems)}onDropLastIndex(t,i){t.stopPropagation(),this.removeOverClass(),this._dragStartItem&&(this.useGroups?this.onDropLastItemWithGroups(i):(this._listItems=[...a(this.buildDragHandlerConfig(this._listItems.length-1,!0))],this._listItemsHistory=[...this._listItems],this.ezChange.emit(this._listItems)))}onDropLastItemWithGroups(t){this.setSelection(void 0);let i=[...this._listGroupItems],e=this._listGroupItems.find((i=>t.group==i.group));i.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),i.find((i=>i.group==t.group)).items.push(this._dragStartItem.item),e.sort&&(i.find((i=>i.group==t.group)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&i.find((i=>i.group==t.group)).items.reverse()),this._listGroupItems=i,this.ezChange.emit(this._listGroupItems)}onDropGroup(t){var i;let e=[...this._listGroupItems];this.setSelection(void 0);let s=e.find((i=>i.group===t.group));if(s){if((null===(i=s.items)||void 0===i?void 0:i.length)>0){let t;s.items.forEach(((i,e)=>{i.id===this._dragStartItem.item.id&&(t={item:i,index:e})})),t?(s.items.splice(t.index,1),s.items.unshift(t.item),this.sortGroup(s)):(s.items.unshift(this._dragStartItem.item),this.sortGroup(s),e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1))}else e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),s.items=[this._dragStartItem.item];this._listGroupItems=e}}onDragEnd(){this._dragStartItem=void 0,this.useGroups&&this.hideOverlays()}addOverClass(t){(null==t?void 0:t.__proto__)==HTMLDivElement.prototype&&t.classList.contains("draggable")?t.classList.add("over"):(null==t?void 0:t.parentElement)&&!t.parentElement.classList.contains("draggable-list")&&this.addOverClass(t.parentElement)}addOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];i.items.length>0?t.setAttribute("style","display:grid"):(t.classList.add("presetedHeight"),t.setAttribute("style","display:grid"),t.scrollIntoView(!1))}}removeOverClass(){var t,i;let e,s;this.useGroups?(e=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("over"),s=this._groupContainer.getElementsByClassName("last-droppable-space")):(e=null===(i=this._itemContainer)||void 0===i?void 0:i.getElementsByClassName("over"),s=this._itemContainer.getElementsByClassName("last-droppable-space")),e&&Array.from(e).forEach((function(t){t.classList.remove("over")})),s&&Array.from(s).forEach((function(t){t.classList.remove("over")}))}removeOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];t&&(t.classList.remove("presetedHeight"),t.setAttribute("style","display:none"))}}onDragStart(t,i,e){this._changeDeboucingTimeout&&window.clearTimeout(this._changeDeboucingTimeout),this.useGroups?this.onDragStartWithGroups(i,t,e):this._dragStartItem={item:t.item,index:t.index}}onDragStartWithGroups(t,i,e){this._dragStartItem={groupName:t.group,item:i,index:e},this._changeDeboucingTimeout=window.setTimeout((()=>{this.showOverlays(t)}),10)}selectFirstItem(){this.setSelection(this.useGroups?this._listGroupItems[0].items[0]:this._listItems[0])}nextOption(t){if(this.useGroups)return void this.setSelection(this.nextOptionWithGroups(t),!0);let i,e=this._listItems.findIndex((i=>i.id===t.id));e>=0&&e<this._listItems.length&&(i=this._listItems[e+1]),this.setSelection(i,!0)}nextOptionWithGroups(t){let i;return this._listGroupItems.every(((e,s,r)=>{let l,o=e.items.findIndex((i=>i.id==t.id));return null!=o&&-1!=o&&(o===e.items.length-1?s+1<=r.length-1&&(l={label:r[s+1].items[0].label}):l={label:e.items[o+1].label}),null==l||(i=l,!1)})),i}previousOption(t){if(this.useGroups)return void this.setSelection(this.previousOptionWithGroups(t),!0);let i,e=this._listItems.findIndex((i=>i.id===t.id));e>0&&e<this._listItems.length&&(i=this._listItems[e-1]),this.setSelection(i,!0)}previousOptionWithGroups(t){let i;return this._listGroupItems.every(((e,s,r)=>{let l,o=e.items.findIndex((i=>i.id===t.id));return null!=o&&-1!=o&&(0===o?s-1>=0&&(l={label:r[s-1].items[r[s-1].items.length-1].label}):l={label:e.items[o-1].label}),null==l||(i=l,!1)})),i}keyDownHandler(t){t.ctrlKey||t.preventDefault(),this.getSelection().then((i=>{if(i)switch(t.key){case"ArrowDown":this.nextOption(i);break;case"ArrowUp":this.previousOption(i)}else this.selectFirstItem()})),t.stopPropagation()}getDivGroupId(t){if(t)return"group-"+t.replace(/[^a-z0-9_]/gi,"_")}getGroupOverlayId(t){if(t)return"group-overlay-"+t.replace(/[^a-z0-9_]/gi,"_")}onDragOverGroup(t,i){this._dragStartItem&&this._dragStartItem.groupName!==i.group&&i.sort&&(t.preventDefault(),this.addOverGroupClass(t,i))}onDragOverItem(t){this._dragStartItem&&(t.preventDefault(),this.addOverClass(t.target),t.stopPropagation())}onDragOverLastIndex(t){t.preventDefault(),this._dragStartItem&&(t.target.classList.add("over"),t.stopPropagation())}showOverlays(t){let i=this._groupContainer.getElementsByClassName("group-overlay");Array.from(i).forEach((i=>{let e=this.getGroupOverlayId(t.group);e&&i.getAttribute("id")&&e!=i.getAttribute("id")&&(i.classList.add("presetedHeight"),i.setAttribute("style","display:grid"))}))}hideOverlays(){var t;let i=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("group-overlay");Array.from(i).forEach((t=>{t.classList.remove("presetedHeight"),t.setAttribute("style","display:none")}))}getContainerItemBuilder(t,i,s,r){var l,o;const a="left"===t?null===(l=this.itemLeftSlotBuilder)||void 0===l?void 0:l.call(this,i,s):null===(o=this.itemSlotBuilder)||void 0===o?void 0:o.call(this,i,s);if(null!=a)return"string"!=typeof a?e("div",{class:r},a):e("div",{class:r,innerHTML:a})}doubleClickItem(t){this.ezDoubleClick.emit(t)}buildItem(t,i){return{id:t.id,label:t.label,check:i.detail}}renderListWithGroups(){return e("div",{class:"group-container",ref:t=>this._groupContainer=t,tabIndex:this.ezSelectable?0:void 0,onKeyDown:t=>this.keyDownHandler(t)},this._listGroupItems.map((t=>e("div",{id:this.getDivGroupId(t.group),class:"group",key:t.group+t.items.length,onDrop:()=>this.onDropGroup(t)},e("label",{draggable:!1,class:"group-name",title:t.group},t.group),e("section",{class:"section-container",onDragOver:t=>t.preventDefault()},e("div",{class:"group-items-container"},e("div",{class:"draggable-list"},t.items.map(((i,r)=>e("li",Object.assign({id:"item_"+i.id,class:{"selectable-container":this.ezSelectable,"hover-feedback":this.hoverFeedback},key:"item_"+i.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezListItem__${l.replaceAccentuatedChars(i.label)}`)}),e("div",{class:"draggable"+(1==i.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDblClick:()=>this.doubleClickItem(i),onClick:()=>this.setSelection(i),onDragLeave:()=>t.sort?void 0:this.removeOverClass(),onDragEnd:()=>this.onDragEnd(),onDragStart:()=>this.onDragStart(i,t,r),onDragOver:i=>t.sort?void 0:this.onDragOverItem(i),onDrop:e=>this.onDrop(e,{groupName:t.group,item:i,index:r}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,"regular"===this.listMode?e(s,null,!!this.itemLeftSlotBuilder&&this.getContainerItemBuilder("left",i,t),e("p",{title:i.label,class:"person-name text--ellipsis"},i.label)):e("ez-check",{enabled:this.enabled,label:i.label,value:i.check,onEzChange:t=>this.ezCheckChange.emit(this.buildItem(i,t))})),!!this.itemSlotBuilder&&this.getContainerItemBuilder("right",i,t,"slot-item")))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverLastIndex(t),onDragEnd:()=>this.onDragEnd(),onDrop:i=>this.onDropLastIndex(i,t)})),t.sort?e("div",{id:this.getGroupOverlayId(t.group),class:"group-overlay"},this.i18n("ez-list.moveToGroup",{groupName:t.group})):void 0)))))}renderList(){return e("div",{class:"items-container",ref:t=>this._itemContainer=t,tabIndex:this.ezSelectable?0:void 0,onKeyDown:t=>{this.keyDownHandler(t)}},e("div",{class:"draggable-list"},this._listItems.map(((t,i)=>e("li",Object.assign({id:"item_"+t.id,class:{"selectable-container":this.ezSelectable,"hover-feedback":this.hoverFeedback},key:"item_"+t.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezListItem__${l.replaceAccentuatedChars(t.label)}`)}),e("div",{class:"draggable"+(1==t.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDblClick:()=>this.doubleClickItem(t),onClick:i=>this.setSelection(t,!1,i.shiftKey,i.altKey||i.metaKey),onDragStart:()=>this.onDragStart({item:t,index:i}),onDragOver:t=>this.onDragOverItem(t),onDragLeave:()=>this.removeOverClass(),onDragEnd:()=>this.onDragEnd(),onDrop:e=>this.onDrop(e,{item:t,index:i}),draggable:this.ezDraggable},e("div",{class:"item-content"},"regular"===this.listMode?e(s,null,this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,!!this.itemLeftSlotBuilder&&this.getContainerItemBuilder("left",t),e("p",{title:t.label,class:"person-name text--ellipsis"},t.label)):e(s,null,this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("ez-check",{enabled:this.enabled,label:t.label,value:t.check,onEzChange:i=>this.ezCheckChange.emit({id:t.id,label:t.label,check:i.detail})}))),!!this.itemSlotBuilder&&this.getContainerItemBuilder("right",t))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverLastIndex(t),onDragEnd:()=>this.onDragEnd(),onDrop:t=>this.onDropLastIndex(t)})))}render(){return e(r,{ref:t=>this._element=t},this.useGroups?this.renderListWithGroups():this.renderList())}};n.style='.sc-ez-list-h{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon--padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item--margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:none;--ez-list__item--border-bottom-color:none;--ez-list__item--font-family:var(--font-pattern, "Roboto");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__item--white-space:var(--ez-list__item--white-space, nowrap);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item--border-radius:var(--border--radius-small, 6px);--ez-list__selected-item--background-color:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, "Roboto");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group-overlay--font-family:var(--font-pattern, "Roboto");--ez-list__group-overlay--font-size:var(--text--medium, 14px);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable-list--padding-bottom:var(--space--small, 6px);--ez-list__draggable-icon--image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z"/></svg>\');--ez-list__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-list__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-list__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-list__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-list__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-list__scrollbar--width:var(--space--small, 6px);max-height:100%;width:100%;background-color:#fff;display:flex;outline:none;z-index:var(--ez-list__host--z-index)}p.sc-ez-list{margin:0}.draggable.sc-ez-list{width:100%;display:grid;grid-template-columns:minmax(0px, auto) minmax(0px, auto);place-items:center;border-top:1px dashed #fff;justify-content:space-between;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size)}.dragging.sc-ez-list{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable.sc-ez-list{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container.sc-ez-list{margin:0px !important}.hover-feedback.sc-ez-list:hover{background-color:var(--background--medium);border-radius:var(--border--radius-regular)}.item-content.sc-ez-list{display:flex;align-items:center;overflow:hidden;justify-content:flex-start;width:100%}.draggable-list.sc-ez-list{padding:0;margin:0;width:100%;max-height:100%;scrollbar-width:thin;color:var(--text-color);scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.draggable-list.sc-ez-list li.sc-ez-list{display:flex;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color);border-bottom:var(--ez-list__item--border-bottom, none) var(--ez-list__item--border-bottom-color)}.draggable-list.sc-ez-list li.sc-ez-list>div.sc-ez-list{padding:var(--space--3xs, 4px) var(--space--3xs, 4px);margin:var(--ez-list__item--margin)}.over.sc-ez-list{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space.sc-ez-list{height:var(--ez-list__last-droppable-space--height)}.draggable-selected.sc-ez-list{background-color:var(--background--strong) !important}.draggable-selected.sc-ez-list div.sc-ez-list:hover{background-color:var(--background--strong) !important}.draggable-list.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.draggable-list.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.draggable-icon.sc-ez-list{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon.sc-ez-list::after{content:\'\';display:flex;width:18px;height:18px;background-color:var(--ez-list__icon--color);-webkit-mask-image:var(--ez-list__draggable-icon--image);mask-image:var(--ez-list__draggable-icon--image)}*.sc-ez-list{box-sizing:border-box}.checkbox.sc-ez-list{width:fit-content}.text--ellipsis.sc-ez-list{overflow:hidden;text-overflow:ellipsis;white-space:var(--ez-list__item--white-space)}.group-container.sc-ez-list{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-name.sc-ez-list{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--title--primary);font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom)}.group.sc-ez-list{display:flex;flex-direction:column}.group-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.group-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.section-container.sc-ez-list{display:flex;position:relative;height:100%}.items-container.sc-ez-list{width:100%;max-height:100%;outline:none;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-items-container.sc-ez-list{width:100%;max-height:100%;height:100%;outline:none}.items-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.items-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.group-overlay.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer;font-family:var(--ez-list__group-overlay--font-family);font-size:var(--ez-list__group-overlay--font-size)}.presetedHeight.sc-ez-list{min-height:100px}.overlay-text.sc-ez-list{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item.sc-ez-list{background:var(--ez-list__selected-item--background-color);border-radius:var(--ez-list__selected-item--border-radius)}.slot-item.sc-ez-list{align-items:flex-end}.overGroup.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}';export{n as ez_list}
1
+ import{r as t,c as i,h as e,F as s,H as r}from"./p-23a36bb6.js";import{StringUtils as l,ElementIDUtils as o}from"@sankhyalabs/core";import{p as a}from"./p-80dfc50b.js";import{i as c}from"./p-c178730b.js";const n=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this.ezSelectItem=i(this,"ezSelectItem",7),this.ezSelectMultipleItems=i(this,"ezSelectMultipleItems",7),this.ezCheckChange=i(this,"ezCheckChange",7),this.ezDoubleClick=i(this,"ezDoubleClick",7),this._listItemsHistory=[],this._listItems=[],this._listGroupItems=[],this.dataSource=[],this.listMode="regular",this.useGroups=!1,this.ezDraggable=!1,this.ezSelectable=!1,this.itemSlotBuilder=void 0,this.itemLeftSlotBuilder=void 0,this.hoverFeedback=!1,this.enableMultipleSelection=!1,this.enabled=!0}async clearHistory(){this._listItemsHistory=[]}async scrollToTop(){this.useGroups?this._element.querySelector(".group-container").scrollTop=0:this._element.querySelector(".items-container").scrollTop=0}async setSelection(t,i,e,s){t&&this.ezSelectable?this.useGroups?this.setSelectionWithGroups(t,i):this.enableMultipleSelection&&s?this.setSelectionMultiple(t):this.enableMultipleSelection&&e?this.setSelectionRange(t):(this.setSelectionSingleItem(t,i),this.emitSelectedItems(t)):await this.removeSelection()}emitSelectedItems(t,i){this.ezSelectItem.emit(t),this.ezSelectMultipleItems.emit(null!=i?i:[t])}setSelectionRange(t){const i=this._listItems.findIndex((t=>t.selected)),e=this._listItems.findIndex((i=>i.id===t.id));if(i<0||i===e)return void this.setSelectionSingleItem(t);const s=Math.min(i,e),r=Math.max(i,e);let l=[...this._listItems];l.forEach(((t,i)=>{t.selected=i>=s&&i<=r})),this._listItems=[...l];const o=this._listItems.filter((t=>t.selected));this.emitSelectedItems(t,o)}setSelectionMultiple(t){let i=[...this._listItems];i.forEach((i=>{i.selected=i.id===t.id?!i.selected:i.selected})),this._listItems=[...i];const e=this._listItems.filter((t=>t.selected));this.emitSelectedItems(t,e)}setSelectionSingleItem(t,i){this.emitSelectedItems(t);let e=[...this._listItems];if(e.forEach((i=>{i.selected=i.id===t.id})),this._listItems=e,!i)return;let s=this._itemContainer.querySelector("li#item_"+t.id);s&&s.scrollIntoView()}setSelectionWithGroups(t,i){this.emitSelectedItems(t);let e=[...this._listGroupItems];if(e.forEach((i=>{i.items.forEach((i=>{i.selected=i.id===t.id}))})),this._listGroupItems=e,!i)return;let s=this._groupContainer.querySelector("li#item_"+t.id);s&&s.scrollIntoView()}async getSelection(){if(!this.useGroups)return this._listItems.find((t=>1==t.selected));let t;return this._listGroupItems.every((i=>{let e=i.items.find((t=>1==t.selected));return!e||(t=e,!1)})),t}async getList(){return this.useGroups?this._listGroupItems:this._listItems}async removeSelection(){if(this.useGroups){let t=[...this._listGroupItems];return t.forEach((t=>{t.items.forEach((t=>{t.selected=!1}))})),void(this._listGroupItems=t)}let t=[...this._listItems];t.forEach((t=>t.selected=!1)),this._listItems=t}applyUUID(t){t.id||(t.id=l.generateUUID())}createList(){if(this.useGroups){let t=this.dataSource.map((t=>t));t.forEach((t=>{t.items.map(this.applyUUID),this.sortGroup(t)})),this._listGroupItems=t}else this._listItems=this._listItemsHistory.length>0?this._listItemsHistory:this.dataSource.map((t=>(this.applyUUID(t),t)))}sortGroup(t){t.sort&&(t.items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===t.sort&&t.items.reverse())}buildIdDraggableListAndSelectable(){const t=this._element.querySelectorAll(".draggable-list");null==t||t.forEach(((t,i)=>{var e,s;let r="draggableList";const l=null===(s=null===(e=this._listGroupItems)||void 0===e?void 0:e[i])||void 0===s?void 0:s.group;this.useGroups&&l&&(r=r.concat("_",l)),o.addIDInfoIfNotExists(t,r)}));const i=this._element.querySelectorAll(".selectable-container");null==i||i.forEach((t=>{o.addIDInfoIfNotExists(t,"selectable")}))}async componentWillLoad(){this.i18n=await c(),this._listItemsHistory=[]}componentWillRender(){this.createList(),this._element&&this.buildIdDraggableListAndSelectable()}componentDidLoad(){o.addIDInfo(this._element)}onDrop(t,i){t.stopPropagation(),this.removeOverClass(),this._dragStartItem&&(this.useGroups?this.onDropWithGroups(i):(this._listItems=[...a(this.buildDragHandlerConfig(i.index,!1))],this._listItemsHistory=[...this._listItems],this.ezChange.emit(this._listItems)))}buildDragHandlerConfig(t,i){return{listItems:this._listItems,dragItem:this._dragStartItem,enableMultipleSelection:this.enableMultipleSelection,targetIndex:t,moveToFinal:i,clearSelection:()=>this.setSelection(void 0)}}onDropWithGroups(t){this.setSelection(void 0);let i=[...this._listGroupItems],e=this._listGroupItems.find((i=>t.groupName==i.group));if(i.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),e.sort)i.find((i=>i.group==t.groupName)).items.push(this._dragStartItem.item),i.find((i=>i.group==t.groupName)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&i.find((i=>i.group==t.groupName)).items.reverse();else{let e=t.index>this._dragStartItem.index?t.index-1:t.index;i.find((i=>i.group==t.groupName)).items.splice(e,0,this._dragStartItem.item)}this._listGroupItems=i,this.ezChange.emit(this._listGroupItems)}onDropLastIndex(t,i){t.stopPropagation(),this.removeOverClass(),this._dragStartItem&&(this.useGroups?this.onDropLastItemWithGroups(i):(this._listItems=[...a(this.buildDragHandlerConfig(this._listItems.length-1,!0))],this._listItemsHistory=[...this._listItems],this.ezChange.emit(this._listItems)))}onDropLastItemWithGroups(t){this.setSelection(void 0);let i=[...this._listGroupItems],e=this._listGroupItems.find((i=>t.group==i.group));i.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),i.find((i=>i.group==t.group)).items.push(this._dragStartItem.item),e.sort&&(i.find((i=>i.group==t.group)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&i.find((i=>i.group==t.group)).items.reverse()),this._listGroupItems=i,this.ezChange.emit(this._listGroupItems)}onDropGroup(t){var i;let e=[...this._listGroupItems];this.setSelection(void 0);let s=e.find((i=>i.group===t.group));if(s){if((null===(i=s.items)||void 0===i?void 0:i.length)>0){let t;s.items.forEach(((i,e)=>{i.id===this._dragStartItem.item.id&&(t={item:i,index:e})})),t?(s.items.splice(t.index,1),s.items.unshift(t.item),this.sortGroup(s)):(s.items.unshift(this._dragStartItem.item),this.sortGroup(s),e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1))}else e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),s.items=[this._dragStartItem.item];this._listGroupItems=e}}onDragEnd(){this._dragStartItem=void 0,this.useGroups&&this.hideOverlays()}addOverClass(t){(null==t?void 0:t.__proto__)==HTMLDivElement.prototype&&t.classList.contains("draggable")?t.classList.add("over"):(null==t?void 0:t.parentElement)&&!t.parentElement.classList.contains("draggable-list")&&this.addOverClass(t.parentElement)}addOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];i.items.length>0?t.setAttribute("style","display:grid"):(t.classList.add("presetedHeight"),t.setAttribute("style","display:grid"),t.scrollIntoView(!1))}}removeOverClass(){var t,i;let e,s;this.useGroups?(e=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("over"),s=this._groupContainer.getElementsByClassName("last-droppable-space")):(e=null===(i=this._itemContainer)||void 0===i?void 0:i.getElementsByClassName("over"),s=this._itemContainer.getElementsByClassName("last-droppable-space")),e&&Array.from(e).forEach((function(t){t.classList.remove("over")})),s&&Array.from(s).forEach((function(t){t.classList.remove("over")}))}removeOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];t&&(t.classList.remove("presetedHeight"),t.setAttribute("style","display:none"))}}onDragStart(t,i,e){this._changeDeboucingTimeout&&window.clearTimeout(this._changeDeboucingTimeout),this.useGroups?this.onDragStartWithGroups(i,t,e):this._dragStartItem={item:t.item,index:t.index}}onDragStartWithGroups(t,i,e){this._dragStartItem={groupName:t.group,item:i,index:e},this._changeDeboucingTimeout=window.setTimeout((()=>{this.showOverlays(t)}),10)}selectFirstItem(){this.setSelection(this.useGroups?this._listGroupItems[0].items[0]:this._listItems[0])}nextOption(t){if(this.useGroups)return void this.setSelection(this.nextOptionWithGroups(t),!0);let i,e=this._listItems.findIndex((i=>i.id===t.id));e>=0&&e<this._listItems.length&&(i=this._listItems[e+1]),this.setSelection(i,!0)}nextOptionWithGroups(t){let i;return this._listGroupItems.every(((e,s,r)=>{let l,o=e.items.findIndex((i=>i.id==t.id));return null!=o&&-1!=o&&(o===e.items.length-1?s+1<=r.length-1&&(l={label:r[s+1].items[0].label}):l={label:e.items[o+1].label}),null==l||(i=l,!1)})),i}previousOption(t){if(this.useGroups)return void this.setSelection(this.previousOptionWithGroups(t),!0);let i,e=this._listItems.findIndex((i=>i.id===t.id));e>0&&e<this._listItems.length&&(i=this._listItems[e-1]),this.setSelection(i,!0)}previousOptionWithGroups(t){let i;return this._listGroupItems.every(((e,s,r)=>{let l,o=e.items.findIndex((i=>i.id===t.id));return null!=o&&-1!=o&&(0===o?s-1>=0&&(l={label:r[s-1].items[r[s-1].items.length-1].label}):l={label:e.items[o-1].label}),null==l||(i=l,!1)})),i}keyDownHandler(t){t.ctrlKey||t.preventDefault(),this.getSelection().then((i=>{if(i)switch(t.key){case"ArrowDown":this.nextOption(i);break;case"ArrowUp":this.previousOption(i)}else this.selectFirstItem()})),t.stopPropagation()}getDivGroupId(t){if(t)return"group-"+t.replace(/[^a-z0-9_]/gi,"_")}getGroupOverlayId(t){if(t)return"group-overlay-"+t.replace(/[^a-z0-9_]/gi,"_")}onDragOverGroup(t,i){this._dragStartItem&&this._dragStartItem.groupName!==i.group&&i.sort&&(t.preventDefault(),this.addOverGroupClass(t,i))}onDragOverItem(t){this._dragStartItem&&(t.preventDefault(),this.addOverClass(t.target),t.stopPropagation())}onDragOverLastIndex(t){t.preventDefault(),this._dragStartItem&&(t.target.classList.add("over"),t.stopPropagation())}showOverlays(t){let i=this._groupContainer.getElementsByClassName("group-overlay");Array.from(i).forEach((i=>{let e=this.getGroupOverlayId(t.group);e&&i.getAttribute("id")&&e!=i.getAttribute("id")&&(i.classList.add("presetedHeight"),i.setAttribute("style","display:grid"))}))}hideOverlays(){var t;let i=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("group-overlay");Array.from(i).forEach((t=>{t.classList.remove("presetedHeight"),t.setAttribute("style","display:none")}))}getContainerItemBuilder(t,i,s,r){var l,o;const a="left"===t?null===(l=this.itemLeftSlotBuilder)||void 0===l?void 0:l.call(this,i,s):null===(o=this.itemSlotBuilder)||void 0===o?void 0:o.call(this,i,s);if(null!=a)return"string"!=typeof a?e("div",{class:r},a):e("div",{class:r,innerHTML:a})}doubleClickItem(t){this.ezDoubleClick.emit(t)}buildItem(t,i){return{id:t.id,label:t.label,check:i.detail}}renderListWithGroups(){return e("div",{class:"group-container",ref:t=>this._groupContainer=t,tabIndex:this.ezSelectable?0:void 0,onKeyDown:t=>this.keyDownHandler(t)},this._listGroupItems.map((t=>e("div",{id:this.getDivGroupId(t.group),class:"group",key:t.group+t.items.length,onDrop:()=>this.onDropGroup(t)},e("label",{draggable:!1,class:"group-name",title:t.group},t.group),e("section",{class:"section-container",onDragOver:t=>t.preventDefault()},e("div",{class:"group-items-container"},e("div",{class:"draggable-list"},t.items.map(((i,r)=>e("li",Object.assign({id:"item_"+i.id,class:{"selectable-container":this.ezSelectable,"hover-feedback":this.hoverFeedback},key:"item_"+i.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezListItem__${l.replaceAccentuatedChars(i.label)}`)}),e("div",{class:"draggable"+(1==i.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDblClick:()=>this.doubleClickItem(i),onClick:()=>this.setSelection(i),onDragLeave:()=>t.sort?void 0:this.removeOverClass(),onDragEnd:()=>this.onDragEnd(),onDragStart:()=>this.onDragStart(i,t,r),onDragOver:i=>t.sort?void 0:this.onDragOverItem(i),onDrop:e=>this.onDrop(e,{groupName:t.group,item:i,index:r}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,"regular"===this.listMode?e(s,null,!!this.itemLeftSlotBuilder&&this.getContainerItemBuilder("left",i,t),e("p",{title:i.label,class:"person-name text--ellipsis"},i.label)):e("ez-check",{enabled:this.enabled,label:i.label,value:i.check,onEzChange:t=>this.ezCheckChange.emit(this.buildItem(i,t))})),!!this.itemSlotBuilder&&this.getContainerItemBuilder("right",i,t,"slot-item")))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverLastIndex(t),onDragEnd:()=>this.onDragEnd(),onDrop:i=>this.onDropLastIndex(i,t)})),t.sort?e("div",{id:this.getGroupOverlayId(t.group),class:"group-overlay"},this.i18n("ez-list.moveToGroup",{groupName:t.group})):void 0)))))}renderList(){return e("div",{class:"items-container",ref:t=>this._itemContainer=t,tabIndex:this.ezSelectable?0:void 0,onKeyDown:t=>{this.keyDownHandler(t)}},e("div",{class:"draggable-list"},this._listItems.map(((t,i)=>e("li",Object.assign({id:"item_"+t.id,class:{"selectable-container":this.ezSelectable,"hover-feedback":this.hoverFeedback},key:"item_"+t.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezListItem__${l.replaceAccentuatedChars(t.label)}`)}),e("div",{class:"draggable"+(1==t.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDblClick:()=>this.doubleClickItem(t),onClick:i=>this.setSelection(t,!1,i.shiftKey,i.altKey||i.metaKey),onDragStart:()=>this.onDragStart({item:t,index:i}),onDragOver:t=>this.onDragOverItem(t),onDragLeave:()=>this.removeOverClass(),onDragEnd:()=>this.onDragEnd(),onDrop:e=>this.onDrop(e,{item:t,index:i}),draggable:this.ezDraggable},e("div",{class:"item-content"},"regular"===this.listMode?e(s,null,this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,!!this.itemLeftSlotBuilder&&this.getContainerItemBuilder("left",t),e("p",{title:t.label,class:"person-name text--ellipsis"},t.label)):e(s,null,this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("ez-check",{enabled:this.enabled,label:t.label,value:t.check,onEzChange:i=>this.ezCheckChange.emit({id:t.id,label:t.label,check:i.detail})}))),!!this.itemSlotBuilder&&this.getContainerItemBuilder("right",t))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverLastIndex(t),onDragEnd:()=>this.onDragEnd(),onDrop:t=>this.onDropLastIndex(t)})))}render(){return e(r,{ref:t=>this._element=t},this.useGroups?this.renderListWithGroups():this.renderList())}};n.style='.sc-ez-list-h{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon--padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item--margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:none;--ez-list__item--border-bottom-color:none;--ez-list__item--font-family:var(--font-pattern, "Roboto");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__item--white-space:var(--ez-list__item--white-space, nowrap);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item--border-radius:var(--border--radius-small, 6px);--ez-list__selected-item--background-color:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, "Roboto");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group-overlay--font-family:var(--font-pattern, "Roboto");--ez-list__group-overlay--font-size:var(--text--medium, 14px);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable-list--padding-bottom:var(--space--small, 6px);--ez-list__draggable-icon--image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z"/></svg>\');--ez-list__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-list__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-list__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-list__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-list__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-list__scrollbar--width:var(--space--small, 6px);max-height:100%;width:100%;background-color:#fff;display:flex;outline:none;z-index:var(--ez-list__host--z-index)}p.sc-ez-list{margin:0}.draggable.sc-ez-list{width:100%;display:grid;grid-template-columns:minmax(0px, auto) minmax(0px, auto);place-items:center;border-top:1px dashed #fff;justify-content:space-between;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size)}.dragging.sc-ez-list{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable.sc-ez-list{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container.sc-ez-list{margin:0px !important}.hover-feedback.sc-ez-list:hover{background-color:var(--background--medium);border-radius:var(--border--radius-regular)}.item-content.sc-ez-list{display:flex;align-items:center;overflow:hidden;justify-content:flex-start;width:100%}.draggable-list.sc-ez-list{padding:0;margin:0;width:100%;max-height:100%;scrollbar-width:thin;color:var(--text-color);scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.draggable-list.sc-ez-list li.sc-ez-list{display:flex;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color);border-bottom:var(--ez-list__item--border-bottom, none) var(--ez-list__item--border-bottom-color)}.draggable-list.sc-ez-list li.sc-ez-list>div.sc-ez-list{padding:var(--space--3xs, 4px) var(--space--3xs, 4px);margin:var(--ez-list__item--margin)}.over.sc-ez-list{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space.sc-ez-list{height:var(--ez-list__last-droppable-space--height)}.draggable-selected.sc-ez-list{background-color:var(--background--strong) !important}.draggable-selected.sc-ez-list div.sc-ez-list:hover{background-color:var(--background--strong) !important}.draggable-list.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.draggable-list.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.draggable-icon.sc-ez-list{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon.sc-ez-list::after{content:\'\';display:flex;width:18px;height:18px;background-color:var(--ez-list__icon--color);-webkit-mask-image:var(--ez-list__draggable-icon--image);mask-image:var(--ez-list__draggable-icon--image)}*.sc-ez-list{box-sizing:border-box}.checkbox.sc-ez-list{width:fit-content}.text--ellipsis.sc-ez-list{overflow:hidden;text-overflow:ellipsis;white-space:var(--ez-list__item--white-space)}.group-container.sc-ez-list{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-name.sc-ez-list{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--title--primary);font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom)}.group.sc-ez-list{display:flex;flex-direction:column}.group-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.group-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.section-container.sc-ez-list{display:flex;position:relative;height:100%}.items-container.sc-ez-list{width:100%;max-height:100%;outline:none;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-items-container.sc-ez-list{width:100%;max-height:100%;height:100%;outline:none}.items-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.items-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.group-overlay.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer;font-family:var(--ez-list__group-overlay--font-family);font-size:var(--ez-list__group-overlay--font-size)}.presetedHeight.sc-ez-list{min-height:100px}.overlay-text.sc-ez-list{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item.sc-ez-list{background:var(--ez-list__selected-item--background-color);border-radius:var(--ez-list__selected-item--border-radius)}.slot-item.sc-ez-list{align-items:flex-end}.overGroup.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}';export{n as ez_list}
@@ -1 +1 @@
1
- import{r as t,c as i,h as e,f as n,H as s,g as r}from"./p-e4c7eb39.js";import{DateUtils as o,ApplicationContext as l,Action as a,StringUtils as u,KeyboardManager as h,DataUnit as c,ElementIDUtils as d}from"@sankhyalabs/core";import{b as f,a as v,S as m,f as p,c as b,D as y}from"./p-29341f74.js";import{g as w,i as g}from"./p-c178730b.js";import{F as _}from"./p-47e4a8ce.js";import"./p-9825c1d2.js";import"./p-ab574d59.js";import"./p-b853763b.js";import"./p-5895e687.js";const O=/child\[([^\]]+)\]/,C=/\$\{.+\}/;class j{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[],this._defaultValues={}}static getDetailName(t){const i=O.exec(t);return i?i[1]:void 0}getSheet(t){return this._sheets.get(t)}getAllSheets(){return this._sheets}addSheet(t){this._sheets.set(t.name,t)}addRequiredFields(t){this._requiredFields=this._requiredFields.concat(t)}getRequiredFields(){return this._requiredFields}addCleanOnCopyFields(t){this._cleanOnCopyFields=this._cleanOnCopyFields.concat(t)}getCleanOnCopyFields(){return this._cleanOnCopyFields}addDefaultValues(t){return this._defaultValues=Object.assign(Object.assign({},this._defaultValues),t)}getDefaultValues(){const t={};return Object.entries(this._defaultValues).forEach((([i,e])=>{if("string"==typeof e){const t=C.exec(e);t&&(e=this.getDefaultVar(t[0]))}t[i]=e})),t}getDefaultVar(t){return"${data}"===t?o.getToday():"${datahora}"===t?o.getToday(!0):this._defaultVars?this._defaultVars.get(t):void 0}setDefaultVars(t){this._defaultVars=t}}const E=(t,i)=>{var e;if(i)return null===(e=i.tabs)||void 0===e?void 0:e.find((i=>i.label===t))},F=(t,i,e)=>{if("string"!=typeof t)return t;if(e){const i=E(t,e);if(i)return i}return Array.from(i.keys()).find((i=>i.label===t))||{label:t,visible:!0}};function z(t,i){var e,n;return"__main"===t[0].label&&"__main"!==i[0].label?-1:"__main"!==t[0].label&&"__main"===i[0].label?1:(null!==(e=t[0].order)&&void 0!==e?e:Number.MAX_VALUE)-(null!==(n=i[0].order)&&void 0!==n?n:Number.MAX_VALUE)}const x=t=>`child[${t.name}]`,A=t=>({name:x(t),label:t.label,fields:[]});function N(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var S="function"==typeof Symbol&&Symbol.observable||"@@observable",M=function(){return Math.random().toString(36).substring(7).split("").join(".")},D={INIT:"@@redux/INIT"+M(),REPLACE:"@@redux/REPLACE"+M(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+M()}};function R(t){if("object"!=typeof t||null===t)return!1;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function T(t,i,e){var n;if("function"==typeof i&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(N(0));if("function"==typeof i&&void 0===e&&(e=i,i=void 0),void 0!==e){if("function"!=typeof e)throw new Error(N(1));return e(T)(t,i)}if("function"!=typeof t)throw new Error(N(2));var s=t,r=i,o=[],l=o,a=!1;function u(){l===o&&(l=o.slice())}function h(){if(a)throw new Error(N(3));return r}function c(t){if("function"!=typeof t)throw new Error(N(4));if(a)throw new Error(N(5));var i=!0;return u(),l.push(t),function(){if(i){if(a)throw new Error(N(6));i=!1,u();var e=l.indexOf(t);l.splice(e,1),o=null}}}function d(t){if(!R(t))throw new Error(N(7));if(void 0===t.type)throw new Error(N(8));if(a)throw new Error(N(9));try{a=!0,r=s(r,t)}finally{a=!1}for(var i=o=l,e=0;e<i.length;e++)(0,i[e])();return t}function f(t){if("function"!=typeof t)throw new Error(N(10));s=t,d({type:D.REPLACE})}function v(){var t,i=c;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(N(11));function e(){t.next&&t.next(h())}return e(),{unsubscribe:i(e)}}})[S]=function(){return this},t}return d({type:D.INIT}),(n={dispatch:d,subscribe:c,getState:h,replaceReducer:f})[S]=v,n}const P={};function I(t=P,i){switch(i.type){case K.METADATA_LOADED:return Object.assign(Object.assign({},t),{formMetadata:i.payload,currentSheet:void 0});case K.CHANGE_TAB:return Object.assign(Object.assign({},t),{currentSheet:i.payload});default:return t}}function L(t){return t.formMetadata}function V(t){const i=function(t){return t.currentSheet}(t);return i?t.formMetadata.getSheet(i):Array.from(t.formMetadata.getAllSheets().values())[0]}var K;!function(t){t.METADATA_LOADED="FORM/METADATA_LOADED",t.CHANGE_TAB="FORM/CHANGE_TAB"}(K||(K={}));const $=class{constructor(e){t(this,e),this.ezFormRequestClearFieldToFocus=i(this,"ezFormRequestClearFieldToFocus",7),this.ezFormSetFields=i(this,"ezFormSetFields",7),this.ezReady=i(this,"ezReady",7),this.formItemsReady=i(this,"formItemsReady",7),this._customEditors=new Map,this._application=l.getContextValue("__SNK__APPLICATION__"),this.onDataUnitAction=t=>{t.type===a.METADATA_LOADED&&this.processMetadata()},this._fieldsProps=new Map,this._singleColumn=!1,this._formLayout=void 0,this.dataUnit=void 0,this.config=void 0,this.recordsValidator=void 0,this.fieldToFocus=void 0,this.onlyStaticFields=!1,this.useSearchField=!0,this.elementFocusSearchField=void 0,this.customUiBuilders=new Map}validate(){return this._dataBinder.validate()}async addCustomEditor(t,i,e){if(this._formView)return void this._formView.addCustomEditor(t,i,e);const n=new Map(this._customEditors);n.set(t,{customEditor:i,detailContext:e}),this._customEditors=n}observeConfig(){this.processMetadata()}async setFieldProp(t,i,e){const n=new Map(this._fieldsProps),s=this._fieldsProps.get(t);n.set(t,Object.assign(Object.assign({},s),{[i]:e})),this._fieldsProps=n}getDynamicContent(){var t;const i=L(this._store.getState());if(!i)return null;const n=Array.from(i.getAllSheets().values()),s=V(null===(t=this._store)||void 0===t?void 0:t.getState());let r=[];if(n.length>1){const t=n.map(((t,i)=>({tabKey:t.name,label:t.label,index:i}))),i="selector";r.push(e("ez-tabselector",{tabs:this.buildIdTabSelector(t),onEzChange:t=>this._store.dispatch(function(t){return{type:K.CHANGE_TAB,payload:"string"==typeof t?t:t.tabKey}}(t.detail)),selectedTab:s.name,"data-element-id":i}))}return r=r.concat(this.buildFormContent(s)),r}buildFormContent(t){const i=null==t?void 0:t.fields;if(null==t)return;this.ezFormSetFields.emit(i);const n=`${u.replaceAccentuatedChars(u.toCamelCase(null==t?void 0:t.label),!1)}_selectorContainer`;return e("div",{class:"dynamic-content ez-box--no-outline","data-element-id":n,ref:t=>this._container=t,tabindex:"0"},e("ez-popover",{ref:t=>this._ezPopoverSearchField=t,overlayType:"none"},this.renderFieldColumn()),e("ez-form-view",{ref:t=>this._formView=t,class:"ez-row ez-padding-vertical--small",fields:i,singleColumn:this._singleColumn,formLayout:this._formLayout,selectedRecord:this.dataUnit.getSelectedRecord(),customUiBuilders:this.customUiBuilders}))}renderFieldColumn(){return null!=this._fieldSearch||(this._fieldSearch=v({value:u.generateUUID(),label:this._i18n("ez-form.labelSearchField")},(({argument:t})=>this.fieldsOptionLoader(t)),(t=>this.onSelectField(t)))),this._fieldSearch}getFormFields(){var t;return null===(t=this.config)||void 0===t?void 0:t.fields}fieldsOptionLoader(t){const i=null==t?void 0:t.toLowerCase(),e=this.getFormFields().map((t=>{var i;return null===(i=this.dataUnit)||void 0===i?void 0:i.getField(t.name)})).filter((t=>{var e,n;return(null===(e=t.name)||void 0===e?void 0:e.toLowerCase().includes(i))||(null===(n=t.label)||void 0===n?void 0:n.toLowerCase().includes(i))})).map((t=>({value:t.name,label:t.label})));return Promise.resolve(e)}onSelectField(t){null!=t&&null!=t.value?(this.fieldToFocus=t.value,this._ezPopoverSearchField.hide()):this.fieldToFocus=""}async initKeyboardManager(){var t,i;this._keyboardManager=new h({propagate:!1,element:null!==(t=this.elementFocusSearchField)&&void 0!==t?t:this._element}),this.useSearchField&&this._keyboardManager.bind(m,(async()=>{if(!this._container||!this._ezPopoverSearchField)return;const t=this._container.getBoundingClientRect();await p(this._fieldSearch),this._ezPopoverSearchField.showUnder(this._container,{horizontalGap:t.width-b,verticalGap:-1*t.height})}),{description:this._i18n("ez-form.labelSearchField"),element:null!==(i=this.elementFocusSearchField)&&void 0!==i?i:this._element})}componentDidLoad(){this.initKeyboardManager()}processMetadata(){if(this.bindFields()&&this.dataUnit&&this._store){const t=((t,i,e=!1,n)=>{var s;null!=t&&!0!==(null==t?void 0:t.emptyConfig)||(t=(t=>{const i=t.metadata;let e;return i&&(e=i.fields.filter((t=>!1!==t.visible)).map((t=>({name:t.name,defaultValue:t.defaultValue})))),{emptyConfig:!1,fields:e}})(i));const r=new Map,o=new Map,l=[],a=[],u={};(null!==(s=null==t?void 0:t.tabs)&&void 0!==s?s:[]).forEach((t=>{o.has(t.label)||!1!==t.visible||o.set(t.label,t)})),function(t,i,e,n,s,r,o){var l;null===(l=null==t?void 0:t.fields)||void 0===l||l.forEach((l=>{var a,u,h;if(!1!==l.visible){const c=F(l.tab||"__main",i,t);if(e.has(c.label))return;const d=n.getField(l.name);if(d&&(null==(null==d?void 0:d.visible)||!0===(null==d?void 0:d.visible))&&c.visible){i.has(c)||i.set(c,[]);const t=f(d,l);i.get(c).push(t),t.required&&s.push(l.name),((null==l.cleanOnCopy?null===(a=d.properties)||void 0===a?void 0:a.cleanOnCopy:l.cleanOnCopy)||(null===(u=d.properties)||void 0===u?void 0:u.cleanOnCopy))&&r.push(l.name);let e=null==l.defaultValue?null===(h=d.properties)||void 0===h?void 0:h.defaultValue:l.defaultValue;if(e&&null!=e.value){const{type:t,value:i}=e;if(t)if("V"===t)e=i;else try{const t=JSON.parse(i);e=t&&"value"in t?t:i}catch(t){}o[l.name]=e}}}}))}(t,r,o,i,l,a,u);const h=new j;return h.setDefaultVars(t.defaultVars),e&&function(t,i,e){const n=t.metadata;void 0!==n&&void 0!==n.children&&n.children.forEach((t=>{const n=E(t.label,i);if(n)return void e.set(Object.assign(n,{name:x(t),isDetail:!0}),[]);const{label:s,name:r,fields:o}=A(t);e.set({name:r,label:s,isDetail:!0},o)}))}(i,t,r),n&&function(t,i,e){t.forEach((t=>{const n=E(t.label,i),s={};Object.entries(t).forEach((([t,i])=>{(function(t){return["id","label"].includes(t)})(t)||(s[t]=i)})),e.set(n?Object.assign(n,{name:t.id,isCustom:!0,ctxProps:s}):{label:t.label,name:t.id,isCustom:!0,visible:!0,ctxProps:s},[])}))}(n,t,r),Array.from(r.entries()).sort(z).forEach((([t,i])=>{o.has(t.label)||h.addSheet(function(t,i){const e=w();return{label:"__main"===t.label?e("ez-form.mainTab"):t.label,name:t.name||t.label,isCustom:t.isCustom,isDetail:t.isDetail,ctxProps:t.ctxProps,fields:i}}(t,i))})),h.addRequiredFields(l),h.addCleanOnCopyFields(a),h.addDefaultValues(u),h})(this.config,this.dataUnit);this._store.dispatch({type:K.METADATA_LOADED,payload:t})}}isStatic(){var t;return(null===(t=this._staticFields)||void 0===t?void 0:t.length)>0}bindFields(){return!this.isStatic()||!1===this.onlyStaticFields}async componentWillLoad(){var t;void 0===this.dataUnit&&(this.dataUnit=new c("ez-form")),this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new y(this.dataUnit),this._store=T(I),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata(),d.addIDInfo(this._element,null,{dataUnit:this.dataUnit});const i=await(null===(t=this._application)||void 0===t?void 0:t.getLayoutFormConfig());this.setSingleColumn(i),this.registerNotifyListeners(i),this._i18n=await g()}async setSingleColumn(t){this._singleColumn=(null==t?void 0:t.config)===_.CASCADE||(null==t?void 0:t.config)===_.CLASSIC_CASCADE,this._formLayout=null==t?void 0:t.config}async registerNotifyListeners(t){t&&t.onConfigChange((t=>{this._singleColumn=t===_.CASCADE||t===_.CLASSIC_CASCADE,this._formLayout=t}))}componentDidRender(){const t=L(this._store.getState());t.addRequiredFields(this._staticFields.filter((t=>t.dataset.required)).map((t=>t.dataset.fieldName))),this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")),this.dataUnit.dataUnitId,t,this.recordsValidator),this.ezReady.emit(),this.handleFieldToFocus(),this.setCustomEditors(),this.setFieldsProps()}setCustomEditors(){if(this._formView)for(const[t,i]of this._customEditors)this._formView.addCustomEditor(t,i.customEditor,i.detailContext),this._customEditors.delete(t)}handleFieldToFocus(){var t;if(null==this.fieldToFocus)return;const i=V(null===(t=this._store)||void 0===t?void 0:t.getState());(null==i?void 0:i.fields).some((t=>t.name===this.fieldToFocus))&&requestAnimationFrame((()=>{this._dataBinder.setFocus(this.fieldToFocus),this.ezFormRequestClearFieldToFocus.emit(),this.fieldToFocus=null}))}setFieldsProps(){if(this._formView)for(const[t,i]of this._fieldsProps){for(const e in i)this._formView.setFieldProp(t,e,i[e]);this._fieldsProps.delete(t)}}disconnectedCallback(){var t;this.dataUnit.unsubscribe(this.onDataUnitAction),this._dataBinder.onDisconnectedCallback(),null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}buildIdTabSelector(t){return t&&t.forEach((t=>t[d.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=u.toCamelCase(t.label))),t}render(){return e(s,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return r(this)}static get watchers(){return{config:["observeConfig"]}}};$.style=".sc-ez-form-h{display:flex;flex-direction:column;width:100%}.dynamic-content.sc-ez-form ez-collapsible-box.sc-ez-form{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}";export{$ as ez_form}
1
+ import{r as t,c as i,h as e,f as n,H as s,g as r}from"./p-23a36bb6.js";import{DateUtils as o,ApplicationContext as l,Action as a,StringUtils as u,KeyboardManager as h,DataUnit as c,ElementIDUtils as d}from"@sankhyalabs/core";import{b as f,a as v,S as m,f as p,c as b,D as y}from"./p-6a794336.js";import{g as w,i as g}from"./p-c178730b.js";import{F as _}from"./p-47e4a8ce.js";import"./p-9825c1d2.js";import"./p-ab574d59.js";import"./p-b853763b.js";import"./p-5895e687.js";const O=/child\[([^\]]+)\]/,C=/\$\{.+\}/;class j{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[],this._defaultValues={}}static getDetailName(t){const i=O.exec(t);return i?i[1]:void 0}getSheet(t){return this._sheets.get(t)}getAllSheets(){return this._sheets}addSheet(t){this._sheets.set(t.name,t)}addRequiredFields(t){this._requiredFields=this._requiredFields.concat(t)}getRequiredFields(){return this._requiredFields}addCleanOnCopyFields(t){this._cleanOnCopyFields=this._cleanOnCopyFields.concat(t)}getCleanOnCopyFields(){return this._cleanOnCopyFields}addDefaultValues(t){return this._defaultValues=Object.assign(Object.assign({},this._defaultValues),t)}getDefaultValues(){const t={};return Object.entries(this._defaultValues).forEach((([i,e])=>{if("string"==typeof e){const t=C.exec(e);t&&(e=this.getDefaultVar(t[0]))}t[i]=e})),t}getDefaultVar(t){return"${data}"===t?o.getToday():"${datahora}"===t?o.getToday(!0):this._defaultVars?this._defaultVars.get(t):void 0}setDefaultVars(t){this._defaultVars=t}}const E=(t,i)=>{var e;if(i)return null===(e=i.tabs)||void 0===e?void 0:e.find((i=>i.label===t))},F=(t,i,e)=>{if("string"!=typeof t)return t;if(e){const i=E(t,e);if(i)return i}return Array.from(i.keys()).find((i=>i.label===t))||{label:t,visible:!0}};function z(t,i){var e,n;return"__main"===t[0].label&&"__main"!==i[0].label?-1:"__main"!==t[0].label&&"__main"===i[0].label?1:(null!==(e=t[0].order)&&void 0!==e?e:Number.MAX_VALUE)-(null!==(n=i[0].order)&&void 0!==n?n:Number.MAX_VALUE)}const x=t=>`child[${t.name}]`,A=t=>({name:x(t),label:t.label,fields:[]});function N(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var S="function"==typeof Symbol&&Symbol.observable||"@@observable",M=function(){return Math.random().toString(36).substring(7).split("").join(".")},D={INIT:"@@redux/INIT"+M(),REPLACE:"@@redux/REPLACE"+M(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+M()}};function R(t){if("object"!=typeof t||null===t)return!1;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function T(t,i,e){var n;if("function"==typeof i&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(N(0));if("function"==typeof i&&void 0===e&&(e=i,i=void 0),void 0!==e){if("function"!=typeof e)throw new Error(N(1));return e(T)(t,i)}if("function"!=typeof t)throw new Error(N(2));var s=t,r=i,o=[],l=o,a=!1;function u(){l===o&&(l=o.slice())}function h(){if(a)throw new Error(N(3));return r}function c(t){if("function"!=typeof t)throw new Error(N(4));if(a)throw new Error(N(5));var i=!0;return u(),l.push(t),function(){if(i){if(a)throw new Error(N(6));i=!1,u();var e=l.indexOf(t);l.splice(e,1),o=null}}}function d(t){if(!R(t))throw new Error(N(7));if(void 0===t.type)throw new Error(N(8));if(a)throw new Error(N(9));try{a=!0,r=s(r,t)}finally{a=!1}for(var i=o=l,e=0;e<i.length;e++)(0,i[e])();return t}function f(t){if("function"!=typeof t)throw new Error(N(10));s=t,d({type:D.REPLACE})}function v(){var t,i=c;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(N(11));function e(){t.next&&t.next(h())}return e(),{unsubscribe:i(e)}}})[S]=function(){return this},t}return d({type:D.INIT}),(n={dispatch:d,subscribe:c,getState:h,replaceReducer:f})[S]=v,n}const P={};function I(t=P,i){switch(i.type){case K.METADATA_LOADED:return Object.assign(Object.assign({},t),{formMetadata:i.payload,currentSheet:void 0});case K.CHANGE_TAB:return Object.assign(Object.assign({},t),{currentSheet:i.payload});default:return t}}function L(t){return t.formMetadata}function V(t){const i=function(t){return t.currentSheet}(t);return i?t.formMetadata.getSheet(i):Array.from(t.formMetadata.getAllSheets().values())[0]}var K;!function(t){t.METADATA_LOADED="FORM/METADATA_LOADED",t.CHANGE_TAB="FORM/CHANGE_TAB"}(K||(K={}));const $=class{constructor(e){t(this,e),this.ezFormRequestClearFieldToFocus=i(this,"ezFormRequestClearFieldToFocus",7),this.ezFormSetFields=i(this,"ezFormSetFields",7),this.ezReady=i(this,"ezReady",7),this.formItemsReady=i(this,"formItemsReady",7),this._customEditors=new Map,this._application=l.getContextValue("__SNK__APPLICATION__"),this.onDataUnitAction=t=>{t.type===a.METADATA_LOADED&&this.processMetadata()},this._fieldsProps=new Map,this._singleColumn=!1,this._formLayout=void 0,this.dataUnit=void 0,this.config=void 0,this.recordsValidator=void 0,this.fieldToFocus=void 0,this.onlyStaticFields=!1,this.useSearchField=!0,this.elementFocusSearchField=void 0,this.customUiBuilders=new Map}validate(){return this._dataBinder.validate()}async addCustomEditor(t,i,e){if(this._formView)return void this._formView.addCustomEditor(t,i,e);const n=new Map(this._customEditors);n.set(t,{customEditor:i,detailContext:e}),this._customEditors=n}observeConfig(){this.processMetadata()}async setFieldProp(t,i,e){const n=new Map(this._fieldsProps),s=this._fieldsProps.get(t);n.set(t,Object.assign(Object.assign({},s),{[i]:e})),this._fieldsProps=n}getDynamicContent(){var t;const i=L(this._store.getState());if(!i)return null;const n=Array.from(i.getAllSheets().values()),s=V(null===(t=this._store)||void 0===t?void 0:t.getState());let r=[];if(n.length>1){const t=n.map(((t,i)=>({tabKey:t.name,label:t.label,index:i}))),i="selector";r.push(e("ez-tabselector",{tabs:this.buildIdTabSelector(t),onEzChange:t=>this._store.dispatch(function(t){return{type:K.CHANGE_TAB,payload:"string"==typeof t?t:t.tabKey}}(t.detail)),selectedTab:s.name,"data-element-id":i}))}return r=r.concat(this.buildFormContent(s)),r}buildFormContent(t){const i=null==t?void 0:t.fields;if(null==t)return;this.ezFormSetFields.emit(i);const n=`${u.replaceAccentuatedChars(u.toCamelCase(null==t?void 0:t.label),!1)}_selectorContainer`;return e("div",{class:"dynamic-content ez-box--no-outline","data-element-id":n,ref:t=>this._container=t,tabindex:"0"},e("ez-popover",{ref:t=>this._ezPopoverSearchField=t,overlayType:"none"},this.renderFieldColumn()),e("ez-form-view",{ref:t=>this._formView=t,class:"ez-row ez-padding-vertical--small",fields:i,singleColumn:this._singleColumn,formLayout:this._formLayout,selectedRecord:this.dataUnit.getSelectedRecord(),customUiBuilders:this.customUiBuilders}))}renderFieldColumn(){return null!=this._fieldSearch||(this._fieldSearch=v({value:u.generateUUID(),label:this._i18n("ez-form.labelSearchField")},(({argument:t})=>this.fieldsOptionLoader(t)),(t=>this.onSelectField(t)))),this._fieldSearch}getFormFields(){var t;return null===(t=this.config)||void 0===t?void 0:t.fields}fieldsOptionLoader(t){const i=null==t?void 0:t.toLowerCase(),e=this.getFormFields().map((t=>{var i;return null===(i=this.dataUnit)||void 0===i?void 0:i.getField(t.name)})).filter((t=>{var e,n;return(null===(e=t.name)||void 0===e?void 0:e.toLowerCase().includes(i))||(null===(n=t.label)||void 0===n?void 0:n.toLowerCase().includes(i))})).map((t=>({value:t.name,label:t.label})));return Promise.resolve(e)}onSelectField(t){null!=t&&null!=t.value?(this.fieldToFocus=t.value,this._ezPopoverSearchField.hide()):this.fieldToFocus=""}async initKeyboardManager(){var t,i;this._keyboardManager=new h({propagate:!1,element:null!==(t=this.elementFocusSearchField)&&void 0!==t?t:this._element}),this.useSearchField&&this._keyboardManager.bind(m,(async()=>{if(!this._container||!this._ezPopoverSearchField)return;const t=this._container.getBoundingClientRect();await p(this._fieldSearch),this._ezPopoverSearchField.showUnder(this._container,{horizontalGap:t.width-b,verticalGap:-1*t.height})}),{description:this._i18n("ez-form.labelSearchField"),element:null!==(i=this.elementFocusSearchField)&&void 0!==i?i:this._element})}componentDidLoad(){this.initKeyboardManager()}processMetadata(){if(this.bindFields()&&this.dataUnit&&this._store){const t=((t,i,e=!1,n)=>{var s;null!=t&&!0!==(null==t?void 0:t.emptyConfig)||(t=(t=>{const i=t.metadata;let e;return i&&(e=i.fields.filter((t=>!1!==t.visible)).map((t=>({name:t.name,defaultValue:t.defaultValue})))),{emptyConfig:!1,fields:e}})(i));const r=new Map,o=new Map,l=[],a=[],u={};(null!==(s=null==t?void 0:t.tabs)&&void 0!==s?s:[]).forEach((t=>{o.has(t.label)||!1!==t.visible||o.set(t.label,t)})),function(t,i,e,n,s,r,o){var l;null===(l=null==t?void 0:t.fields)||void 0===l||l.forEach((l=>{var a,u,h;if(!1!==l.visible){const c=F(l.tab||"__main",i,t);if(e.has(c.label))return;const d=n.getField(l.name);if(d&&(null==(null==d?void 0:d.visible)||!0===(null==d?void 0:d.visible))&&c.visible){i.has(c)||i.set(c,[]);const t=f(d,l);i.get(c).push(t),t.required&&s.push(l.name),((null==l.cleanOnCopy?null===(a=d.properties)||void 0===a?void 0:a.cleanOnCopy:l.cleanOnCopy)||(null===(u=d.properties)||void 0===u?void 0:u.cleanOnCopy))&&r.push(l.name);let e=null==l.defaultValue?null===(h=d.properties)||void 0===h?void 0:h.defaultValue:l.defaultValue;if(e&&null!=e.value){const{type:t,value:i}=e;if(t)if("V"===t)e=i;else try{const t=JSON.parse(i);e=t&&"value"in t?t:i}catch(t){}o[l.name]=e}}}}))}(t,r,o,i,l,a,u);const h=new j;return h.setDefaultVars(t.defaultVars),e&&function(t,i,e){const n=t.metadata;void 0!==n&&void 0!==n.children&&n.children.forEach((t=>{const n=E(t.label,i);if(n)return void e.set(Object.assign(n,{name:x(t),isDetail:!0}),[]);const{label:s,name:r,fields:o}=A(t);e.set({name:r,label:s,isDetail:!0},o)}))}(i,t,r),n&&function(t,i,e){t.forEach((t=>{const n=E(t.label,i),s={};Object.entries(t).forEach((([t,i])=>{(function(t){return["id","label"].includes(t)})(t)||(s[t]=i)})),e.set(n?Object.assign(n,{name:t.id,isCustom:!0,ctxProps:s}):{label:t.label,name:t.id,isCustom:!0,visible:!0,ctxProps:s},[])}))}(n,t,r),Array.from(r.entries()).sort(z).forEach((([t,i])=>{o.has(t.label)||h.addSheet(function(t,i){const e=w();return{label:"__main"===t.label?e("ez-form.mainTab"):t.label,name:t.name||t.label,isCustom:t.isCustom,isDetail:t.isDetail,ctxProps:t.ctxProps,fields:i}}(t,i))})),h.addRequiredFields(l),h.addCleanOnCopyFields(a),h.addDefaultValues(u),h})(this.config,this.dataUnit);this._store.dispatch({type:K.METADATA_LOADED,payload:t})}}isStatic(){var t;return(null===(t=this._staticFields)||void 0===t?void 0:t.length)>0}bindFields(){return!this.isStatic()||!1===this.onlyStaticFields}async componentWillLoad(){var t;void 0===this.dataUnit&&(this.dataUnit=new c("ez-form")),this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new y(this.dataUnit),this._store=T(I),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata(),d.addIDInfo(this._element,null,{dataUnit:this.dataUnit});const i=await(null===(t=this._application)||void 0===t?void 0:t.getLayoutFormConfig());this.setSingleColumn(i),this.registerNotifyListeners(i),this._i18n=await g()}async setSingleColumn(t){this._singleColumn=(null==t?void 0:t.config)===_.CASCADE||(null==t?void 0:t.config)===_.CLASSIC_CASCADE,this._formLayout=null==t?void 0:t.config}async registerNotifyListeners(t){t&&t.onConfigChange((t=>{this._singleColumn=t===_.CASCADE||t===_.CLASSIC_CASCADE,this._formLayout=t}))}componentDidRender(){const t=L(this._store.getState());t.addRequiredFields(this._staticFields.filter((t=>t.dataset.required)).map((t=>t.dataset.fieldName))),this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")),this.dataUnit.dataUnitId,t,this.recordsValidator),this.ezReady.emit(),this.handleFieldToFocus(),this.setCustomEditors(),this.setFieldsProps()}setCustomEditors(){if(this._formView)for(const[t,i]of this._customEditors)this._formView.addCustomEditor(t,i.customEditor,i.detailContext),this._customEditors.delete(t)}handleFieldToFocus(){var t;if(null==this.fieldToFocus)return;const i=V(null===(t=this._store)||void 0===t?void 0:t.getState());(null==i?void 0:i.fields).some((t=>t.name===this.fieldToFocus))&&requestAnimationFrame((()=>{this._dataBinder.setFocus(this.fieldToFocus),this.ezFormRequestClearFieldToFocus.emit(),this.fieldToFocus=null}))}setFieldsProps(){if(this._formView)for(const[t,i]of this._fieldsProps){for(const e in i)this._formView.setFieldProp(t,e,i[e]);this._fieldsProps.delete(t)}}disconnectedCallback(){var t;this.dataUnit.unsubscribe(this.onDataUnitAction),this._dataBinder.onDisconnectedCallback(),null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}buildIdTabSelector(t){return t&&t.forEach((t=>t[d.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=u.toCamelCase(t.label))),t}render(){return e(s,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return r(this)}static get watchers(){return{config:["observeConfig"]}}};$.style=".sc-ez-form-h{display:flex;flex-direction:column;width:100%}.dynamic-content.sc-ez-form ez-collapsible-box.sc-ez-form{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}";export{$ as ez_form}