@sankhyalabs/ezui 1.2.0-beta.8 → 2.0.0

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 (290) hide show
  1. package/dist/cjs/{ApplicationUtils-2ac1b73e.js → ApplicationUtils-edc62c5c.js} +4 -1
  2. package/dist/cjs/CheckMode-ecb90b87.js +7 -0
  3. package/dist/cjs/{DialogType-a1e288e6.js → DialogType-aa435c52.js} +1 -0
  4. package/dist/cjs/ez-actions-button.cjs.entry.js +68 -17
  5. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-button.cjs.entry.js +13 -11
  7. package/dist/cjs/ez-calendar.cjs.entry.js +5 -5
  8. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-check.cjs.entry.js +11 -9
  10. package/dist/cjs/ez-chip.cjs.entry.js +17 -7
  11. package/dist/cjs/ez-collapsible-box.cjs.entry.js +85 -7
  12. package/dist/cjs/ez-combo-box.cjs.entry.js +51 -20
  13. package/dist/cjs/ez-date-input.cjs.entry.js +13 -18
  14. package/dist/cjs/ez-date-time-input.cjs.entry.js +12 -17
  15. package/dist/cjs/ez-dialog.cjs.entry.js +43 -8
  16. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-form.cjs.entry.js +99 -486
  18. package/dist/cjs/ez-grid-config.cjs.entry.js +8 -9
  19. package/dist/cjs/ez-grid.cjs.entry.js +1073 -1168
  20. package/dist/cjs/ez-icon.cjs.entry.js +3 -3
  21. package/dist/cjs/ez-list.cjs.entry.js +2 -4
  22. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-modal-container.cjs.entry.js +58 -0
  24. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-number-input.cjs.entry.js +4 -4
  26. package/dist/cjs/ez-popover.cjs.entry.js +6 -6
  27. package/dist/cjs/ez-popup.cjs.entry.js +8 -4
  28. package/dist/cjs/ez-radio-button.cjs.entry.js +3 -3
  29. package/dist/cjs/ez-scroller.cjs.entry.js +2 -2
  30. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-select-box.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-tabselector.cjs.entry.js +8 -7
  33. package/dist/cjs/ez-text-area.cjs.entry.js +7 -7
  34. package/dist/cjs/ez-text-edit.cjs.entry.js +103 -0
  35. package/dist/cjs/ez-text-input.cjs.entry.js +14 -4
  36. package/dist/cjs/ez-time-input.cjs.entry.js +7 -7
  37. package/dist/cjs/ez-toast.cjs.entry.js +2 -2
  38. package/dist/cjs/ez-upload.cjs.entry.js +4 -4
  39. package/dist/cjs/ez-view-stack.cjs.entry.js +10 -7
  40. package/dist/cjs/ezui.cjs.js +4 -112
  41. package/dist/cjs/loader.cjs.js +2 -18
  42. package/dist/collection/collection-manifest.json +2 -0
  43. package/dist/collection/components/ez-actions-button/ez-actions-button.css +49 -20
  44. package/dist/collection/components/ez-actions-button/ez-actions-button.js +219 -23
  45. package/dist/collection/components/ez-button/ez-button.css +0 -6
  46. package/dist/collection/components/ez-button/ez-button.js +11 -9
  47. package/dist/collection/components/ez-calendar/ez-calendar.css +17 -20
  48. package/dist/collection/components/ez-check/CheckMode.js +5 -0
  49. package/dist/collection/components/ez-check/ez-check.css +23 -24
  50. package/dist/collection/components/ez-check/ez-check.js +10 -8
  51. package/dist/collection/components/ez-chip/ez-chip.css +4 -2
  52. package/dist/collection/components/ez-chip/ez-chip.js +16 -6
  53. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +16 -0
  54. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +226 -7
  55. package/dist/collection/components/ez-combo-box/ez-combo-box.css +1 -22
  56. package/dist/collection/components/ez-combo-box/ez-combo-box.js +51 -20
  57. package/dist/collection/components/ez-date-input/ez-date-input.js +8 -13
  58. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +8 -13
  59. package/dist/collection/components/ez-dialog/DialogType.js +1 -0
  60. package/dist/collection/components/ez-dialog/ez-dialog.css +19 -25
  61. package/dist/collection/components/ez-dialog/ez-dialog.js +41 -6
  62. package/dist/collection/components/ez-form/DataBinder.js +1 -0
  63. package/dist/collection/components/ez-form/ez-form.js +22 -13
  64. package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +3 -3
  65. package/dist/collection/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.js +2 -1
  66. package/dist/collection/components/ez-form/fieldbuilder/tpl/DateInput.tpl.js +4 -4
  67. package/dist/collection/components/ez-form/structure/FormSheetMetadata.js +25 -15
  68. package/dist/collection/components/ez-grid/controller/DataUnitBridge.js +3 -0
  69. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +51 -15
  70. package/dist/collection/components/ez-grid/controller/ag-grid/components/cellRenderer.js +31 -0
  71. package/dist/collection/components/ez-grid/ez-grid.js +40 -3
  72. package/dist/collection/components/ez-grid/subcomponents/ez-grid-config/ez-grid-config.css +38 -27
  73. package/dist/collection/components/ez-grid/subcomponents/ez-grid-config/ez-grid-config.js +1 -2
  74. package/dist/collection/components/ez-grid/subcomponents/ez-select-box/ez-select-box.js +5 -4
  75. package/dist/collection/components/ez-list/ez-list.css +12 -4
  76. package/dist/collection/components/ez-modal-container/ez-modal-container.css +38 -0
  77. package/dist/collection/components/ez-modal-container/ez-modal-container.js +190 -0
  78. package/dist/collection/components/ez-modal-container/index.js +2 -0
  79. package/dist/collection/components/ez-modal-container/modal-action.js +8 -0
  80. package/dist/collection/components/ez-modal-container/modal-button-status.js +7 -0
  81. package/dist/collection/components/ez-popover/ez-popover.css +1 -1
  82. package/dist/collection/components/ez-popup/ez-popup.css +6 -1
  83. package/dist/collection/components/ez-popup/ez-popup.js +26 -4
  84. package/dist/collection/components/ez-radio-button/ez-radio-button.css +16 -5
  85. package/dist/collection/components/ez-radio-button/ez-radio-button.js +1 -1
  86. package/dist/collection/components/ez-scroller/ez-scroller.css +3 -2
  87. package/dist/collection/components/ez-search/ez-search.js +6 -6
  88. package/dist/collection/components/ez-tabselector/ez-tabselector.css +10 -1
  89. package/dist/collection/components/ez-tabselector/ez-tabselector.js +7 -3
  90. package/dist/collection/components/ez-text-area/ez-text-area.css +6 -3
  91. package/dist/collection/components/ez-text-area/ez-text-area.js +5 -5
  92. package/dist/collection/components/ez-text-edit/ez-text-edit.css +19 -0
  93. package/dist/collection/components/ez-text-edit/ez-text-edit.js +188 -0
  94. package/dist/collection/components/ez-text-input/ez-text-input.css +18 -2
  95. package/dist/collection/components/ez-text-input/ez-text-input.js +28 -0
  96. package/dist/collection/components/ez-toast/ez-toast.css +1 -1
  97. package/dist/collection/components/ez-upload/ez-upload.css +1 -1
  98. package/dist/collection/components/ez-view-stack/ez-view-stack.js +12 -6
  99. package/dist/collection/utils/ApplicationUtils.js +3 -0
  100. package/dist/collection/utils/index.js +1 -0
  101. package/dist/custom-elements/index.d.ts +12 -0
  102. package/dist/custom-elements/index.js +1595 -4005
  103. package/dist/{ezui/ApplicationUtils-30a69eb0.js → esm/ApplicationUtils-205ac4bc.js} +4 -2
  104. package/dist/esm/CheckMode-bdb2ec19.js +7 -0
  105. package/dist/esm/{DialogType-72afa679.js → DialogType-4059dc4d.js} +1 -0
  106. package/dist/esm/ez-actions-button.entry.js +68 -17
  107. package/dist/esm/ez-application.entry.js +1 -1
  108. package/dist/esm/ez-button.entry.js +13 -11
  109. package/dist/esm/ez-calendar.entry.js +3 -3
  110. package/dist/esm/ez-card-item.entry.js +1 -1
  111. package/dist/esm/ez-check.entry.js +11 -9
  112. package/dist/esm/ez-chip.entry.js +17 -7
  113. package/dist/esm/ez-collapsible-box.entry.js +85 -7
  114. package/dist/esm/ez-combo-box.entry.js +48 -17
  115. package/dist/esm/ez-date-input.entry.js +10 -15
  116. package/dist/esm/ez-date-time-input.entry.js +10 -15
  117. package/dist/esm/ez-dialog.entry.js +43 -8
  118. package/dist/esm/ez-filter-input.entry.js +1 -1
  119. package/dist/esm/ez-form.entry.js +65 -452
  120. package/dist/esm/ez-grid-config.entry.js +6 -7
  121. package/dist/esm/ez-grid.entry.js +1039 -1134
  122. package/dist/esm/ez-icon.entry.js +2 -2
  123. package/dist/esm/ez-list.entry.js +2 -4
  124. package/dist/esm/ez-loading-bar.entry.js +1 -1
  125. package/dist/esm/ez-modal-container.entry.js +54 -0
  126. package/dist/esm/ez-modal.entry.js +1 -1
  127. package/dist/esm/ez-number-input.entry.js +2 -2
  128. package/dist/esm/ez-popover.entry.js +3 -3
  129. package/dist/esm/ez-popup.entry.js +8 -4
  130. package/dist/esm/ez-radio-button.entry.js +3 -3
  131. package/dist/esm/ez-scroller.entry.js +2 -2
  132. package/dist/esm/ez-search.entry.js +1 -1
  133. package/dist/esm/ez-select-box.entry.js +1 -1
  134. package/dist/esm/ez-tabselector.entry.js +8 -7
  135. package/dist/esm/ez-text-area.entry.js +7 -7
  136. package/dist/esm/ez-text-edit.entry.js +99 -0
  137. package/dist/esm/ez-text-input.entry.js +13 -3
  138. package/dist/esm/ez-time-input.entry.js +2 -2
  139. package/dist/esm/ez-toast.entry.js +2 -2
  140. package/dist/esm/ez-upload.entry.js +4 -4
  141. package/dist/esm/ez-view-stack.entry.js +10 -7
  142. package/dist/esm/ezui.js +4 -112
  143. package/dist/esm/loader.js +2 -18
  144. package/dist/ezui/ezui.esm.js +1 -125
  145. package/dist/ezui/index.esm.js +0 -1
  146. package/dist/ezui/p-04a41a44.entry.js +1 -0
  147. package/dist/ezui/p-0b44cf1c.js +1 -0
  148. package/dist/ezui/p-0c7203d5.entry.js +1 -0
  149. package/dist/ezui/p-2213da1f.entry.js +1 -0
  150. package/dist/ezui/p-2c6398b3.entry.js +1 -0
  151. package/dist/ezui/p-2ccad880.entry.js +1 -0
  152. package/dist/ezui/p-333d79c4.entry.js +1 -0
  153. package/dist/ezui/p-3987f8d8.entry.js +1 -0
  154. package/dist/ezui/{p-81eb2738.entry.js → p-42c6493e.entry.js} +1 -1
  155. package/dist/ezui/{p-b4ad3b15.entry.js → p-482c3dd8.entry.js} +1 -1
  156. package/dist/ezui/p-5bdb1a41.entry.js +1 -0
  157. package/dist/ezui/{p-b2cf7db2.entry.js → p-63d567cc.entry.js} +1 -1
  158. package/dist/ezui/p-659616e4.entry.js +1 -0
  159. package/dist/ezui/p-6608b9a5.entry.js +1 -0
  160. package/dist/ezui/p-77ec47ac.entry.js +1 -0
  161. package/dist/ezui/p-9b9ebf95.entry.js +1 -0
  162. package/dist/ezui/{p-88bfdea4.entry.js → p-ae5af8f9.entry.js} +1 -1
  163. package/dist/ezui/p-b853763b.js +1 -0
  164. package/dist/ezui/p-be06251d.entry.js +1 -0
  165. package/dist/ezui/{p-e7d03a0d.entry.js → p-bffae598.entry.js} +1 -1
  166. package/dist/ezui/p-cd4677d4.entry.js +1 -0
  167. package/dist/ezui/p-cfcc23e6.entry.js +1 -0
  168. package/dist/ezui/p-dfcf55e0.entry.js +1 -0
  169. package/dist/ezui/p-e1148f5c.js +1 -0
  170. package/dist/ezui/p-e1f2b5da.entry.js +1 -0
  171. package/dist/ezui/p-e230bfd2.entry.js +1 -0
  172. package/dist/ezui/{p-867aac16.entry.js → p-e3ee814c.entry.js} +1 -1
  173. package/dist/ezui/p-e697ffd5.entry.js +1 -0
  174. package/dist/ezui/{p-4eb273f8.entry.js → p-efa32bcc.entry.js} +1 -1
  175. package/dist/types/components/ez-actions-button/ez-actions-button.d.ts +42 -9
  176. package/dist/types/components/ez-check/CheckMode.d.ts +4 -0
  177. package/dist/types/components/ez-chip/ez-chip.d.ts +2 -1
  178. package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +46 -1
  179. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +15 -5
  180. package/dist/types/components/ez-date-input/ez-date-input.d.ts +0 -1
  181. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +0 -1
  182. package/dist/types/components/ez-dialog/DialogType.d.ts +1 -0
  183. package/dist/types/components/ez-dialog/ez-dialog.d.ts +3 -0
  184. package/dist/types/components/ez-form/DataBinder.d.ts +2 -2
  185. package/dist/types/components/ez-form/ez-form.d.ts +21 -11
  186. package/dist/types/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.d.ts +3 -3
  187. package/dist/types/components/ez-form/fieldbuilder/tpl/DateInput.tpl.d.ts +4 -2
  188. package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +2 -5
  189. package/dist/types/components/ez-form/structure/FormSheetMetadata.d.ts +3 -3
  190. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +11 -0
  191. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +4 -1
  192. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRenderer.d.ts +9 -0
  193. package/dist/types/components/ez-grid/ez-grid.d.ts +8 -3
  194. package/dist/types/components/ez-grid/subcomponents/ez-select-box/ez-select-box.d.ts +2 -6
  195. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +47 -0
  196. package/dist/types/components/ez-modal-container/index.d.ts +2 -0
  197. package/dist/types/components/ez-modal-container/modal-action.d.ts +7 -0
  198. package/dist/types/components/ez-modal-container/modal-button-status.d.ts +6 -0
  199. package/dist/types/components/ez-popup/ez-popup.d.ts +4 -0
  200. package/dist/types/components/ez-search/ez-search.d.ts +3 -3
  201. package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +2 -0
  202. package/dist/types/components/ez-text-edit/ez-text-edit.d.ts +39 -0
  203. package/dist/types/components/ez-text-input/ez-text-input.d.ts +5 -0
  204. package/dist/types/components/ez-view-stack/ez-view-stack.d.ts +5 -1
  205. package/dist/types/components.d.ts +274 -28
  206. package/dist/types/utils/ApplicationUtils.d.ts +1 -0
  207. package/dist/types/utils/index.d.ts +1 -0
  208. package/package.json +5 -5
  209. package/react/components.d.ts +2 -0
  210. package/react/components.js +2 -0
  211. package/react/components.js.map +1 -1
  212. package/dist/cjs/ApplicationUtils-475b50d9.js +0 -63
  213. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  214. package/dist/cjs/css-shim-3bfdba4f.js +0 -6
  215. package/dist/cjs/dom-8ac1ad03.js +0 -75
  216. package/dist/cjs/index-2ec1da82.js +0 -2307
  217. package/dist/cjs/index-55178184.js +0 -6
  218. package/dist/cjs/index-d9c5cb88.js +0 -3068
  219. package/dist/cjs/shadow-css-41d9783d.js +0 -390
  220. package/dist/esm/ApplicationUtils-30a69eb0.js +0 -61
  221. package/dist/esm/ApplicationUtils-a4a76132.js +0 -60
  222. package/dist/esm/app-globals-0f993ce5.js +0 -3
  223. package/dist/esm/css-shim-20dbffa5.js +0 -4
  224. package/dist/esm/dom-c5ed0ba5.js +0 -73
  225. package/dist/esm/index-1e9d524f.js +0 -3031
  226. package/dist/esm/index-b96183c8.js +0 -2295
  227. package/dist/esm/index-f32470b5.js +0 -3
  228. package/dist/esm/shadow-css-8c625855.js +0 -388
  229. package/dist/ezui/CSSVarsUtils-00f67f32.js +0 -70
  230. package/dist/ezui/DialogType-72afa679.js +0 -8
  231. package/dist/ezui/app-globals-0f993ce5.js +0 -3
  232. package/dist/ezui/css-shim-20dbffa5.js +0 -4
  233. package/dist/ezui/dom-c5ed0ba5.js +0 -73
  234. package/dist/ezui/ez-actions-button.entry.js +0 -98
  235. package/dist/ezui/ez-application.entry.js +0 -22
  236. package/dist/ezui/ez-button.entry.js +0 -73
  237. package/dist/ezui/ez-calendar.entry.js +0 -219
  238. package/dist/ezui/ez-card-item.entry.js +0 -40
  239. package/dist/ezui/ez-check.entry.js +0 -72
  240. package/dist/ezui/ez-chip.entry.js +0 -97
  241. package/dist/ezui/ez-collapsible-box.entry.js +0 -57
  242. package/dist/ezui/ez-combo-box.entry.js +0 -439
  243. package/dist/ezui/ez-date-input.entry.js +0 -159
  244. package/dist/ezui/ez-date-time-input.entry.js +0 -214
  245. package/dist/ezui/ez-dialog.entry.js +0 -108
  246. package/dist/ezui/ez-filter-input.entry.js +0 -75
  247. package/dist/ezui/ez-form.entry.js +0 -1395
  248. package/dist/ezui/ez-grid-config.entry.js +0 -433
  249. package/dist/ezui/ez-grid.entry.js +0 -115419
  250. package/dist/ezui/ez-icon.entry.js +0 -37
  251. package/dist/ezui/ez-list.entry.js +0 -516
  252. package/dist/ezui/ez-loading-bar.entry.js +0 -24
  253. package/dist/ezui/ez-modal.entry.js +0 -67
  254. package/dist/ezui/ez-number-input.entry.js +0 -148
  255. package/dist/ezui/ez-popover.entry.js +0 -141
  256. package/dist/ezui/ez-popup.entry.js +0 -49
  257. package/dist/ezui/ez-radio-button.entry.js +0 -45
  258. package/dist/ezui/ez-scroller.entry.js +0 -101
  259. package/dist/ezui/ez-search.entry.js +0 -83
  260. package/dist/ezui/ez-select-box.entry.js +0 -18
  261. package/dist/ezui/ez-tabselector.entry.js +0 -195
  262. package/dist/ezui/ez-text-area.entry.js +0 -158
  263. package/dist/ezui/ez-text-input.entry.js +0 -235
  264. package/dist/ezui/ez-time-input.entry.js +0 -164
  265. package/dist/ezui/ez-toast.entry.js +0 -84
  266. package/dist/ezui/ez-upload.entry.js +0 -379
  267. package/dist/ezui/ez-view-stack.entry.js +0 -74
  268. package/dist/ezui/index-1e9d524f.js +0 -3031
  269. package/dist/ezui/index-b96183c8.js +0 -2295
  270. package/dist/ezui/index-f32470b5.js +0 -3
  271. package/dist/ezui/p-2f02347d.entry.js +0 -1
  272. package/dist/ezui/p-416bedbe.entry.js +0 -1
  273. package/dist/ezui/p-544f0c63.entry.js +0 -1
  274. package/dist/ezui/p-62110996.entry.js +0 -1
  275. package/dist/ezui/p-719e9ef9.entry.js +0 -1
  276. package/dist/ezui/p-787fbdfe.js +0 -1
  277. package/dist/ezui/p-9d5be6a7.entry.js +0 -1
  278. package/dist/ezui/p-a27dafa4.entry.js +0 -1
  279. package/dist/ezui/p-aba3fa6c.entry.js +0 -1
  280. package/dist/ezui/p-adbe4188.js +0 -1
  281. package/dist/ezui/p-af43be42.entry.js +0 -1
  282. package/dist/ezui/p-b7467ad6.entry.js +0 -1
  283. package/dist/ezui/p-c019e137.entry.js +0 -1
  284. package/dist/ezui/p-c9d2060e.entry.js +0 -1
  285. package/dist/ezui/p-cccd8cde.entry.js +0 -1
  286. package/dist/ezui/p-d0671e14.entry.js +0 -1
  287. package/dist/ezui/p-e0f06d73.entry.js +0 -1
  288. package/dist/ezui/p-e59adce6.entry.js +0 -1
  289. package/dist/ezui/p-ed835b36.entry.js +0 -1
  290. package/dist/ezui/shadow-css-8c625855.js +0 -388
@@ -1,97 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h } from './index-1e9d524f.js';
2
-
3
- const ezChipCss = ":host{--ez-label-chip--height:30px;--ez-label-chip__label--font-size:var(--text--medium, 14px);--ez-label-chip__label--font-family:var(--font-pattern, Arial);--ez-label-chip__label--font-weight:var(--text-weight--medium, 400);--ez-label-chip__label--space--medium:var(--space--medium, 12px);--ez-label-chip__label--title--primary:var(--title--primary, #2B3A54);--ez-label-chip__label--text--primary:var(--text--primary, #626e82);--ez-label-chip__label__container--border-radius:var(--border--radius-large, 24px);--ez-label-chip__label__container--border:1px solid;--ez-label-chip__label__container--border-color-strokes:var(--color--strokes, #DCE0E8);--ez-label-chip__label__container--color-primary:var(--color--primary, #008561);--ez-label-chip__label__container-color--disable-secondary:var(--color--disable-secondary, #F2F5F8);--ez-label-chip__label__container--background-color:var(--color--primary-300);--ez-label-chip__label__container--border-color:#0085610F;--ez-label-chip__label__container--default--border-color--active:var(--color--primary, #007a5a);--ez-label-chip__label__container--default--background-color--hover:var(--color--primary-300, #f2faf8);--ez-label-chip__label__container--default--color--hover:var(--color--primary, #f2faf8);--ez-label-chip__label__container--text--disabled:var(--text--disable, #AFB6C0);--ez-label-chip__label__container--default--border-color--active:var(--color--primary)}.lbl{display:flex;white-space:nowrap;align-items:center;font-weight:var(--ez-label-chip__label--font-weight);cursor:pointer;color:var(--ez-label-chip__label--title--primary);user-select:none;height:var(--ez-label-chip--height);font-family:var(--ez-label-chip__label--font-family);font-size:var(--ez-label-chip__label--font-size)}.lbl--active{color:var(--ez-label-chip__label__container--default--color--hover)}.lbl--disabled{color:var(--ez-label-chip__label__container--text--disabled)}.label__container{cursor:pointer;width:max-content;display:flex;flex-wrap:wrap;align-items:center;background-color:#FFFFFF;color:var(--ez-label-chip__label--text--primary);fill:var(--ez-label-chip__label--text--primary);--ez-icon--color:var(--ez-label-chip__label--text--primary);border:var(--ez-label-chip__label__container--border);border-radius:var(--ez-label-chip__label__container--border-radius);border-color:var(--ez-label-chip__label__container--border-color-strokes);padding-right:var(--ez-label-chip__label--space--medium);padding-left:var(--ez-label-chip__label--space--medium)}.label__content{display:flex;align-items:center;flex-wrap:wrap;--ez-icon--color:var(--ez-label-chip__label--text--primary)}.label__container--disabled{cursor:default;border-color:var(--ez-label-chip__label__container-color--disable-secondary);background-color:var(--ez-label-chip__label__container-color--disable-secondary);fill:var(--ez-label-chip__label__container--text--disabled);color:var(--ez-label-chip__label__container--text--disabled);--ez-icon--color:var(--ez-label-chip__label__container--text--disabled)}.label__container--active{border-color:var(--ez-label-chip__label__container--default--background-color--hover);background-color:var(--ez-label-chip__label__container--default--background-color--hover);color:var(--ez-label-chip__label__container--default--color--hover);fill:var(--ez-label-chip__label__container--default--color--hover);--ez-icon--color:var(--ez-label-chip__label__container--default--color--hover)}.label__container:hover{border-color:var(--ez-label-chip__label__container--default--border-color--active)}.label__container--disabled:hover{cursor:default;border:var(--ez-label-chip__label__container--border);border-color:var(--ez-label-chip__label__container-color--disable-secondary);background-color:var(--ez-label-chip__label__container-color--disable-secondary);fill:var(--ez-label-chip__label__container--text--disabled);color:var(--ez-label-chip__label__container--text--disabled);--ez-icon--color:var(--ez-label-chip__label__container--text--disabled)}.label__content__icon{display:flex;cursor:pointer;color:var(--ez-label-chip__label--text--primary);fill:var(--ez-label-chip__label--text--primary);--ez-icon--color:var(--ez-label-chip__label--text--primary)}.label__container--row-reverse{flex-direction:row-reverse}.label__container .btn-close{padding:0px 0px 0px 8px}.label__container--row-reverse .btn-close{padding:0px 8px 0px 0px}.cursor-disable{cursor:default}ez-icon{--ez-icon--color:inherit}";
4
-
5
- let EzChip = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.valueChange = createEvent(this, "valueChange", 7);
9
- this.removeChip = createEvent(this, "removeChip", 7);
10
- this.actionClick = createEvent(this, "actionClick", 7);
11
- /**
12
- * Deixa o componente disponível ou não para seleção.
13
- */
14
- this.enabled = true;
15
- /**
16
- * Indica se o componente está ou não ativado.
17
- */
18
- this.value = false;
19
- }
20
- //---------------------------------------------
21
- // Public methods
22
- //---------------------------------------------
23
- /**
24
- * Faz o foco no componente de input
25
- */
26
- async setFocus() {
27
- this._labelElem.focus();
28
- }
29
- /**
30
- * Remove o foco no componente de input
31
- */
32
- async setBlur() {
33
- this._labelElem.blur();
34
- }
35
- //---------------------------------------------
36
- // Event handlers
37
- //---------------------------------------------
38
- handleSlotChange(ev) {
39
- const slot = ev.target;
40
- const content = slot.assignedElements()[0];
41
- content.style.setProperty("--ez-icon--color", "var(--ez-icon--color)");
42
- }
43
- handleValueChange() {
44
- this.swichState();
45
- this.valueChange.emit(this.value);
46
- }
47
- handleClick(ev) {
48
- const target = ev.target;
49
- if (!this.enabled)
50
- return;
51
- if (this.mode === "action")
52
- return this.actionClick.emit();
53
- if (target.tagName.toLowerCase() !== "ez-icon")
54
- return this.handleValueChange();
55
- if (target.classList.contains("btn-close"))
56
- return this.removeChip.emit();
57
- }
58
- swichState() {
59
- if (this.enabled) {
60
- this.value = !this.value;
61
- }
62
- }
63
- observeValue() {
64
- (this.value && this.mode !== "action") ? this._divElem.classList.add("label__container--active") : this._divElem.classList.remove("label__container--active");
65
- }
66
- observeEnabled() {
67
- if (this.enabled) {
68
- this._divElem.classList.remove("label__container--disabled");
69
- this._labelElem.classList.remove("lbl--disabled");
70
- this._labelElem.classList.remove("cursor-disable");
71
- }
72
- else {
73
- this._divElem.classList.add("label__container--disabled");
74
- this._labelElem.classList.add("lbl--disabled");
75
- this._labelElem.classList.add("cursor-disable");
76
- }
77
- }
78
- //---------------------------------------------
79
- // Lifecycle web component
80
- //---------------------------------------------
81
- componentDidLoad() {
82
- if (this._divElem) {
83
- this.observeValue();
84
- this.observeEnabled();
85
- }
86
- }
87
- render() {
88
- return (h("div", { onClick: (ev) => this.handleClick(ev), class: "label__container" + (this.removePosition === "left" ? " label__container--row-reverse" : ""), ref: (el) => this._divElem = el }, h("div", { class: "label__content" }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("label", { class: "lbl " + (this.value ? "lbl--active " : ""), ref: (el) => this._labelElem = el }, this.label), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })), this.mode !== 'action' && this.removePosition && h("ez-icon", { class: "btn-close", size: "small", "icon-name": "close" })));
89
- }
90
- static get watchers() { return {
91
- "value": ["observeValue"],
92
- "enabled": ["observeEnabled"]
93
- }; }
94
- };
95
- EzChip.style = ezChipCss;
96
-
97
- export { EzChip as ez_chip };
@@ -1,57 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h } from './index-1e9d524f.js';
2
-
3
- const ezCollapsibleBoxCss = ":host{--ez-collapsible-box--font-size:var(--title--medium, 14px);--ez-collapsible-box--font-family:var(--font-pattern, Arial);--ez-collapsible-box--font-weight:var(--text-weight--large, 600);--ez-collapsible-box--color:var(--title--primary);--ez-collapsible-box--focus--color:var(--color--primary-600);--ez-collapsible-box__icon--color:var(--ez-collapsible-box--color);--ez-collapsible-box__header--padding-top:0px;--ez-collapsible-box__header--padding-bottom:0px;--ez-collapsible-box__header--padding-right:0px;--ez-collapsible-box__header--padding-left:0px;display:flex;flex-wrap:wrap;width:100%}ez-icon{--ez-icon--color:inherit}.collapsible-box{display:flex;flex-direction:column;width:100%}.collapsible-box__header{display:flex;box-sizing:border-box;padding-top:var(--ez-collapsible-box__header--padding-top);padding-bottom:var(--ez-collapsible-box__header--padding-bottom);padding-right:var(--ez-collapsible-box__header--padding-right);padding-left:var(--ez-collapsible-box__header--padding-left)}.collapsible-box__title{position:relative;width:auto;display:flex;box-sizing:border-box;align-items:center;outline:none;border:none;background-color:unset;cursor:pointer;padding:0px;text-align:left;color:var(--ez-collapsible-box--color);--ez-icon--color:var(--ez-collapsible-box__icon--color);margin-bottom:var(--space--medium, 12px)}.collapsible-box__title:focus{color:var(--ez-collapsible-box--focus--color);--ez-icon--color:var(--ez-collapsible-box--focus--color)}.collapsible-box__label{white-space:nowrap;overflow:hidden;cursor:pointer;text-overflow:ellipsis;box-sizing:border-box;margin-left:6px;font-family:var(--ez-collapsible-box--font-family);font-size:var(--ez-collapsible-box--font-size);font-weight:var(--ez-collapsible-box--font-weight)}.collapsible-box__icon{transform:rotate(90deg) translate(0px, 14%);transition:transform var(--transition)}.collapsible-box__icon--collapsed{transform:rotate(0deg) translate(-14%, 0px)}.collapsible-box__title--icon-right{flex-direction:row-reverse}.collapsible-box__title--icon-right .collapsible-box__icon{transform:rotate(90deg) translate(0px, -14%)}.collapsible-box__title--icon-right .collapsible-box__icon--collapsed{transform:rotate(0deg) translate(14%, 0px)}.collapsible-box__title--icon-right .collapsible-box__label{margin-left:0px;margin-right:6px}.collapsible-box__title--stretched{width:100%;justify-content:space-between}.collapsible-box__title--no-margin{margin-bottom:0}.collapsible-box__content{display:flex;flex-wrap:wrap;width:100%;height:0px;max-height:0px;opacity:0;overflow:hidden;transition:all var(--transition, 0.5s)}.collapsible-box__content--show{height:100%;max-height:none;opacity:1;overflow:visible;transition:all var(--transition, 0.5s)}.font--x-small{font-size:10px}.font--small{font-size:12px}.font--medium{font-size:14px}.font--large{font-size:16px}.font--x-large{font-size:20px}";
4
-
5
- let EzCollapsibleBox = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.ezChange = createEvent(this, "ezChange", 7);
9
- /**
10
- * Valor externalizado que garante a exibição ou não do componente.
11
- */
12
- this.value = false;
13
- /**
14
- * Define o tamanho do texto e do ícone do componente.
15
- */
16
- this.headerSize = "small";
17
- /**
18
- * Define o local onde o ícone será renderizado.
19
- */
20
- this.iconPlacement = "left";
21
- /**
22
- * Define se o titulo irá ocupar toda a largura do componente.
23
- */
24
- this.stretchTitle = false;
25
- }
26
- observeCollapsedValue() {
27
- this.ezChange.emit(this.value);
28
- }
29
- /**
30
- * Esconde ou revela o conteúdo do componente.
31
- */
32
- async showHide() {
33
- this.value = !this.value;
34
- }
35
- /**
36
- * Retorna o tamanho configurado do texto e do ícone.
37
- */
38
- getHeaderSize() {
39
- const sizeAlias = ["xsmall", "xlarge"];
40
- const sizeList = ["x-small", "small", "medium", "large", "x-large"];
41
- const sizeLowerCase = this.headerSize && this.headerSize.toLowerCase();
42
- const sizeCustom = sizeAlias.includes(sizeLowerCase) ? sizeLowerCase.replace('x', 'x-') : sizeLowerCase;
43
- return sizeList.includes(sizeCustom) ? sizeCustom : "small";
44
- }
45
- render() {
46
- return (h("div", { class: "collapsible-box" }, h("div", { class: "collapsible-box__header" }, h("button", { onClick: () => this.showHide(), class: "collapsible-box__title" +
47
- (this.iconPlacement === "right" ? " collapsible-box__title--icon-right" : "") +
48
- (this.stretchTitle ? " collapsible-box__title--stretched" : "") +
49
- (this.value ? " collapsible-box__title--no-margin" : "") }, h("ez-icon", { slot: "icon", "icon-name": "chevron-right", size: this.getHeaderSize(), class: "collapsible-box__icon collapsible-box__icon--" + this.getHeaderSize() + (this.value ? " collapsible-box__icon--collapsed" : "") }), h("label", { class: "collapsible-box__label font--" + this.getHeaderSize(), title: this.label }, this.label))), h("div", { class: "collapsible-box__content" + (this.value ? "" : " collapsible-box__content--show") }, h("slot", null))));
50
- }
51
- static get watchers() { return {
52
- "value": ["observeCollapsedValue"]
53
- }; }
54
- };
55
- EzCollapsibleBox.style = ezCollapsibleBoxCss;
56
-
57
- export { EzCollapsibleBox as ez_collapsible_box };
@@ -1,439 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-1e9d524f.js';
2
- import { F as FloatingManager } from './index-b96183c8.js';
3
- import './index-f32470b5.js';
4
- import { A as ApplicationUtils } from './ApplicationUtils-30a69eb0.js';
5
- import { C as CSSVarsUtils } from './CSSVarsUtils-00f67f32.js';
6
- import './DialogType-72afa679.js';
7
-
8
- const ezComboBoxCss = ":host{--ez-combo-box--height:42px;--ez-combo-box--width:100%;--ez-combo-box__icon--width:48px;--ez-combo-box--border-radius:var(--border--radius-medium, 12px);--ez-combo-box--border-radius-small:var(--border--radius-small, 6px);--ez-combo-box--font-size:var(--text--medium, 14px);--ez-combo-box--font-family:var(--font-pattern, Arial);--ez-combo-box--font-weight--large:var(--text-weight--large, 500);--ez-combo-box--font-weight--medium:var(--text-weight--medium, 400);--ez-combo-box--background-color--xlight:var(--background--xlight, #fff);--ez-combo-box--background-medium:var(--background--medium, #f0f3f7);--ez-combo-box__input--background-color:var(--background--medium, #e0e0e0);--ez-combo-box__input--border:var(--border--medium, 2px solid);--ez-combo-box__input--border-color:var(--ez-combo-box__input--background-color);--ez-combo-box__input--focus--border-color:var(--color--primary, #008561);--ez-combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__input--error--border-color:#CC2936;--ez-combo-box__btn--color:var(--title--primary, #2B3A54);--ez-combo-box__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__btn-hover--color:var(--color--primary, #4e4e4e);--ez-combo-box__label--color:var(--title--primary, #2B3A54);--ez-combo-box__list-title--primary:var(--title--primary, #2B3A54);--ez-combo-box__list-text--primary:var(--text--primary, #626e82);--ez-combo-box__list-height:calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium));--ez-combo-box--space--medium:var(--space--medium, 12px);--ez-combo-box--space--small:var(--space--small, 6px);--ez-combo-box__list-scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--ez-combo-box__list-scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0);--ez-combo-box__list-scrollbar--border-radius:var(--border--radius-small, 6px);--ez-combo-box__list-scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-combo-box--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:100%;z-index:var(--more-visible, 2);max-height:calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small));background-color:var(--ez-combo-box--background-color--xlight);border-radius:var(--ez-combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-combo-box--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ez-combo-box__list-scrollbar--background-color-primary) var(--ez-combo-box__list-scrollbar--background-color-secondary)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-combo-box__list-scrollbar--background-color-secondary);border-radius:var(--ez-combo-box__list-scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__list-scrollbar--background-color-primary);border-radius:var(--ez-combo-box__list-scrollbar--border-radius)}.list-options::-webkit-scrollbar{background-color:var(--ez-combo-box__list-scrollbar--background-color-secondary);width:var(--ez-combo-box__list-scrollbar--width);max-width:var(--ez-combo-box__list-scrollbar--width);min-width:var(--ez-combo-box__list-scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:#f0f2f5;border-radius:var(--ez-combo-box__list-scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__list-scrollbar--background-color);border-radius:var(--ez-combo-box__list-scrollbar--border-radius)}.list-options::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-combo-box__list-scrollbar--width);max-width:var(--ez-combo-box__list-scrollbar--width);min-width:var(--ez-combo-box__list-scrollbar--width)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-combo-box--border-radius-small);padding:0 var(--ez-combo-box--space--small);min-height:var(--ez-combo-box__list-height);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-combo-box__list-title--primary);font-weight:var(--ez-combo-box--font-weight--large);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.item__value{text-align:center;color:var(--ez-combo-box__list-text--primary)}.item__value--hidden{visibility:hidden;position:absolute;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:calc(var(--ez-combo-box__list-height) * 1.5)}.message__no-result{color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.message__loading{border-radius:50%;width:16px;height:16px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-combo-box__list-title--primary);border-top:3px solid transparent}li:hover{background-color:var(--ez-combo-box--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-combo-box__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:disabled:hover{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:hover{color:var(--ez-combo-box__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
9
-
10
- let EzComboBox = class {
11
- constructor(hostRef) {
12
- registerInstance(this, hostRef);
13
- this.ezChange = createEvent(this, "ezChange", 7);
14
- this._changeDeboucingTimeout = null;
15
- this._limitCharsToSearch = 3;
16
- this._deboucingTime = 300;
17
- this._maxWidthValue = 0;
18
- this._tabPressed = false;
19
- this._textEmptyList = "Nenhum resultado encontrado";
20
- this._startLoading = false;
21
- this._showLoading = true;
22
- /**
23
- * Deixa o campo disponível ou não para interação com usuário.
24
- */
25
- this.enabled = true;
26
- /**
27
- * Ajusta a opção de mostrar o "value" ao selecionar uma opção. Por padrão não mostra.
28
- */
29
- this.showSelectedValue = false;
30
- /**
31
- * Ajusta a opção de mostrar o "value" para cada opção. Por padrão não mostra
32
- */
33
- this.showOptionValue = false;
34
- /**
35
- * Desabilita a digitação dentro do componente.
36
- */
37
- this.suppressSearch = false;
38
- /**
39
- * Remove a opção vazia da lista de opções
40
- */
41
- this.suppressEmptyOption = false;
42
- /**
43
- * Permite exibir a mensagem de erro.
44
- */
45
- this.canShowError = true;
46
- /**
47
- * Define o modo do tamanho do campo; opções: slim e regular.
48
- */
49
- this.mode = "regular";
50
- }
51
- observeErrorMessage() {
52
- var _a;
53
- if (this._textInput) {
54
- this._textInput.errorMessage = this.errorMessage;
55
- if (!((_a = this.errorMessage) === null || _a === void 0 ? void 0 : _a.trim())) {
56
- this.setInputValue();
57
- }
58
- }
59
- }
60
- observeValue(newValue, oldValue) {
61
- var _a, _b, _c, _d;
62
- if (this._textInput && newValue != oldValue) {
63
- const newValueSelected = this.getSelectedOption(newValue);
64
- const oldValueSelected = this.getSelectedOption(oldValue);
65
- const currentValue = this.getSelectedOption(this.value);
66
- if (((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) != ((_b = newValueSelected === null || newValueSelected === void 0 ? void 0 : newValueSelected.value) === null || _b === void 0 ? void 0 : _b.toString())) {
67
- this.value = newValueSelected;
68
- }
69
- if (((_c = newValueSelected === null || newValueSelected === void 0 ? void 0 : newValueSelected.value) === null || _c === void 0 ? void 0 : _c.toString()) !== ((_d = oldValueSelected === null || oldValueSelected === void 0 ? void 0 : oldValueSelected.value) === null || _d === void 0 ? void 0 : _d.toString())) {
70
- this.setInputValue();
71
- const valueEmitted = newValueSelected === null ? undefined : newValueSelected;
72
- this.ezChange.emit(valueEmitted);
73
- }
74
- this.hideOptions();
75
- this._criteria = undefined;
76
- this._preSelection = undefined;
77
- this.updateVisibleOptions();
78
- }
79
- }
80
- /**
81
- * Realiza o foco no componente de seleção
82
- */
83
- async setFocus() {
84
- this._textInput.setFocus();
85
- }
86
- /**
87
- * Remove o foco no componente de seleção
88
- */
89
- async setBlur() {
90
- this._textInput.setBlur();
91
- }
92
- /**
93
- * Retorna informando se o campo está inválido (true | false)
94
- */
95
- async isInvalid() {
96
- return typeof this.errorMessage === "string" && this.errorMessage.trim() !== "";
97
- }
98
- getText() {
99
- let text = "";
100
- const currentValue = this.getSelectedOption(this.value);
101
- if (currentValue) {
102
- text = this.showSelectedValue ? `${currentValue.value} - ${currentValue.label}` : currentValue.label;
103
- }
104
- return text;
105
- }
106
- getSelectedOption(value) {
107
- if (typeof value === "string" || value instanceof String) {
108
- return this._visibleOptions.find(o => o.value === value);
109
- }
110
- return value;
111
- }
112
- updateVisibleOptions() {
113
- let opts = this._source || [];
114
- if (!this.searchMode && this._criteria) {
115
- const upperCriteria = this._criteria.toUpperCase();
116
- opts = opts.filter(opt => opt.label.toLocaleUpperCase().indexOf(upperCriteria) > -1);
117
- }
118
- if (this.suppressEmptyOption) {
119
- this._visibleOptions = opts;
120
- }
121
- else {
122
- this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
123
- }
124
- this._maxWidthValue = this.getMaxWidthValue();
125
- }
126
- getMaxWidthValue() {
127
- var _a;
128
- if (this.showOptionValue) {
129
- const arrValues = [];
130
- (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.forEach(opt => {
131
- const widthValue = this.getWidthValue(opt.value);
132
- if (!arrValues.includes(widthValue)) {
133
- arrValues.push(widthValue);
134
- }
135
- });
136
- return arrValues.length > 1 ? Math.max(...arrValues) : 0;
137
- }
138
- return 0;
139
- }
140
- getWidthValue(value) {
141
- if (this._itemValueBasis) {
142
- const span = this._itemValueBasis;
143
- if (value) {
144
- span.innerHTML = value;
145
- return span.clientWidth > 0 ? (span.clientWidth + 1) : 0;
146
- }
147
- else {
148
- span.innerHTML = "";
149
- }
150
- }
151
- return 0;
152
- }
153
- buildItem(opt, index) {
154
- return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = undefined }, this.showOptionValue
155
- ? h("span", { class: "item__value", title: opt.value, style: { width: this.showOptionValue && this._maxWidthValue > 0 ? `${this._maxWidthValue}px` : '' } }, opt.value)
156
- : undefined, h("span", { class: "item__label", title: opt.label }, opt.label));
157
- }
158
- showOptions() {
159
- if (!this.enabled) {
160
- return;
161
- }
162
- //FIXME: Provavelmente isso fará com que o popup abra em uma
163
- //posição errada no futuro. Preferi fazer simples no começo,
164
- //porque não quis onerar o text input com essa funcionalidade...
165
- const top = (this.errorMessage || !this.canShowError || this.mode === "slim") ? "0px" : "-19px";
166
- this._floatingID = FloatingManager.float(this._listWrapper, this._listContainer, { autoClose: true, top });
167
- window.requestAnimationFrame(() => {
168
- this._listWrapper.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
169
- });
170
- }
171
- hideOptions() {
172
- if (this._floatingID !== undefined) {
173
- FloatingManager.close(this._floatingID);
174
- }
175
- this._floatingID = undefined;
176
- }
177
- isOptionsVisible() {
178
- return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
179
- }
180
- nextOption() {
181
- if (this.searchMode && !this.isOptionsVisible()) {
182
- return;
183
- }
184
- this.showOptions();
185
- this._preSelection = this._preSelection === undefined ? 0 : Math.min(this._preSelection + 1, this._visibleOptions.length - 1);
186
- this.scrollToOption(this._visibleOptions[this._preSelection], true);
187
- }
188
- previousOption() {
189
- this._preSelection = this._preSelection === undefined ? 0 : Math.max(this._preSelection - 1, 0);
190
- this.scrollToOption(this._visibleOptions[this._preSelection], false);
191
- }
192
- scrollToOption(opt, down) {
193
- window.requestAnimationFrame(() => {
194
- const liElem = this._optionsList.querySelector(`li#item_${opt.value}`);
195
- if (liElem) {
196
- const parent = liElem.parentElement;
197
- const parentRect = parent.getBoundingClientRect();
198
- const itemRect = liElem.getBoundingClientRect();
199
- if (down && itemRect.bottom > parentRect.bottom) {
200
- parent.scrollTop = itemRect.top;
201
- }
202
- else if (!down && itemRect.top < parentRect.top) {
203
- parent.scrollTop = 0;
204
- }
205
- }
206
- });
207
- }
208
- selectCurrentOption() {
209
- if (this._preSelection !== undefined) {
210
- this.selectOption(this._visibleOptions[this._preSelection]);
211
- this._preSelection = undefined;
212
- }
213
- else {
214
- this.controlListWithOnlyOne();
215
- }
216
- }
217
- updateSource(source) {
218
- this._startLoading = false;
219
- if (source instanceof Promise) {
220
- this._showLoading = true;
221
- source.then(result => {
222
- this._showLoading = false;
223
- this.updateSource(result);
224
- }).catch(() => this._showLoading = false);
225
- this.updateVisibleOptions();
226
- }
227
- else {
228
- this._showLoading = false;
229
- if (Array.isArray(source)) {
230
- this._source = source;
231
- this.updateVisibleOptions();
232
- if (this._tabPressed) {
233
- this._tabPressed = false;
234
- this.controlEmptySearch();
235
- }
236
- }
237
- else {
238
- this.selectOption(source);
239
- }
240
- }
241
- }
242
- clearSource() {
243
- this._source = [];
244
- this.updateVisibleOptions();
245
- }
246
- selectOption(newOption) {
247
- var _a, _b;
248
- const currentValue = this.getSelectedOption(this.value);
249
- if (((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOption === null || newOption === void 0 ? void 0 : newOption.value) === null || _b === void 0 ? void 0 : _b.toString())) {
250
- const adjustedOpt = !(newOption === null || newOption === void 0 ? void 0 : newOption.value) ? undefined : newOption;
251
- this.value = adjustedOpt;
252
- }
253
- else {
254
- this.setInputValue();
255
- }
256
- if (this.searchMode) {
257
- this._visibleOptions = [];
258
- }
259
- if (this.searchMode) {
260
- this._visibleOptions = [];
261
- }
262
- }
263
- loadOptions(mode, argument = "") {
264
- this._criteria = argument;
265
- this._startLoading = true;
266
- if (this.optionLoader) {
267
- this.updateSource(this.optionLoader({ mode, argument }));
268
- }
269
- else {
270
- this.updateSource(this.options);
271
- }
272
- }
273
- cancelPreselection() {
274
- if (!this._textInput.value && this.value) {
275
- this.selectOption(undefined);
276
- }
277
- else {
278
- this.setInputValue();
279
- }
280
- }
281
- setInputValue(clearError = true) {
282
- const textValue = this.getText();
283
- if ((this._textInput.value || '') !== textValue) {
284
- this._textInput.value = textValue;
285
- if (clearError) {
286
- this.errorMessage = "";
287
- }
288
- }
289
- }
290
- clearSearch() {
291
- this.value = null;
292
- }
293
- controlListWithOnlyOne() {
294
- if (this.searchMode) {
295
- const source = this._visibleOptions;
296
- if ((source === null || source === void 0 ? void 0 : source.length) === 1) {
297
- this.selectOption(source[0]);
298
- }
299
- }
300
- }
301
- controlEmptySearch() {
302
- var _a;
303
- if (this.searchMode) {
304
- if (!((_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.length)) {
305
- this.clearSearch();
306
- ApplicationUtils.info(this._textEmptyList);
307
- }
308
- else {
309
- this.controlListWithOnlyOne();
310
- }
311
- }
312
- }
313
- //---------------------------------------------
314
- // Lifecycle web component
315
- //---------------------------------------------
316
- componentWillLoad() {
317
- if (this.options === undefined) {
318
- this.options = [];
319
- const optionsTags = this.el.querySelectorAll("option");
320
- if (optionsTags) {
321
- optionsTags.forEach(e => {
322
- let label = e.innerText;
323
- let value = e.getAttribute("value");
324
- if (!value) {
325
- value = label;
326
- }
327
- this.options.push({ label, value });
328
- e.hidden = true;
329
- });
330
- }
331
- }
332
- if (this.searchMode) {
333
- this.updateSource([]);
334
- }
335
- else {
336
- this.loadOptions("PRELOAD");
337
- }
338
- }
339
- componentDidRender() {
340
- if (this._floatingID === undefined) {
341
- this._listWrapper.remove();
342
- }
343
- }
344
- componentDidLoad() {
345
- CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
346
- this.setInputValue(false);
347
- }
348
- //---------------------------------------------
349
- // Event handlers
350
- //---------------------------------------------
351
- handlerIconClick() {
352
- this.searchMode ? this.loadOptions("ADVANCED") : this.showOptions();
353
- }
354
- onTextInputChangeHandler(event) {
355
- var _a;
356
- this.clearDeboucingTimeout();
357
- if (this._startLoading) {
358
- this._changeDeboucingTimeout = window.setTimeout(() => {
359
- this.onTextInputChangeHandler(event);
360
- }, this._deboucingTime);
361
- return;
362
- }
363
- const argument = (_a = event.target.value) === null || _a === void 0 ? void 0 : _a.trim();
364
- const argumentNumber = Number(argument || undefined);
365
- if (!this._criteria) {
366
- this._textInput.value = event.data || argument;
367
- }
368
- this._criteria = argument;
369
- if (argument && (!isNaN(argumentNumber) || argument.length >= this._limitCharsToSearch)) {
370
- if (this.searchMode) {
371
- this._showLoading = true;
372
- this.clearSource();
373
- this._changeDeboucingTimeout = window.setTimeout(() => {
374
- this.loadOptions("PREDICTIVE", isNaN(argumentNumber) ? argument : argumentNumber.toString());
375
- }, this._deboucingTime);
376
- }
377
- else {
378
- this.updateVisibleOptions();
379
- }
380
- this.showOptions();
381
- }
382
- else {
383
- this.hideOptions();
384
- }
385
- }
386
- clearDeboucingTimeout() {
387
- if (this._changeDeboucingTimeout) {
388
- window.clearTimeout(this._changeDeboucingTimeout);
389
- this._changeDeboucingTimeout = undefined;
390
- }
391
- }
392
- onTextInputClickHandler() {
393
- if (!this.searchMode) {
394
- this.showOptions();
395
- }
396
- }
397
- keyDownHandler(event) {
398
- this._tabPressed = false;
399
- switch (event.key) {
400
- case "ArrowDown":
401
- this.nextOption();
402
- break;
403
- case "ArrowUp":
404
- this.previousOption();
405
- break;
406
- case "Enter":
407
- this.selectCurrentOption();
408
- break;
409
- case "Escape":
410
- this.cancelPreselection();
411
- break;
412
- case "Tab":
413
- this._tabPressed = true;
414
- this.controlListWithOnlyOne();
415
- break;
416
- }
417
- event.stopPropagation();
418
- }
419
- onTextInputFocusOutHandler() {
420
- this.cancelPreselection();
421
- }
422
- render() {
423
- var _a;
424
- return (h(Host, null, h("ez-text-input", { class: this.suppressSearch ? "suppressed-search-input" : "", ref: elem => this._textInput = elem, "data-slave-mode": "true", enabled: this.enabled && !this.suppressSearch, onInput: event => this.onTextInputChangeHandler(event), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onKeyDown: event => this.keyDownHandler(event), label: this.label, canShowError: this.canShowError, errorMessage: this.errorMessage, mode: this.mode }, h("button", { class: "btn", slot: this.searchMode ? "leftIcon" : "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.handlerIconClick() }, h("ez-icon", { iconName: this.searchMode ? "search" : "chevron-down" })), this.searchMode && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value) && (this._criteria || this.value)
425
- ? h("button", { class: "btn btn__close", slot: "rightIcon", disabled: !this.enabled, tabindex: -1, onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
426
- : undefined), h("section", { class: "list-container", ref: elem => this._listContainer = elem }, h("div", { class: "list-wrapper", ref: elem => this._listWrapper = elem }, h("div", { class: "list-options", ref: elem => this._optionsList = elem }, this._visibleOptions.length === 0
427
- && h("div", { class: "message" }, !this._showLoading && h("span", { class: "message__no-result" }, this._textEmptyList), this._showLoading && h("div", { class: "message__loading" })), this.showOptionValue
428
- ? h("span", { class: "item__value item__value--hidden", ref: elem => this._itemValueBasis = elem })
429
- : undefined, this._visibleOptions.length > 0 && this._visibleOptions.map((opt, index) => this.buildItem(opt, index)))))));
430
- }
431
- get el() { return getElement(this); }
432
- static get watchers() { return {
433
- "errorMessage": ["observeErrorMessage"],
434
- "value": ["observeValue"]
435
- }; }
436
- };
437
- EzComboBox.style = ezComboBoxCss;
438
-
439
- export { EzComboBox as ez_combo_box };