@sankhyalabs/ezui 6.5.0-dev.1 → 6.5.0-dev.10

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 (296) hide show
  1. package/dist/cjs/{ApplicationUtils-c1310a36.js → ApplicationUtils-5cc05979.js} +1 -1
  2. package/dist/cjs/{app-globals-701e1cea.js → app-globals-2fbe4b17.js} +1 -1
  3. package/dist/cjs/ez-actions-button.cjs.entry.js +3 -3
  4. package/dist/cjs/ez-alert-list.cjs.entry.js +2 -2
  5. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-avatar.cjs.entry.js +2 -2
  8. package/dist/cjs/ez-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-calendar.cjs.entry.js +2 -2
  12. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-chart.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-chip.cjs.entry.js +27 -5
  16. package/dist/cjs/ez-classic-combo-box.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-classic-input.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-classic-text-area.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-collapsible-box.cjs.entry.js +3 -3
  20. package/dist/cjs/ez-combo-box-list_4.cjs.entry.js +4 -4
  21. package/dist/cjs/ez-combo-box.cjs.entry.js +3 -3
  22. package/dist/cjs/ez-date-input.cjs.entry.js +2 -2
  23. package/dist/cjs/ez-date-time-input.cjs.entry.js +2 -2
  24. package/dist/cjs/ez-dialog.cjs.entry.js +2 -2
  25. package/dist/cjs/ez-double-list.cjs.entry.js +2 -2
  26. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-empty-card.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-file-item.cjs.entry.js +2 -2
  29. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-form-view.cjs.entry.js +2 -2
  31. package/dist/cjs/ez-form.cjs.entry.js +4 -4
  32. package/dist/cjs/ez-grid.cjs.entry.js +26 -4
  33. package/dist/cjs/ez-guide-navigator.cjs.entry.js +2 -2
  34. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-link-builder_6.cjs.entry.js +2 -2
  36. package/dist/cjs/ez-list-item.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-list.cjs.entry.js +2 -2
  38. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-modal-container.cjs.entry.js +2 -2
  40. package/dist/cjs/ez-modal.cjs.entry.js +2 -2
  41. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +11 -7
  42. package/dist/cjs/ez-number-input.cjs.entry.js +2 -2
  43. package/dist/cjs/ez-pagination.cjs.entry.js +117 -0
  44. package/dist/cjs/ez-popover-core.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-popover-plus_3.cjs.entry.js +1 -1
  46. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  47. package/dist/cjs/ez-popup.cjs.entry.js +90 -30
  48. package/dist/cjs/ez-progress-bar.cjs.entry.js +1 -1
  49. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  50. package/dist/cjs/ez-rich-toolbar-item.cjs.entry.js +1 -1
  51. package/dist/cjs/ez-scroller_2.cjs.entry.js +1 -1
  52. package/dist/cjs/ez-search-plus.cjs.entry.js +3 -3
  53. package/dist/cjs/ez-search-result-list.cjs.entry.js +2 -2
  54. package/dist/cjs/ez-search.cjs.entry.js +3 -3
  55. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +2 -2
  56. package/dist/cjs/ez-skeleton.cjs.entry.js +2 -2
  57. package/dist/cjs/ez-sortable-list.cjs.entry.js +2 -2
  58. package/dist/cjs/ez-spinner.cjs.entry.js +2 -2
  59. package/dist/cjs/ez-split-button.cjs.entry.js +246 -71
  60. package/dist/cjs/ez-split-item.cjs.entry.js +3 -3
  61. package/dist/cjs/ez-split-panel.cjs.entry.js +1 -1
  62. package/dist/cjs/ez-tabselector.cjs.entry.js +2 -2
  63. package/dist/cjs/ez-tag-input.cjs.entry.js +245 -0
  64. package/dist/cjs/ez-tag.cjs.entry.js +1 -1
  65. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  66. package/dist/cjs/ez-text-input.cjs.entry.js +2 -2
  67. package/dist/cjs/ez-tile-medium.cjs.entry.js +1 -1
  68. package/dist/cjs/ez-tile.cjs.entry.js +1 -1
  69. package/dist/cjs/ez-time-input.cjs.entry.js +2 -2
  70. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  71. package/dist/cjs/ez-tooltip.cjs.entry.js +1 -1
  72. package/dist/cjs/ez-tree.cjs.entry.js +2 -2
  73. package/dist/cjs/ez-underface.cjs.entry.js +1 -1
  74. package/dist/cjs/ez-upload.cjs.entry.js +3 -3
  75. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  76. package/dist/cjs/ezui.cjs.js +4 -4
  77. package/dist/cjs/filter-column.cjs.entry.js +2 -2
  78. package/dist/cjs/{index-b1103222.js → index-1be40f19.js} +18 -0
  79. package/dist/cjs/{index-a7b0c73d.js → index-9e5554cb.js} +11 -0
  80. package/dist/cjs/loader.cjs.js +4 -4
  81. package/dist/cjs/{search-column-f53f33f6.js → search-column-eee8d44d.js} +3 -3
  82. package/dist/collection/collection-manifest.json +2 -0
  83. package/dist/collection/components/ez-chip/ez-chip.css +7 -4
  84. package/dist/collection/components/ez-chip/ez-chip.js +61 -3
  85. package/dist/collection/components/ez-grid/controller/ag-grid/utils/buildLocaleText.js +1 -0
  86. package/dist/collection/components/ez-grid/ez-grid.js +85 -0
  87. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +3 -0
  88. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +10 -6
  89. package/dist/collection/components/ez-pagination/ez-pagination.css +102 -0
  90. package/dist/collection/components/ez-pagination/ez-pagination.js +246 -0
  91. package/dist/collection/components/ez-popup/ez-popup.css +24 -40
  92. package/dist/collection/components/ez-popup/ez-popup.js +134 -29
  93. package/dist/collection/components/ez-popup/interfaces/EzButtonProps.js +1 -0
  94. package/dist/collection/components/ez-split-button/ez-split-button.css +256 -116
  95. package/dist/collection/components/ez-split-button/ez-split-button.js +390 -76
  96. package/dist/collection/components/ez-split-button/test/dropdownItems.js +4 -4
  97. package/dist/collection/components/ez-tabselector/ez-tabselector.css +5 -1
  98. package/dist/collection/components/ez-tag-input/ez-tag-input.css +163 -0
  99. package/dist/collection/components/ez-tag-input/ez-tag-input.js +703 -0
  100. package/dist/collection/components/ez-tag-input/interfaces/optionsSetFocus.js +1 -0
  101. package/dist/collection/components/ez-text-input/ez-text-input.css +0 -4
  102. package/dist/collection/utils/i18n/locales/en-us.js +6 -0
  103. package/dist/collection/utils/i18n/locales/es-es.js +6 -0
  104. package/dist/collection/utils/i18n/locales/pt-br.js +6 -0
  105. package/dist/custom-elements/index.d.ts +12 -0
  106. package/dist/custom-elements/index.js +766 -114
  107. package/dist/esm/{ApplicationUtils-bda1789e.js → ApplicationUtils-1569f757.js} +1 -1
  108. package/dist/esm/{app-globals-bbd79783.js → app-globals-c0ac93c0.js} +1 -1
  109. package/dist/esm/ez-actions-button.entry.js +3 -3
  110. package/dist/esm/ez-alert-list.entry.js +2 -2
  111. package/dist/esm/ez-alert.entry.js +1 -1
  112. package/dist/esm/ez-application.entry.js +1 -1
  113. package/dist/esm/ez-avatar.entry.js +2 -2
  114. package/dist/esm/ez-badge.entry.js +1 -1
  115. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  116. package/dist/esm/ez-button.entry.js +1 -1
  117. package/dist/esm/ez-calendar.entry.js +2 -2
  118. package/dist/esm/ez-card-item.entry.js +1 -1
  119. package/dist/esm/ez-chart.entry.js +1 -1
  120. package/dist/esm/ez-check.entry.js +1 -1
  121. package/dist/esm/ez-chip.entry.js +27 -5
  122. package/dist/esm/ez-classic-combo-box.entry.js +1 -1
  123. package/dist/esm/ez-classic-input.entry.js +1 -1
  124. package/dist/esm/ez-classic-text-area.entry.js +1 -1
  125. package/dist/esm/ez-collapsible-box.entry.js +3 -3
  126. package/dist/esm/ez-combo-box-list_4.entry.js +4 -4
  127. package/dist/esm/ez-combo-box.entry.js +3 -3
  128. package/dist/esm/ez-date-input.entry.js +2 -2
  129. package/dist/esm/ez-date-time-input.entry.js +2 -2
  130. package/dist/esm/ez-dialog.entry.js +2 -2
  131. package/dist/esm/ez-double-list.entry.js +2 -2
  132. package/dist/esm/ez-dropdown.entry.js +1 -1
  133. package/dist/esm/ez-empty-card.entry.js +1 -1
  134. package/dist/esm/ez-file-item.entry.js +2 -2
  135. package/dist/esm/ez-filter-input.entry.js +1 -1
  136. package/dist/esm/ez-form-view.entry.js +2 -2
  137. package/dist/esm/ez-form.entry.js +4 -4
  138. package/dist/esm/ez-grid.entry.js +26 -4
  139. package/dist/esm/ez-guide-navigator.entry.js +2 -2
  140. package/dist/esm/ez-icon.entry.js +1 -1
  141. package/dist/esm/ez-link-builder_6.entry.js +2 -2
  142. package/dist/esm/ez-list-item.entry.js +1 -1
  143. package/dist/esm/ez-list.entry.js +2 -2
  144. package/dist/esm/ez-loading-bar.entry.js +1 -1
  145. package/dist/esm/ez-modal-container.entry.js +2 -2
  146. package/dist/esm/ez-modal.entry.js +2 -2
  147. package/dist/esm/ez-multi-selection-list.entry.js +11 -7
  148. package/dist/esm/ez-number-input.entry.js +2 -2
  149. package/dist/esm/ez-pagination.entry.js +113 -0
  150. package/dist/esm/ez-popover-core.entry.js +1 -1
  151. package/dist/esm/ez-popover-plus_3.entry.js +1 -1
  152. package/dist/esm/ez-popover.entry.js +1 -1
  153. package/dist/esm/ez-popup.entry.js +90 -30
  154. package/dist/esm/ez-progress-bar.entry.js +1 -1
  155. package/dist/esm/ez-radio-button.entry.js +1 -1
  156. package/dist/esm/ez-rich-toolbar-item.entry.js +1 -1
  157. package/dist/esm/ez-scroller_2.entry.js +1 -1
  158. package/dist/esm/ez-search-plus.entry.js +3 -3
  159. package/dist/esm/ez-search-result-list.entry.js +2 -2
  160. package/dist/esm/ez-search.entry.js +3 -3
  161. package/dist/esm/ez-sidebar-navigator.entry.js +2 -2
  162. package/dist/esm/ez-skeleton.entry.js +2 -2
  163. package/dist/esm/ez-sortable-list.entry.js +2 -2
  164. package/dist/esm/ez-spinner.entry.js +2 -2
  165. package/dist/esm/ez-split-button.entry.js +246 -71
  166. package/dist/esm/ez-split-item.entry.js +3 -3
  167. package/dist/esm/ez-split-panel.entry.js +1 -1
  168. package/dist/esm/ez-tabselector.entry.js +2 -2
  169. package/dist/esm/ez-tag-input.entry.js +241 -0
  170. package/dist/esm/ez-tag.entry.js +1 -1
  171. package/dist/esm/ez-text-area.entry.js +1 -1
  172. package/dist/esm/ez-text-input.entry.js +2 -2
  173. package/dist/esm/ez-tile-medium.entry.js +1 -1
  174. package/dist/esm/ez-tile.entry.js +1 -1
  175. package/dist/esm/ez-time-input.entry.js +2 -2
  176. package/dist/esm/ez-toast.entry.js +1 -1
  177. package/dist/esm/ez-tooltip.entry.js +1 -1
  178. package/dist/esm/ez-tree.entry.js +2 -2
  179. package/dist/esm/ez-underface.entry.js +1 -1
  180. package/dist/esm/ez-upload.entry.js +3 -3
  181. package/dist/esm/ez-view-stack.entry.js +1 -1
  182. package/dist/esm/ezui.js +5 -5
  183. package/dist/esm/filter-column.entry.js +2 -2
  184. package/dist/esm/{index-d5042cb2.js → index-41363fa6.js} +18 -0
  185. package/dist/esm/{index-baa5e267.js → index-5a720e56.js} +11 -1
  186. package/dist/esm/loader.js +5 -5
  187. package/dist/esm/{search-column-9a00bd0b.js → search-column-56b69bf7.js} +3 -3
  188. package/dist/ezui/ezui.esm.js +1 -1
  189. package/dist/ezui/{p-e75c7a23.entry.js → p-000159dc.entry.js} +1 -1
  190. package/dist/ezui/{p-44caad9a.entry.js → p-0378416a.entry.js} +1 -1
  191. package/dist/ezui/{p-93e1c917.entry.js → p-05e68ab3.entry.js} +1 -1
  192. package/dist/ezui/{p-3bf7f94b.entry.js → p-06ed5e57.entry.js} +1 -1
  193. package/dist/ezui/{p-288631d1.entry.js → p-06f1b8e4.entry.js} +1 -1
  194. package/dist/ezui/{p-25371eb3.entry.js → p-09c2e631.entry.js} +1 -1
  195. package/dist/ezui/{p-fa6cff27.entry.js → p-0aed37a1.entry.js} +1 -1
  196. package/dist/ezui/{p-6d596a5a.entry.js → p-0b531233.entry.js} +1 -1
  197. package/dist/ezui/p-14d6aeb8.entry.js +1 -0
  198. package/dist/ezui/{p-6f77a359.entry.js → p-1723f728.entry.js} +1 -1
  199. package/dist/ezui/{p-feb22018.entry.js → p-172abd0f.entry.js} +1 -1
  200. package/dist/ezui/{p-c8067ed6.entry.js → p-1857cfc0.entry.js} +1 -1
  201. package/dist/ezui/{p-2e6c767f.entry.js → p-1b233888.entry.js} +1 -1
  202. package/dist/ezui/{p-7e535712.entry.js → p-1c29ed5d.entry.js} +1 -1
  203. package/dist/ezui/p-1fba0c74.entry.js +1 -0
  204. package/dist/ezui/{p-07a6c41e.entry.js → p-2000464a.entry.js} +1 -1
  205. package/dist/ezui/{p-732f7790.js → p-20cb76e7.js} +1 -1
  206. package/dist/ezui/{p-603ef267.entry.js → p-3234f883.entry.js} +1 -1
  207. package/dist/ezui/{p-200b0745.entry.js → p-4177cec6.entry.js} +1 -1
  208. package/dist/ezui/{p-9ce9e8b7.entry.js → p-43e040a5.entry.js} +2 -2
  209. package/dist/ezui/p-4463db7b.entry.js +1 -0
  210. package/dist/ezui/{p-fa6732f2.entry.js → p-44b39e81.entry.js} +1 -1
  211. package/dist/ezui/{p-e085c7f4.entry.js → p-4837f475.entry.js} +1 -1
  212. package/dist/ezui/{p-4d30b703.entry.js → p-4a876b8b.entry.js} +1 -1
  213. package/dist/ezui/{p-01bd20e4.entry.js → p-4b444fe9.entry.js} +1 -1
  214. package/dist/ezui/{p-15a5d68c.entry.js → p-4ca4d920.entry.js} +1 -1
  215. package/dist/ezui/{p-78436126.entry.js → p-4f72c118.entry.js} +1 -1
  216. package/dist/ezui/{p-6369a0cd.entry.js → p-51e34317.entry.js} +1 -1
  217. package/dist/ezui/p-5554704c.js +1 -0
  218. package/dist/ezui/{p-48effc69.entry.js → p-570cf58a.entry.js} +1 -1
  219. package/dist/ezui/{p-dee18824.entry.js → p-5f4a66ec.entry.js} +1 -1
  220. package/dist/ezui/{p-1f50fa05.entry.js → p-6b51c9cc.entry.js} +1 -1
  221. package/dist/ezui/{p-dd0613fd.entry.js → p-6b6efa30.entry.js} +1 -1
  222. package/dist/ezui/{p-3eb7bf6f.entry.js → p-6dbf8f75.entry.js} +1 -1
  223. package/dist/ezui/p-6ec40dec.entry.js +1 -0
  224. package/dist/ezui/{p-5ed81457.entry.js → p-6fc26622.entry.js} +1 -1
  225. package/dist/ezui/{p-4beae367.entry.js → p-71c55a72.entry.js} +1 -1
  226. package/dist/ezui/{p-d6f50207.entry.js → p-770cf2b8.entry.js} +1 -1
  227. package/dist/ezui/{p-a738e919.entry.js → p-7820c5c0.entry.js} +1 -1
  228. package/dist/ezui/{p-91c9d50e.entry.js → p-78e975b4.entry.js} +1 -1
  229. package/dist/ezui/{p-1e7a8633.entry.js → p-81461d2f.entry.js} +1 -1
  230. package/dist/ezui/{p-8df1ca33.entry.js → p-82fa4b09.entry.js} +1 -1
  231. package/dist/ezui/{p-b21fc2d3.entry.js → p-8bc350de.entry.js} +1 -1
  232. package/dist/ezui/p-8ca90a5e.entry.js +1 -0
  233. package/dist/ezui/{p-6aa843bd.entry.js → p-8ea2a2f5.entry.js} +1 -1
  234. package/dist/ezui/{p-37bd03db.entry.js → p-8f0ed69d.entry.js} +1 -1
  235. package/dist/ezui/{p-a3075f52.entry.js → p-9bcfa689.entry.js} +1 -1
  236. package/dist/ezui/{p-946c1c66.entry.js → p-a5f5da25.entry.js} +1 -1
  237. package/dist/ezui/{p-cb46afc5.js → p-a61fdd20.js} +1 -1
  238. package/dist/ezui/p-a646b54e.entry.js +1 -0
  239. package/dist/ezui/{p-0ab05249.entry.js → p-a8eadb43.entry.js} +1 -1
  240. package/dist/ezui/{p-d6742c1e.entry.js → p-a9432878.entry.js} +1 -1
  241. package/dist/ezui/{p-90cece02.entry.js → p-ad7c01c1.entry.js} +1 -1
  242. package/dist/ezui/{p-3005b0ec.entry.js → p-b2ce629f.entry.js} +1 -1
  243. package/dist/ezui/{p-b1e39171.entry.js → p-b6a8112c.entry.js} +1 -1
  244. package/dist/ezui/{p-7fe97ef5.entry.js → p-b7c6ce20.entry.js} +1 -1
  245. package/dist/ezui/{p-ef33aaac.js → p-baec56c9.js} +1 -1
  246. package/dist/ezui/p-c291d6a0.entry.js +1 -0
  247. package/dist/ezui/{p-9f5fa3f9.entry.js → p-c2b20f78.entry.js} +1 -1
  248. package/dist/ezui/p-c3ff0370.entry.js +1 -0
  249. package/dist/ezui/{p-c0d9c4f8.entry.js → p-c754774e.entry.js} +1 -1
  250. package/dist/ezui/{p-d2645bdf.entry.js → p-c96e536d.entry.js} +1 -1
  251. package/dist/ezui/{p-4fd1d098.entry.js → p-c9d70dab.entry.js} +1 -1
  252. package/dist/ezui/{p-20c024f7.entry.js → p-cf33bc48.entry.js} +1 -1
  253. package/dist/ezui/{p-53bc30a1.entry.js → p-cf4e2a35.entry.js} +1 -1
  254. package/dist/ezui/{p-e577d4fe.entry.js → p-d1765c77.entry.js} +1 -1
  255. package/dist/ezui/{p-9b2e6438.entry.js → p-d3779449.entry.js} +1 -1
  256. package/dist/ezui/{p-c84aa65f.entry.js → p-dd46153f.entry.js} +1 -1
  257. package/dist/ezui/{p-e33be0f9.entry.js → p-df5b5c3d.entry.js} +1 -1
  258. package/dist/ezui/{p-a80b1287.entry.js → p-dfca5946.entry.js} +1 -1
  259. package/dist/ezui/{p-7f792043.entry.js → p-e195eaad.entry.js} +1 -1
  260. package/dist/ezui/{p-23a36bb6.js → p-e4c7eb39.js} +2 -2
  261. package/dist/ezui/{p-0629f64b.entry.js → p-e6eaa5ed.entry.js} +1 -1
  262. package/dist/ezui/{p-e7a7c594.entry.js → p-e9b409c1.entry.js} +1 -1
  263. package/dist/ezui/{p-79044c3e.entry.js → p-ea053063.entry.js} +1 -1
  264. package/dist/ezui/{p-a3ada561.entry.js → p-f26b97e9.entry.js} +1 -1
  265. package/dist/ezui/p-fcdc8089.entry.js +1 -0
  266. package/dist/ezui/{p-a029afd0.entry.js → p-feea8ad8.entry.js} +1 -1
  267. package/dist/ezui/{p-ca36ac0a.entry.js → p-ffdf68cd.entry.js} +1 -1
  268. package/dist/types/components/ez-chip/ez-chip.d.ts +11 -0
  269. package/dist/types/components/ez-grid/controller/ag-grid/utils/buildLocaleText.d.ts +1 -0
  270. package/dist/types/components/ez-grid/ez-grid.d.ts +11 -1
  271. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +1 -0
  272. package/dist/types/components/ez-multi-selection-list/ez-multi-selection-list.d.ts +2 -1
  273. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.d.ts +1 -0
  274. package/dist/types/components/ez-pagination/ez-pagination.d.ts +47 -0
  275. package/dist/types/components/ez-popup/ez-popup.d.ts +16 -3
  276. package/dist/types/components/ez-popup/interfaces/EzButtonProps.d.ts +28 -0
  277. package/dist/types/components/ez-split-button/ez-split-button.d.ts +93 -8
  278. package/dist/types/components/ez-tag-input/ez-tag-input.d.ts +93 -0
  279. package/dist/types/components/ez-tag-input/interfaces/optionsSetFocus.d.ts +4 -0
  280. package/dist/types/components.d.ts +416 -7
  281. package/dist/types/utils/i18n/locales/en-us.d.ts +6 -0
  282. package/dist/types/utils/i18n/locales/es-es.d.ts +6 -0
  283. package/dist/types/utils/i18n/locales/pt-br.d.ts +6 -0
  284. package/dist/types/utils/i18n/translations.d.ts +18 -0
  285. package/package.json +1 -1
  286. package/react/components.d.ts +2 -0
  287. package/react/components.js +2 -0
  288. package/react/components.js.map +1 -1
  289. package/dist/ezui/p-2f01f656.entry.js +0 -1
  290. package/dist/ezui/p-8d90530b.entry.js +0 -1
  291. package/dist/ezui/p-9c5cd3b2.entry.js +0 -1
  292. package/dist/ezui/p-bc2f844e.entry.js +0 -1
  293. package/dist/ezui/p-d8cc640d.entry.js +0 -1
  294. package/dist/ezui/p-f8a5538b.entry.js +0 -1
  295. package/dist/ezui/p-fac16755.js +0 -1
  296. package/dist/ezui/p-fcdc7d0b.entry.js +0 -1
@@ -2,21 +2,79 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a7b0c73d.js');
5
+ const index = require('./index-9e5554cb.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const index$1 = require('./index-b1103222.js');
7
+ const index$1 = require('./index-1be40f19.js');
8
8
 
9
- const ezSplitButtonCss = ":host{--ez-split-button--min-width:24;--ez-split-button--width:'auto';--ez-split-button__medium--height:32px;--ez-split-button__large--height:42px;--ez-split-button__medium-icon--width:40px;--ez-split-button__large-icon--width:44px;--ez-split-button__inline__icon--gap:6px;--ez-split-button__label--padding-top:0px;--ez-split-button__label--padding-bottom:0px;--ez-split-button__right-button--padding-left:8px;--ez-split-button--color:var(--title--primary, #2B3A54);--ez-split-button--font-size:var(--text--small, 12px);--ez-split-button--font-family:var(--font-pattern, Arial);--ez-split-button--font-weight:var(--text-weight--large);--ez-split-button--background-color:var(--background--light, #ffffff);--ez-split-button--border-radius:var(--border--radius-large, 24px);--ez-split-button--border:1px solid var(--color--strokes);--ez-split-button--justify-content:center;--ez-split-button--hover-color:var(--color--primary-600, #007a5a);--ez-split-button--hover--background-color:var(--background--light, #ffffff);--ez-split-button--disabled-color:var(--text--primary);--ez-split-button--disabled--background-color:var(--background--medium);--ez-split-button--focus--border:var(--border--medium, 2px) var(--color--primary-300);--ez-split-button--focus--box-shadow:none;--ez-split-button--active-color:var(--color--primary-700);--ez-split-button--active--background-color:var(--background--strong)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;white-space:nowrap;min-width:var(--ez-split-button--min-width);width:var(--ez-split-button--width);height:var(--ez-split-button__medium--height);font-family:var(--ez-split-button--font-family);font-size:var(--ez-split-button--font-size);font-weight:var(--ez-split-button--font-weight);padding:var(--ez-split-button__label--padding-top) 0 var(--ez-split-button__label--padding-bottom) 0;border-top-left-radius:var(--ez-split-button--border-radius);border-bottom-left-radius:var(--ez-split-button--border-radius);background-color:var(--ez-split-button--background-color);color:var(--ez-split-button--color);fill:var(--ez-split-button--color);border:none;justify-content:var(--ez-split-button--justify-content)}label{cursor:pointer}button:active{outline:none;box-shadow:none;background-color:var(--ez-split-button--active--background-color);color:var(--ez-split-button--active-color);fill:var(--ez-split-button--active-color);--ez-icon--color:var(--ez-split-button--active-color)}.ez-split-button__left-button{border:var(--ez-split-button--border);border-right:none;outline:none}.ez-split-button__right-button{border:var(--ez-split-button--border);border-left:none;outline:none}.ez-split-button__left-button:focus{box-shadow:0 0 0 2px var(--color--primary-300), \n 0 2px 0 0 var(--color--primary-300), \n 0 -2px 0 0 var(--color--primary-300);}.ez-split-button__right-button:focus{box-shadow:2px 0 0 0 var(--color--primary-300), \n 0 2px 0 0 var(--color--primary-300), \n 0 -2px 0 0 var(--color--primary-300);}.ez-split-button__left-button:hover,.ez-split-button__right-button:hover{outline:none;background-color:var(--ez-split-button--hover--background-color);color:var(--ez-split-button--hover-color);fill:var(--ez-split-button--hover-color);--ez-icon--color:var(--ez-split-button--hover-color)}.ez-split-button__left-button:active,.ez-split-button__right-button:active{outline:none;box-shadow:none;background-color:var(--ez-split-button--active--background-color);color:var(--ez-split-button--active-color);fill:var(--ez-split-button--active-color);--ez-icon--color:var(--ez-split-button--active-color)}.ez-split-button__left-button:disabled,.ez-split-button__left-button:disabled label,.ez-split-button__right-button:disabled{background-color:var(--ez-split-button--disabled--background-color);color:var(--ez-split-button--disabled-color);fill:var(--ez-split-button--disabled-color);border:none;--ez-icon--color:var(--ez-split-button--disabled-color);cursor:not-allowed}.ez-split-button__left-button:disabled{border:var(--ez-split-button--disabled-border);border-right:none}.ez-split-button__right-button:disabled{border:var(--ez-split-button--disabled-border);border-left:none}button.large{height:var(--ez-split-button__large--height)}button.medium{height:var(--ez-split-button__medium--height)}.default label{padding:var(--ez-split-button__label--padding-top) 12px var(--ez-split-button__label--padding-bottom) 20px}.icon-left{gap:var(--ez-split-button__inline__icon--gap)}.icon-left label{padding-right:12px}.icon-left ez-icon{padding-left:20px}.icon-only{padding-left:12px;padding-right:12px}.ez-split-button__right-button{border-top-right-radius:var(--ez-split-button--border-radius);border-bottom-right-radius:var(--ez-split-button--border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-right:var(--ez-split-button--border)}.ez-split-button__right-button--medium{min-width:var(--ez-split-button__medium-icon--width)}.ez-split-button__right-button--large{min-width:var(--ez-split-button__large-icon--width)}.ez-split-button__right-button--divider{top:10%;bottom:10%}.ez-split-button__right-button--divider:before{content:\"\";position:absolute;left:0;border-left:1px solid rgba(0, 0, 0, 20%);border-radius:2px;height:75%}.btn-icon--medium{min-width:--ez-split-button__medium-icon--width}.btn-icon--large{min-width:--ez-split-button__large-icon--width}.ez-split-button__right-button-container{position:absolute;left:0;padding-left:var(--ez-split-button__right-button--padding-left)}.label-icon{display:flex;flex-direction:row;align-items:center;color:var(--ez-split-button--color)}.label-icon:active{color:var(--ez-split-button--active-color);fill:var(--ez-split-button--active-color);--ez-icon--color:var(--ez-split-button--active-color)}.dropdown{display:flex}.dropdown-content{display:block;position:absolute;background-color:#f1f1f1;min-width:160px;z-index:var(--ez-elevation--8);border-radius:var(--ez-split-button--border-radius)}.dropdown-content>ez-dropdown{position:relative}";
9
+ const ezSplitButtonCss = ":host{--ez-split-button--min-width:var(--space--40, 40px);--ez-split-button--width:auto;--ez-split-button--height:var(--space--32, 32px);--ez-split-button__medium-icon--width:var(--space--40, 40px);--ez-split-button__large-icon--width:var(--space--44, 44px);--ez-split-button__label--padding-top:var(--space--0, 0px);--ez-split-button__label--padding-bottom:var(--space--0, 0px);--ez-split-button__right-button--padding-left:var(--space--8, 8px);--ez-split-button__right-button--padding-right:var(--space--12, 12px);--ez-split-button--color:var(--color--ocean-green-600, #008561);--ez-split-button__left-icon--color:var(--color--ocean-green-600, #008561);--ez-split-button__right-icon--color:var(--color--ocean-green-600, #008561);--ez-split-button--background-color:var(--color--gray-70, #FFFFFF);--ez-split-button--border:1px solid var(--color--gray-90, #EAEAEA);--ez-split-button--font-size:var(--font-size--default, 14px);--ez-split-button--line-height:var(--line-height--28, 28px);--ez-split-button--font-family:var(--font-pattern, Arial);--ez-split-button--font-weight:var(--font-weight--regular,400);--ez-split-button--border-radius:var(--border--radius-24, 24px);--ez-split-button--hover-color:var(--color--primary-600, #007a5a);--ez-split-button--hover--background-color:var(--color--gray-80, #F9F9F9);--ez-split-button--disabled-color:var(--color--gray-400, #77777A);--ez-split-button--disabled--background-color:var(--color--gray-80, #F9F9F9);--ez-split-button--focus--border:var(--border--medium, 2px) var(--color--primary-300);--ez-split-button--focus--box-shadow:none;display:flex;width:fit-content}:host(.ez-split-button--primary){--ez-split-button--color:var(--color--gray-70);--ez-split-button--background-color:var(--color--ocean-green-500);--ez-split-button--font-weight:var(--font-weight--regular);--ez-split-button--border:none;--ez-split-button__left-icon--color:var(--color--gray-70);--ez-split-button__right-icon--color:var(--color--gray-70);--ez-split-button--hover-color:var(--color--gray-70);--ez-split-button--hover--background-color:var(--color--ocean-green-700);--ez-split-button--hover--border:none;--ez-split-button--left-icon--hover-color:var(--color--gray-70);--ez-split-button--right-icon--hover-color:var(--color--gray-70);--ez-split-button--disabled-color:var(--color--gray-70);--ez-split-button--disabled--background-color:var(--color--gray-400);--ez-split-button--disabled--border:none;--ez-split-button--disabled-icon-color:var(--color--gray-200);--ez-split-button__left-icon--disabled-color:var(--color--gray-200);--ez-split-button__right-icon--disabled-color:var(--color--gray-200)}:host(.ez-split-button--secondary){--ez-split-button--color:var(--color--ocean-green-600);--ez-split-button--background-color:var(--color--gray-70);--ez-split-button--border:1px solid var(--color--gray-90);--ez-split-button--left-icon--color:var(--color--ocean-green-600);--ez-split-button--right-icon--color:var(--color--ocean-green-600);--ez-split-button--hover-color:var(--color--ocean-green-600);--ez-split-button--hover--background-color:var(--color--gray-80);--ez-split-button--hover--border:1px solid var(--color--gray-90);--ez-split-button--left-icon--hover-color:var(--color--ocean-green-600);--ez-split-button--right-icon--hover-color:var(--color--ocean-green-600);--ez-split-button--disabled-color:var(--color--gray-400);--ez-split-button--disabled--background-color:var(--color--gray-80);--ez-split-button--disabled--border:1px solid var(--color--gray-200);--ez-split-button--disabled-icon-color:var(--color--gray-400);--ez-split-button__left-icon--disabled-color:var(--color--gray-300);--ez-split-button__right-icon--disabled-color:var(--color--gray-300)}:host(.ez-split-button--tertiary){--ez-split-button--color:var(--color--ocean-green-600);--ez-split-button--background-color:transparent;--ez-split-button--font-weight:var(--font-weight--regular);--ez-split-button--border:none;--ez-split-button--left-icon--color:var(--color--ocean-green-600);--ez-split-button--right-icon--color:var(--color--ocean-green-600);--ez-split-button--hover-color:var(--color--ocean-green-800);--ez-split-button--hover--background-color:transparent;--ez-split-button--hover--border:none;--ez-split-button--left-icon--hover-color:var(--color--ocean-green-800);--ez-split-button--right-icon--hover-color:var(--color--ocean-green-800);--ez-split-button--disabled-color:var(--color--gray-400);--ez-split-button--disabled--background-color:transparent;--ez-split-button--disabled--border:transparent;--ez-split-button--disabled-icon-color:var(--color--gray-200);--ez-split-button__left-icon--disabled-color:var(--color--gray-200);--ez-split-button__right-icon--disabled-color:var(--color--gray-200)}.ez-split-button.large{--ez-split-button--height:var(--space--42, 42px)}.ez-split-button.medium{--ez-split-button--height:var(--space--32, 32px)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear, transform 0.15s ease;white-space:nowrap;overflow:hidden;transform:scale(1);min-width:var(--ez-split-button--min-width);width:var(--ez-split-button--width);height:var(--ez-split-button--height);font-family:var(--ez-split-button--font-family);font-size:var(--ez-split-button--font-size);font-weight:var(--ez-split-button--font-weight);padding:var(--ez-split-button__label--padding-top) 0 var(--ez-split-button__label--padding-bottom) 0;border-top-left-radius:var(--ez-split-button--border-radius);border-bottom-left-radius:var(--ez-split-button--border-radius);background-color:var(--ez-split-button--background-color);color:var(--ez-split-button--color);fill:var(--ez-split-button--color);border:none}label{cursor:pointer;line-height:var(--ez-split-button--line-height)}.ez-split-button__left-button{border:var(--ez-split-button--border);border-right:none;outline:none;gap:var(--space--8, 8px);padding-left:var(--space--12, 12px);padding-right:var(--space--8, 8px)}.ez-split-button__right-button{border:var(--ez-split-button--border);border-left:none;outline:none}.ez-split-button__left-button.force-focus-visible,.ez-split-button__left-button:focus-visible{box-shadow:-1px 1px 0px 1px var(--color--gray-70), \n -1px -1px 0px 1px var(--color--gray-70), \n -2px -2px 0px 2px var(--color--ocean-green-200), \n -2px 2px 0px 2px var(--color--ocean-green-200), \n 0px -2px 0px 2px var(--color--ocean-green-200), \n 0px 2px 0px 2px var(--color--ocean-green-200)}.ez-split-button__right-button.force-focus-visible,.ez-split-button__right-button:focus-visible{box-shadow:1px 1px 0px 1px var(--color--gray-70), \n 1px -1px 0px 1px var(--color--gray-70), \n 2px -2px 0px 2px var(--color--ocean-green-200), \n 2px 2px 0px 2px var(--color--ocean-green-200), \n 0px -2px 0px 2px var(--color--ocean-green-200), \n 0px 2px 0px 2px var(--color--ocean-green-200)}.ez-split-button__left-button[aria-disabled].force-focus-visible,.ez-split-button__left-button[aria-disabled]:focus-visible{box-shadow:-1px 1px 0px 1px var(--color--gray-70), \n -1px -1px 0px 1px var(--color--gray-70), \n -2px -2px 0px 2px var(--color--petroleum-100), \n -2px 2px 0px 2px var(--color--petroleum-100), \n 0px -2px 0px 2px var(--color--petroleum-100), \n 0px 2px 0px 2px var(--color--petroleum-100)}.ez-split-button__right-button[aria-disabled].force-focus-visible,.ez-split-button__right-button[aria-disabled]:focus-visible{box-shadow:1px 1px 0px 1px var(--color--gray-70), \n 1px -1px 0px 1px var(--color--gray-70), \n 2px -2px 0px 2px var(--color--petroleum-100), \n 2px 2px 0px 2px var(--color--petroleum-100), \n 0px -2px 0px 2px var(--color--petroleum-100), \n 0px 2px 0px 2px var(--color--petroleum-100)}.ez-split-button__left-button:hover,.ez-split-button__right-button:hover{outline:none;background-color:var(--ez-split-button--hover--background-color);color:var(--ez-split-button--hover-color);fill:var(--ez-split-button--hover-color);--ez-icon--color:var(--ez-split-button--hover-color)}.ez-split-button__left-button:disabled,.ez-split-button__left-button[aria-disabled],.ez-split-button__left-button:disabled label,.ez-split-button__left-button[aria-disabled] label,.ez-split-button__right-button:disabled,.ez-split-button__right-button[aria-disabled]{background-color:var(--ez-split-button--disabled--background-color);color:var(--ez-split-button--disabled-color);fill:var(--ez-split-button--disabled-color);border:none;--ez-icon--color:var(--ez-split-button__left-icon--disabled-color);cursor:not-allowed}.ez-split-button__left-button:disabled,.ez-split-button__left-button[aria-disabled]{--ez-icon--color:var(--ez-split-button__left-icon--disabled-color);border:var(--ez-split-button--disabled-border);border-right:none}.ez-split-button__right-button:disabled,.ez-split-button__right-button[aria-disabled]{--ez-icon--color:var(--ez-split-button__right-icon--disabled-color);border:var(--ez-split-button--disabled-border);border-left:none}.ez-split-button__right-button{border-top-right-radius:var(--ez-split-button--border-radius);border-bottom-right-radius:var(--ez-split-button--border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-right:var(--ez-split-button--border)}.ez-split-button__divider{width:1px;box-sizing:border-box;position:relative;background-color:var(--ez-split-button--background-color);height:var(--ez-split-button--height);border-top:var(--ez-split-button--border);border-bottom:var(--ez-split-button--border)}.ez-split-button__divider[aria-disabled],.ez-split-button__divider.disabled{cursor:not-allowed;background-color:var(--ez-split-button--disabled--background-color);border-top:var(--ez-split-button--disabled--border);border-bottom:var(--ez-split-button--disabled--border)}.ez-split-button__divider:before{content:\"\";position:absolute;left:0;border-left:1px solid rgba(0, 0, 0, 10%);border-radius:2px;height:75%;top:10%;bottom:10%}.btn-icon--medium{min-width:--ez-split-button__medium-icon--width}.btn-icon--large{min-width:--ez-split-button__large-icon--width}.ez-split-button__right-button-container{position:absolute;left:0;padding-left:var(--ez-split-button__right-button--padding-left);padding-right:var(--ez-split-button__right-button--padding-right)}.ez-split-button{display:flex;flex-direction:row;align-items:center;color:var(--ez-split-button--color)}.dropdown{display:flex}.dropdown-content{display:block;position:absolute;background-color:#f1f1f1;min-width:160px;z-index:var(--ez-elevation--8);border-radius:var(--ez-split-button--border-radius)}.dropdown-content>ez-dropdown{position:relative}.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-split-button--secondary) .ripple{background:rgba(0, 133, 97, 0.2)}:host(.ez-split-button--primary) .ripple{background:rgba(255, 255, 255, 0.3)}:host(.ez-split-button--tertiary) .ripple{background:rgba(0, 133, 97, 0.15)}.ez-split-button__left-button.pressed,.ez-split-button__right-button.pressed{transform:scale(0.98)}.ez-split-button__left-button>*:not(.ripple),.ez-split-button__right-button>*:not(.ripple){position:relative;z-index:1}.ez-split-button__left-button:disabled .ripple,.ez-split-button__left-button[aria-disabled] .ripple,.ez-split-button__right-button:disabled .ripple,.ez-split-button__right-button[aria-disabled] .ripple{display:none}.ez-split-button__left-button:disabled,.ez-split-button__left-button[aria-disabled],.ez-split-button__right-button:disabled,.ez-split-button__right-button[aria-disabled]{transform:scale(1) !important}";
10
10
 
11
+ const ANIMATION_TIMINGS = {
12
+ PRESSED_DURATION: 150,
13
+ RIPPLE_DURATION: 600
14
+ };
11
15
  const EzSplitButton = class {
12
16
  constructor(hostRef) {
13
17
  index.registerInstance(this, hostRef);
14
18
  this.buttonClick = index.createEvent(this, "buttonClick", 7);
15
19
  this.dropdownItemClick = index.createEvent(this, "dropdownItemClick", 7);
16
20
  this.dropdownSubActionClick = index.createEvent(this, "dropdownSubActionClick", 7);
21
+ this.rippleCounter = 0;
22
+ this.eventListeners = new WeakMap();
23
+ this.createRipple = (event, isLeftButton) => {
24
+ const button = isLeftButton ? this.leftButton : this.rightButton;
25
+ if (!button || this.isButtonDisabled || this.suppressAnimation)
26
+ return;
27
+ const coordinates = this.getEventCoordinates(event);
28
+ const rect = button.getBoundingClientRect();
29
+ const ripplePosition = {
30
+ x: coordinates.x - rect.left,
31
+ y: coordinates.y - rect.top
32
+ };
33
+ const newRipple = Object.assign(Object.assign({}, ripplePosition), { id: ++this.rippleCounter });
34
+ this.addRippleToButton(newRipple, isLeftButton);
35
+ };
36
+ /**
37
+ * Método responsável em posicionar o dropdown na tela.
38
+ * Faz com que o dropdown se ajuste automaticamente ao espaco na tela
39
+ */
40
+ this.positionDropdown = () => {
41
+ if (!this.rightButton || !this.dropdownParent)
42
+ return;
43
+ requestAnimationFrame(() => {
44
+ const { rightButton, dropdownParent } = this;
45
+ const rightButtonRect = rightButton.getBoundingClientRect();
46
+ const dropdownRect = dropdownParent.getBoundingClientRect();
47
+ const viewportHeight = window.innerHeight;
48
+ const viewportWidth = window.innerWidth;
49
+ // Calcule posições de forma mais eficiente
50
+ const spaceBelow = viewportHeight - rightButtonRect.bottom;
51
+ const spaceAbove = rightButtonRect.top;
52
+ const spaceRight = viewportWidth - rightButtonRect.left;
53
+ const spaceLeft = rightButtonRect.left;
54
+ const shouldOpenUpward = spaceBelow < dropdownRect.height && spaceAbove > dropdownRect.height;
55
+ const shouldOpenLeftward = spaceRight < dropdownRect.width && spaceLeft > dropdownRect.width;
56
+ const styles = this.calculateDropdownPosition(rightButtonRect, dropdownRect, shouldOpenUpward, shouldOpenLeftward);
57
+ Object.assign(dropdownParent.style, styles);
58
+ });
59
+ };
60
+ this.removeForcedFocusVisibleLeft = () => {
61
+ var _a;
62
+ (_a = this.leftButton) === null || _a === void 0 ? void 0 : _a.classList.remove('force-focus-visible');
63
+ };
64
+ this.removeForcedFocusVisibleRight = () => {
65
+ var _a;
66
+ (_a = this.rightButton) === null || _a === void 0 ? void 0 : _a.classList.remove('force-focus-visible');
67
+ };
68
+ this.leftRipples = [];
69
+ this.rightRipples = [];
70
+ this.isLeftPressed = false;
71
+ this.isRightPressed = false;
17
72
  this.show = false;
18
73
  this.enabled = true;
74
+ this.isDisabled = false;
19
75
  this.iconName = undefined;
76
+ this.leftIconName = undefined;
77
+ this.rightIconName = undefined;
20
78
  this.image = undefined;
21
79
  this.items = undefined;
22
80
  this.label = undefined;
@@ -24,6 +82,8 @@ const EzSplitButton = class {
24
82
  this.rightTitle = undefined;
25
83
  this.mode = 'default';
26
84
  this.size = 'medium';
85
+ this.variant = undefined;
86
+ this.suppressAnimation = false;
27
87
  this.itemBuilder = undefined;
28
88
  }
29
89
  /**
@@ -38,12 +98,14 @@ const EzSplitButton = class {
38
98
  */
39
99
  async setLeftButtonFocus() {
40
100
  this.leftButton.focus();
101
+ this.leftButton.classList.add("force-focus-visible");
41
102
  }
42
103
  /**
43
104
  * Aplica o foco no botão do dropdown.
44
- */
105
+ */
45
106
  async setRightButtonFocus() {
46
107
  this.rightButton.focus();
108
+ this.rightButton.classList.add("force-focus-visible");
47
109
  }
48
110
  /**
49
111
  * Abre ou Fecha o dropdown do Split Button.
@@ -57,18 +119,99 @@ const EzSplitButton = class {
57
119
  async isOpenedDropdown() {
58
120
  return this.show;
59
121
  }
122
+ getEventCoordinates(event) {
123
+ if (event instanceof MouseEvent) {
124
+ return { x: event.clientX, y: event.clientY };
125
+ }
126
+ return {
127
+ x: event.touches[0].clientX,
128
+ y: event.touches[0].clientY
129
+ };
130
+ }
131
+ addRippleToButton(ripple, isLeftButton) {
132
+ if (isLeftButton) {
133
+ this.leftRipples = [...this.leftRipples, ripple];
134
+ this.setButtonPressed(true, true);
135
+ this.scheduleRippleCleanup(ripple, true);
136
+ }
137
+ else {
138
+ this.rightRipples = [...this.rightRipples, ripple];
139
+ this.setButtonPressed(false, true);
140
+ this.scheduleRippleCleanup(ripple, false);
141
+ }
142
+ }
143
+ setButtonPressed(isLeftButton, pressed) {
144
+ if (isLeftButton) {
145
+ this.isLeftPressed = pressed;
146
+ }
147
+ else {
148
+ this.isRightPressed = pressed;
149
+ }
150
+ }
151
+ scheduleRippleCleanup(ripple, isLeftButton) {
152
+ setTimeout(() => {
153
+ this.setButtonPressed(isLeftButton, false);
154
+ }, ANIMATION_TIMINGS.PRESSED_DURATION);
155
+ setTimeout(() => {
156
+ this.removeRipple(ripple.id, isLeftButton);
157
+ }, ANIMATION_TIMINGS.RIPPLE_DURATION);
158
+ }
159
+ removeRipple(rippleId, isLeftButton) {
160
+ if (isLeftButton) {
161
+ this.leftRipples = this.leftRipples.filter(ripple => ripple.id !== rippleId);
162
+ }
163
+ else {
164
+ this.rightRipples = this.rightRipples.filter(ripple => ripple.id !== rippleId);
165
+ }
166
+ }
167
+ onMouseDown(event) {
168
+ const composedPath = event.composedPath();
169
+ const isLeftButton = composedPath.includes(this.leftButton);
170
+ const isRightButton = composedPath.includes(this.rightButton);
171
+ if (isLeftButton) {
172
+ this.createRipple(event, true);
173
+ return;
174
+ }
175
+ if (isRightButton) {
176
+ this.createRipple(event, false);
177
+ return;
178
+ }
179
+ }
180
+ onTouchStart(event) {
181
+ const composedPath = event.composedPath();
182
+ const isLeftButton = composedPath.includes(this.leftButton);
183
+ const isRightButton = composedPath.includes(this.rightButton);
184
+ if (isLeftButton) {
185
+ this.createRipple(event, true);
186
+ return;
187
+ }
188
+ if (isRightButton) {
189
+ this.createRipple(event, false);
190
+ return;
191
+ }
192
+ }
60
193
  clickListener(evt) {
61
- if (!this.enabled) {
194
+ const isDisabled = !this.enabled ||
195
+ this.isDisabled === true ||
196
+ this.isDisabled === "" ||
197
+ this.isDisabled === "full";
198
+ if (isDisabled) {
62
199
  evt.preventDefault();
63
200
  evt.stopPropagation();
64
201
  evt.stopImmediatePropagation();
65
202
  }
66
203
  }
67
- getIconSize(sizeParam = 'medium') {
204
+ shouldShowLabelOnLeftButton() {
205
+ return this.mode !== 'icon-only';
206
+ }
207
+ shouldShowIconOnLeftButton() {
208
+ return this.mode !== 'default';
209
+ }
210
+ getIconSize(defaultSize = 'medium') {
68
211
  var _a;
69
- const sizeList = ['small', 'medium', 'large'];
212
+ const validSizes = ['small', 'medium', 'large'];
70
213
  const sizeLowerCase = (_a = this.size) === null || _a === void 0 ? void 0 : _a.toLowerCase();
71
- return sizeList.includes(sizeLowerCase) ? sizeLowerCase : sizeParam;
214
+ return validSizes.includes(sizeLowerCase) ? sizeLowerCase : defaultSize;
72
215
  }
73
216
  closeDropdown() {
74
217
  this.show = false;
@@ -79,95 +222,127 @@ const EzSplitButton = class {
79
222
  handleDropdownItemClick(evt) {
80
223
  this.dropdownItemClick.emit(evt.detail);
81
224
  evt.stopPropagation();
225
+ this.closeDropdown();
82
226
  }
83
227
  handleDropdownSubActionClick(evt) {
84
228
  this.dropdownSubActionClick.emit(evt.detail);
85
229
  evt.stopPropagation();
86
230
  this.closeDropdown();
87
231
  }
88
- resolveOffsetParentRect() {
89
- var _a, _b;
90
- const offsetParentRect = (_b = (_a = this.dropdownParent) === null || _a === void 0 ? void 0 : _a.offsetParent) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
91
- const scrollLeft = window.scrollX || document.documentElement.scrollLeft;
92
- const scrollTop = window.scrollY || document.documentElement.scrollTop;
93
- const rectWithoutScroll = {
94
- top: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.top) + scrollTop,
95
- left: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.left) + scrollLeft,
96
- bottom: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.bottom) + scrollTop,
97
- right: (offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.right) + scrollLeft,
98
- width: offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.width,
99
- height: offsetParentRect === null || offsetParentRect === void 0 ? void 0 : offsetParentRect.height
232
+ calculateDropdownPosition(buttonRect, dropdownRect, openUpward, openLeftward) {
233
+ const baseOffset = this.offsetParentRect || { top: 0, left: 0 };
234
+ return {
235
+ top: openUpward ? 'auto' : `${buttonRect.bottom - baseOffset.top + window.scrollY}px`,
236
+ bottom: openUpward ? `${window.innerHeight - buttonRect.top - window.scrollY}px` : 'auto',
237
+ left: openLeftward
238
+ ? `${buttonRect.right - dropdownRect.width - baseOffset.left + window.scrollX}px`
239
+ : `${buttonRect.left - baseOffset.left + window.scrollX}px`,
240
+ maxHeight: openUpward ? `${buttonRect.top - baseOffset.top}px` : 'none'
100
241
  };
101
- this.offsetParentRect = rectWithoutScroll;
102
242
  }
103
- /**
104
- * Método responsável em posicionar o dropdown na tela.
105
- * Faz com que o dropdown se ajuste automaticamente ao espaco na tela
106
- */
107
- positionDropdown() {
108
- var _a, _b, _c, _d, _e, _f;
109
- const { rightButton: _rightButton, dropdownParent: _dropdownParent } = this;
110
- const rightButtonRect = _rightButton.getBoundingClientRect();
111
- const dropdownParentRect = _dropdownParent.getBoundingClientRect();
112
- const spaceBelow = window.innerHeight - (rightButtonRect.bottom + ((_a = this.offsetParentRect) === null || _a === void 0 ? void 0 : _a.top));
113
- const spaceAbove = rightButtonRect.top + ((_b = this.offsetParentRect) === null || _b === void 0 ? void 0 : _b.top);
114
- const spaceRight = window.innerWidth - (rightButtonRect.left + ((_c = this.offsetParentRect) === null || _c === void 0 ? void 0 : _c.left));
115
- const spaceLeft = rightButtonRect.left;
116
- const hasSpaceBelow = spaceBelow < dropdownParentRect.height && spaceAbove > dropdownParentRect.height;
117
- const hasSpaceRight = spaceRight < dropdownParentRect.width && spaceLeft > dropdownParentRect.width;
118
- let top = `${rightButtonRect.bottom - ((_d = this.offsetParentRect) === null || _d === void 0 ? void 0 : _d.top) + window.scrollY}px`;
119
- let left = `${rightButtonRect.left - ((_e = this.offsetParentRect) === null || _e === void 0 ? void 0 : _e.left) + window.scrollX}px`;
120
- let bottom = 'auto';
121
- if (hasSpaceBelow) {
122
- bottom = `${window.innerHeight - rightButtonRect.top - window.scrollY}px`;
123
- top = 'auto';
124
- _dropdownParent.style.maxHeight = `${spaceAbove}px`;
125
- }
126
- if (hasSpaceRight) {
127
- left = `${rightButtonRect.right - dropdownParentRect.width - ((_f = this.offsetParentRect) === null || _f === void 0 ? void 0 : _f.left) + window.scrollX}px`;
128
- }
129
- _dropdownParent.style.top = top;
130
- _dropdownParent.style.bottom = bottom;
131
- _dropdownParent.style.left = left;
132
- }
133
- setEvents() {
134
- window.removeEventListener('scroll', this.positionDropdown.bind(this));
135
- window.addEventListener('scroll', this.positionDropdown.bind(this));
243
+ setupEventListeners() {
244
+ const controller = new AbortController();
245
+ const { signal } = controller;
246
+ window.addEventListener('scroll', this.positionDropdown, { signal, passive: true });
247
+ window.addEventListener('resize', this.positionDropdown, { signal, passive: true });
248
+ this.eventListeners.set(this._element, controller);
249
+ }
250
+ cleanupEventListeners() {
251
+ const controller = this.eventListeners.get(this._element);
252
+ if (controller) {
253
+ controller.abort();
254
+ this.eventListeners.delete(this._element);
255
+ }
136
256
  }
137
257
  async componentWillLoad() {
138
258
  this.i18n = await index$1.initI18n();
139
- this.setEvents();
140
- }
141
- componentWillRender() {
142
- this.resolveOffsetParentRect();
143
259
  }
144
260
  componentDidLoad() {
145
- if (this._element)
261
+ this.addElementIDs();
262
+ this.setupEventListeners();
263
+ this.addBlurListeners();
264
+ setTimeout(() => this.positionDropdown(), 0);
265
+ }
266
+ disconnectedCallback() {
267
+ this.cleanupEventListeners();
268
+ this.removeBlurListeners();
269
+ }
270
+ componentDidUpdate() {
271
+ if (this.show) {
272
+ this.positionDropdown();
273
+ }
274
+ }
275
+ addElementIDs() {
276
+ if (this._element) {
146
277
  core.ElementIDUtils.addIDInfo(this._element);
278
+ }
147
279
  if (this.leftButton) {
148
- const dataInfo = { id: 'embedded' };
149
- core.ElementIDUtils.addIDInfo(this.leftButton, 'left-button', dataInfo);
280
+ core.ElementIDUtils.addIDInfo(this.leftButton, 'leftButton', { id: 'embedded' });
150
281
  }
151
282
  if (this.rightButton) {
152
- const dataInfo = { id: 'embedded' };
153
- core.ElementIDUtils.addIDInfo(this.rightButton, 'right-button', dataInfo);
283
+ core.ElementIDUtils.addIDInfo(this.rightButton, 'rightButton', { id: 'embedded' });
154
284
  }
155
- this.positionDropdown();
156
285
  }
157
- componentDidUpdate() {
158
- this.positionDropdown();
286
+ renderRipples(ripples) {
287
+ return ripples.map((ripple) => (index.h("span", { key: ripple.id, class: "ripple", style: {
288
+ left: `${ripple.x - 10}px`,
289
+ top: `${ripple.y - 10}px`,
290
+ } })));
159
291
  }
160
292
  render() {
161
293
  const hasIconButton = this.shouldShowIconOnLeftButton();
162
294
  const hasLabelButton = this.shouldShowLabelOnLeftButton();
163
295
  const iconSize = this.getIconSize();
164
- return (index.h("div", { class: "label-icon" }, index.h("button", { class: `ez-split-button__left-button ${iconSize} ${this.mode}`, title: this.leftTitle || this.label, type: "button", disabled: !this.enabled, onClick: () => { this.handleButtonClick(); }, ref: el => (this.leftButton = el) }, hasIconButton && index.h("ez-icon", { href: this.image, iconName: this.iconName, size: iconSize }), hasLabelButton && index.h("label", { title: this.leftTitle || this.label }, this.label)), index.h("div", { class: "dropdown" }, index.h("button", { class: `ez-split-button__right-button ${iconSize} ez-split-button__right-button--${iconSize} ez-split-button__right-button--divider`, title: this.rightTitle || this.i18n("ez-split-button.moreOptions"), type: "button", disabled: !this.enabled, onClick: () => { this.toggleDropdown(); }, ref: el => (this.rightButton = el) }, index.h("ez-icon", { class: `ez-split-button__right-button-container ` + (iconSize ? `btn-icon--${iconSize}` : ''), iconName: 'chevron-down', size: iconSize })), index.h("div", { class: `dropdown-content dropdown-content--${this.size}`, ref: (ref) => (this.dropdownParent = ref) }, this.show && (index.h("ez-dropdown", { items: this.items, onClick: evt => { evt.stopPropagation(); }, onEzOutsideClick: () => { this.closeDropdown(); }, onEzClick: evt => { this.handleDropdownItemClick(evt); }, onEzSubActionClick: evt => { this.handleDropdownSubActionClick(evt); }, itemBuilder: this.itemBuilder }))))));
296
+ return (index.h(index.Host, { class: this.variant ? `ez-split-button--${this.variant}` : '' }, index.h("div", { class: `ez-split-button ${this.size} ${this.mode}` }, this.renderLeftButton(hasIconButton, hasLabelButton, iconSize), this.renderDivider(), this.renderDropdownSection(iconSize))));
165
297
  }
166
- shouldShowLabelOnLeftButton() {
167
- return ['icon-left', 'default'].includes(this.mode);
298
+ renderLeftButton(hasIconButton, hasLabelButton, iconSize) {
299
+ return (index.h("button", { class: `ez-split-button__left-button ${iconSize} ${this.mode} ${this.isLeftPressed ? 'pressed' : ''}`, title: this.leftTitle || this.label, type: "button", disabled: this.isButtonDisabled, "aria-disabled": this.isButtonAriaDisabled, onClick: () => this.handleButtonClick(), ref: el => (this.leftButton = el) }, hasIconButton && this.renderLeftIcon(iconSize), hasLabelButton && this.renderLabel(), !this.suppressAnimation && this.renderRipples(this.leftRipples)));
168
300
  }
169
- shouldShowIconOnLeftButton() {
170
- return ['icon-left', 'icon-only'].includes(this.mode);
301
+ renderDivider() {
302
+ return index.h("div", { class: `ez-split-button__divider ${this.mode} ez-split-button__divider--${this.size} ${this.isButtonDisabled ? 'disabled' : ''}`, "aria-disabled": this.isButtonAriaDisabled });
303
+ }
304
+ renderDropdownSection(iconSize) {
305
+ return (index.h("div", { class: "dropdown" }, this.renderRightButton(iconSize), this.renderDropdownContent()));
306
+ }
307
+ renderRightButton(iconSize) {
308
+ return (index.h("button", { class: `ez-split-button__right-button ${iconSize} ez-split-button__right-button--${iconSize} ${this.isRightPressed ? 'pressed' : ''}`, title: this.rightTitle || this.i18n("ez-split-button.moreOptions"), type: "button", disabled: this.isButtonDisabled, "aria-disabled": this.isButtonAriaDisabled, onClick: () => this.toggleDropdown(), ref: el => (this.rightButton = el) }, this.renderRightIcon(iconSize), !this.suppressAnimation && this.renderRipples(this.rightRipples)));
309
+ }
310
+ renderDropdownContent() {
311
+ return (index.h("div", { class: `dropdown-content dropdown-content--${this.size}`, ref: (ref) => (this.dropdownParent = ref) }, this.show && this.renderDropdown()));
312
+ }
313
+ renderLeftIcon(iconSize) {
314
+ return (index.h("ez-icon", { href: this.image, iconName: this.leftIconName || this.iconName, size: iconSize }));
315
+ }
316
+ renderLabel() {
317
+ return index.h("label", { title: this.leftTitle || this.label }, this.label);
318
+ }
319
+ renderRightIcon(iconSize) {
320
+ const iconName = this.rightIconName || 'chevron-down';
321
+ const containerClass = `ez-split-button__right-button-container ${iconSize ? `btn-icon--${iconSize}` : ''}`;
322
+ return (index.h("ez-icon", { class: containerClass, iconName: iconName, size: iconSize }));
323
+ }
324
+ renderDropdown() {
325
+ return (index.h("ez-dropdown", { items: this.items, onClick: evt => evt.stopPropagation(), onEzOutsideClick: () => this.closeDropdown(), onEzClick: evt => this.handleDropdownItemClick(evt), onEzSubActionClick: evt => this.handleDropdownSubActionClick(evt), itemBuilder: this.itemBuilder }));
326
+ }
327
+ addBlurListeners() {
328
+ var _a, _b;
329
+ this.removeBlurListeners();
330
+ (_a = this.leftButton) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', this.removeForcedFocusVisibleLeft);
331
+ (_b = this.rightButton) === null || _b === void 0 ? void 0 : _b.addEventListener('blur', this.removeForcedFocusVisibleRight);
332
+ }
333
+ removeBlurListeners() {
334
+ var _a, _b;
335
+ (_a = this.leftButton) === null || _a === void 0 ? void 0 : _a.removeEventListener('blur', this.removeForcedFocusVisibleLeft);
336
+ (_b = this.rightButton) === null || _b === void 0 ? void 0 : _b.removeEventListener('blur', this.removeForcedFocusVisibleRight);
337
+ }
338
+ connectedCallback() {
339
+ this.addBlurListeners();
340
+ }
341
+ get isButtonDisabled() {
342
+ return this.isDisabled === "full" || !this.enabled;
343
+ }
344
+ get isButtonAriaDisabled() {
345
+ return this.isDisabled === true || this.isDisabled === "";
171
346
  }
172
347
  get _element() { return index.getElement(this); }
173
348
  };
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a7b0c73d.js');
6
- require('./ApplicationUtils-c1310a36.js');
5
+ const index = require('./index-9e5554cb.js');
6
+ require('./ApplicationUtils-5cc05979.js');
7
7
  const CSSVarsUtils = require('./CSSVarsUtils-f20973d1.js');
8
8
  require('./DialogType-2114c337.js');
9
9
  require('./CheckMode-ecb90b87.js');
10
10
  require('@sankhyalabs/core');
11
- const index$1 = require('./index-b1103222.js');
11
+ const index$1 = require('./index-1be40f19.js');
12
12
  require('./FormLayout-18853e70.js');
13
13
 
14
14
  const ezSplitItemCss = ".box_split-item{background-color:var(--background--xlight);width:100%;height:100%;border-radius:var(--border--radius-medium);box-shadow:var(--shadow--xsmall);flex-direction:column;overflow:hidden;display:flex;padding:var(--space--nano)}.box_split-item>.ez-split-item--content{overflow:auto}.expanded__item{position:absolute;z-index:var(--more-visible);top:0;left:0;width:100%;height:100%}.ez-split-item--header{display:flex;align-items:center;justify-content:space-between}.ez-split-item--header-title{flex:1;white-space:nowrap;overflow:hidden}.ez-split-item--header-title h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ez-split-item--header-buttons{display:flex;align-items:center;max-height:20px}.ez-split-item--content{display:block;height:100%}h3.ez-margin--small{margin-left:var(--space--small)}.structural__item{background:none;box-shadow:none;padding:0;margin:0;border:0}.content__item{margin:var(--space--extra-small);width:calc(100% - 2*(var(--space--extra-small)));height:calc(100% - 2*(var(--space--extra-small)))}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index$1 = require('./index-a7b0c73d.js');
5
+ const index$1 = require('./index-9e5554cb.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
 
8
8
  var numeric = function (value, unit) { return Number(value.slice(0, -1 * unit.length)); };
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a7b0c73d.js');
5
+ const index = require('./index-9e5554cb.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
 
8
- const ezTabselectorCss = "@keyframes activate{0%{clip-path:inset(calc(100% - 3px) 50% 0px 50%)}100%{clip-path:inset(calc(100% - 3px) 0px 0px 0px)}}:host{display:flex;position:relative;width:100%;overflow:hidden;--tabselector--backward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 9.7808475,13.860393 3.9204526,8.0000004 9.7808475,2.0624965 7.9301965,0.28895552 0.21915255,8.0000004 7.9301965,15.711044 Z\"/></svg>');--tabselector--forward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 0.21915251,13.860393 6.0795475,8.0000007 0.21915251,2.0624968 2.0698036,0.28895588 9.7808475,8.0000007 2.0698036,15.711044 Z\"/></svg>')}.scroll{display:flex;width:100%;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none}.scroll.startHidden{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px)}.scroll.middle{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px, #000 calc(100% - 48px), transparent calc(100% - 20px))}.scroll.endHidden{-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent calc(100% - 20px))}.tab{display:flex;border:none;background-color:unset;min-width:100px;max-width:260px;cursor:pointer;padding:6px 12px;align-items:center;justify-content:center;color:var(--text--primary, #626e82);font-family:var(--font-pattern, \"Roboto\");font-size:var(--title--small, 14px);flex-shrink:0}.tab:focus,.forward-button,.backward-button{outline:none}.is-active{position:relative;color:var(--color--primary, #008561)}.is-active::after{content:\"\";position:absolute;width:100%;height:100%;background-color:var(--color--primary, #008561);clip-path:inset(calc(100% - 3px) 0px 0px 0px);animation:activate 0.25s ease-in-out}.is-focused{border:1px dashed var(--color--primary, #000000c5)}.tab-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:var(--text-shadow);margin-bottom:var(--space--extra-small, 3px)}.forward-button,.backward-button{position:absolute;z-index:1;display:flex;box-sizing:border-box;padding:0px;top:0px;right:0px;width:16px;height:100%;border:none;background-color:unset;cursor:pointer;justify-content:center;align-items:center}.backward-button{left:0px}.forward-button::after,.backward-button::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:10px;height:16px}.forward-button::after{-webkit-mask-image:var(--tabselector--forward-icon);mask-image:var(--tabselector--forward-icon)}.backward-button::after{-webkit-mask-image:var(--tabselector--backward-icon);mask-image:var(--tabselector--backward-icon)}.forward-button:hover::after,.backward-button:hover::after{background-color:var(--color--primary, #4e4e4e)}.hidden{display:none}.scroll::-webkit-scrollbar{display:none}.left-icon{padding-right:var(--space--small)}.right-icon{padding-left:var(--space--small)}";
8
+ const ezTabselectorCss = "@keyframes activate{0%{clip-path:inset(calc(100% - 3px) 50% 0px 50%)}100%{clip-path:inset(calc(100% - 3px) 0px 0px 0px)}}:host{display:flex;position:relative;width:100%;overflow:hidden;--tabselector--backward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 9.7808475,13.860393 3.9204526,8.0000004 9.7808475,2.0624965 7.9301965,0.28895552 0.21915255,8.0000004 7.9301965,15.711044 Z\"/></svg>');--tabselector--forward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 0.21915251,13.860393 6.0795475,8.0000007 0.21915251,2.0624968 2.0698036,0.28895588 9.7808475,8.0000007 2.0698036,15.711044 Z\"/></svg>')}.scroll{display:flex;width:100%;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none}.scroll.startHidden{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px)}.scroll.middle{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px, #000 calc(100% - 48px), transparent calc(100% - 20px))}.scroll.endHidden{-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent calc(100% - 20px))}.tab{display:flex;border:none;background-color:unset;min-width:100px;max-width:260px;cursor:pointer;padding:6px 12px;align-items:center;justify-content:center;color:var(--text--primary, #626e82);font-family:var(--font-pattern, \"Roboto\");font-size:var(--title--small, 14px);flex-shrink:0;margin-bottom:var(--space--extra-small, 3px)}.tab:focus,.forward-button,.backward-button{outline:none}.is-active{position:relative;color:var(--color--primary, #008561)}.is-active ez-icon{--ez-icon--color:var(--color--primary, #008561)}.is-active::after{content:\"\";position:absolute;width:100%;height:100%;background-color:var(--color--primary, #008561);clip-path:inset(calc(100% - 3px) 0px 0px 0px);animation:activate 0.25s ease-in-out}.is-focused{border:1px dashed var(--color--primary, #000000c5)}.tab-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:var(--text-shadow)}.forward-button,.backward-button{position:absolute;z-index:1;display:flex;box-sizing:border-box;padding:0px;top:0px;right:0px;width:16px;height:100%;border:none;background-color:unset;cursor:pointer;justify-content:center;align-items:center}.backward-button{left:0px}.forward-button::after,.backward-button::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:10px;height:16px}.forward-button::after{-webkit-mask-image:var(--tabselector--forward-icon);mask-image:var(--tabselector--forward-icon)}.backward-button::after{-webkit-mask-image:var(--tabselector--backward-icon);mask-image:var(--tabselector--backward-icon)}.forward-button:hover::after,.backward-button:hover::after{background-color:var(--color--primary, #4e4e4e)}.hidden{display:none}.scroll::-webkit-scrollbar{display:none}.left-icon{padding-right:var(--space--small)}.right-icon{padding-left:var(--space--small)}";
9
9
 
10
10
  const EzTabselector = class {
11
11
  constructor(hostRef) {