@genexus/genexus-ide-ui 0.0.92 → 0.0.94

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 (1159) hide show
  1. package/dist/cjs/array-300dcbf5.js +12 -0
  2. package/dist/cjs/array-300dcbf5.js.map +1 -0
  3. package/dist/cjs/ch-accordion.cjs.entry.js +1 -1
  4. package/dist/cjs/ch-action-group-render.cjs.entry.js +1 -1
  5. package/dist/cjs/ch-action-group_2.cjs.entry.js +1 -1
  6. package/dist/cjs/ch-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ch-checkbox_3.cjs.entry.js +948 -864
  8. package/dist/cjs/ch-checkbox_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ch-dropdown-item-separator.cjs.entry.js +1 -1
  10. package/dist/cjs/ch-dropdown-item.cjs.entry.js +1 -1
  11. package/dist/cjs/ch-dropdown-render.cjs.entry.js +1 -1
  12. package/dist/cjs/ch-dropdown.cjs.entry.js +1 -1
  13. package/dist/cjs/ch-flexible-layout-render.cjs.entry.js +216 -151
  14. package/dist/cjs/ch-flexible-layout-render.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ch-flexible-layout_3.cjs.entry.js +1259 -312
  16. package/dist/cjs/ch-flexible-layout_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ch-form-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/ch-grid-action-refresh_7.cjs.entry.js +1 -1
  19. package/dist/cjs/ch-grid-column-display.cjs.entry.js +1 -1
  20. package/dist/cjs/ch-grid-infinite-scroll.cjs.entry.js +1 -1
  21. package/dist/cjs/ch-grid-row-actions.cjs.entry.js +1 -1
  22. package/dist/cjs/ch-grid-rowset-empty.cjs.entry.js +1 -1
  23. package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +1 -1
  24. package/dist/cjs/ch-grid-virtual-scroller.cjs.entry.js +1 -1
  25. package/dist/cjs/ch-grid_8.cjs.entry.js +2 -2
  26. package/dist/cjs/ch-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/ch-intersection-observer.cjs.entry.js +1 -1
  28. package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +1 -1
  29. package/dist/cjs/ch-next-data-modeling_2.cjs.entry.js +1 -1
  30. package/dist/cjs/ch-next-progress-bar.cjs.entry.js +1 -1
  31. package/dist/cjs/ch-notifications-item.cjs.entry.js +1 -1
  32. package/dist/cjs/ch-notifications.cjs.entry.js +1 -1
  33. package/dist/cjs/ch-qr.cjs.entry.js +1 -1
  34. package/dist/cjs/ch-select-option.cjs.entry.js +1 -1
  35. package/dist/cjs/ch-select.cjs.entry.js +2 -2
  36. package/dist/cjs/ch-shortcuts_2.cjs.entry.js +1 -2
  37. package/dist/cjs/ch-shortcuts_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ch-sidebar-menu-list-item.cjs.entry.js +1 -1
  39. package/dist/cjs/ch-sidebar-menu-list.cjs.entry.js +1 -1
  40. package/dist/cjs/ch-sidebar-menu.cjs.entry.js +2 -2
  41. package/dist/cjs/ch-step-list-item.cjs.entry.js +1 -1
  42. package/dist/cjs/ch-step-list.cjs.entry.js +1 -1
  43. package/dist/cjs/ch-style.cjs.entry.js +1 -1
  44. package/dist/cjs/ch-suggest_4.cjs.entry.js +3 -3
  45. package/dist/cjs/ch-test-flexible-layout.cjs.entry.js +238 -20
  46. package/dist/cjs/ch-test-flexible-layout.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ch-test-suggest.cjs.entry.js +1 -1
  48. package/dist/cjs/ch-textblock.cjs.entry.js +2 -2
  49. package/dist/cjs/ch-timer.cjs.entry.js +1 -1
  50. package/dist/cjs/ch-tooltip.cjs.entry.js +1 -1
  51. package/dist/cjs/ch-tree-item.cjs.entry.js +1 -1
  52. package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +5 -3
  53. package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ch-tree-view-render_2.cjs.entry.js +791 -606
  55. package/dist/cjs/ch-tree-view-render_2.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ch-tree.cjs.entry.js +1 -1
  57. package/dist/cjs/ch-window_2.cjs.entry.js +1 -1
  58. package/dist/cjs/{common-f34f3bdb.js → common-4114cd52.js} +2 -2
  59. package/dist/cjs/{common-f34f3bdb.js.map → common-4114cd52.js.map} +1 -1
  60. package/dist/cjs/{form-ed642807.js → form-fa8928cb.js} +2 -2
  61. package/dist/cjs/{form-ed642807.js.map → form-fa8928cb.js.map} +1 -1
  62. package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
  63. package/dist/cjs/gx-grid-chameleon.cjs.entry.js +1 -1
  64. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  66. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +3 -3
  67. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-container_3.cjs.entry.js +2 -2
  69. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +11 -4
  70. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
  72. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
  73. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +10 -20
  74. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +1 -1
  76. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  78. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -3
  80. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
  81. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  82. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -3
  83. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  84. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  86. package/dist/cjs/gx-ide-start-page.cjs.entry.js +2 -2
  87. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +2 -2
  88. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
  91. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
  92. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  93. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  95. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
  96. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  97. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  98. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
  99. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +3 -3
  100. package/dist/cjs/gxg-accordion-item.cjs.entry.js +2 -2
  101. package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
  102. package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
  103. package/dist/cjs/gxg-box.cjs.entry.js +1 -1
  104. package/dist/cjs/gxg-breadcrumb.cjs.entry.js +1 -1
  105. package/dist/cjs/gxg-breadcrumbs.cjs.entry.js +1 -1
  106. package/dist/cjs/gxg-button-group.cjs.entry.js +2 -2
  107. package/dist/cjs/gxg-button_2.cjs.entry.js +3 -3
  108. package/dist/cjs/gxg-button_2.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gxg-card_2.cjs.entry.js +8 -7
  110. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
  112. package/dist/cjs/gxg-column.cjs.entry.js +1 -1
  113. package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
  114. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +3 -3
  115. package/dist/cjs/gxg-container.cjs.entry.js +1 -1
  116. package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
  117. package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
  118. package/dist/cjs/gxg-contextual-menu.cjs.entry.js +1 -1
  119. package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
  120. package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
  121. package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
  122. package/dist/cjs/gxg-drop-down.cjs.entry.js +2 -2
  123. package/dist/cjs/gxg-filter-item.cjs.entry.js +1 -1
  124. package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
  125. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +2 -2
  126. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -3
  127. package/dist/cjs/gxg-form-message.cjs.entry.js +2 -2
  128. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +2 -2
  129. package/dist/cjs/gxg-form-radio.cjs.entry.js +4 -4
  130. package/dist/cjs/gxg-form-radio.cjs.entry.js.map +1 -1
  131. package/dist/cjs/gxg-form-text.cjs.entry.js +3 -3
  132. package/dist/cjs/gxg-form-textarea.cjs.entry.js +7 -7
  133. package/dist/cjs/gxg-form-textarea.cjs.entry.js.map +1 -1
  134. package/dist/cjs/gxg-ide-loader.cjs.entry.js +1 -1
  135. package/dist/cjs/gxg-label_2.cjs.entry.js +2 -2
  136. package/dist/cjs/gxg-list-box_2.cjs.entry.js +158 -141
  137. package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
  138. package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
  139. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  140. package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
  141. package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
  142. package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
  143. package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
  144. package/dist/cjs/gxg-modal.cjs.entry.js +2 -2
  145. package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
  146. package/dist/cjs/gxg-option-v2.cjs.entry.js +1 -1
  147. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  148. package/dist/cjs/gxg-options-item.cjs.entry.js +1 -1
  149. package/dist/cjs/gxg-options.cjs.entry.js +2 -2
  150. package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
  151. package/dist/cjs/gxg-pill.cjs.entry.js +2 -2
  152. package/dist/cjs/gxg-pills.cjs.entry.js +2 -2
  153. package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
  154. package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
  155. package/dist/cjs/gxg-select-v2.cjs.entry.js +2 -2
  156. package/dist/cjs/gxg-select.cjs.entry.js +3 -3
  157. package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
  158. package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
  159. package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
  160. package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
  161. package/dist/cjs/gxg-split.cjs.entry.js +1 -1
  162. package/dist/cjs/gxg-splitter.cjs.entry.js +1 -1
  163. package/dist/cjs/gxg-stack.cjs.entry.js +1 -1
  164. package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
  165. package/dist/cjs/gxg-tab_4.cjs.entry.js +2 -2
  166. package/dist/cjs/gxg-test.cjs.entry.js +163 -6
  167. package/dist/cjs/gxg-test.cjs.entry.js.map +1 -1
  168. package/dist/cjs/gxg-text.cjs.entry.js +2 -2
  169. package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
  170. package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
  171. package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
  172. package/dist/cjs/gxg-tree-grid-divs.cjs.entry.js +1 -1
  173. package/dist/cjs/gxg-tree-item.cjs.entry.js +38 -33
  174. package/dist/cjs/gxg-tree-item.cjs.entry.js.map +1 -1
  175. package/dist/cjs/gxg-tree.cjs.entry.js +1 -1
  176. package/dist/cjs/gxg-window.cjs.entry.js +1 -1
  177. package/dist/cjs/{helpers-40d78bf9.js → helpers-01aea623.js} +2 -2
  178. package/dist/cjs/{helpers-40d78bf9.js.map → helpers-01aea623.js.map} +1 -1
  179. package/dist/cjs/{index-edccf065.js → index-41ca7a2c.js} +2 -2
  180. package/dist/cjs/{index-edccf065.js.map → index-41ca7a2c.js.map} +1 -1
  181. package/dist/cjs/{index-c66d7fae.js → index-88537600.js} +2 -10
  182. package/dist/{esm/index-2d51259e.js.map → cjs/index-88537600.js.map} +1 -1
  183. package/dist/cjs/loader.cjs.js +2 -2
  184. package/dist/cjs/{render-combo-items-1a9782e0.js → render-combo-items-a497f337.js} +2 -2
  185. package/dist/cjs/{render-combo-items-1a9782e0.js.map → render-combo-items-a497f337.js.map} +1 -1
  186. package/dist/cjs/{render-suggest-497f9dc2.js → render-suggest-22c4d886.js} +2 -2
  187. package/dist/cjs/{render-suggest-497f9dc2.js.map → render-suggest-22c4d886.js.map} +1 -1
  188. package/dist/cjs/{store-ff9e2cad.js → store-027ba050.js} +2 -2
  189. package/dist/cjs/{store-ff9e2cad.js.map → store-027ba050.js.map} +1 -1
  190. package/dist/cjs/utils-0d8557ae.js +150 -0
  191. package/dist/cjs/utils-0d8557ae.js.map +1 -0
  192. package/dist/cjs/{utils-5ba52db3.js → utils-438c7042.js} +9 -1
  193. package/dist/cjs/utils-438c7042.js.map +1 -0
  194. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +1 -1
  195. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  196. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +13 -3
  197. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  198. package/dist/components/array.js +9 -0
  199. package/dist/components/array.js.map +1 -0
  200. package/dist/components/button.js +1 -1
  201. package/dist/components/button.js.map +1 -1
  202. package/dist/components/card.js +5 -4
  203. package/dist/components/card.js.map +1 -1
  204. package/dist/components/ch-test-flexible-layout.js +237 -19
  205. package/dist/components/ch-test-flexible-layout.js.map +1 -1
  206. package/dist/components/ch-tree-view-render-wrapper.js +6 -2
  207. package/dist/components/ch-tree-view-render-wrapper.js.map +1 -1
  208. package/dist/components/date-picker.js +8 -18
  209. package/dist/components/date-picker.js.map +1 -1
  210. package/dist/components/flexible-layout-render.js +220 -154
  211. package/dist/components/flexible-layout-render.js.map +1 -1
  212. package/dist/components/flexible-layout.js +336 -55
  213. package/dist/components/flexible-layout.js.map +1 -1
  214. package/dist/components/form-radio.js +3 -3
  215. package/dist/components/form-radio.js.map +1 -1
  216. package/dist/components/form-textarea.js +4 -4
  217. package/dist/components/form-textarea.js.map +1 -1
  218. package/dist/components/gx-ide-create-kb-from-server.js +12 -3
  219. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  220. package/dist/components/gx-ide-status-buttons2.js +1 -1
  221. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  222. package/dist/components/gxg-test.js +200 -15
  223. package/dist/components/gxg-test.js.map +1 -1
  224. package/dist/components/gxg-tree-item.js +37 -32
  225. package/dist/components/gxg-tree-item.js.map +1 -1
  226. package/dist/components/layout-splitter.js +452 -187
  227. package/dist/components/layout-splitter.js.map +1 -1
  228. package/dist/components/list-box-item.js +6 -6
  229. package/dist/components/list-box-item.js.map +1 -1
  230. package/dist/components/list-box.js +149 -132
  231. package/dist/components/list-box.js.map +1 -1
  232. package/dist/components/shortcuts.js +0 -1
  233. package/dist/components/shortcuts.js.map +1 -1
  234. package/dist/components/tab.js +591 -127
  235. package/dist/components/tab.js.map +1 -1
  236. package/dist/components/tree-view-item.js +523 -472
  237. package/dist/components/tree-view-item.js.map +1 -1
  238. package/dist/components/tree-view-render.js +788 -602
  239. package/dist/components/tree-view-render.js.map +1 -1
  240. package/dist/components/tree-view.js +432 -398
  241. package/dist/components/tree-view.js.map +1 -1
  242. package/dist/components/tree-view2.js +9 -5
  243. package/dist/components/tree-view2.js.map +1 -1
  244. package/dist/components/utils.js +7 -1
  245. package/dist/components/utils.js.map +1 -1
  246. package/dist/components/utils2.js +52 -0
  247. package/dist/components/utils2.js.map +1 -0
  248. package/dist/esm/array-e181c3b5.js +9 -0
  249. package/dist/esm/array-e181c3b5.js.map +1 -0
  250. package/dist/esm/ch-accordion.entry.js +1 -1
  251. package/dist/esm/ch-action-group-render.entry.js +1 -1
  252. package/dist/esm/ch-action-group_2.entry.js +1 -1
  253. package/dist/esm/ch-alert.entry.js +1 -1
  254. package/dist/esm/ch-checkbox_3.entry.js +948 -864
  255. package/dist/esm/ch-checkbox_3.entry.js.map +1 -1
  256. package/dist/esm/ch-dropdown-item-separator.entry.js +1 -1
  257. package/dist/esm/ch-dropdown-item.entry.js +1 -1
  258. package/dist/esm/ch-dropdown-render.entry.js +1 -1
  259. package/dist/esm/ch-dropdown.entry.js +1 -1
  260. package/dist/esm/ch-flexible-layout-render.entry.js +216 -151
  261. package/dist/esm/ch-flexible-layout-render.entry.js.map +1 -1
  262. package/dist/esm/ch-flexible-layout_3.entry.js +1259 -312
  263. package/dist/esm/ch-flexible-layout_3.entry.js.map +1 -1
  264. package/dist/esm/ch-form-checkbox.entry.js +1 -1
  265. package/dist/esm/ch-grid-action-refresh_7.entry.js +1 -1
  266. package/dist/esm/ch-grid-column-display.entry.js +1 -1
  267. package/dist/esm/ch-grid-infinite-scroll.entry.js +1 -1
  268. package/dist/esm/ch-grid-row-actions.entry.js +1 -1
  269. package/dist/esm/ch-grid-rowset-empty.entry.js +1 -1
  270. package/dist/esm/ch-grid-rowset-legend.entry.js +1 -1
  271. package/dist/esm/ch-grid-virtual-scroller.entry.js +1 -1
  272. package/dist/esm/ch-grid_8.entry.js +2 -2
  273. package/dist/esm/ch-icon.entry.js +1 -1
  274. package/dist/esm/ch-intersection-observer.entry.js +1 -1
  275. package/dist/esm/ch-next-data-modeling-render.entry.js +1 -1
  276. package/dist/esm/ch-next-data-modeling_2.entry.js +1 -1
  277. package/dist/esm/ch-next-progress-bar.entry.js +1 -1
  278. package/dist/esm/ch-notifications-item.entry.js +1 -1
  279. package/dist/esm/ch-notifications.entry.js +1 -1
  280. package/dist/esm/ch-qr.entry.js +1 -1
  281. package/dist/esm/ch-select-option.entry.js +1 -1
  282. package/dist/esm/ch-select.entry.js +2 -2
  283. package/dist/esm/ch-shortcuts_2.entry.js +1 -2
  284. package/dist/esm/ch-shortcuts_2.entry.js.map +1 -1
  285. package/dist/esm/ch-sidebar-menu-list-item.entry.js +1 -1
  286. package/dist/esm/ch-sidebar-menu-list.entry.js +1 -1
  287. package/dist/esm/ch-sidebar-menu.entry.js +2 -2
  288. package/dist/esm/ch-step-list-item.entry.js +1 -1
  289. package/dist/esm/ch-step-list.entry.js +1 -1
  290. package/dist/esm/ch-style.entry.js +1 -1
  291. package/dist/esm/ch-suggest_4.entry.js +3 -3
  292. package/dist/esm/ch-test-flexible-layout.entry.js +238 -20
  293. package/dist/esm/ch-test-flexible-layout.entry.js.map +1 -1
  294. package/dist/esm/ch-test-suggest.entry.js +1 -1
  295. package/dist/esm/ch-textblock.entry.js +2 -2
  296. package/dist/esm/ch-timer.entry.js +1 -1
  297. package/dist/esm/ch-tooltip.entry.js +1 -1
  298. package/dist/esm/ch-tree-item.entry.js +1 -1
  299. package/dist/esm/ch-tree-view-render-wrapper.entry.js +5 -3
  300. package/dist/esm/ch-tree-view-render-wrapper.entry.js.map +1 -1
  301. package/dist/esm/ch-tree-view-render_2.entry.js +790 -605
  302. package/dist/esm/ch-tree-view-render_2.entry.js.map +1 -1
  303. package/dist/esm/ch-tree.entry.js +1 -1
  304. package/dist/esm/ch-window_2.entry.js +1 -1
  305. package/dist/esm/{common-c414e768.js → common-f3b421ed.js} +2 -2
  306. package/dist/esm/{common-c414e768.js.map → common-f3b421ed.js.map} +1 -1
  307. package/dist/esm/{form-9bfc4e06.js → form-bcdc7789.js} +2 -2
  308. package/dist/esm/{form-9bfc4e06.js.map → form-bcdc7789.js.map} +1 -1
  309. package/dist/esm/genexus-ide-ui.js +3 -3
  310. package/dist/esm/gx-grid-chameleon.entry.js +1 -1
  311. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  312. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  313. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +3 -3
  314. package/dist/esm/gx-ide-card.entry.js +1 -1
  315. package/dist/esm/gx-ide-container_3.entry.js +2 -2
  316. package/dist/esm/gx-ide-create-kb-from-server.entry.js +11 -4
  317. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  318. package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
  319. package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
  320. package/dist/esm/gx-ide-entity-selector_2.entry.js +10 -20
  321. package/dist/esm/gx-ide-entity-selector_2.entry.js.map +1 -1
  322. package/dist/esm/gx-ide-file-selector.entry.js +1 -1
  323. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  324. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  325. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  326. package/dist/esm/gx-ide-new-environment.entry.js +3 -3
  327. package/dist/esm/gx-ide-new-kb.entry.js +2 -2
  328. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  329. package/dist/esm/gx-ide-object-selector.entry.js +3 -3
  330. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  331. package/dist/esm/gx-ide-references.entry.js +2 -2
  332. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  333. package/dist/esm/gx-ide-start-page.entry.js +2 -2
  334. package/dist/esm/gx-ide-status-buttons.entry.js +2 -2
  335. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  336. package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
  337. package/dist/esm/gx-ide-switcher.entry.js +1 -1
  338. package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
  339. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  340. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  341. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  342. package/dist/esm/gx-ide-team-dev-update.entry.js +3 -3
  343. package/dist/esm/gx-ide-template.entry.js +1 -1
  344. package/dist/esm/gx-ide-test.entry.js +1 -1
  345. package/dist/esm/gx-ide-top-bar.entry.js +1 -1
  346. package/dist/esm/gx-ide-ww-images.entry.js +3 -3
  347. package/dist/esm/gxg-accordion-item.entry.js +2 -2
  348. package/dist/esm/gxg-accordion.entry.js +1 -1
  349. package/dist/esm/gxg-alert.entry.js +1 -1
  350. package/dist/esm/gxg-box.entry.js +1 -1
  351. package/dist/esm/gxg-breadcrumb.entry.js +1 -1
  352. package/dist/esm/gxg-breadcrumbs.entry.js +1 -1
  353. package/dist/esm/gxg-button-group.entry.js +2 -2
  354. package/dist/esm/gxg-button_2.entry.js +3 -3
  355. package/dist/esm/gxg-button_2.entry.js.map +1 -1
  356. package/dist/esm/gxg-card_2.entry.js +8 -7
  357. package/dist/esm/gxg-card_2.entry.js.map +1 -1
  358. package/dist/esm/gxg-color-picker.entry.js +1 -1
  359. package/dist/esm/gxg-column.entry.js +1 -1
  360. package/dist/esm/gxg-columns.entry.js +1 -1
  361. package/dist/esm/gxg-combo-box_2.entry.js +3 -3
  362. package/dist/esm/gxg-container.entry.js +1 -1
  363. package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
  364. package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
  365. package/dist/esm/gxg-contextual-menu.entry.js +1 -1
  366. package/dist/esm/gxg-demo.entry.js +1 -1
  367. package/dist/esm/gxg-drag-box.entry.js +1 -1
  368. package/dist/esm/gxg-drag-container.entry.js +1 -1
  369. package/dist/esm/gxg-drop-down.entry.js +2 -2
  370. package/dist/esm/gxg-filter-item.entry.js +1 -1
  371. package/dist/esm/gxg-filter.entry.js +1 -1
  372. package/dist/esm/gxg-form-checkbox-group.entry.js +2 -2
  373. package/dist/esm/gxg-form-checkbox.entry.js +3 -3
  374. package/dist/esm/gxg-form-message.entry.js +2 -2
  375. package/dist/esm/gxg-form-radio-group.entry.js +2 -2
  376. package/dist/esm/gxg-form-radio.entry.js +4 -4
  377. package/dist/esm/gxg-form-radio.entry.js.map +1 -1
  378. package/dist/esm/gxg-form-text.entry.js +3 -3
  379. package/dist/esm/gxg-form-textarea.entry.js +7 -7
  380. package/dist/esm/gxg-form-textarea.entry.js.map +1 -1
  381. package/dist/esm/gxg-ide-loader.entry.js +1 -1
  382. package/dist/esm/gxg-label_2.entry.js +2 -2
  383. package/dist/esm/gxg-list-box_2.entry.js +158 -141
  384. package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
  385. package/dist/esm/gxg-loader.entry.js +1 -1
  386. package/dist/esm/gxg-menu-item.entry.js +1 -1
  387. package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
  388. package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
  389. package/dist/esm/gxg-menu-slim.entry.js +1 -1
  390. package/dist/esm/gxg-menu.entry.js +1 -1
  391. package/dist/esm/gxg-modal.entry.js +2 -2
  392. package/dist/esm/gxg-more-info.entry.js +1 -1
  393. package/dist/esm/gxg-option-v2.entry.js +1 -1
  394. package/dist/esm/gxg-option.entry.js +1 -1
  395. package/dist/esm/gxg-options-item.entry.js +1 -1
  396. package/dist/esm/gxg-options.entry.js +2 -2
  397. package/dist/esm/gxg-paginator.entry.js +1 -1
  398. package/dist/esm/gxg-pill.entry.js +2 -2
  399. package/dist/esm/gxg-pills.entry.js +2 -2
  400. package/dist/esm/gxg-progress-bar.entry.js +1 -1
  401. package/dist/esm/gxg-scroll.entry.js +1 -1
  402. package/dist/esm/gxg-select-v2.entry.js +2 -2
  403. package/dist/esm/gxg-select.entry.js +3 -3
  404. package/dist/esm/gxg-separator.entry.js +1 -1
  405. package/dist/esm/gxg-slider.entry.js +1 -1
  406. package/dist/esm/gxg-spacer-layout.entry.js +1 -1
  407. package/dist/esm/gxg-spacer-one.entry.js +1 -1
  408. package/dist/esm/gxg-split.entry.js +1 -1
  409. package/dist/esm/gxg-splitter.entry.js +1 -1
  410. package/dist/esm/gxg-stack.entry.js +1 -1
  411. package/dist/esm/gxg-stepper.entry.js +1 -1
  412. package/dist/esm/gxg-tab_4.entry.js +2 -2
  413. package/dist/esm/gxg-test.entry.js +163 -6
  414. package/dist/esm/gxg-test.entry.js.map +1 -1
  415. package/dist/esm/gxg-text.entry.js +2 -2
  416. package/dist/esm/gxg-toggle.entry.js +1 -1
  417. package/dist/esm/gxg-toolbar-item.entry.js +1 -1
  418. package/dist/esm/gxg-toolbar.entry.js +1 -1
  419. package/dist/esm/gxg-tree-grid-divs.entry.js +1 -1
  420. package/dist/esm/gxg-tree-item.entry.js +38 -33
  421. package/dist/esm/gxg-tree-item.entry.js.map +1 -1
  422. package/dist/esm/gxg-tree.entry.js +1 -1
  423. package/dist/esm/gxg-window.entry.js +1 -1
  424. package/dist/esm/{helpers-c1a0fa8e.js → helpers-7a7ae540.js} +2 -2
  425. package/dist/esm/{helpers-c1a0fa8e.js.map → helpers-7a7ae540.js.map} +1 -1
  426. package/dist/esm/{index-6960469c.js → index-08adb93b.js} +2 -2
  427. package/dist/esm/{index-6960469c.js.map → index-08adb93b.js.map} +1 -1
  428. package/dist/esm/{index-2d51259e.js → index-692bb924.js} +2 -10
  429. package/dist/esm/index-692bb924.js.map +1 -0
  430. package/dist/esm/loader.js +3 -3
  431. package/dist/esm/{render-combo-items-65457163.js → render-combo-items-eb2a54b4.js} +2 -2
  432. package/dist/esm/{render-combo-items-65457163.js.map → render-combo-items-eb2a54b4.js.map} +1 -1
  433. package/dist/esm/{render-suggest-9c876328.js → render-suggest-47b8bc70.js} +2 -2
  434. package/dist/esm/{render-suggest-9c876328.js.map → render-suggest-47b8bc70.js.map} +1 -1
  435. package/dist/esm/{store-5e68d7e0.js → store-7887c6b7.js} +2 -2
  436. package/dist/esm/{store-5e68d7e0.js.map → store-7887c6b7.js.map} +1 -1
  437. package/dist/esm/{utils-b9f4c3b4.js → utils-b8c6bdd1.js} +8 -2
  438. package/dist/esm/utils-b8c6bdd1.js.map +1 -0
  439. package/dist/esm/utils-ea89d74e.js +131 -0
  440. package/dist/esm/utils-ea89d74e.js.map +1 -0
  441. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
  442. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  443. package/dist/genexus-ide-ui/icon-assets/bpm/arrows.svg +1 -1
  444. package/dist/genexus-ide-ui/icon-assets/bpm/cancel-2.svg +1 -1
  445. package/dist/genexus-ide-ui/icon-assets/bpm/cancel-4.svg +1 -1
  446. package/dist/genexus-ide-ui/icon-assets/bpm/compensation-1.svg +1 -1
  447. package/dist/genexus-ide-ui/icon-assets/bpm/compensation-2.svg +1 -1
  448. package/dist/genexus-ide-ui/icon-assets/bpm/compensation-3.svg +1 -1
  449. package/dist/genexus-ide-ui/icon-assets/bpm/compensation-4.svg +1 -1
  450. package/dist/genexus-ide-ui/icon-assets/bpm/conditional-1.svg +1 -1
  451. package/dist/genexus-ide-ui/icon-assets/bpm/conditional-2.svg +1 -1
  452. package/dist/genexus-ide-ui/icon-assets/bpm/conditional-5.svg +1 -1
  453. package/dist/genexus-ide-ui/icon-assets/bpm/conditional-6.svg +1 -1
  454. package/dist/genexus-ide-ui/icon-assets/bpm/conditional.svg +1 -1
  455. package/dist/genexus-ide-ui/icon-assets/bpm/delete.svg +1 -1
  456. package/dist/genexus-ide-ui/icon-assets/bpm/error-1.svg +1 -1
  457. package/dist/genexus-ide-ui/icon-assets/bpm/error-2.svg +1 -1
  458. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-1.svg +1 -1
  459. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-2.svg +1 -1
  460. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-3.svg +1 -1
  461. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-4.svg +1 -1
  462. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-5.svg +1 -1
  463. package/dist/genexus-ide-ui/icon-assets/bpm/escalation-6.svg +1 -1
  464. package/dist/genexus-ide-ui/icon-assets/bpm/link-3.svg +1 -1
  465. package/dist/genexus-ide-ui/icon-assets/bpm/link-4.svg +1 -1
  466. package/dist/genexus-ide-ui/icon-assets/bpm/message-1.svg +1 -1
  467. package/dist/genexus-ide-ui/icon-assets/bpm/message-2.svg +1 -1
  468. package/dist/genexus-ide-ui/icon-assets/bpm/message-3.svg +1 -1
  469. package/dist/genexus-ide-ui/icon-assets/bpm/message-4.svg +1 -1
  470. package/dist/genexus-ide-ui/icon-assets/bpm/message-5.svg +1 -1
  471. package/dist/genexus-ide-ui/icon-assets/bpm/message-6.svg +1 -1
  472. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-1.svg +1 -1
  473. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-2.svg +1 -1
  474. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-3.svg +1 -1
  475. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-4.svg +1 -1
  476. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-5.svg +1 -1
  477. package/dist/genexus-ide-ui/icon-assets/bpm/multiple-6.svg +1 -1
  478. package/dist/genexus-ide-ui/icon-assets/bpm/oval-doble.svg +1 -1
  479. package/dist/genexus-ide-ui/icon-assets/bpm/oval.svg +1 -1
  480. package/dist/genexus-ide-ui/icon-assets/bpm/paralell-1.svg +1 -1
  481. package/dist/genexus-ide-ui/icon-assets/bpm/paralell-2.svg +1 -1
  482. package/dist/genexus-ide-ui/icon-assets/bpm/paralell-3.svg +1 -1
  483. package/dist/genexus-ide-ui/icon-assets/bpm/paralell-4.svg +1 -1
  484. package/dist/genexus-ide-ui/icon-assets/bpm/person.svg +1 -1
  485. package/dist/genexus-ide-ui/icon-assets/bpm/signal-1.svg +1 -1
  486. package/dist/genexus-ide-ui/icon-assets/bpm/signal-2.svg +1 -1
  487. package/dist/genexus-ide-ui/icon-assets/bpm/signal-3.svg +1 -1
  488. package/dist/genexus-ide-ui/icon-assets/bpm/signal-4.svg +1 -1
  489. package/dist/genexus-ide-ui/icon-assets/bpm/signal-5.svg +1 -1
  490. package/dist/genexus-ide-ui/icon-assets/bpm/signal-6.svg +1 -1
  491. package/dist/genexus-ide-ui/icon-assets/bpm/subprocess.svg +1 -1
  492. package/dist/genexus-ide-ui/icon-assets/bpm/tasks.svg +1 -1
  493. package/dist/genexus-ide-ui/icon-assets/bpm/terminale-4.svg +1 -1
  494. package/dist/genexus-ide-ui/icon-assets/bpm/timer-1.svg +1 -1
  495. package/dist/genexus-ide-ui/icon-assets/bpm/timer-2.svg +1 -1
  496. package/dist/genexus-ide-ui/icon-assets/bpm/timer-5.svg +1 -1
  497. package/dist/genexus-ide-ui/icon-assets/bpm/timer-6.svg +1 -1
  498. package/dist/genexus-ide-ui/icon-assets/controls/action-group-item.svg +1 -1
  499. package/dist/genexus-ide-ui/icon-assets/controls/action-group.svg +1 -1
  500. package/dist/genexus-ide-ui/icon-assets/controls/button-group.svg +1 -1
  501. package/dist/genexus-ide-ui/icon-assets/controls/button.svg +1 -1
  502. package/dist/genexus-ide-ui/icon-assets/controls/call-target.svg +1 -1
  503. package/dist/genexus-ide-ui/icon-assets/controls/canva.svg +1 -1
  504. package/dist/genexus-ide-ui/icon-assets/controls/class-html.svg +1 -1
  505. package/dist/genexus-ide-ui/icon-assets/controls/component.svg +1 -1
  506. package/dist/genexus-ide-ui/icon-assets/controls/default.svg +1 -1
  507. package/dist/genexus-ide-ui/icon-assets/controls/embedded-page.svg +1 -1
  508. package/dist/genexus-ide-ui/icon-assets/controls/error-viewer.svg +1 -1
  509. package/dist/genexus-ide-ui/icon-assets/controls/file-upload.svg +1 -1
  510. package/dist/genexus-ide-ui/icon-assets/controls/flex.svg +1 -1
  511. package/dist/genexus-ide-ui/icon-assets/controls/font.svg +1 -1
  512. package/dist/genexus-ide-ui/icon-assets/controls/free-style-grid.svg +1 -1
  513. package/dist/genexus-ide-ui/icon-assets/controls/google-analytics.svg +1 -1
  514. package/dist/genexus-ide-ui/icon-assets/controls/google-annotated-tmeline.svg +1 -1
  515. package/dist/genexus-ide-ui/icon-assets/controls/google-charts.svg +1 -1
  516. package/dist/genexus-ide-ui/icon-assets/controls/google-geomap.svg +1 -1
  517. package/dist/genexus-ide-ui/icon-assets/controls/grid.svg +1 -1
  518. package/dist/genexus-ide-ui/icon-assets/controls/group.svg +1 -1
  519. package/dist/genexus-ide-ui/icon-assets/controls/gx-scheduler.svg +1 -1
  520. package/dist/genexus-ide-ui/icon-assets/controls/history-manager.svg +1 -1
  521. package/dist/genexus-ide-ui/icon-assets/controls/horizontal-line.svg +1 -1
  522. package/dist/genexus-ide-ui/icon-assets/controls/html.svg +1 -1
  523. package/dist/genexus-ide-ui/icon-assets/controls/hyperlink.svg +1 -1
  524. package/dist/genexus-ide-ui/icon-assets/controls/id-html.svg +1 -1
  525. package/dist/genexus-ide-ui/icon-assets/controls/media-player.svg +1 -1
  526. package/dist/genexus-ide-ui/icon-assets/controls/messages.svg +1 -1
  527. package/dist/genexus-ide-ui/icon-assets/controls/pop-up.svg +1 -1
  528. package/dist/genexus-ide-ui/icon-assets/controls/section.svg +1 -1
  529. package/dist/genexus-ide-ui/icon-assets/controls/smart-table.svg +1 -1
  530. package/dist/genexus-ide-ui/icon-assets/controls/snippet.svg +1 -1
  531. package/dist/genexus-ide-ui/icon-assets/controls/tab-page.svg +1 -1
  532. package/dist/genexus-ide-ui/icon-assets/controls/tab.svg +1 -1
  533. package/dist/genexus-ide-ui/icon-assets/controls/table-cell.svg +1 -1
  534. package/dist/genexus-ide-ui/icon-assets/controls/table-column.svg +1 -1
  535. package/dist/genexus-ide-ui/icon-assets/controls/table-row.svg +1 -1
  536. package/dist/genexus-ide-ui/icon-assets/controls/table.svg +1 -1
  537. package/dist/genexus-ide-ui/icon-assets/controls/tag-html.svg +1 -1
  538. package/dist/genexus-ide-ui/icon-assets/controls/text-block.svg +1 -1
  539. package/dist/genexus-ide-ui/icon-assets/controls/treeview.svg +1 -1
  540. package/dist/genexus-ide-ui/icon-assets/controls/variable.svg +1 -1
  541. package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-description.svg +1 -1
  542. package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-formula.svg +1 -1
  543. package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-key.svg +1 -1
  544. package/dist/genexus-ide-ui/icon-assets/editing-structures/default.svg +1 -1
  545. package/dist/genexus-ide-ui/icon-assets/editing-structures/platforms.svg +1 -1
  546. package/dist/genexus-ide-ui/icon-assets/editing-structures/redundant-attribute.svg +1 -1
  547. package/dist/genexus-ide-ui/icon-assets/editing-structures/system-index.svg +1 -1
  548. package/dist/genexus-ide-ui/icon-assets/editing-structures/user-index.svg +1 -1
  549. package/dist/genexus-ide-ui/icon-assets/gemini-tools/add-circle.svg +1 -1
  550. package/dist/genexus-ide-ui/icon-assets/gemini-tools/add.svg +1 -1
  551. package/dist/genexus-ide-ui/icon-assets/gemini-tools/card-view.svg +1 -1
  552. package/dist/genexus-ide-ui/icon-assets/gemini-tools/close.svg +1 -1
  553. package/dist/genexus-ide-ui/icon-assets/gemini-tools/color-picker.svg +1 -1
  554. package/dist/genexus-ide-ui/icon-assets/gemini-tools/delete.svg +1 -1
  555. package/dist/genexus-ide-ui/icon-assets/gemini-tools/deleted.svg +1 -1
  556. package/dist/genexus-ide-ui/icon-assets/gemini-tools/download.svg +1 -1
  557. package/dist/genexus-ide-ui/icon-assets/gemini-tools/duplicate.svg +1 -1
  558. package/dist/genexus-ide-ui/icon-assets/gemini-tools/edit-wand.svg +1 -1
  559. package/dist/genexus-ide-ui/icon-assets/gemini-tools/empty.svg +1 -1
  560. package/dist/genexus-ide-ui/icon-assets/gemini-tools/error.svg +1 -1
  561. package/dist/genexus-ide-ui/icon-assets/gemini-tools/file.svg +1 -1
  562. package/dist/genexus-ide-ui/icon-assets/gemini-tools/flow-arrow.svg +1 -1
  563. package/dist/genexus-ide-ui/icon-assets/gemini-tools/folder.svg +1 -1
  564. package/dist/genexus-ide-ui/icon-assets/gemini-tools/list-view.svg +1 -1
  565. package/dist/genexus-ide-ui/icon-assets/gemini-tools/minus-circle.svg +1 -1
  566. package/dist/genexus-ide-ui/icon-assets/gemini-tools/minus.svg +1 -1
  567. package/dist/genexus-ide-ui/icon-assets/gemini-tools/more-info.svg +1 -1
  568. package/dist/genexus-ide-ui/icon-assets/gemini-tools/notice.svg +1 -1
  569. package/dist/genexus-ide-ui/icon-assets/gemini-tools/open-window.svg +1 -1
  570. package/dist/genexus-ide-ui/icon-assets/gemini-tools/read-only.svg +1 -1
  571. package/dist/genexus-ide-ui/icon-assets/gemini-tools/reset.svg +1 -1
  572. package/dist/genexus-ide-ui/icon-assets/gemini-tools/search.svg +1 -1
  573. package/dist/genexus-ide-ui/icon-assets/gemini-tools/show-more-horizontal.svg +1 -1
  574. package/dist/genexus-ide-ui/icon-assets/gemini-tools/show-more-vertical.svg +1 -1
  575. package/dist/genexus-ide-ui/icon-assets/gemini-tools/success.svg +1 -1
  576. package/dist/genexus-ide-ui/icon-assets/gemini-tools/warning.svg +1 -1
  577. package/dist/genexus-ide-ui/icon-assets/general/android.svg +1 -1
  578. package/dist/genexus-ide-ui/icon-assets/general/angular.svg +1 -1
  579. package/dist/genexus-ide-ui/icon-assets/general/apple.svg +1 -1
  580. package/dist/genexus-ide-ui/icon-assets/general/csharp.svg +1 -1
  581. package/dist/genexus-ide-ui/icon-assets/general/customization.svg +1 -1
  582. package/dist/genexus-ide-ui/icon-assets/general/datastore.svg +1 -1
  583. package/dist/genexus-ide-ui/icon-assets/general/db2.svg +1 -1
  584. package/dist/genexus-ide-ui/icon-assets/general/environment-no-select.svg +1 -1
  585. package/dist/genexus-ide-ui/icon-assets/general/environment-select.svg +1 -1
  586. package/dist/genexus-ide-ui/icon-assets/general/generator.svg +1 -1
  587. package/dist/genexus-ide-ui/icon-assets/general/informix.svg +1 -1
  588. package/dist/genexus-ide-ui/icon-assets/general/java.svg +1 -1
  589. package/dist/genexus-ide-ui/icon-assets/general/knowledge-base.svg +1 -1
  590. package/dist/genexus-ide-ui/icon-assets/general/mysql.svg +1 -1
  591. package/dist/genexus-ide-ui/icon-assets/general/oracle.svg +1 -1
  592. package/dist/genexus-ide-ui/icon-assets/general/patterns.svg +1 -1
  593. package/dist/genexus-ide-ui/icon-assets/general/postgre-sql.svg +1 -1
  594. package/dist/genexus-ide-ui/icon-assets/general/references.svg +1 -1
  595. package/dist/genexus-ide-ui/icon-assets/general/sap-hana.svg +1 -1
  596. package/dist/genexus-ide-ui/icon-assets/general/sd-web.svg +1 -1
  597. package/dist/genexus-ide-ui/icon-assets/general/sd.svg +1 -1
  598. package/dist/genexus-ide-ui/icon-assets/general/services.svg +1 -1
  599. package/dist/genexus-ide-ui/icon-assets/general/sql-server.svg +1 -1
  600. package/dist/genexus-ide-ui/icon-assets/general/swift.svg +1 -1
  601. package/dist/genexus-ide-ui/icon-assets/general/version.svg +1 -1
  602. package/dist/genexus-ide-ui/icon-assets/gx-server/changes-commit-pending.svg +1 -1
  603. package/dist/genexus-ide-ui/icon-assets/gx-server/conflict.svg +1 -1
  604. package/dist/genexus-ide-ui/icon-assets/gx-server/delete.svg +1 -1
  605. package/dist/genexus-ide-ui/icon-assets/gx-server/internal.svg +1 -1
  606. package/dist/genexus-ide-ui/icon-assets/gx-server/lock-by-user-changes.svg +1 -1
  607. package/dist/genexus-ide-ui/icon-assets/gx-server/lock-by-user-reserve.svg +1 -1
  608. package/dist/genexus-ide-ui/icon-assets/gx-server/lock-without-changes.svg +1 -1
  609. package/dist/genexus-ide-ui/icon-assets/gx-server/new.svg +1 -1
  610. package/dist/genexus-ide-ui/icon-assets/gx-server/private.svg +1 -1
  611. package/dist/genexus-ide-ui/icon-assets/gx-server/public.svg +1 -1
  612. package/dist/genexus-ide-ui/icon-assets/gx-test/cutfo.svg +1 -1
  613. package/dist/genexus-ide-ui/icon-assets/gx-test/explorer.svg +1 -1
  614. package/dist/genexus-ide-ui/icon-assets/gx-test/image.svg +1 -1
  615. package/dist/genexus-ide-ui/icon-assets/gx-test/plus.svg +1 -1
  616. package/dist/genexus-ide-ui/icon-assets/gx-test/record-mock.svg +1 -1
  617. package/dist/genexus-ide-ui/icon-assets/gx-test/result-error.svg +1 -1
  618. package/dist/genexus-ide-ui/icon-assets/gx-test/result-exception.svg +1 -1
  619. package/dist/genexus-ide-ui/icon-assets/gx-test/result-ok.svg +1 -1
  620. package/dist/genexus-ide-ui/icon-assets/gx-test/result-skipped.svg +1 -1
  621. package/dist/genexus-ide-ui/icon-assets/gx-test/result-warning.svg +1 -1
  622. package/dist/genexus-ide-ui/icon-assets/gx-test/run-test-cancel.svg +1 -1
  623. package/dist/genexus-ide-ui/icon-assets/gx-test/run-test-suite.svg +1 -1
  624. package/dist/genexus-ide-ui/icon-assets/gx-test/run-tests.svg +1 -1
  625. package/dist/genexus-ide-ui/icon-assets/gx-test/run-ui-test-sd.svg +1 -1
  626. package/dist/genexus-ide-ui/icon-assets/gx-test/run-ui-test-web.svg +1 -1
  627. package/dist/genexus-ide-ui/icon-assets/gx-test/run-unit-test.svg +1 -1
  628. package/dist/genexus-ide-ui/icon-assets/gx-test/screenshot-viewer.svg +1 -1
  629. package/dist/genexus-ide-ui/icon-assets/gx-test/test-folder-open.svg +1 -1
  630. package/dist/genexus-ide-ui/icon-assets/gx-test/test-folder.svg +1 -1
  631. package/dist/genexus-ide-ui/icon-assets/gx-test/test-results.svg +1 -1
  632. package/dist/genexus-ide-ui/icon-assets/gx-test/test-suite.svg +1 -1
  633. package/dist/genexus-ide-ui/icon-assets/gx-test/ui-test-sd.svg +1 -1
  634. package/dist/genexus-ide-ui/icon-assets/gx-test/ui-test-web.svg +1 -1
  635. package/dist/genexus-ide-ui/icon-assets/gx-test/unit-test-db.svg +1 -1
  636. package/dist/genexus-ide-ui/icon-assets/gx-test/unit-test.svg +1 -1
  637. package/dist/genexus-ide-ui/icon-assets/menus/build-all.svg +1 -1
  638. package/dist/genexus-ide-ui/icon-assets/menus/build.svg +1 -1
  639. package/dist/genexus-ide-ui/icon-assets/menus/cancel-build.svg +1 -1
  640. package/dist/genexus-ide-ui/icon-assets/menus/copy.svg +1 -1
  641. package/dist/genexus-ide-ui/icon-assets/menus/create-database-tables.svg +1 -1
  642. package/dist/genexus-ide-ui/icon-assets/menus/cut.svg +1 -1
  643. package/dist/genexus-ide-ui/icon-assets/menus/delete.svg +1 -1
  644. package/dist/genexus-ide-ui/icon-assets/menus/find.svg +1 -1
  645. package/dist/genexus-ide-ui/icon-assets/menus/new-object.svg +1 -1
  646. package/dist/genexus-ide-ui/icon-assets/menus/open-object.svg +1 -1
  647. package/dist/genexus-ide-ui/icon-assets/menus/paste.svg +1 -1
  648. package/dist/genexus-ide-ui/icon-assets/menus/properties.svg +1 -1
  649. package/dist/genexus-ide-ui/icon-assets/menus/redo.svg +1 -1
  650. package/dist/genexus-ide-ui/icon-assets/menus/run.svg +1 -1
  651. package/dist/genexus-ide-ui/icon-assets/menus/save-all.svg +1 -1
  652. package/dist/genexus-ide-ui/icon-assets/menus/save.svg +1 -1
  653. package/dist/genexus-ide-ui/icon-assets/menus/undo-close-object.svg +1 -1
  654. package/dist/genexus-ide-ui/icon-assets/menus/undo.svg +1 -1
  655. package/dist/genexus-ide-ui/icon-assets/navigation/arrow-down-skyblue.svg +1 -1
  656. package/dist/genexus-ide-ui/icon-assets/navigation/arrow-down.svg +1 -1
  657. package/dist/genexus-ide-ui/icon-assets/navigation/arrow-left.svg +1 -1
  658. package/dist/genexus-ide-ui/icon-assets/navigation/arrow-right.svg +1 -1
  659. package/dist/genexus-ide-ui/icon-assets/navigation/arrow-up.svg +1 -1
  660. package/dist/genexus-ide-ui/icon-assets/navigation/bullet.svg +1 -1
  661. package/dist/genexus-ide-ui/icon-assets/navigation/chevron-down.svg +1 -1
  662. package/dist/genexus-ide-ui/icon-assets/navigation/chevron-left.svg +1 -1
  663. package/dist/genexus-ide-ui/icon-assets/navigation/chevron-right.svg +1 -1
  664. package/dist/genexus-ide-ui/icon-assets/navigation/chevron-up.svg +1 -1
  665. package/dist/genexus-ide-ui/icon-assets/navigation/drag.svg +1 -1
  666. package/dist/genexus-ide-ui/icon-assets/navigation/gx-arrow-right.svg +1 -1
  667. package/dist/genexus-ide-ui/icon-assets/navigation/level-down.svg +1 -1
  668. package/dist/genexus-ide-ui/icon-assets/navigation/level-up.svg +1 -1
  669. package/dist/genexus-ide-ui/icon-assets/navigation/pill-filled.svg +1 -1
  670. package/dist/genexus-ide-ui/icon-assets/navigation/pill-outlined.svg +1 -1
  671. package/dist/genexus-ide-ui/icon-assets/objects/api.svg +1 -1
  672. package/dist/genexus-ide-ui/icon-assets/objects/attribute.svg +1 -1
  673. package/dist/genexus-ide-ui/icon-assets/objects/bg-color.svg +1 -1
  674. package/dist/genexus-ide-ui/icon-assets/objects/business-process-diagram.svg +1 -1
  675. package/dist/genexus-ide-ui/icon-assets/objects/calendars.svg +1 -1
  676. package/dist/genexus-ide-ui/icon-assets/objects/category.svg +1 -1
  677. package/dist/genexus-ide-ui/icon-assets/objects/conversational-flows.svg +1 -1
  678. package/dist/genexus-ide-ui/icon-assets/objects/customization.svg +1 -1
  679. package/dist/genexus-ide-ui/icon-assets/objects/dashboard.svg +1 -1
  680. package/dist/genexus-ide-ui/icon-assets/objects/data-provider.svg +1 -1
  681. package/dist/genexus-ide-ui/icon-assets/objects/data-selector.svg +1 -1
  682. package/dist/genexus-ide-ui/icon-assets/objects/data-view.svg +1 -1
  683. package/dist/genexus-ide-ui/icon-assets/objects/datastore-category.svg +1 -1
  684. package/dist/genexus-ide-ui/icon-assets/objects/datastore.svg +1 -1
  685. package/dist/genexus-ide-ui/icon-assets/objects/dataview-index.svg +1 -1
  686. package/dist/genexus-ide-ui/icon-assets/objects/deployment-unit.svg +1 -1
  687. package/dist/genexus-ide-ui/icon-assets/objects/design.svg +1 -1
  688. package/dist/genexus-ide-ui/icon-assets/objects/diagram.svg +1 -1
  689. package/dist/genexus-ide-ui/icon-assets/objects/document-workflow.svg +1 -1
  690. package/dist/genexus-ide-ui/icon-assets/objects/document.svg +1 -1
  691. package/dist/genexus-ide-ui/icon-assets/objects/domain.svg +1 -1
  692. package/dist/genexus-ide-ui/icon-assets/objects/dso.svg +1 -1
  693. package/dist/genexus-ide-ui/icon-assets/objects/environment-no-select.svg +1 -1
  694. package/dist/genexus-ide-ui/icon-assets/objects/environment-select.svg +1 -1
  695. package/dist/genexus-ide-ui/icon-assets/objects/external-object.svg +1 -1
  696. package/dist/genexus-ide-ui/icon-assets/objects/file.svg +1 -1
  697. package/dist/genexus-ide-ui/icon-assets/objects/folder.svg +1 -1
  698. package/dist/genexus-ide-ui/icon-assets/objects/generator-category.svg +1 -1
  699. package/dist/genexus-ide-ui/icon-assets/objects/generator.svg +1 -1
  700. package/dist/genexus-ide-ui/icon-assets/objects/image.svg +1 -1
  701. package/dist/genexus-ide-ui/icon-assets/objects/knowledge-base.svg +1 -1
  702. package/dist/genexus-ide-ui/icon-assets/objects/lenguage.svg +1 -1
  703. package/dist/genexus-ide-ui/icon-assets/objects/masterpage.svg +1 -1
  704. package/dist/genexus-ide-ui/icon-assets/objects/menu.svg +1 -1
  705. package/dist/genexus-ide-ui/icon-assets/objects/menubar.svg +1 -1
  706. package/dist/genexus-ide-ui/icon-assets/objects/mini-app.svg +1 -1
  707. package/dist/genexus-ide-ui/icon-assets/objects/module.svg +1 -1
  708. package/dist/genexus-ide-ui/icon-assets/objects/notification-templates.svg +1 -1
  709. package/dist/genexus-ide-ui/icon-assets/objects/object.svg +1 -1
  710. package/dist/genexus-ide-ui/icon-assets/objects/offline-database.svg +1 -1
  711. package/dist/genexus-ide-ui/icon-assets/objects/orphant-document.svg +1 -1
  712. package/dist/genexus-ide-ui/icon-assets/objects/panel-for-sd.svg +1 -1
  713. package/dist/genexus-ide-ui/icon-assets/objects/patterns.svg +1 -1
  714. package/dist/genexus-ide-ui/icon-assets/objects/procedure.svg +1 -1
  715. package/dist/genexus-ide-ui/icon-assets/objects/query.svg +1 -1
  716. package/dist/genexus-ide-ui/icon-assets/objects/references.svg +1 -1
  717. package/dist/genexus-ide-ui/icon-assets/objects/report.svg +1 -1
  718. package/dist/genexus-ide-ui/icon-assets/objects/roles.svg +1 -1
  719. package/dist/genexus-ide-ui/icon-assets/objects/stencil.svg +1 -1
  720. package/dist/genexus-ide-ui/icon-assets/objects/structured-data-type.svg +1 -1
  721. package/dist/genexus-ide-ui/icon-assets/objects/subtype-group.svg +1 -1
  722. package/dist/genexus-ide-ui/icon-assets/objects/super-app.svg +1 -1
  723. package/dist/genexus-ide-ui/icon-assets/objects/table.svg +1 -1
  724. package/dist/genexus-ide-ui/icon-assets/objects/theme-for-sd.svg +1 -1
  725. package/dist/genexus-ide-ui/icon-assets/objects/theme.svg +1 -1
  726. package/dist/genexus-ide-ui/icon-assets/objects/to-be-defined.svg +1 -1
  727. package/dist/genexus-ide-ui/icon-assets/objects/transaction.svg +1 -1
  728. package/dist/genexus-ide-ui/icon-assets/objects/url-rewrite.svg +1 -1
  729. package/dist/genexus-ide-ui/icon-assets/objects/version.svg +1 -1
  730. package/dist/genexus-ide-ui/icon-assets/objects/web-component.svg +1 -1
  731. package/dist/genexus-ide-ui/icon-assets/objects/webpanel.svg +1 -1
  732. package/dist/genexus-ide-ui/icon-assets/objects/work-panel.svg +1 -1
  733. package/dist/genexus-ide-ui/icon-assets/objects/workflow.svg +1 -1
  734. package/dist/genexus-ide-ui/icon-assets/objects-parts/condition.svg +1 -1
  735. package/dist/genexus-ide-ui/icon-assets/objects-parts/conditions.svg +1 -1
  736. package/dist/genexus-ide-ui/icon-assets/objects-parts/events.svg +1 -1
  737. package/dist/genexus-ide-ui/icon-assets/objects-parts/rules.svg +1 -1
  738. package/dist/genexus-ide-ui/icon-assets/objects-parts/variables.svg +1 -1
  739. package/dist/genexus-ide-ui/icon-assets/patterns/attributes.svg +1 -1
  740. package/dist/genexus-ide-ui/icon-assets/patterns/cell.svg +1 -1
  741. package/dist/genexus-ide-ui/icon-assets/patterns/detail.svg +1 -1
  742. package/dist/genexus-ide-ui/icon-assets/patterns/documentation.svg +1 -1
  743. package/dist/genexus-ide-ui/icon-assets/patterns/events.svg +1 -1
  744. package/dist/genexus-ide-ui/icon-assets/patterns/filters.svg +1 -1
  745. package/dist/genexus-ide-ui/icon-assets/patterns/fixed-data.svg +1 -1
  746. package/dist/genexus-ide-ui/icon-assets/patterns/list.svg +1 -1
  747. package/dist/genexus-ide-ui/icon-assets/patterns/orders.svg +1 -1
  748. package/dist/genexus-ide-ui/icon-assets/patterns/parameter.svg +1 -1
  749. package/dist/genexus-ide-ui/icon-assets/patterns/parameters.svg +1 -1
  750. package/dist/genexus-ide-ui/icon-assets/patterns/pattern-category.svg +1 -1
  751. package/dist/genexus-ide-ui/icon-assets/patterns/row.svg +1 -1
  752. package/dist/genexus-ide-ui/icon-assets/patterns/structure.svg +1 -1
  753. package/dist/genexus-ide-ui/icon-assets/patterns/tab.svg +1 -1
  754. package/dist/genexus-ide-ui/icon-assets/patterns/tabs.svg +1 -1
  755. package/dist/genexus-ide-ui/icon-assets/patterns/work-with-web.svg +1 -1
  756. package/dist/genexus-ide-ui/icon-assets/patterns/workwith-for-sd.svg +1 -1
  757. package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/default-associated.svg +1 -1
  758. package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/modified.svg +1 -1
  759. package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/synchronized.svg +1 -1
  760. package/dist/genexus-ide-ui/icon-assets/window-tools/alphabetical-order.svg +1 -1
  761. package/dist/genexus-ide-ui/icon-assets/window-tools/backend.svg +1 -1
  762. package/dist/genexus-ide-ui/icon-assets/window-tools/breakpoints.svg +1 -1
  763. package/dist/genexus-ide-ui/icon-assets/window-tools/category-groups.svg +1 -1
  764. package/dist/genexus-ide-ui/icon-assets/window-tools/datastores.svg +1 -1
  765. package/dist/genexus-ide-ui/icon-assets/window-tools/debugx.svg +1 -1
  766. package/dist/genexus-ide-ui/icon-assets/window-tools/error-list.svg +1 -1
  767. package/dist/genexus-ide-ui/icon-assets/window-tools/filter-conditions.svg +1 -1
  768. package/dist/genexus-ide-ui/icon-assets/window-tools/filter.svg +1 -1
  769. package/dist/genexus-ide-ui/icon-assets/window-tools/frontend.svg +1 -1
  770. package/dist/genexus-ide-ui/icon-assets/window-tools/genexus-cloud.svg +1 -1
  771. package/dist/genexus-ide-ui/icon-assets/window-tools/history.svg +1 -1
  772. package/dist/genexus-ide-ui/icon-assets/window-tools/indexer-monitor.svg +1 -1
  773. package/dist/genexus-ide-ui/icon-assets/window-tools/kb-explorer.svg +1 -1
  774. package/dist/genexus-ide-ui/icon-assets/window-tools/last-changes-view.svg +1 -1
  775. package/dist/genexus-ide-ui/icon-assets/window-tools/logout.svg +1 -1
  776. package/dist/genexus-ide-ui/icon-assets/window-tools/output.svg +1 -1
  777. package/dist/genexus-ide-ui/icon-assets/window-tools/performance-test-objects.svg +1 -1
  778. package/dist/genexus-ide-ui/icon-assets/window-tools/preferences.svg +1 -1
  779. package/dist/genexus-ide-ui/icon-assets/window-tools/properties.svg +1 -1
  780. package/dist/genexus-ide-ui/icon-assets/window-tools/references.svg +1 -1
  781. package/dist/genexus-ide-ui/icon-assets/window-tools/responsive-sizes.svg +1 -1
  782. package/dist/genexus-ide-ui/icon-assets/window-tools/rol.svg +1 -1
  783. package/dist/genexus-ide-ui/icon-assets/window-tools/roles.svg +1 -1
  784. package/dist/genexus-ide-ui/icon-assets/window-tools/services.svg +1 -1
  785. package/dist/genexus-ide-ui/icon-assets/window-tools/teamdev.svg +1 -1
  786. package/dist/genexus-ide-ui/icon-assets/window-tools/toolbox.svg +1 -1
  787. package/dist/genexus-ide-ui/icon-assets/window-tools/watch.svg +1 -1
  788. package/dist/genexus-ide-ui/icon-assets/window-tools/work-with-attributes.svg +1 -1
  789. package/dist/genexus-ide-ui/icon-assets/window-tools/workflow-settings.svg +1 -1
  790. package/dist/genexus-ide-ui/icon-assets/window-tools/workflow.svg +1 -1
  791. package/dist/genexus-ide-ui/{p-4335d78d.entry.js → p-001372c2.entry.js} +3 -3
  792. package/dist/genexus-ide-ui/{p-8480a5f7.entry.js → p-038675b4.entry.js} +3 -3
  793. package/dist/genexus-ide-ui/{p-132f1a53.entry.js → p-04d751fa.entry.js} +4 -4
  794. package/dist/genexus-ide-ui/{p-de8ceb68.entry.js → p-06cdf966.entry.js} +2 -2
  795. package/dist/genexus-ide-ui/{p-6ac4aef1.entry.js → p-07f5e845.entry.js} +4 -4
  796. package/dist/genexus-ide-ui/{p-7bb7cdeb.js → p-08f45769.js} +2 -2
  797. package/dist/genexus-ide-ui/{p-1472c78f.js → p-099548f7.js} +2 -2
  798. package/dist/genexus-ide-ui/{p-c1b7bf2f.entry.js → p-0b3dfc86.entry.js} +2 -2
  799. package/dist/genexus-ide-ui/{p-3f035c0a.js → p-0c088e26.js} +2 -2
  800. package/dist/genexus-ide-ui/{p-a17d61be.entry.js → p-0c10e042.entry.js} +2 -2
  801. package/dist/genexus-ide-ui/{p-4d278798.entry.js → p-0d246e5b.entry.js} +2 -2
  802. package/dist/genexus-ide-ui/{p-aa670e68.entry.js → p-0f4cf364.entry.js} +2 -2
  803. package/dist/genexus-ide-ui/{p-bb341c47.entry.js → p-1023012c.entry.js} +4 -4
  804. package/dist/genexus-ide-ui/{p-04111560.entry.js → p-10c578a4.entry.js} +4 -4
  805. package/dist/genexus-ide-ui/{p-53e5df3b.entry.js → p-10ca43ee.entry.js} +2 -2
  806. package/dist/genexus-ide-ui/{p-a5c57b1d.entry.js → p-1538ac27.entry.js} +3 -3
  807. package/dist/genexus-ide-ui/{p-024533a2.entry.js → p-1564762f.entry.js} +2 -2
  808. package/dist/genexus-ide-ui/{p-f28d7f68.entry.js → p-15781838.entry.js} +2 -2
  809. package/dist/genexus-ide-ui/{p-637a5168.entry.js → p-18e48464.entry.js} +2 -2
  810. package/dist/genexus-ide-ui/{p-fe6cf49e.entry.js → p-1964e138.entry.js} +3 -3
  811. package/dist/genexus-ide-ui/{p-3174871a.entry.js → p-1a297683.entry.js} +2 -2
  812. package/dist/genexus-ide-ui/{p-86ee3387.entry.js → p-208041b8.entry.js} +3 -3
  813. package/dist/genexus-ide-ui/{p-8b08f173.entry.js → p-25220e28.entry.js} +17 -26
  814. package/dist/genexus-ide-ui/{p-8b08f173.entry.js.map → p-25220e28.entry.js.map} +1 -1
  815. package/dist/genexus-ide-ui/{p-4520e2a2.entry.js → p-28a6ab9a.entry.js} +2 -2
  816. package/dist/genexus-ide-ui/{p-7e79f920.entry.js → p-2a6f5aba.entry.js} +3 -3
  817. package/dist/genexus-ide-ui/{p-5f89e42d.entry.js → p-2e0a1960.entry.js} +2 -2
  818. package/dist/genexus-ide-ui/{p-c5df7133.entry.js → p-30b7297d.entry.js} +2 -2
  819. package/dist/genexus-ide-ui/{p-6548d418.entry.js → p-352e2c20.entry.js} +2 -2
  820. package/dist/genexus-ide-ui/{p-1117db17.entry.js → p-36ff173f.entry.js} +9 -9
  821. package/dist/genexus-ide-ui/{p-159a5a60.entry.js → p-37ce39e3.entry.js} +2 -2
  822. package/dist/genexus-ide-ui/{p-942233fc.entry.js → p-3ae7428e.entry.js} +2 -2
  823. package/dist/genexus-ide-ui/{p-8518f9f5.entry.js → p-3aed87e1.entry.js} +2 -2
  824. package/dist/genexus-ide-ui/{p-444e50ee.entry.js → p-3c2357cf.entry.js} +5 -5
  825. package/dist/genexus-ide-ui/p-3d131f61.entry.js +1428 -0
  826. package/dist/genexus-ide-ui/p-3d131f61.entry.js.map +1 -0
  827. package/dist/genexus-ide-ui/{p-04adc77d.entry.js → p-3ddac2b8.entry.js} +2 -2
  828. package/dist/genexus-ide-ui/{p-f5e5b21e.entry.js → p-3f0b6af7.entry.js} +2 -2
  829. package/dist/genexus-ide-ui/{p-0604bbee.entry.js → p-40c3529a.entry.js} +4 -4
  830. package/dist/genexus-ide-ui/{p-a4d5d277.entry.js → p-43554153.entry.js} +2 -2
  831. package/dist/genexus-ide-ui/{p-d4b165db.entry.js → p-43ffe165.entry.js} +2 -2
  832. package/dist/genexus-ide-ui/{p-92f45796.entry.js → p-47bcd3a6.entry.js} +2 -2
  833. package/dist/genexus-ide-ui/{p-57137c83.entry.js → p-4b9b3e4e.entry.js} +2 -2
  834. package/dist/genexus-ide-ui/p-4c12ed5a.entry.js +1085 -0
  835. package/dist/genexus-ide-ui/p-4c12ed5a.entry.js.map +1 -0
  836. package/dist/genexus-ide-ui/{p-96a559ce.entry.js → p-4f376659.entry.js} +4 -4
  837. package/dist/genexus-ide-ui/{p-71298dc8.entry.js → p-4f3c94c4.entry.js} +2 -2
  838. package/dist/genexus-ide-ui/p-4f3c94c4.entry.js.map +1 -0
  839. package/dist/genexus-ide-ui/{p-479de27c.entry.js → p-4f6eaae0.entry.js} +2 -2
  840. package/dist/genexus-ide-ui/{p-b78719d3.js → p-5028570f.js} +2 -2
  841. package/dist/genexus-ide-ui/{p-9c1fa094.entry.js → p-51c8754e.entry.js} +3 -3
  842. package/dist/genexus-ide-ui/{p-780a3309.entry.js → p-51e1d34e.entry.js} +2 -2
  843. package/dist/genexus-ide-ui/{p-f974b905.entry.js → p-5201a218.entry.js} +3 -3
  844. package/dist/genexus-ide-ui/{p-e2537609.entry.js → p-529d5f14.entry.js} +3 -3
  845. package/dist/genexus-ide-ui/{p-5cc59da8.entry.js → p-54975e06.entry.js} +2 -2
  846. package/dist/genexus-ide-ui/{p-6281ca3e.entry.js → p-57978bf3.entry.js} +2 -2
  847. package/dist/genexus-ide-ui/{p-7f782726.entry.js → p-5a5e9459.entry.js} +2 -2
  848. package/dist/genexus-ide-ui/{p-5cec37bc.entry.js → p-5b2f8741.entry.js} +2 -2
  849. package/dist/genexus-ide-ui/{p-2cdf5c87.entry.js → p-5c0d6f9b.entry.js} +2 -2
  850. package/dist/genexus-ide-ui/{p-3149e6f2.entry.js → p-5e4b2563.entry.js} +2 -2
  851. package/dist/genexus-ide-ui/p-5f671d1f.js +9 -0
  852. package/dist/genexus-ide-ui/p-5f671d1f.js.map +1 -0
  853. package/dist/genexus-ide-ui/{p-7b60fc65.entry.js → p-603800f2.entry.js} +3 -3
  854. package/dist/genexus-ide-ui/{p-ea80da25.entry.js → p-61fa38a0.entry.js} +2 -2
  855. package/dist/genexus-ide-ui/{p-0c1ef5eb.entry.js → p-642aff55.entry.js} +2 -2
  856. package/dist/genexus-ide-ui/{p-62caab49.entry.js → p-64848f25.entry.js} +5 -5
  857. package/dist/genexus-ide-ui/{p-f3a99271.entry.js → p-64cdf586.entry.js} +2 -2
  858. package/dist/genexus-ide-ui/{p-23277761.entry.js → p-6511f892.entry.js} +3 -3
  859. package/dist/genexus-ide-ui/{p-99f5be87.entry.js → p-651ca405.entry.js} +2 -2
  860. package/dist/genexus-ide-ui/{p-547656dd.entry.js → p-66730660.entry.js} +2 -2
  861. package/dist/genexus-ide-ui/{p-4a0316b9.entry.js → p-6846e080.entry.js} +2 -2
  862. package/dist/genexus-ide-ui/{p-1d606552.entry.js → p-6889dc5c.entry.js} +2 -2
  863. package/dist/genexus-ide-ui/{p-e47bba0e.entry.js → p-69837f5a.entry.js} +2 -2
  864. package/dist/genexus-ide-ui/p-6b66ce90.entry.js +17 -0
  865. package/dist/genexus-ide-ui/{p-95c85944.js → p-6bfe0db9.js} +2 -2
  866. package/dist/genexus-ide-ui/{p-2a3af5ac.entry.js → p-6e05bc89.entry.js} +3 -3
  867. package/dist/genexus-ide-ui/{p-04d6cd2d.entry.js → p-730a90b0.entry.js} +2 -2
  868. package/dist/genexus-ide-ui/{p-a94a20a4.entry.js → p-73269d9d.entry.js} +5 -5
  869. package/dist/genexus-ide-ui/{p-2e3e48f6.entry.js → p-73a078e2.entry.js} +551 -497
  870. package/dist/genexus-ide-ui/p-73a078e2.entry.js.map +1 -0
  871. package/dist/genexus-ide-ui/{p-8d8d2e4c.entry.js → p-75dde376.entry.js} +2 -2
  872. package/dist/genexus-ide-ui/{p-11225a5a.entry.js → p-7692f269.entry.js} +2 -2
  873. package/dist/genexus-ide-ui/{p-e4c542c6.js → p-7c350e3f.js} +2 -2
  874. package/dist/genexus-ide-ui/{p-635dacc5.entry.js → p-7c7c26ab.entry.js} +384 -368
  875. package/dist/genexus-ide-ui/p-7c7c26ab.entry.js.map +1 -0
  876. package/dist/genexus-ide-ui/{p-97baa2a4.entry.js → p-7c8e949f.entry.js} +7 -7
  877. package/dist/genexus-ide-ui/{p-97baa2a4.entry.js.map → p-7c8e949f.entry.js.map} +1 -1
  878. package/dist/genexus-ide-ui/{p-2edf390a.entry.js → p-7da9797d.entry.js} +3 -3
  879. package/dist/genexus-ide-ui/{p-d5d95242.entry.js → p-7e66544c.entry.js} +2 -2
  880. package/dist/genexus-ide-ui/{p-cdf82b7f.entry.js → p-7ee0b797.entry.js} +4 -4
  881. package/dist/genexus-ide-ui/{p-65ac0693.entry.js → p-7ef60196.entry.js} +2 -2
  882. package/dist/genexus-ide-ui/{p-f2a206c9.entry.js → p-801635fa.entry.js} +4 -4
  883. package/dist/genexus-ide-ui/{p-e66b63b6.entry.js → p-8049dfe8.entry.js} +2 -2
  884. package/dist/genexus-ide-ui/{p-3230c967.entry.js → p-8070ead3.entry.js} +4 -4
  885. package/dist/genexus-ide-ui/{p-3230c967.entry.js.map → p-8070ead3.entry.js.map} +1 -1
  886. package/dist/genexus-ide-ui/{p-13fb9b0c.entry.js → p-8343ae2e.entry.js} +7 -7
  887. package/dist/genexus-ide-ui/{p-e266fd1e.entry.js → p-8624a495.entry.js} +3 -3
  888. package/dist/genexus-ide-ui/{p-a18c4312.entry.js → p-8708a417.entry.js} +7 -7
  889. package/dist/genexus-ide-ui/{p-5943edc4.entry.js → p-88455969.entry.js} +189 -44
  890. package/dist/genexus-ide-ui/p-88455969.entry.js.map +1 -0
  891. package/dist/genexus-ide-ui/{p-aada8352.entry.js → p-8b7fa9a4.entry.js} +18 -10
  892. package/dist/genexus-ide-ui/p-8b7fa9a4.entry.js.map +1 -0
  893. package/dist/genexus-ide-ui/p-8dca63f8.entry.js +1243 -0
  894. package/dist/genexus-ide-ui/p-8dca63f8.entry.js.map +1 -0
  895. package/dist/genexus-ide-ui/p-8dcfc193.js +143 -0
  896. package/dist/genexus-ide-ui/p-8dcfc193.js.map +1 -0
  897. package/dist/genexus-ide-ui/{p-aed7c461.entry.js → p-90234b7d.entry.js} +2 -2
  898. package/dist/genexus-ide-ui/{p-9feb37f7.entry.js → p-908971c9.entry.js} +2 -2
  899. package/dist/genexus-ide-ui/{p-ce4512a9.entry.js → p-917eb5c8.entry.js} +2 -2
  900. package/dist/genexus-ide-ui/{p-c4dc84ef.entry.js → p-94fb2adc.entry.js} +2 -2
  901. package/dist/genexus-ide-ui/{p-0ddd47ff.entry.js → p-9590ccf3.entry.js} +2 -2
  902. package/dist/genexus-ide-ui/{p-93998965.entry.js → p-974fdadd.entry.js} +2 -2
  903. package/dist/genexus-ide-ui/{p-a070f8ba.entry.js → p-97c5a0f2.entry.js} +6 -5
  904. package/dist/genexus-ide-ui/p-97c5a0f2.entry.js.map +1 -0
  905. package/dist/genexus-ide-ui/{p-4757a377.entry.js → p-97ef7986.entry.js} +2 -2
  906. package/dist/genexus-ide-ui/{p-8ac9e0e3.entry.js → p-a28a7a27.entry.js} +3 -3
  907. package/dist/genexus-ide-ui/{p-b56b67c8.entry.js → p-a3236695.entry.js} +2 -2
  908. package/dist/genexus-ide-ui/{p-fb25e42e.entry.js → p-a6ea7f58.entry.js} +2 -2
  909. package/dist/genexus-ide-ui/{p-1f61a0b5.entry.js → p-a9381a51.entry.js} +3 -3
  910. package/dist/genexus-ide-ui/{p-3ad50d19.entry.js → p-ac2b99ce.entry.js} +3 -3
  911. package/dist/genexus-ide-ui/{p-8d58b0b1.entry.js → p-ac54d3dd.entry.js} +2 -2
  912. package/dist/genexus-ide-ui/{p-91bb6c23.entry.js → p-aca7d171.entry.js} +2 -2
  913. package/dist/genexus-ide-ui/{p-4345f3bd.js → p-aca92ca0.js} +8 -8
  914. package/dist/genexus-ide-ui/{p-279e200d.entry.js → p-ada1696f.entry.js} +6 -6
  915. package/dist/genexus-ide-ui/{p-f5795593.entry.js → p-afb42984.entry.js} +2 -2
  916. package/dist/genexus-ide-ui/{p-686ba64a.entry.js → p-b0e20394.entry.js} +2 -2
  917. package/dist/genexus-ide-ui/{p-44c816f7.entry.js → p-b1c9e006.entry.js} +52 -52
  918. package/dist/genexus-ide-ui/{p-8eac3c88.entry.js → p-b3e632eb.entry.js} +2 -2
  919. package/dist/genexus-ide-ui/{p-8b5c6f86.entry.js → p-b55bb638.entry.js} +2 -2
  920. package/dist/genexus-ide-ui/{p-4f832012.entry.js → p-b5f61be2.entry.js} +2 -3
  921. package/dist/genexus-ide-ui/p-b5f61be2.entry.js.map +1 -0
  922. package/dist/genexus-ide-ui/p-b9938af8.entry.js +247 -0
  923. package/dist/genexus-ide-ui/p-b9938af8.entry.js.map +1 -0
  924. package/dist/genexus-ide-ui/{p-5090cf74.entry.js → p-bbd5cbc5.entry.js} +3 -3
  925. package/dist/genexus-ide-ui/{p-4ad8c255.entry.js → p-bbe5fba9.entry.js} +2 -2
  926. package/dist/genexus-ide-ui/{p-8fc62af2.entry.js → p-bdb4eff7.entry.js} +3 -3
  927. package/dist/genexus-ide-ui/{p-f5a34947.entry.js → p-bf424108.entry.js} +2 -2
  928. package/dist/genexus-ide-ui/{p-9e59c362.entry.js → p-bffbf29a.entry.js} +9 -9
  929. package/dist/genexus-ide-ui/{p-d076a59b.entry.js → p-c333b010.entry.js} +2 -2
  930. package/dist/genexus-ide-ui/{p-6e6bbcea.entry.js → p-c3dee80f.entry.js} +16 -12
  931. package/dist/genexus-ide-ui/p-c3dee80f.entry.js.map +1 -0
  932. package/dist/genexus-ide-ui/{p-f5b4b0ac.entry.js → p-c64ed711.entry.js} +3 -3
  933. package/dist/genexus-ide-ui/{p-59171ba2.entry.js → p-c721ad47.entry.js} +3 -3
  934. package/dist/genexus-ide-ui/{p-0a8f651a.entry.js → p-c835ed6d.entry.js} +2 -2
  935. package/dist/genexus-ide-ui/{p-7a3c9238.entry.js → p-c8d0ee58.entry.js} +3 -3
  936. package/dist/genexus-ide-ui/{p-b6a92ed4.entry.js → p-c9dc6492.entry.js} +3 -3
  937. package/dist/genexus-ide-ui/{p-a273b0c8.entry.js → p-ca220abf.entry.js} +3 -3
  938. package/dist/genexus-ide-ui/{p-a273b0c8.entry.js.map → p-ca220abf.entry.js.map} +1 -1
  939. package/dist/genexus-ide-ui/{p-bc2e4830.entry.js → p-cd7f933d.entry.js} +2 -2
  940. package/dist/genexus-ide-ui/{p-43b64878.entry.js → p-ce8a18f0.entry.js} +3 -3
  941. package/dist/genexus-ide-ui/{p-1960de7e.entry.js → p-ce8ade61.entry.js} +2 -2
  942. package/dist/genexus-ide-ui/{p-83ea68f1.entry.js → p-d1951379.entry.js} +2 -2
  943. package/dist/genexus-ide-ui/{p-b3b8277e.entry.js → p-d230799f.entry.js} +5 -5
  944. package/dist/genexus-ide-ui/p-d230799f.entry.js.map +1 -0
  945. package/dist/genexus-ide-ui/{p-f33c6a66.entry.js → p-d2332373.entry.js} +2 -2
  946. package/dist/genexus-ide-ui/{p-e2998738.entry.js → p-d4533ac6.entry.js} +2 -2
  947. package/dist/genexus-ide-ui/{p-c4c4462d.entry.js → p-d4e152a8.entry.js} +2 -2
  948. package/dist/genexus-ide-ui/{p-5e91d2bc.entry.js → p-d6e6ca09.entry.js} +2 -2
  949. package/dist/genexus-ide-ui/{p-1e275d2c.js → p-d8a08b43.js} +44 -52
  950. package/dist/genexus-ide-ui/p-d8a08b43.js.map +1 -0
  951. package/dist/genexus-ide-ui/{p-ed865ce1.entry.js → p-d8f4f03c.entry.js} +2 -2
  952. package/dist/genexus-ide-ui/{p-6d64b154.entry.js → p-dabca27c.entry.js} +2 -2
  953. package/dist/genexus-ide-ui/{p-40c135e7.entry.js → p-db770bb3.entry.js} +2 -2
  954. package/dist/genexus-ide-ui/{p-904db679.entry.js → p-dcaf6083.entry.js} +4 -4
  955. package/dist/genexus-ide-ui/{p-a8e60143.entry.js → p-dd77446b.entry.js} +5 -5
  956. package/dist/genexus-ide-ui/{p-43296d6e.entry.js → p-e1585f37.entry.js} +2 -2
  957. package/dist/genexus-ide-ui/{p-61de96f8.entry.js → p-e39ebc90.entry.js} +2 -2
  958. package/dist/genexus-ide-ui/p-e408d7b7.js +54 -0
  959. package/dist/genexus-ide-ui/p-e408d7b7.js.map +1 -0
  960. package/dist/genexus-ide-ui/{p-f14753c8.entry.js → p-e5ce6275.entry.js} +2 -2
  961. package/dist/genexus-ide-ui/{p-e2382d48.entry.js → p-e747b958.entry.js} +4 -4
  962. package/dist/genexus-ide-ui/{p-806d0a19.entry.js → p-e74da627.entry.js} +35 -35
  963. package/dist/genexus-ide-ui/{p-af85e128.entry.js → p-e988ba86.entry.js} +2 -2
  964. package/dist/genexus-ide-ui/{p-620e3d6b.entry.js → p-ed305b60.entry.js} +2 -2
  965. package/dist/genexus-ide-ui/{p-30e749f7.entry.js → p-f4578b13.entry.js} +2 -2
  966. package/dist/genexus-ide-ui/{p-a6b36098.entry.js → p-f5d8b1e1.entry.js} +2 -2
  967. package/dist/genexus-ide-ui/{p-32283a2f.entry.js → p-f86073ea.entry.js} +2 -2
  968. package/dist/genexus-ide-ui/{p-1fb6de33.entry.js → p-f99f6957.entry.js} +2 -2
  969. package/dist/genexus-ide-ui/{p-660f644f.entry.js → p-fbd14f24.entry.js} +3 -3
  970. package/dist/genexus-ide-ui/{p-61126ed3.entry.js → p-fc0c5b6f.entry.js} +2 -2
  971. package/dist/genexus-ide-ui/{p-344ec5ed.entry.js → p-fd0bcf82.entry.js} +3 -3
  972. package/dist/genexus-ide-ui/{p-7d6a7d55.entry.js → p-fe3d9132.entry.js} +2 -2
  973. package/dist/genexus-ide-ui/{p-8f66c5b3.entry.js → p-ff264cda.entry.js} +2 -2
  974. package/dist/genexus-ide-ui/{p-eeaf79d6.entry.js → p-ffa0a15e.entry.js} +2 -2
  975. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/flexible-layout/flexible-layout/flexible-layout.css +16 -0
  976. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/layout-splitter/layout-splitter.css +29 -19
  977. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tab/tab.css +89 -31
  978. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-flexible-layout/test-flexible-layout.css +270 -22
  979. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +19 -4
  980. package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +1 -1
  981. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +14 -3
  982. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -0
  983. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +0 -1
  984. package/dist/node_modules/@genexus/gemini/dist/collection/components/test/test.css +0 -26
  985. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +3 -7
  986. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +2 -1
  987. package/package.json +3 -3
  988. package/dist/cjs/index-c66d7fae.js.map +0 -1
  989. package/dist/cjs/utils-4b616111.js +0 -53
  990. package/dist/cjs/utils-4b616111.js.map +0 -1
  991. package/dist/cjs/utils-5ba52db3.js.map +0 -1
  992. package/dist/esm/utils-b9f4c3b4.js.map +0 -1
  993. package/dist/esm/utils-df5b9202.js +0 -41
  994. package/dist/esm/utils-df5b9202.js.map +0 -1
  995. package/dist/genexus-ide-ui/p-125c9d13.entry.js +0 -486
  996. package/dist/genexus-ide-ui/p-125c9d13.entry.js.map +0 -1
  997. package/dist/genexus-ide-ui/p-1e275d2c.js.map +0 -1
  998. package/dist/genexus-ide-ui/p-2d40bb14.entry.js +0 -17
  999. package/dist/genexus-ide-ui/p-2d6c8883.entry.js +0 -850
  1000. package/dist/genexus-ide-ui/p-2d6c8883.entry.js.map +0 -1
  1001. package/dist/genexus-ide-ui/p-2e3e48f6.entry.js.map +0 -1
  1002. package/dist/genexus-ide-ui/p-4997af38.entry.js +0 -186
  1003. package/dist/genexus-ide-ui/p-4997af38.entry.js.map +0 -1
  1004. package/dist/genexus-ide-ui/p-4f832012.entry.js.map +0 -1
  1005. package/dist/genexus-ide-ui/p-5943edc4.entry.js.map +0 -1
  1006. package/dist/genexus-ide-ui/p-635dacc5.entry.js.map +0 -1
  1007. package/dist/genexus-ide-ui/p-6e6bbcea.entry.js.map +0 -1
  1008. package/dist/genexus-ide-ui/p-71298dc8.entry.js.map +0 -1
  1009. package/dist/genexus-ide-ui/p-a070f8ba.entry.js.map +0 -1
  1010. package/dist/genexus-ide-ui/p-aada8352.entry.js.map +0 -1
  1011. package/dist/genexus-ide-ui/p-b3b8277e.entry.js.map +0 -1
  1012. package/dist/genexus-ide-ui/p-bd97454f.entry.js +0 -1079
  1013. package/dist/genexus-ide-ui/p-bd97454f.entry.js.map +0 -1
  1014. package/dist/genexus-ide-ui/p-cec9a00f.js +0 -48
  1015. package/dist/genexus-ide-ui/p-cec9a00f.js.map +0 -1
  1016. package/dist/genexus-ide-ui/p-f2a63bb5.js +0 -45
  1017. package/dist/genexus-ide-ui/p-f2a63bb5.js.map +0 -1
  1018. /package/dist/genexus-ide-ui/{p-4335d78d.entry.js.map → p-001372c2.entry.js.map} +0 -0
  1019. /package/dist/genexus-ide-ui/{p-8480a5f7.entry.js.map → p-038675b4.entry.js.map} +0 -0
  1020. /package/dist/genexus-ide-ui/{p-132f1a53.entry.js.map → p-04d751fa.entry.js.map} +0 -0
  1021. /package/dist/genexus-ide-ui/{p-de8ceb68.entry.js.map → p-06cdf966.entry.js.map} +0 -0
  1022. /package/dist/genexus-ide-ui/{p-6ac4aef1.entry.js.map → p-07f5e845.entry.js.map} +0 -0
  1023. /package/dist/genexus-ide-ui/{p-7bb7cdeb.js.map → p-08f45769.js.map} +0 -0
  1024. /package/dist/genexus-ide-ui/{p-1472c78f.js.map → p-099548f7.js.map} +0 -0
  1025. /package/dist/genexus-ide-ui/{p-c1b7bf2f.entry.js.map → p-0b3dfc86.entry.js.map} +0 -0
  1026. /package/dist/genexus-ide-ui/{p-3f035c0a.js.map → p-0c088e26.js.map} +0 -0
  1027. /package/dist/genexus-ide-ui/{p-a17d61be.entry.js.map → p-0c10e042.entry.js.map} +0 -0
  1028. /package/dist/genexus-ide-ui/{p-4d278798.entry.js.map → p-0d246e5b.entry.js.map} +0 -0
  1029. /package/dist/genexus-ide-ui/{p-aa670e68.entry.js.map → p-0f4cf364.entry.js.map} +0 -0
  1030. /package/dist/genexus-ide-ui/{p-bb341c47.entry.js.map → p-1023012c.entry.js.map} +0 -0
  1031. /package/dist/genexus-ide-ui/{p-04111560.entry.js.map → p-10c578a4.entry.js.map} +0 -0
  1032. /package/dist/genexus-ide-ui/{p-53e5df3b.entry.js.map → p-10ca43ee.entry.js.map} +0 -0
  1033. /package/dist/genexus-ide-ui/{p-a5c57b1d.entry.js.map → p-1538ac27.entry.js.map} +0 -0
  1034. /package/dist/genexus-ide-ui/{p-024533a2.entry.js.map → p-1564762f.entry.js.map} +0 -0
  1035. /package/dist/genexus-ide-ui/{p-f28d7f68.entry.js.map → p-15781838.entry.js.map} +0 -0
  1036. /package/dist/genexus-ide-ui/{p-637a5168.entry.js.map → p-18e48464.entry.js.map} +0 -0
  1037. /package/dist/genexus-ide-ui/{p-fe6cf49e.entry.js.map → p-1964e138.entry.js.map} +0 -0
  1038. /package/dist/genexus-ide-ui/{p-3174871a.entry.js.map → p-1a297683.entry.js.map} +0 -0
  1039. /package/dist/genexus-ide-ui/{p-86ee3387.entry.js.map → p-208041b8.entry.js.map} +0 -0
  1040. /package/dist/genexus-ide-ui/{p-4520e2a2.entry.js.map → p-28a6ab9a.entry.js.map} +0 -0
  1041. /package/dist/genexus-ide-ui/{p-7e79f920.entry.js.map → p-2a6f5aba.entry.js.map} +0 -0
  1042. /package/dist/genexus-ide-ui/{p-5f89e42d.entry.js.map → p-2e0a1960.entry.js.map} +0 -0
  1043. /package/dist/genexus-ide-ui/{p-c5df7133.entry.js.map → p-30b7297d.entry.js.map} +0 -0
  1044. /package/dist/genexus-ide-ui/{p-6548d418.entry.js.map → p-352e2c20.entry.js.map} +0 -0
  1045. /package/dist/genexus-ide-ui/{p-1117db17.entry.js.map → p-36ff173f.entry.js.map} +0 -0
  1046. /package/dist/genexus-ide-ui/{p-159a5a60.entry.js.map → p-37ce39e3.entry.js.map} +0 -0
  1047. /package/dist/genexus-ide-ui/{p-942233fc.entry.js.map → p-3ae7428e.entry.js.map} +0 -0
  1048. /package/dist/genexus-ide-ui/{p-8518f9f5.entry.js.map → p-3aed87e1.entry.js.map} +0 -0
  1049. /package/dist/genexus-ide-ui/{p-444e50ee.entry.js.map → p-3c2357cf.entry.js.map} +0 -0
  1050. /package/dist/genexus-ide-ui/{p-04adc77d.entry.js.map → p-3ddac2b8.entry.js.map} +0 -0
  1051. /package/dist/genexus-ide-ui/{p-f5e5b21e.entry.js.map → p-3f0b6af7.entry.js.map} +0 -0
  1052. /package/dist/genexus-ide-ui/{p-0604bbee.entry.js.map → p-40c3529a.entry.js.map} +0 -0
  1053. /package/dist/genexus-ide-ui/{p-a4d5d277.entry.js.map → p-43554153.entry.js.map} +0 -0
  1054. /package/dist/genexus-ide-ui/{p-d4b165db.entry.js.map → p-43ffe165.entry.js.map} +0 -0
  1055. /package/dist/genexus-ide-ui/{p-92f45796.entry.js.map → p-47bcd3a6.entry.js.map} +0 -0
  1056. /package/dist/genexus-ide-ui/{p-57137c83.entry.js.map → p-4b9b3e4e.entry.js.map} +0 -0
  1057. /package/dist/genexus-ide-ui/{p-96a559ce.entry.js.map → p-4f376659.entry.js.map} +0 -0
  1058. /package/dist/genexus-ide-ui/{p-479de27c.entry.js.map → p-4f6eaae0.entry.js.map} +0 -0
  1059. /package/dist/genexus-ide-ui/{p-b78719d3.js.map → p-5028570f.js.map} +0 -0
  1060. /package/dist/genexus-ide-ui/{p-9c1fa094.entry.js.map → p-51c8754e.entry.js.map} +0 -0
  1061. /package/dist/genexus-ide-ui/{p-780a3309.entry.js.map → p-51e1d34e.entry.js.map} +0 -0
  1062. /package/dist/genexus-ide-ui/{p-f974b905.entry.js.map → p-5201a218.entry.js.map} +0 -0
  1063. /package/dist/genexus-ide-ui/{p-e2537609.entry.js.map → p-529d5f14.entry.js.map} +0 -0
  1064. /package/dist/genexus-ide-ui/{p-5cc59da8.entry.js.map → p-54975e06.entry.js.map} +0 -0
  1065. /package/dist/genexus-ide-ui/{p-6281ca3e.entry.js.map → p-57978bf3.entry.js.map} +0 -0
  1066. /package/dist/genexus-ide-ui/{p-7f782726.entry.js.map → p-5a5e9459.entry.js.map} +0 -0
  1067. /package/dist/genexus-ide-ui/{p-5cec37bc.entry.js.map → p-5b2f8741.entry.js.map} +0 -0
  1068. /package/dist/genexus-ide-ui/{p-2cdf5c87.entry.js.map → p-5c0d6f9b.entry.js.map} +0 -0
  1069. /package/dist/genexus-ide-ui/{p-3149e6f2.entry.js.map → p-5e4b2563.entry.js.map} +0 -0
  1070. /package/dist/genexus-ide-ui/{p-7b60fc65.entry.js.map → p-603800f2.entry.js.map} +0 -0
  1071. /package/dist/genexus-ide-ui/{p-ea80da25.entry.js.map → p-61fa38a0.entry.js.map} +0 -0
  1072. /package/dist/genexus-ide-ui/{p-0c1ef5eb.entry.js.map → p-642aff55.entry.js.map} +0 -0
  1073. /package/dist/genexus-ide-ui/{p-62caab49.entry.js.map → p-64848f25.entry.js.map} +0 -0
  1074. /package/dist/genexus-ide-ui/{p-f3a99271.entry.js.map → p-64cdf586.entry.js.map} +0 -0
  1075. /package/dist/genexus-ide-ui/{p-23277761.entry.js.map → p-6511f892.entry.js.map} +0 -0
  1076. /package/dist/genexus-ide-ui/{p-99f5be87.entry.js.map → p-651ca405.entry.js.map} +0 -0
  1077. /package/dist/genexus-ide-ui/{p-547656dd.entry.js.map → p-66730660.entry.js.map} +0 -0
  1078. /package/dist/genexus-ide-ui/{p-4a0316b9.entry.js.map → p-6846e080.entry.js.map} +0 -0
  1079. /package/dist/genexus-ide-ui/{p-1d606552.entry.js.map → p-6889dc5c.entry.js.map} +0 -0
  1080. /package/dist/genexus-ide-ui/{p-e47bba0e.entry.js.map → p-69837f5a.entry.js.map} +0 -0
  1081. /package/dist/genexus-ide-ui/{p-2d40bb14.entry.js.map → p-6b66ce90.entry.js.map} +0 -0
  1082. /package/dist/genexus-ide-ui/{p-95c85944.js.map → p-6bfe0db9.js.map} +0 -0
  1083. /package/dist/genexus-ide-ui/{p-2a3af5ac.entry.js.map → p-6e05bc89.entry.js.map} +0 -0
  1084. /package/dist/genexus-ide-ui/{p-04d6cd2d.entry.js.map → p-730a90b0.entry.js.map} +0 -0
  1085. /package/dist/genexus-ide-ui/{p-a94a20a4.entry.js.map → p-73269d9d.entry.js.map} +0 -0
  1086. /package/dist/genexus-ide-ui/{p-8d8d2e4c.entry.js.map → p-75dde376.entry.js.map} +0 -0
  1087. /package/dist/genexus-ide-ui/{p-11225a5a.entry.js.map → p-7692f269.entry.js.map} +0 -0
  1088. /package/dist/genexus-ide-ui/{p-e4c542c6.js.map → p-7c350e3f.js.map} +0 -0
  1089. /package/dist/genexus-ide-ui/{p-2edf390a.entry.js.map → p-7da9797d.entry.js.map} +0 -0
  1090. /package/dist/genexus-ide-ui/{p-d5d95242.entry.js.map → p-7e66544c.entry.js.map} +0 -0
  1091. /package/dist/genexus-ide-ui/{p-cdf82b7f.entry.js.map → p-7ee0b797.entry.js.map} +0 -0
  1092. /package/dist/genexus-ide-ui/{p-65ac0693.entry.js.map → p-7ef60196.entry.js.map} +0 -0
  1093. /package/dist/genexus-ide-ui/{p-f2a206c9.entry.js.map → p-801635fa.entry.js.map} +0 -0
  1094. /package/dist/genexus-ide-ui/{p-e66b63b6.entry.js.map → p-8049dfe8.entry.js.map} +0 -0
  1095. /package/dist/genexus-ide-ui/{p-13fb9b0c.entry.js.map → p-8343ae2e.entry.js.map} +0 -0
  1096. /package/dist/genexus-ide-ui/{p-e266fd1e.entry.js.map → p-8624a495.entry.js.map} +0 -0
  1097. /package/dist/genexus-ide-ui/{p-a18c4312.entry.js.map → p-8708a417.entry.js.map} +0 -0
  1098. /package/dist/genexus-ide-ui/{p-aed7c461.entry.js.map → p-90234b7d.entry.js.map} +0 -0
  1099. /package/dist/genexus-ide-ui/{p-9feb37f7.entry.js.map → p-908971c9.entry.js.map} +0 -0
  1100. /package/dist/genexus-ide-ui/{p-ce4512a9.entry.js.map → p-917eb5c8.entry.js.map} +0 -0
  1101. /package/dist/genexus-ide-ui/{p-c4dc84ef.entry.js.map → p-94fb2adc.entry.js.map} +0 -0
  1102. /package/dist/genexus-ide-ui/{p-0ddd47ff.entry.js.map → p-9590ccf3.entry.js.map} +0 -0
  1103. /package/dist/genexus-ide-ui/{p-93998965.entry.js.map → p-974fdadd.entry.js.map} +0 -0
  1104. /package/dist/genexus-ide-ui/{p-4757a377.entry.js.map → p-97ef7986.entry.js.map} +0 -0
  1105. /package/dist/genexus-ide-ui/{p-8ac9e0e3.entry.js.map → p-a28a7a27.entry.js.map} +0 -0
  1106. /package/dist/genexus-ide-ui/{p-b56b67c8.entry.js.map → p-a3236695.entry.js.map} +0 -0
  1107. /package/dist/genexus-ide-ui/{p-fb25e42e.entry.js.map → p-a6ea7f58.entry.js.map} +0 -0
  1108. /package/dist/genexus-ide-ui/{p-1f61a0b5.entry.js.map → p-a9381a51.entry.js.map} +0 -0
  1109. /package/dist/genexus-ide-ui/{p-3ad50d19.entry.js.map → p-ac2b99ce.entry.js.map} +0 -0
  1110. /package/dist/genexus-ide-ui/{p-8d58b0b1.entry.js.map → p-ac54d3dd.entry.js.map} +0 -0
  1111. /package/dist/genexus-ide-ui/{p-91bb6c23.entry.js.map → p-aca7d171.entry.js.map} +0 -0
  1112. /package/dist/genexus-ide-ui/{p-4345f3bd.js.map → p-aca92ca0.js.map} +0 -0
  1113. /package/dist/genexus-ide-ui/{p-279e200d.entry.js.map → p-ada1696f.entry.js.map} +0 -0
  1114. /package/dist/genexus-ide-ui/{p-f5795593.entry.js.map → p-afb42984.entry.js.map} +0 -0
  1115. /package/dist/genexus-ide-ui/{p-686ba64a.entry.js.map → p-b0e20394.entry.js.map} +0 -0
  1116. /package/dist/genexus-ide-ui/{p-44c816f7.entry.js.map → p-b1c9e006.entry.js.map} +0 -0
  1117. /package/dist/genexus-ide-ui/{p-8eac3c88.entry.js.map → p-b3e632eb.entry.js.map} +0 -0
  1118. /package/dist/genexus-ide-ui/{p-8b5c6f86.entry.js.map → p-b55bb638.entry.js.map} +0 -0
  1119. /package/dist/genexus-ide-ui/{p-5090cf74.entry.js.map → p-bbd5cbc5.entry.js.map} +0 -0
  1120. /package/dist/genexus-ide-ui/{p-4ad8c255.entry.js.map → p-bbe5fba9.entry.js.map} +0 -0
  1121. /package/dist/genexus-ide-ui/{p-8fc62af2.entry.js.map → p-bdb4eff7.entry.js.map} +0 -0
  1122. /package/dist/genexus-ide-ui/{p-f5a34947.entry.js.map → p-bf424108.entry.js.map} +0 -0
  1123. /package/dist/genexus-ide-ui/{p-9e59c362.entry.js.map → p-bffbf29a.entry.js.map} +0 -0
  1124. /package/dist/genexus-ide-ui/{p-d076a59b.entry.js.map → p-c333b010.entry.js.map} +0 -0
  1125. /package/dist/genexus-ide-ui/{p-f5b4b0ac.entry.js.map → p-c64ed711.entry.js.map} +0 -0
  1126. /package/dist/genexus-ide-ui/{p-59171ba2.entry.js.map → p-c721ad47.entry.js.map} +0 -0
  1127. /package/dist/genexus-ide-ui/{p-0a8f651a.entry.js.map → p-c835ed6d.entry.js.map} +0 -0
  1128. /package/dist/genexus-ide-ui/{p-7a3c9238.entry.js.map → p-c8d0ee58.entry.js.map} +0 -0
  1129. /package/dist/genexus-ide-ui/{p-b6a92ed4.entry.js.map → p-c9dc6492.entry.js.map} +0 -0
  1130. /package/dist/genexus-ide-ui/{p-bc2e4830.entry.js.map → p-cd7f933d.entry.js.map} +0 -0
  1131. /package/dist/genexus-ide-ui/{p-43b64878.entry.js.map → p-ce8a18f0.entry.js.map} +0 -0
  1132. /package/dist/genexus-ide-ui/{p-1960de7e.entry.js.map → p-ce8ade61.entry.js.map} +0 -0
  1133. /package/dist/genexus-ide-ui/{p-83ea68f1.entry.js.map → p-d1951379.entry.js.map} +0 -0
  1134. /package/dist/genexus-ide-ui/{p-f33c6a66.entry.js.map → p-d2332373.entry.js.map} +0 -0
  1135. /package/dist/genexus-ide-ui/{p-e2998738.entry.js.map → p-d4533ac6.entry.js.map} +0 -0
  1136. /package/dist/genexus-ide-ui/{p-c4c4462d.entry.js.map → p-d4e152a8.entry.js.map} +0 -0
  1137. /package/dist/genexus-ide-ui/{p-5e91d2bc.entry.js.map → p-d6e6ca09.entry.js.map} +0 -0
  1138. /package/dist/genexus-ide-ui/{p-ed865ce1.entry.js.map → p-d8f4f03c.entry.js.map} +0 -0
  1139. /package/dist/genexus-ide-ui/{p-6d64b154.entry.js.map → p-dabca27c.entry.js.map} +0 -0
  1140. /package/dist/genexus-ide-ui/{p-40c135e7.entry.js.map → p-db770bb3.entry.js.map} +0 -0
  1141. /package/dist/genexus-ide-ui/{p-904db679.entry.js.map → p-dcaf6083.entry.js.map} +0 -0
  1142. /package/dist/genexus-ide-ui/{p-a8e60143.entry.js.map → p-dd77446b.entry.js.map} +0 -0
  1143. /package/dist/genexus-ide-ui/{p-43296d6e.entry.js.map → p-e1585f37.entry.js.map} +0 -0
  1144. /package/dist/genexus-ide-ui/{p-61de96f8.entry.js.map → p-e39ebc90.entry.js.map} +0 -0
  1145. /package/dist/genexus-ide-ui/{p-f14753c8.entry.js.map → p-e5ce6275.entry.js.map} +0 -0
  1146. /package/dist/genexus-ide-ui/{p-e2382d48.entry.js.map → p-e747b958.entry.js.map} +0 -0
  1147. /package/dist/genexus-ide-ui/{p-806d0a19.entry.js.map → p-e74da627.entry.js.map} +0 -0
  1148. /package/dist/genexus-ide-ui/{p-af85e128.entry.js.map → p-e988ba86.entry.js.map} +0 -0
  1149. /package/dist/genexus-ide-ui/{p-620e3d6b.entry.js.map → p-ed305b60.entry.js.map} +0 -0
  1150. /package/dist/genexus-ide-ui/{p-30e749f7.entry.js.map → p-f4578b13.entry.js.map} +0 -0
  1151. /package/dist/genexus-ide-ui/{p-a6b36098.entry.js.map → p-f5d8b1e1.entry.js.map} +0 -0
  1152. /package/dist/genexus-ide-ui/{p-32283a2f.entry.js.map → p-f86073ea.entry.js.map} +0 -0
  1153. /package/dist/genexus-ide-ui/{p-1fb6de33.entry.js.map → p-f99f6957.entry.js.map} +0 -0
  1154. /package/dist/genexus-ide-ui/{p-660f644f.entry.js.map → p-fbd14f24.entry.js.map} +0 -0
  1155. /package/dist/genexus-ide-ui/{p-61126ed3.entry.js.map → p-fc0c5b6f.entry.js.map} +0 -0
  1156. /package/dist/genexus-ide-ui/{p-344ec5ed.entry.js.map → p-fd0bcf82.entry.js.map} +0 -0
  1157. /package/dist/genexus-ide-ui/{p-7d6a7d55.entry.js.map → p-fe3d9132.entry.js.map} +0 -0
  1158. /package/dist/genexus-ide-ui/{p-8f66c5b3.entry.js.map → p-ff264cda.entry.js.map} +0 -0
  1159. /package/dist/genexus-ide-ui/{p-eeaf79d6.entry.js.map → p-ffa0a15e.entry.js.map} +0 -0
@@ -1,6 +1,7 @@
1
- import { r as registerInstance, c as createEvent, g as getElement, h, H as Host, w as writeTask } from './index-2d51259e.js';
1
+ import { r as registerInstance, c as createEvent, g as getElement, h, H as Host, w as writeTask } from './index-692bb924.js';
2
2
  import { D as DISABLED_CLASS } from './reserverd-names-631e7870.js';
3
3
  import { f as focusComposedPath, m as mouseEventModifierKey } from './helpers-ec2b1c99.js';
4
+ import { r as removeDragImage } from './utils-b8c6bdd1.js';
4
5
 
5
6
  const checkboxCss = "*,::before,::after{box-sizing:border-box}:host{display:flex;align-items:center;align-self:stretch;outline:unset;touch-action:manipulation;user-select:none}:host(.ch-checkbox--actionable) :is(.input,.label){cursor:pointer}.container{position:relative;width:min(1em, 20px);height:min(1em, 20px);border:1px solid var(--option-border-color, currentColor);border-radius:18.75%}.container--checked{background-color:var(--option-checked-color, #ffffff00)}.container:focus-within{box-shadow:0 0 1px 1px color-mix(in srgb, currentColor 25%, transparent)}.input{display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0}.option{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:50%;height:50%;background-color:currentColor;opacity:0;pointer-events:none}.option--checked{opacity:1;-webkit-mask:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' %3E%3Cpath fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z' /%3E%3C/svg%3E\")}.option--indeterminate{opacity:1}.label{margin-inline-start:min(0.35em, 7px)}";
6
7
 
@@ -93,10 +94,23 @@ const scrollToEdge = (event, container, scrollSpeed, scrollThreshold) => {
93
94
 
94
95
  const treeViewCss = "ch-tree-view{display:flex;position:relative;block-size:100%;inline-size:100%;overflow:auto}ch-tree-view>.ch-tree-view-container{position:absolute;inset:0}ch-tree-view.ch-tree-view-dragging-item ch-tree-view-item{pointer-events:var(--ch-tree-view-pointer-events, all)}ch-tree-view.ch-tree-view-dragging-item .ch-tree-view-list-item--deny-drop{pointer-events:none}ch-tree-view.ch-tree-view--dragging-selected-items ch-tree-view-item[selected]{--ch-tree-view-pointer-events:none}ch-tree-view.ch-tree-view-waiting-drop-processing{cursor:wait}ch-tree-view.ch-tree-view-waiting-drop-processing>.ch-tree-view-container{pointer-events:none}.ch-tree-view-drag-info{--rtl-offset:16px;position:fixed;left:0;top:0;transform:translate(calc(var(--ch-tree-view-dragging-item-x) + var(--rtl-offset)), calc(var(--ch-tree-view-dragging-item-y) + 8px));pointer-events:none;z-index:1;animation:ch-tree-view-drag-info-fade-in 10ms}@keyframes ch-tree-view-drag-info-fade-in{0%,100%{opacity:0}}html[dir=rtl] .ch-tree-view-drag-info{--rtl-offset:-100%}";
95
96
 
97
+ var __classPrivateFieldGet$1 = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
98
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
99
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
100
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
101
+ };
102
+ var __classPrivateFieldSet$1 = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
103
+ if (kind === "m") throw new TypeError("Private method is not writable");
104
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
105
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
106
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
107
+ };
108
+ var _keyDownEvents, _draggingSelectedItems, _needForRAF, _lastDragEvent, _openSubTreeTimeout, _validDroppableZoneCache, _dragStartTimestamp, _draggedItems, _currentDraggedItem, _lastOpenSubTreeItem, _dragInfo, _draggedIds, _draggedParentIds, _cancelSubTreeOpening, _getTreeViewItemRef, _validDroppableZone, _openSubTreeAfterCountdown, _trackItemDrag, _updateDropEffect, _resetVariables, _checkDragValidityAndUpdateDragInfo, _fixScrollPositionOnDrag, _getDirectParentsOfDraggableItems, _a$1;
96
109
  const TREE_ITEM_TAG_NAME$1 = "ch-tree-view-item";
97
110
  const TREE_TAG_NAME = "ch-tree-view";
98
111
  // Selectors
99
112
  // const CHECKED_ITEMS = `${TREE_ITEM_TAG_NAME}[checked]`;
113
+ const ITEM_SELECTOR = (treeItemId) => `${TREE_ITEM_TAG_NAME$1}[id="${treeItemId}"]`;
100
114
  const TEXT_FORMAT = "text/plain";
101
115
  const ARROW_DOWN_KEY = "ArrowDown";
102
116
  const ARROW_UP_KEY = "ArrowUp";
@@ -107,433 +121,465 @@ const canMoveTreeItemFocus = (treeItem) => treeItem && !treeItem.editing;
107
121
  const getDroppableZoneKey = (newContainerId, draggedItems) => `"newContainerId":"${newContainerId}","metadata":"${JSON.stringify(draggedItems)}"`;
108
122
  const POSITION_X_DRAG_CUSTOM_VAR = "--ch-tree-view-dragging-item-x";
109
123
  const POSITION_Y_DRAG_CUSTOM_VAR = "--ch-tree-view-dragging-item-y";
110
- const ChTreeView = class {
111
- constructor(hostRef) {
112
- // @todo TODO: Check if key codes works in Safari
113
- this.keyDownEvents = {
114
- [ARROW_DOWN_KEY]: event => {
115
- const treeItem = getFocusedTreeItem();
116
- if (!canMoveTreeItemFocus(treeItem)) {
124
+ const ChTreeView = (_a$1 = class {
125
+ constructor(hostRef) {
126
+ // @todo TODO: Check if key codes works in Safari
127
+ _keyDownEvents.set(this, {
128
+ [ARROW_DOWN_KEY]: event => {
129
+ const treeItem = getFocusedTreeItem();
130
+ if (!canMoveTreeItemFocus(treeItem)) {
131
+ return;
132
+ }
133
+ event.preventDefault();
134
+ treeItem.focusNextItem(mouseEventModifierKey(event));
135
+ },
136
+ [ARROW_UP_KEY]: event => {
137
+ const treeItem = getFocusedTreeItem();
138
+ if (!canMoveTreeItemFocus(treeItem)) {
139
+ return;
140
+ }
141
+ event.preventDefault();
142
+ treeItem.focusPreviousItem(mouseEventModifierKey(event));
143
+ },
144
+ [EDIT_KEY]: event => {
145
+ const treeItem = getFocusedTreeItem();
146
+ if (!treeItem || !treeItem.editable) {
147
+ return;
148
+ }
149
+ event.preventDefault();
150
+ treeItem.editing = true;
151
+ }
152
+ });
153
+ _draggingSelectedItems.set(this, false);
154
+ _needForRAF.set(this, true); // To prevent redundant RAF (request animation frame) calls
155
+ _lastDragEvent.set(this, void 0);
156
+ _openSubTreeTimeout.set(this, void 0);
157
+ /**
158
+ * Cache to avoid duplicate requests when checking the droppable zone in the
159
+ * same drag event.
160
+ */
161
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
162
+ _validDroppableZoneCache.set(this, new Map());
163
+ _dragStartTimestamp.set(this, void 0); // Useful to avoid race conditions where the server response is slow
164
+ _draggedItems.set(this, void 0);
165
+ // Refs
166
+ _currentDraggedItem.set(this, void 0);
167
+ _lastOpenSubTreeItem.set(this, void 0);
168
+ /**
169
+ * Text displayed when dragging an item.
170
+ */
171
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
172
+ _dragInfo.set(this, void 0);
173
+ _draggedIds.set(this, []);
174
+ _draggedParentIds.set(this, []);
175
+ _cancelSubTreeOpening.set(this, (treeItem, forceClear = false) => {
176
+ if (__classPrivateFieldGet$1(this, _lastOpenSubTreeItem, "f") === treeItem || forceClear) {
177
+ clearTimeout(__classPrivateFieldGet$1(this, _openSubTreeTimeout, "f"));
178
+ __classPrivateFieldSet$1(this, _lastOpenSubTreeItem, null, "f");
179
+ }
180
+ });
181
+ _getTreeViewItemRef.set(this, itemId => this.el.querySelector(ITEM_SELECTOR(itemId)));
182
+ _validDroppableZone.set(this, (event) => {
183
+ const containerTarget = event.target;
184
+ const cacheKey = getDroppableZoneKey(containerTarget.id, __classPrivateFieldGet$1(this, _draggedItems, "f"));
185
+ let droppableZoneState = __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").get(cacheKey);
186
+ // Invalidate the cache, because the item is no longer waiting for its content to be downloaded
187
+ if (droppableZoneState === "temporal-invalid" &&
188
+ !containerTarget.lazyLoad &&
189
+ !containerTarget.downloading) {
190
+ droppableZoneState = null;
191
+ }
192
+ if (droppableZoneState != null) {
193
+ return droppableZoneState;
194
+ }
195
+ // Do not show drop zones if:
196
+ // - The effect does not allow it.
197
+ // - The drop is disabled in the container target.
198
+ // - When dragging in the same tree, don't mark droppable zones if they are
199
+ // the dragged items or their direct parents.
200
+ if (event.dataTransfer.effectAllowed === "none" ||
201
+ containerTarget.dropDisabled ||
202
+ (this.draggingInTree &&
203
+ (__classPrivateFieldGet$1(this, _draggedIds, "f").includes(containerTarget.id) ||
204
+ __classPrivateFieldGet$1(this, _draggedParentIds, "f").includes(containerTarget.id)))) {
205
+ __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").set(cacheKey, "invalid");
206
+ return "invalid";
207
+ }
208
+ // Disable drops when items need to lazy load their content first
209
+ if (containerTarget.lazyLoad || containerTarget.downloading) {
210
+ __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").set(cacheKey, "temporal-invalid");
211
+ return "temporal-invalid";
212
+ }
213
+ __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").set(cacheKey, "checking");
214
+ this.droppableZoneEnter.emit({
215
+ newContainer: {
216
+ id: containerTarget.id,
217
+ metadata: containerTarget.metadata
218
+ },
219
+ draggedItems: __classPrivateFieldGet$1(this, _draggedItems, "f")
220
+ });
221
+ return "checking";
222
+ });
223
+ _openSubTreeAfterCountdown.set(this, (currentTarget) => {
224
+ if (currentTarget.leaf || currentTarget.expanded) {
117
225
  return;
118
226
  }
227
+ __classPrivateFieldSet$1(this, _openSubTreeTimeout, setTimeout(() => {
228
+ currentTarget.expanded = true;
229
+ this.expandedItemChange.emit({ id: currentTarget.id, expanded: true });
230
+ }, this.openSubTreeCountdown), "f");
231
+ });
232
+ _trackItemDrag.set(this, (event) => {
233
+ const draggingInATree = event.target.closest(TREE_TAG_NAME) !== null;
234
+ // The Tree View must be the only element that processes the "dragover"
235
+ // event. Any other handler that processes this event can modify the
236
+ // `dropEffect` an thus break the drag and drop implementation
237
+ if (draggingInATree) {
238
+ event.stopImmediatePropagation();
239
+ }
119
240
  event.preventDefault();
120
- treeItem.focusNextItem(mouseEventModifierKey(event));
121
- },
122
- [ARROW_UP_KEY]: event => {
123
- const treeItem = getFocusedTreeItem();
124
- if (!canMoveTreeItemFocus(treeItem)) {
241
+ __classPrivateFieldSet$1(this, _lastDragEvent, event, "f");
242
+ __classPrivateFieldGet$1(this, _updateDropEffect, "f").call(this, event);
243
+ if (!__classPrivateFieldGet$1(this, _needForRAF, "f")) {
125
244
  return;
126
245
  }
127
- event.preventDefault();
128
- treeItem.focusPreviousItem(mouseEventModifierKey(event));
129
- },
130
- [EDIT_KEY]: event => {
131
- const treeItem = getFocusedTreeItem();
132
- if (!treeItem || !treeItem.editable) {
246
+ __classPrivateFieldSet$1(this, _needForRAF, false, "f"); // No need to call RAF up until next frame
247
+ requestAnimationFrame(() => {
248
+ __classPrivateFieldSet$1(this, _needForRAF, true, "f"); // RAF now consumes the movement instruction so a new one can come
249
+ this.el.style.setProperty(POSITION_X_DRAG_CUSTOM_VAR, `${__classPrivateFieldGet$1(this, _lastDragEvent, "f").clientX}px`);
250
+ this.el.style.setProperty(POSITION_Y_DRAG_CUSTOM_VAR, `${__classPrivateFieldGet$1(this, _lastDragEvent, "f").clientY}px`);
251
+ });
252
+ });
253
+ _updateDropEffect.set(this, (event) => {
254
+ const itemTarget = event.target;
255
+ // Check if it is a valid item
256
+ if (itemTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1 ||
257
+ itemTarget.closest(TREE_TAG_NAME) !== this.el) {
133
258
  return;
134
259
  }
135
- event.preventDefault();
136
- treeItem.editing = true;
137
- }
138
- };
139
- this.draggingSelectedItems = false;
140
- this.needForRAF = true; // To prevent redundant RAF (request animation frame) calls
141
- this.selectedItemsInfo = new Map();
142
- /**
143
- * Cache to avoid duplicate requests when checking the droppable zone in the
144
- * same drag event.
145
- */
146
- this.validDroppableZoneCache = new Map();
147
- this.draggedIds = [];
148
- this.draggedParentIds = [];
149
- this.trackItemDrag = (event) => {
150
- const draggingInATree = event.target.closest(TREE_TAG_NAME) !== null;
151
- // The Tree View must be the only element that processes the "dragover"
152
- // event. Any other handler that processes this event can modify the
153
- // `dropEffect` an thus break the drag and drop implementation
154
- if (draggingInATree) {
155
- event.stopImmediatePropagation();
156
- }
157
- event.preventDefault();
158
- this.lastDragEvent = event;
159
- this.updateDropEffect(event);
160
- if (!this.needForRAF) {
161
- return;
162
- }
163
- this.needForRAF = false; // No need to call RAF up until next frame
164
- requestAnimationFrame(() => {
165
- this.needForRAF = true; // RAF now consumes the movement instruction so a new one can come
166
- this.el.style.setProperty(POSITION_X_DRAG_CUSTOM_VAR, `${this.lastDragEvent.clientX}px`);
167
- this.el.style.setProperty(POSITION_Y_DRAG_CUSTOM_VAR, `${this.lastDragEvent.clientY}px`);
260
+ const droppableZoneState = __classPrivateFieldGet$1(this, _validDroppableZone, "f").call(this, event);
261
+ if (droppableZoneState === "invalid" ||
262
+ droppableZoneState === "temporal-invalid") {
263
+ event.dataTransfer.dropEffect = "none";
264
+ }
168
265
  });
169
- };
170
- this.fixScrollPositionOnDrag = () => {
171
- if (!this.draggingInTree || !this.lastDragEvent) {
266
+ _resetVariables.set(this, () => {
267
+ __classPrivateFieldSet$1(this, _draggedIds, [], "f");
268
+ __classPrivateFieldSet$1(this, _draggedParentIds, [], "f");
269
+ });
270
+ /**
271
+ * First, it check if all items can be dragged. If so, it updates the
272
+ * dataTransfer in the drag event to store the ids and metadata of the
273
+ * dragged items. Also it updates the visual information of the dragged
274
+ * items.
275
+ * @returns If all selected items can be dragged.
276
+ */
277
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
278
+ _checkDragValidityAndUpdateDragInfo.set(this, (dragInfo) => {
279
+ const draggedElement = dragInfo.elem;
280
+ const selectedItemsInfo = this.selectedItemsCallback();
281
+ const isDraggingSelectedItems = selectedItemsInfo.has(draggedElement.id);
282
+ __classPrivateFieldSet$1(this, _draggingSelectedItems, isDraggingSelectedItems, "f");
283
+ let dataTransferInfo = [];
284
+ let dragIsEnabledForAllItems;
285
+ if (isDraggingSelectedItems) {
286
+ const selectedItemKeys = [...selectedItemsInfo.keys()];
287
+ const selectedItemValues = [...selectedItemsInfo.values()];
288
+ const selectedItemCount = selectedItemKeys.length;
289
+ dragIsEnabledForAllItems = selectedItemValues.every(el => !__classPrivateFieldGet$1(this, _getTreeViewItemRef, "f").call(this, el.id).dragDisabled);
290
+ __classPrivateFieldSet$1(this, _draggedIds, selectedItemKeys, "f");
291
+ dataTransferInfo = selectedItemValues.map(el => ({
292
+ id: el.id,
293
+ metadata: el.metadata
294
+ }));
295
+ __classPrivateFieldSet$1(this, _dragInfo, selectedItemCount === 1
296
+ ? draggedElement.caption
297
+ : selectedItemCount.toString(), "f");
298
+ }
299
+ else {
300
+ dragIsEnabledForAllItems = !draggedElement.dragDisabled;
301
+ dataTransferInfo = [
302
+ { id: draggedElement.id, metadata: draggedElement.metadata }
303
+ ];
304
+ __classPrivateFieldSet$1(this, _draggedIds, [draggedElement.id], "f");
305
+ __classPrivateFieldSet$1(this, _dragInfo, draggedElement.caption, "f");
306
+ }
307
+ __classPrivateFieldGet$1(this, _getDirectParentsOfDraggableItems, "f").call(this, isDraggingSelectedItems);
308
+ // Update drag event info
309
+ const data = JSON.stringify(dataTransferInfo);
310
+ dragInfo.dragEvent.dataTransfer.setData(TEXT_FORMAT, data);
311
+ // We must keep the data binding and processing even if there is an item
312
+ // that can't be dragged, otherwise, other trees or element might behave
313
+ // unexpected when a dragstart event comes
314
+ return dragIsEnabledForAllItems;
315
+ });
316
+ _fixScrollPositionOnDrag.set(this, () => {
317
+ if (!this.draggingInTree || !__classPrivateFieldGet$1(this, _lastDragEvent, "f")) {
318
+ return;
319
+ }
320
+ requestAnimationFrame(() => {
321
+ scrollToEdge(__classPrivateFieldGet$1(this, _lastDragEvent, "f"), this.el, 10, 30);
322
+ requestAnimationFrame(__classPrivateFieldGet$1(this, _fixScrollPositionOnDrag, "f"));
323
+ });
324
+ });
325
+ _getDirectParentsOfDraggableItems.set(this, (draggingSelectedItems) => {
326
+ if (!draggingSelectedItems) {
327
+ const parentTreeItemElem = __classPrivateFieldGet$1(this, _currentDraggedItem, "f").parentElement;
328
+ if (parentTreeItemElem.tagName.toLowerCase() === TREE_ITEM_TAG_NAME$1) {
329
+ __classPrivateFieldGet$1(this, _draggedParentIds, "f").push(parentTreeItemElem.id);
330
+ }
331
+ return;
332
+ }
333
+ // Dragging selected items
334
+ const selectedItemsInfo = this.selectedItemsCallback();
335
+ selectedItemsInfo.forEach(selectedItem => {
336
+ const parentId = selectedItem.parentId;
337
+ // parentId === "" when the item is in the first level of the tree
338
+ if (parentId !== "") {
339
+ __classPrivateFieldGet$1(this, _draggedParentIds, "f").push(parentId);
340
+ }
341
+ });
342
+ });
343
+ registerInstance(this, hostRef);
344
+ this.droppableZoneEnter = createEvent(this, "droppableZoneEnter", 7);
345
+ this.expandedItemChange = createEvent(this, "expandedItemChange", 7);
346
+ this.itemContextmenu = createEvent(this, "itemContextmenu", 7);
347
+ this.itemsDropped = createEvent(this, "itemsDropped", 7);
348
+ this.selectedItemsChange = createEvent(this, "selectedItemsChange", 7);
349
+ this.draggingInTheDocument = false;
350
+ this.draggingInTree = false;
351
+ this.multiSelection = false;
352
+ this.openSubTreeCountdown = 750;
353
+ this.selectedItemsCallback = undefined;
354
+ this.scrollToEdgeOnDrag = true;
355
+ this.waitDropProcessing = false;
356
+ }
357
+ get el() { return getElement(this); }
358
+ handleContextMenuEvent(event) {
359
+ const treeItem = event.target.closest(TREE_ITEM_TAG_NAME$1);
360
+ if (!treeItem) {
172
361
  return;
173
362
  }
174
- requestAnimationFrame(() => {
175
- scrollToEdge(this.lastDragEvent, this.el, 10, 30);
176
- requestAnimationFrame(this.fixScrollPositionOnDrag);
363
+ event.preventDefault();
364
+ this.itemContextmenu.emit({
365
+ id: treeItem.id,
366
+ itemRef: treeItem,
367
+ metadata: treeItem.metadata,
368
+ contextmenuEvent: event
177
369
  });
178
- };
179
- registerInstance(this, hostRef);
180
- this.droppableZoneEnter = createEvent(this, "droppableZoneEnter", 7);
181
- this.expandedItemChange = createEvent(this, "expandedItemChange", 7);
182
- this.itemContextmenu = createEvent(this, "itemContextmenu", 7);
183
- this.itemsDropped = createEvent(this, "itemsDropped", 7);
184
- this.selectedItemsChange = createEvent(this, "selectedItemsChange", 7);
185
- this.draggingInTheDocument = false;
186
- this.draggingInTree = false;
187
- this.multiSelection = false;
188
- this.openSubTreeCountdown = 750;
189
- this.scrollToEdgeOnDrag = true;
190
- this.waitDropProcessing = false;
191
- }
192
- get el() { return getElement(this); }
193
- // /**
194
- // * Returns an array of the selected tree items, providing the id, caption and
195
- // * selected status.
196
- // */
197
- // @Method()
198
- // async getCheckedItems(): Promise<CheckedTreeItemInfo[]> {
199
- // const checkedItems = Array.from(
200
- // this.el.querySelectorAll(CHECKED_ITEMS)
201
- // ) as HTMLChTreeViewItemElement[];
202
- // return checkedItems.map(item => ({
203
- // id: item.id,
204
- // caption: item.caption,
205
- // selected: item.selected
206
- // }));
207
- // }
208
- handleContextMenuEvent(event) {
209
- const treeItem = event.target.closest(TREE_ITEM_TAG_NAME$1);
210
- if (!treeItem) {
211
- return;
212
- }
213
- event.preventDefault();
214
- this.itemContextmenu.emit({
215
- id: treeItem.id,
216
- itemRef: treeItem,
217
- metadata: treeItem.metadata,
218
- contextmenuEvent: event
219
- });
220
- }
221
- // Set edit mode in items
222
- handleKeyDownEvents(event) {
223
- const keyHandler = this.keyDownEvents[event.key];
224
- if (keyHandler) {
225
- keyHandler(event);
226
370
  }
227
- }
228
- // We can't use capture, because the dataTransfer info would not be defined
229
- // Also, we cant use capture and setTimeout with 0 seconds, because the
230
- // getData method can only be accessed during the dragstart and drop event
231
- handleDragStart(event) {
232
- // Reset the validity of the droppable zones with each new drag start
233
- this.validDroppableZoneCache.clear();
234
- this.draggingInTheDocument = true;
235
- this.dragStartTimestamp = new Date().getTime();
236
- this.draggedItems = JSON.parse(event.dataTransfer.getData(TEXT_FORMAT));
237
- }
238
- handleDragEnd() {
239
- this.draggingInTheDocument = false;
240
- }
241
- handleDragEnter(event) {
242
- this.cancelSubTreeOpening(null, true);
243
- event.stopPropagation();
244
- const containerTarget = event.target;
245
- // Check if it is a valid item
246
- if (containerTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1) {
247
- return;
248
- }
249
- this.lastOpenSubTreeItem = containerTarget;
250
- this.openSubTreeAfterCountdown(containerTarget);
251
- if (this.validDroppableZone(event) === "valid") {
252
- containerTarget.dragState = "enter";
253
- }
254
- }
255
- handleDragLeave(event) {
256
- const currentTarget = event.target;
257
- if (currentTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1) {
258
- return;
259
- }
260
- const treeItem = currentTarget;
261
- treeItem.dragState = "none";
262
- this.cancelSubTreeOpening(treeItem);
263
- }
264
- cancelSubTreeOpening(treeItem, forceClear = false) {
265
- if (this.lastOpenSubTreeItem === treeItem || forceClear) {
266
- clearTimeout(this.openSubTreeTimeout);
267
- this.lastOpenSubTreeItem = null;
268
- }
269
- }
270
- handleItemDrop(event) {
271
- event.stopPropagation();
272
- this.cancelSubTreeOpening(null, true);
273
- const newContainer = event.target;
274
- const draggedItems = JSON.parse(event.dataTransfer.getData(TEXT_FORMAT));
275
- // The droppable zone must be checked, even if it was marked as not valid
276
- // @todo Try to drop an item with high delays in droppable zone checking
277
- if (this.validDroppableZone(event) !== "valid") {
278
- return;
279
- }
280
- this.itemsDropped.emit({
281
- newContainer: { id: newContainer.id, metadata: newContainer.metadata },
282
- draggingSelectedItems: this.draggingSelectedItems,
283
- draggedItems: draggedItems,
284
- dropInTheSameTree: this.draggingInTree
285
- });
286
- }
287
- handleItemDragStart(event) {
288
- document.body.addEventListener("dragover", this.trackItemDrag, {
289
- capture: true
290
- });
291
- this.currentDraggedItem = event.target;
292
- const allItemsCanBeDragged = this.checkDragValidityAndUpdateDragInfo(event.detail);
293
- if (!allItemsCanBeDragged) {
294
- // This effect disables drop interactions in all page elements, so there
295
- // is no need to capture and prevent the drop event in the window
296
- event.detail.dragEvent.dataTransfer.effectAllowed = "none";
297
- return;
298
- }
299
- this.draggingInTree = true;
300
- if (this.scrollToEdgeOnDrag) {
301
- this.fixScrollPositionOnDrag();
302
- }
303
- }
304
- handleItemDragEnd() {
305
- this.draggingInTree = false;
306
- document.body.removeEventListener("dragover", this.trackItemDrag, {
307
- capture: true
308
- });
309
- // Reset not allowed droppable ids
310
- this.resetVariables();
311
- }
312
- handleSelectedItemChange(event) {
313
- event.stopPropagation();
314
- const selectedItemInfo = event.detail;
315
- this.handleItemSelection(selectedItemInfo);
316
- }
317
- /**
318
- * Clear all information about the selected items. This method is intended to
319
- * be used when selected items are reordered and the selected references will
320
- * no longer be useful.
321
- */
322
- async clearSelectedItemsInfo() {
323
- this.clearSelectedItems();
324
- }
325
- /**
326
- * Given an item id, it displays and scrolls into the item view.
327
- */
328
- async scrollIntoVisible(treeItemId) {
329
- const itemRef = this.el.querySelector(`${TREE_ITEM_TAG_NAME$1}[id="${treeItemId}"]`);
330
- if (!itemRef) {
331
- return;
332
- }
333
- let parentItem = itemRef.parentElement;
334
- // Expand all parents
335
- while (parentItem.tagName.toLowerCase() === TREE_ITEM_TAG_NAME$1) {
336
- parentItem.expanded = true;
337
- parentItem = parentItem.parentElement;
338
- }
339
- // Wait until the parents are expanded
340
- requestAnimationFrame(() => {
341
- itemRef.scrollIntoView();
342
- });
343
- }
344
- /**
345
- * Update the information about the valid droppable zones.
346
- * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
347
- * @param newContainerId ID of the container where the drag is trying to be made.
348
- * @param draggedItems Information about the dragged items.
349
- * @param validDrop Current state of the droppable zone.
350
- */
351
- async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
352
- var _a;
353
- if (!this.draggingInTheDocument ||
354
- requestTimestamp <= this.dragStartTimestamp) {
355
- return;
356
- }
357
- const droppableZoneKey = getDroppableZoneKey(newContainerId, draggedItems);
358
- this.validDroppableZoneCache.set(droppableZoneKey, validDrop ? "valid" : "invalid");
359
- const shouldUpdateDragEnterInCurrentContainer = ((_a = this.lastOpenSubTreeItem) === null || _a === void 0 ? void 0 : _a.id) === newContainerId;
360
- if (shouldUpdateDragEnterInCurrentContainer) {
361
- this.lastOpenSubTreeItem.dragState = "enter";
362
- }
363
- }
364
- validDroppableZone(event) {
365
- const containerTarget = event.target;
366
- const cacheKey = getDroppableZoneKey(containerTarget.id, this.draggedItems);
367
- let droppableZoneState = this.validDroppableZoneCache.get(cacheKey);
368
- // Invalidate the cache, because the item is no longer waiting for its content to be downloaded
369
- if (droppableZoneState === "temporal-invalid" &&
370
- !containerTarget.lazyLoad &&
371
- !containerTarget.downloading) {
372
- droppableZoneState = null;
373
- }
374
- if (droppableZoneState != null) {
375
- return droppableZoneState;
371
+ // Set edit mode in items
372
+ handleKeyDownEvents(event) {
373
+ const keyHandler = __classPrivateFieldGet$1(this, _keyDownEvents, "f")[event.key];
374
+ if (keyHandler) {
375
+ keyHandler(event);
376
+ }
376
377
  }
377
- // Do not show drop zones if:
378
- // - The effect does not allow it.
379
- // - The drop is disabled in the container target.
380
- // - When dragging in the same tree, don't mark droppable zones if they are
381
- // the dragged items or their direct parents.
382
- if (event.dataTransfer.effectAllowed === "none" ||
383
- containerTarget.dropDisabled ||
384
- (this.draggingInTree &&
385
- (this.draggedIds.includes(containerTarget.id) ||
386
- this.draggedParentIds.includes(containerTarget.id)))) {
387
- this.validDroppableZoneCache.set(cacheKey, "invalid");
388
- return "invalid";
378
+ // We can't use capture, because the dataTransfer info would not be defined
379
+ // Also, we cant use capture and setTimeout with 0 seconds, because the
380
+ // getData method can only be accessed during the dragstart and drop event
381
+ handleDragStart(event) {
382
+ // Reset the validity of the droppable zones with each new drag start
383
+ __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").clear();
384
+ // If there is no data, the dragstart does not achieve the interface required
385
+ const data = event.dataTransfer.getData(TEXT_FORMAT);
386
+ if (data === "") {
387
+ return;
388
+ }
389
+ try {
390
+ // Try to parse the data
391
+ const paredData = JSON.parse(data);
392
+ __classPrivateFieldSet$1(this, _draggedItems, paredData, "f");
393
+ this.draggingInTheDocument = true;
394
+ __classPrivateFieldSet$1(this, _dragStartTimestamp, new Date().getTime(), "f");
395
+ }
396
+ catch (_b) {
397
+ // Empty
398
+ }
389
399
  }
390
- // Disable drops when items need to lazy load their content first
391
- if (containerTarget.lazyLoad || containerTarget.downloading) {
392
- this.validDroppableZoneCache.set(cacheKey, "temporal-invalid");
393
- return "temporal-invalid";
400
+ handleDragEnd() {
401
+ this.draggingInTheDocument = false;
394
402
  }
395
- this.validDroppableZoneCache.set(cacheKey, "checking");
396
- this.droppableZoneEnter.emit({
397
- newContainer: {
398
- id: containerTarget.id,
399
- metadata: containerTarget.metadata
400
- },
401
- draggedItems: this.draggedItems
402
- });
403
- return "checking";
404
- }
405
- openSubTreeAfterCountdown(currentTarget) {
406
- if (currentTarget.leaf || currentTarget.expanded) {
407
- return;
403
+ handleDragEnter(event) {
404
+ __classPrivateFieldGet$1(this, _cancelSubTreeOpening, "f").call(this, null, true);
405
+ event.stopPropagation();
406
+ const containerTarget = event.target;
407
+ // Check if it is a valid item
408
+ if (containerTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1) {
409
+ return;
410
+ }
411
+ __classPrivateFieldSet$1(this, _lastOpenSubTreeItem, containerTarget, "f");
412
+ __classPrivateFieldGet$1(this, _openSubTreeAfterCountdown, "f").call(this, containerTarget);
413
+ if (__classPrivateFieldGet$1(this, _validDroppableZone, "f").call(this, event) === "valid") {
414
+ containerTarget.dragState = "enter";
415
+ }
408
416
  }
409
- this.openSubTreeTimeout = setTimeout(() => {
410
- currentTarget.expanded = true;
411
- this.expandedItemChange.emit({ id: currentTarget.id, expanded: true });
412
- }, this.openSubTreeCountdown);
413
- }
414
- updateDropEffect(event) {
415
- const itemTarget = event.target;
416
- // Check if it is a valid item
417
- if (itemTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1 ||
418
- itemTarget.closest(TREE_TAG_NAME) !== this.el) {
419
- return;
417
+ handleDragLeave(event) {
418
+ const currentTarget = event.target;
419
+ if (currentTarget.tagName.toLowerCase() !== TREE_ITEM_TAG_NAME$1) {
420
+ return;
421
+ }
422
+ const treeItem = currentTarget;
423
+ treeItem.dragState = "none";
424
+ __classPrivateFieldGet$1(this, _cancelSubTreeOpening, "f").call(this, treeItem);
420
425
  }
421
- const droppableZoneState = this.validDroppableZone(event);
422
- if (droppableZoneState === "invalid" ||
423
- droppableZoneState === "temporal-invalid") {
424
- event.dataTransfer.dropEffect = "none";
426
+ handleItemDrop(event) {
427
+ event.stopPropagation();
428
+ __classPrivateFieldGet$1(this, _cancelSubTreeOpening, "f").call(this, null, true);
429
+ const newContainer = event.target;
430
+ const draggedItems = JSON.parse(event.dataTransfer.getData(TEXT_FORMAT));
431
+ // The droppable zone must be checked, even if it was marked as not valid
432
+ // @todo Try to drop an item with high delays in droppable zone checking
433
+ if (__classPrivateFieldGet$1(this, _validDroppableZone, "f").call(this, event) !== "valid") {
434
+ return;
435
+ }
436
+ this.itemsDropped.emit({
437
+ newContainer: { id: newContainer.id, metadata: newContainer.metadata },
438
+ draggingSelectedItems: __classPrivateFieldGet$1(this, _draggingSelectedItems, "f"),
439
+ draggedItems: draggedItems,
440
+ dropInTheSameTree: this.draggingInTree
441
+ });
425
442
  }
426
- }
427
- resetVariables() {
428
- this.draggedIds = [];
429
- this.draggedParentIds = [];
430
- }
431
- /**
432
- * First, it check if all items can be dragged. If so, it updates the
433
- * dataTransfer in the drag event to store the ids and metadata of the
434
- * dragged items. Also it updates the visual information of the dragged
435
- * items.
436
- * @returns If all selected items can be dragged.
437
- */
438
- checkDragValidityAndUpdateDragInfo(dragInfo) {
439
- const draggedElement = dragInfo.elem;
440
- const isDraggingSelectedItems = this.selectedItemsInfo.has(draggedElement.id);
441
- this.draggingSelectedItems = isDraggingSelectedItems;
442
- let dataTransferInfo = [];
443
- let dragIsEnabledForAllItems;
444
- if (isDraggingSelectedItems) {
445
- const selectedItemKeys = [...this.selectedItemsInfo.keys()];
446
- const selectedItemValues = [...this.selectedItemsInfo.values()];
447
- const selectedItemCount = selectedItemKeys.length;
448
- dragIsEnabledForAllItems = selectedItemValues.every(el => !el.itemRef.dragDisabled);
449
- this.draggedIds = selectedItemKeys;
450
- dataTransferInfo = selectedItemValues.map(el => ({
451
- id: el.id,
452
- metadata: el.metadata
453
- }));
454
- this.dragInfo =
455
- selectedItemCount === 1
456
- ? draggedElement.caption
457
- : selectedItemCount.toString();
443
+ handleItemDragStart(event) {
444
+ // Avoid bubbling as this event can listened in other components (e.g. ch-flexible-layout)
445
+ event.stopPropagation();
446
+ document.body.addEventListener("dragover", __classPrivateFieldGet$1(this, _trackItemDrag, "f"), {
447
+ capture: true
448
+ });
449
+ __classPrivateFieldSet$1(this, _currentDraggedItem, event.target, "f");
450
+ const allItemsCanBeDragged = __classPrivateFieldGet$1(this, _checkDragValidityAndUpdateDragInfo, "f").call(this, event.detail);
451
+ if (!allItemsCanBeDragged) {
452
+ // This effect disables drop interactions in all page elements, so there
453
+ // is no need to capture and prevent the drop event in the window
454
+ event.detail.dragEvent.dataTransfer.effectAllowed = "none";
455
+ return;
456
+ }
457
+ this.draggingInTree = true;
458
+ if (this.scrollToEdgeOnDrag) {
459
+ __classPrivateFieldGet$1(this, _fixScrollPositionOnDrag, "f").call(this);
460
+ }
458
461
  }
459
- else {
460
- dragIsEnabledForAllItems = !draggedElement.dragDisabled;
461
- dataTransferInfo = [
462
- { id: draggedElement.id, metadata: draggedElement.metadata }
463
- ];
464
- this.draggedIds = [draggedElement.id];
465
- this.dragInfo = draggedElement.caption;
462
+ handleItemDragEnd() {
463
+ this.draggingInTree = false;
464
+ document.body.removeEventListener("dragover", __classPrivateFieldGet$1(this, _trackItemDrag, "f"), {
465
+ capture: true
466
+ });
467
+ // Reset not allowed droppable ids
468
+ __classPrivateFieldGet$1(this, _resetVariables, "f").call(this);
466
469
  }
467
- this.getDirectParentsOfDraggableItems(isDraggingSelectedItems);
468
- // Update drag event info
469
- const data = JSON.stringify(dataTransferInfo);
470
- dragInfo.dragEvent.dataTransfer.setData(TEXT_FORMAT, data);
471
- // We must keep the data binding and processing even if there is an item
472
- // that can't be dragged, otherwise, other trees or element might behave
473
- // unexpected when a dragstart event comes
474
- return dragIsEnabledForAllItems;
475
- }
476
- getDirectParentsOfDraggableItems(draggingSelectedItems) {
477
- if (!draggingSelectedItems) {
478
- const parentTreeItemElem = this.currentDraggedItem.parentElement;
479
- if (parentTreeItemElem.tagName.toLowerCase() === TREE_ITEM_TAG_NAME$1) {
480
- this.draggedParentIds.push(parentTreeItemElem.id);
470
+ handleSelectedItemChange(event) {
471
+ event.stopPropagation();
472
+ const selectedItemInfo = event.detail;
473
+ const selectedItemsInfo = this.selectedItemsCallback();
474
+ // If the Control key was not pressed or multi selection is disabled,
475
+ // remove all selected items
476
+ if (!selectedItemInfo.ctrlKeyPressed || !this.multiSelection) {
477
+ // Clear selected items
478
+ selectedItemsInfo.clear();
479
+ }
480
+ // If the item is selected, add it to list
481
+ if (selectedItemInfo.selected) {
482
+ selectedItemsInfo.set(selectedItemInfo.id, selectedItemInfo);
483
+ }
484
+ else {
485
+ selectedItemsInfo.delete(selectedItemInfo.id);
481
486
  }
482
- return;
487
+ // Sync with UI model
488
+ this.selectedItemsChange.emit(selectedItemsInfo);
483
489
  }
484
- // Dragging selected items
485
- this.selectedItemsInfo.forEach(selectedItem => {
486
- const parentId = selectedItem.parentId;
487
- // parentId === "" when the item is in the first level of the tree
488
- if (parentId !== "") {
489
- this.draggedParentIds.push(parentId);
490
+ /**
491
+ * Given an item id, it displays and scrolls into the item view.
492
+ */
493
+ async scrollIntoVisible(treeItemId) {
494
+ const itemRef = this.el.querySelector(ITEM_SELECTOR(treeItemId));
495
+ if (!itemRef) {
496
+ return;
490
497
  }
491
- });
492
- }
493
- handleItemSelection(selectedItemInfo) {
494
- // If the Control key was not pressed or multi selection is disabled,
495
- // remove all selected items
496
- if (!selectedItemInfo.ctrlKeyPressed || !this.multiSelection) {
497
- // Deselect all items except the item that emitted the event
498
- this.selectedItemsInfo.forEach(treeItem => {
499
- if (treeItem.id !== selectedItemInfo.id) {
500
- treeItem.itemRef.selected = false;
501
- }
498
+ let parentItem = itemRef.parentElement;
499
+ // Expand all parents
500
+ while (parentItem.tagName.toLowerCase() === TREE_ITEM_TAG_NAME$1) {
501
+ parentItem.expanded = true;
502
+ parentItem = parentItem.parentElement;
503
+ }
504
+ // Wait until the parents are expanded
505
+ requestAnimationFrame(() => {
506
+ itemRef.scrollIntoView();
502
507
  });
503
- this.clearSelectedItems();
504
508
  }
505
- // If the item is selected, add it to list
506
- if (selectedItemInfo.selected) {
507
- this.selectedItemsInfo.set(selectedItemInfo.id, selectedItemInfo);
509
+ /**
510
+ * Update the information about the valid droppable zones.
511
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
512
+ * @param newContainerId ID of the container where the drag is trying to be made.
513
+ * @param draggedItems Information about the dragged items.
514
+ * @param validDrop Current state of the droppable zone.
515
+ */
516
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
517
+ var _b;
518
+ if (!this.draggingInTheDocument ||
519
+ requestTimestamp <= __classPrivateFieldGet$1(this, _dragStartTimestamp, "f")) {
520
+ return;
521
+ }
522
+ const droppableZoneKey = getDroppableZoneKey(newContainerId, draggedItems);
523
+ __classPrivateFieldGet$1(this, _validDroppableZoneCache, "f").set(droppableZoneKey, validDrop ? "valid" : "invalid");
524
+ const shouldUpdateDragEnterInCurrentContainer = ((_b = __classPrivateFieldGet$1(this, _lastOpenSubTreeItem, "f")) === null || _b === void 0 ? void 0 : _b.id) === newContainerId;
525
+ if (shouldUpdateDragEnterInCurrentContainer) {
526
+ __classPrivateFieldGet$1(this, _lastOpenSubTreeItem, "f").dragState = "enter";
527
+ }
508
528
  }
509
- else {
510
- this.selectedItemsInfo.delete(selectedItemInfo.id);
529
+ disconnectedCallback() {
530
+ __classPrivateFieldGet$1(this, _resetVariables, "f").call(this);
531
+ // Remove dragover body event
532
+ this.handleItemDragEnd();
511
533
  }
512
- // Sync with UI model
513
- this.selectedItemsChange.emit(this.selectedItemsInfo);
514
- }
515
- clearSelectedItems() {
516
- this.selectedItemsInfo.clear();
517
- }
518
- disconnectedCallback() {
519
- this.resetVariables();
520
- // Remove dragover body event
521
- this.handleItemDragEnd();
522
- }
523
- render() {
524
- return (h(Host, { class: {
525
- "ch-tree-view-dragging-item": this.draggingInTheDocument,
526
- "ch-tree-view-not-dragging-item": !this.draggingInTheDocument,
527
- "ch-tree-view--dragging-selected-items": this.draggingInTree && this.draggingSelectedItems,
528
- "ch-tree-view-waiting-drop-processing": this.waitDropProcessing
529
- } }, h("div", { role: "tree", part: "tree-x-container", "aria-multiselectable": this.multiSelection.toString(), class: "ch-tree-view-container" }, h("slot", null)), this.draggingInTree && (h("span", { "aria-hidden": "true", class: "ch-tree-view-drag-info" }, this.dragInfo))));
530
- }
531
- };
534
+ render() {
535
+ return (h(Host, { class: {
536
+ "ch-tree-view-dragging-item": this.draggingInTheDocument,
537
+ "ch-tree-view-not-dragging-item": !this.draggingInTheDocument,
538
+ "ch-tree-view--dragging-selected-items": this.draggingInTree && __classPrivateFieldGet$1(this, _draggingSelectedItems, "f"),
539
+ "ch-tree-view-waiting-drop-processing": this.waitDropProcessing
540
+ } }, h("div", { role: "tree", part: "tree-x-container", "aria-multiselectable": this.multiSelection.toString(), class: "ch-tree-view-container" }, h("slot", null)), this.draggingInTree && (h("span", { "aria-hidden": "true", class: "ch-tree-view-drag-info" }, __classPrivateFieldGet$1(this, _dragInfo, "f")))));
541
+ }
542
+ },
543
+ _keyDownEvents = new WeakMap(),
544
+ _draggingSelectedItems = new WeakMap(),
545
+ _needForRAF = new WeakMap(),
546
+ _lastDragEvent = new WeakMap(),
547
+ _openSubTreeTimeout = new WeakMap(),
548
+ _validDroppableZoneCache = new WeakMap(),
549
+ _dragStartTimestamp = new WeakMap(),
550
+ _draggedItems = new WeakMap(),
551
+ _currentDraggedItem = new WeakMap(),
552
+ _lastOpenSubTreeItem = new WeakMap(),
553
+ _dragInfo = new WeakMap(),
554
+ _draggedIds = new WeakMap(),
555
+ _draggedParentIds = new WeakMap(),
556
+ _cancelSubTreeOpening = new WeakMap(),
557
+ _getTreeViewItemRef = new WeakMap(),
558
+ _validDroppableZone = new WeakMap(),
559
+ _openSubTreeAfterCountdown = new WeakMap(),
560
+ _trackItemDrag = new WeakMap(),
561
+ _updateDropEffect = new WeakMap(),
562
+ _resetVariables = new WeakMap(),
563
+ _checkDragValidityAndUpdateDragInfo = new WeakMap(),
564
+ _fixScrollPositionOnDrag = new WeakMap(),
565
+ _getDirectParentsOfDraggableItems = new WeakMap(),
566
+ _a$1);
532
567
  ChTreeView.style = treeViewCss;
533
568
 
534
- const treeViewItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--ch-tree-view-view__checkbox-size:1em;--ch-tree-view-view__expandable-button-width:0.75em;--ch-tree-view-item__dashed-line--inset-inline-start:0px;--ch-tree-view-item__dashed-line--inset-inline-end:4px;--ch-tree-view-item-gap:5px;--ch-tree-view-item-custom-padding-inline-start:0px;--ch-tree-tab-width:calc(\n var(--ch-tree-view-view__checkbox-size) +\n var(--ch-tree-view-view__expandable-button-width) +\n (var(--ch-tree-view-item-gap) * 2)\n );display:grid;grid-template-rows:min-content}.header{--own-offset:0px;display:flex;align-items:center;min-height:calc(1em + 6px);padding-inline-start:calc( var(--padding-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) )}.header--disabled{opacity:0.5;pointer-events:none}.header--even{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--even-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--even-expandable+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--odd-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd-expandable+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--level-0{--padding-inline-start:0px}.header--level-0+.expandable{--parent-padding-inline-start--even:0px}.header--expandable-offset{--own-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )}.header--expandable-offset+.expandable{--parent-expandable-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) / 2\n )}.header--checkbox-offset+.expandable{--parent-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n );--parent-negative-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n )}.dashed-line{position:absolute;inset-inline-start:calc( var(--inset-inline-start) + var(--ch-tree-view-item__dashed-line--inset-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) );height:1px;width:calc( var(--ch-tree-tab-width) - var(--parent-checkbox-offset) - var(--parent-expandable-offset) - var(--own-offset) - var(--ch-tree-view-item__dashed-line--inset-inline-start) - var(--ch-tree-view-item__dashed-line--inset-inline-end) );border:0 dashed color-mix(in srgb, currentColor 65%, transparent);border-block-end-width:1px;pointer-events:none;content-visibility:hidden;z-index:1}.last-all-line{inset-block-start:0;height:calc(100% - var(--ch-tree-view-item-distance-to-checkbox));border-inline-start-width:1px;border-end-start-radius:2px}.last-line{inset-block-start:0;height:100%;border-inline-start-width:1px;border-style:solid;border-block-end:unset}.expandable-button{display:grid;place-items:center;width:var(--ch-tree-view-view__expandable-button-width);height:var(--ch-tree-view-view__expandable-button-width);margin-inline-end:var(--ch-tree-view-item-gap);z-index:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto var(--ch-tree-view-view__expandable-button-width)}.expandable-button::before{content:\"\";width:calc(100% - 2px);height:calc(100% - 2px);background-color:currentColor;-webkit-mask-size:calc( var(--ch-tree-view-view__expandable-button-width) - 2px )}.expandable-button--collapsed::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H8.54v5.61h-1V8.5H1.93v-1H7.54V1.89h1V7.5h5.61Z\"/></svg>')}.expandable-button--expanded::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H1.93v-1H14.15Z\"/></svg>')}.expandable-button:focus-visible{outline:1px solid #000}.checkbox{width:var(--ch-tree-view-view__checkbox-size);margin-inline-end:var(--ch-tree-view-item-gap)}.checkbox::part(container){width:var(--ch-tree-view-view__checkbox-size);height:var(--ch-tree-view-view__checkbox-size)}.action{display:grid;grid-template:\"left-img text right-img\"/max-content 1fr max-content;align-items:center;height:100%;flex:1;cursor:pointer}.readonly-mode{padding-block:0.75px}.left-img,.right-img{display:block;width:0.875em;height:0.875em;content-visibility:auto;contain-intrinsic-size:auto 0.875em}.left-img{grid-area:left-img;margin-inline-end:var(--ch-tree-view-item-gap)}.right-img{grid-area:right-img;margin-inline-start:var(--ch-tree-view-item-gap)}.edit-name{grid-area:text;width:100%;height:100%;padding:0;margin:0;background-color:unset;color:unset;border:1px solid currentColor;font:unset;outline:unset}.downloading{width:0.75em;height:0.75em;margin-inline-start:8px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;opacity:0.75;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.expandable{--parent-expandable-offset:0px;--parent-negative-checkbox-offset:0px;--parent-checkbox-offset:0px;display:grid;grid-auto-rows:min-content;position:relative}.expandable--lazy-loaded{content-visibility:auto;contain-intrinsic-size:auto 100px}.expandable--collapsed{display:none;overflow:hidden;content-visibility:hidden}";
569
+ const treeViewItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--ch-tree-view-view__checkbox-size:1em;--ch-tree-view-view__expandable-button-width:0.75em;--ch-tree-view-item__dashed-line--inset-inline-start:0px;--ch-tree-view-item__dashed-line--inset-inline-end:4px;--ch-tree-view-item-gap:5px;--ch-tree-view-item-custom-padding-inline-start:0px;--ch-tree-tab-width:calc(\n var(--ch-tree-view-view__checkbox-size) +\n var(--ch-tree-view-view__expandable-button-width) +\n (var(--ch-tree-view-item-gap) * 2)\n );display:grid;grid-template-rows:min-content}.header{--own-offset:0px;display:flex;align-items:center;min-height:calc(1em + 6px);padding-inline-start:calc( var(--padding-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) )}.header--disabled{opacity:0.5;pointer-events:none}.header--even{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--even-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--even-expandable+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--odd-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd-expandable+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--level-0{--padding-inline-start:0px}.header--level-0+.expandable{--parent-padding-inline-start--even:0px}.header--expandable-offset{--own-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )}.header--expandable-offset+.expandable{--parent-expandable-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) / 2\n )}.header--checkbox-offset+.expandable{--parent-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n );--parent-negative-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n )}.dashed-line{position:absolute;inset-inline-start:calc( var(--inset-inline-start) + var(--ch-tree-view-item__dashed-line--inset-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) );height:1px;width:calc( var(--ch-tree-tab-width) - var(--parent-checkbox-offset) - var(--parent-expandable-offset) - var(--own-offset) - var(--ch-tree-view-item__dashed-line--inset-inline-start) - var(--ch-tree-view-item__dashed-line--inset-inline-end) );border:0 dashed color-mix(in srgb, currentColor 65%, transparent);border-block-end-width:1px;pointer-events:none;content-visibility:hidden;z-index:1}.last-all-line{inset-block-start:0;height:calc(100% - var(--ch-tree-view-item-distance-to-checkbox));border-inline-start-width:1px;border-end-start-radius:2px}.last-line{inset-block-start:0;height:100%;border-inline-start-width:1px;border-style:solid;border-block-end:unset}.expandable-button,.expandable-button-decorative::before{display:grid;place-items:center;width:var(--ch-tree-view-view__expandable-button-width);height:var(--ch-tree-view-view__expandable-button-width);margin-inline-end:var(--ch-tree-view-item-gap);z-index:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto var(--ch-tree-view-view__expandable-button-width)}.expandable-button-decorative::before{content:\"\";background-color:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M16.5 5L8.7 12.7L1 5\" stroke=\"%23000\" stroke-width=\"1.2\" stroke-linecap=\"round\"/></svg>') 50% 50%/calc(100% - 2px) calc(100% - 2px) no-repeat;cursor:unset}.expandable-button-decorative--collapsed::before{transform:rotate(-90deg)}.expandable-button::before{content:\"\";width:calc(100% - 2px);height:calc(100% - 2px);background-color:currentColor;-webkit-mask-size:calc( var(--ch-tree-view-view__expandable-button-width) - 2px )}.expandable-button--collapsed::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H8.54v5.61h-1V8.5H1.93v-1H7.54V1.89h1V7.5h5.61Z\"/></svg>')}.expandable-button--expanded::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H1.93v-1H14.15Z\"/></svg>')}.expandable-button:focus-visible{outline:1px solid #000}.checkbox{width:var(--ch-tree-view-view__checkbox-size);margin-inline-end:var(--ch-tree-view-item-gap)}.checkbox::part(container){width:var(--ch-tree-view-view__checkbox-size);height:var(--ch-tree-view-view__checkbox-size)}.action{display:grid;grid-template:\"left-img text right-img\"/max-content 1fr max-content;align-items:center;height:100%;flex:1;cursor:pointer}.readonly-mode{padding-block:0.75px}.left-img,.right-img{display:block;width:0.875em;height:0.875em;content-visibility:auto;contain-intrinsic-size:auto 0.875em}.left-img{grid-area:left-img;margin-inline-end:var(--ch-tree-view-item-gap)}.right-img{grid-area:right-img;margin-inline-start:var(--ch-tree-view-item-gap)}.edit-name{grid-area:text;width:100%;height:100%;padding:0;margin:0;background-color:unset;color:unset;border:1px solid currentColor;font:unset;outline:unset}.downloading{width:0.75em;height:0.75em;margin-inline:8px 2px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;opacity:0.75;animation:spin 1s linear infinite, avoid-flickering 75ms}@keyframes avoid-flickering{0%,100%{display:none}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.expandable{--parent-expandable-offset:0px;--parent-negative-checkbox-offset:0px;--parent-checkbox-offset:0px;display:grid;grid-auto-rows:min-content;position:relative}.expandable--lazy-loaded{content-visibility:auto;contain-intrinsic-size:auto 100px}.expandable--collapsed{display:none;overflow:hidden}";
535
570
 
536
- const resetDragImage = new Image();
571
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
572
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
573
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
574
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
575
+ };
576
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
577
+ if (kind === "m") throw new TypeError("Private method is not writable");
578
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
579
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
580
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
581
+ };
582
+ var _watcher, _ignoreCheckboxChange, _headerRef, _inputRef, _getDirectTreeItems, _setResizeObserver, _disconnectObserver, _checkIfShouldRemoveEditMode, _removeEditModeOnClick, _removeEditMode, _toggleExpand, _lazyLoadItems, _toggleSelected, _setSelected, _toggleOrSelect, _getSelectedInfo, _handleActionDblClick, _handleActionClick, _handleActionKeyDown, _emitOpenReference, _handleCheckedChange, _renderImg, _handleDragStart, _handleDragEnd, _handleDrop, _a;
537
583
  const DISTANCE_TO_CHECKBOX_CUSTOM_VAR = "--ch-tree-view-item-distance-to-checkbox";
538
584
  const INITIAL_LEVEL = 0;
539
585
  // Selectors
@@ -556,511 +602,549 @@ const CHECKBOX_EXPORT_PARTS = [
556
602
  ]
557
603
  .map(getCheckboxExportPart)
558
604
  .join(",");
559
- const ChTreeViewItem = class {
560
- constructor(hostRef) {
561
- /**
562
- * Useful to ignore the checkbox change when it was committed from a children.
563
- */
564
- this.ignoreCheckboxChange = false;
565
- this.checkIfShouldRemoveEditMode = (event) => {
566
- event.stopPropagation();
567
- if (event.code !== ENTER_KEY && event.code !== ESCAPE_KEY) {
605
+ const ChTreeViewItem = (_a = class {
606
+ constructor(hostRef) {
607
+ _watcher.set(this, void 0);
608
+ /**
609
+ * Useful to ignore the checkbox change when it was committed from a children.
610
+ */
611
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
612
+ _ignoreCheckboxChange.set(this, false);
613
+ // Refs
614
+ _headerRef.set(this, void 0);
615
+ _inputRef.set(this, void 0);
616
+ _getDirectTreeItems.set(this, () => Array.from(this.el.querySelectorAll(DIRECT_TREE_ITEM_CHILDREN)));
617
+ _setResizeObserver.set(this, () => {
618
+ __classPrivateFieldSet(this, _watcher, new ResizeObserver(() => {
619
+ const distanceToCheckbox = this.el.getBoundingClientRect().height -
620
+ __classPrivateFieldGet(this, _headerRef, "f").getBoundingClientRect().height / 2;
621
+ this.el.style.setProperty(DISTANCE_TO_CHECKBOX_CUSTOM_VAR, distanceToCheckbox + "px");
622
+ }), "f");
623
+ __classPrivateFieldGet(this, _watcher, "f").observe(this.el);
624
+ __classPrivateFieldGet(this, _watcher, "f").observe(__classPrivateFieldGet(this, _headerRef, "f"));
625
+ });
626
+ _disconnectObserver.set(this, () => {
627
+ if (!__classPrivateFieldGet(this, _watcher, "f")) {
628
+ return;
629
+ }
630
+ __classPrivateFieldGet(this, _watcher, "f").disconnect();
631
+ __classPrivateFieldSet(this, _watcher, null, "f");
632
+ });
633
+ _checkIfShouldRemoveEditMode.set(this, (event) => {
634
+ event.stopPropagation();
635
+ if (event.code !== ENTER_KEY && event.code !== ESCAPE_KEY) {
636
+ return;
637
+ }
638
+ event.preventDefault();
639
+ const commitEdition = event.code === ENTER_KEY;
640
+ __classPrivateFieldGet(this, _removeEditMode, "f").call(this, true, commitEdition)();
641
+ });
642
+ _removeEditModeOnClick.set(this, (event) => {
643
+ // The click is executed outside the input and the pointer type is defined,
644
+ // meaning that the button click was not triggered by the Enter or Space keys
645
+ if (!event.composedPath().includes(__classPrivateFieldGet(this, _inputRef, "f")) && event.pointerType) {
646
+ __classPrivateFieldGet(this, _removeEditMode, "f").call(this, false)();
647
+ }
648
+ });
649
+ _removeEditMode.set(this, (shouldFocusHeader, commitEdition = false) => () => {
650
+ // When pressing the enter key in the input, the removeEditMode event is
651
+ // triggered twice (due to the headerRef.focus() triggering the onBlur
652
+ // event in the input), so we need to check if the edit mode was disabled
653
+ if (!this.editing) {
654
+ return;
655
+ }
656
+ this.editing = false;
657
+ document.body.removeEventListener("click", __classPrivateFieldGet(this, _removeEditModeOnClick, "f"), {
658
+ capture: true
659
+ });
660
+ const newCaption = __classPrivateFieldGet(this, _inputRef, "f").value;
661
+ if (commitEdition && newCaption.trim() !== "") {
662
+ this.modifyCaption.emit({
663
+ id: this.el.id,
664
+ caption: newCaption
665
+ });
666
+ }
667
+ if (shouldFocusHeader) {
668
+ __classPrivateFieldGet(this, _headerRef, "f").focus();
669
+ }
670
+ });
671
+ _toggleExpand.set(this, (event) => {
672
+ event.stopPropagation();
673
+ if (!this.leaf) {
674
+ this.expanded = !this.expanded;
675
+ }
676
+ this.selected = true;
677
+ this.selectedItemChange.emit(__classPrivateFieldGet(this, _getSelectedInfo, "f").call(this, mouseEventModifierKey(event), true));
678
+ });
679
+ _lazyLoadItems.set(this, (expanded) => {
680
+ if (!this.lazyLoad || !expanded) {
681
+ return;
682
+ }
683
+ // Load items
684
+ this.lazyLoad = false;
685
+ this.downloading = true;
686
+ this.loadLazyContent.emit(this.el.id);
687
+ });
688
+ _toggleSelected.set(this, () => {
689
+ const selected = !this.selected;
690
+ this.selected = selected;
691
+ this.selectedItemChange.emit(__classPrivateFieldGet(this, _getSelectedInfo, "f").call(this, true, selected));
692
+ });
693
+ _setSelected.set(this, () => {
694
+ this.selected = true;
695
+ this.selectedItemChange.emit(__classPrivateFieldGet(this, _getSelectedInfo, "f").call(this, false, true));
696
+ });
697
+ _toggleOrSelect.set(this, (event) => {
698
+ // Ctrl key
699
+ if (mouseEventModifierKey(event)) {
700
+ __classPrivateFieldGet(this, _toggleSelected, "f").call(this);
701
+ }
702
+ // Expand on click interaction
703
+ else if (this.expandOnClick) {
704
+ __classPrivateFieldGet(this, _toggleExpand, "f").call(this, event);
705
+ }
706
+ // Click only selects the item
707
+ else {
708
+ __classPrivateFieldGet(this, _setSelected, "f").call(this);
709
+ }
710
+ });
711
+ _getSelectedInfo.set(this, (ctrlKeyPressed, selected) => {
712
+ var _b;
713
+ return ({
714
+ ctrlKeyPressed: ctrlKeyPressed,
715
+ expanded: this.expanded,
716
+ id: this.el.id,
717
+ metadata: this.metadata,
718
+ parentId: (_b = this.el.parentElement) === null || _b === void 0 ? void 0 : _b.id,
719
+ selected: selected
720
+ });
721
+ });
722
+ _handleActionDblClick.set(this, (event) => {
723
+ event.stopPropagation();
724
+ if (mouseEventModifierKey(event)) {
725
+ __classPrivateFieldGet(this, _toggleSelected, "f").call(this);
726
+ return;
727
+ }
728
+ __classPrivateFieldGet(this, _emitOpenReference, "f").call(this);
729
+ // The Control key is not pressed, so the control can be expanded if double
730
+ // click expands the item
731
+ if (!this.leaf && !this.expandOnClick) {
732
+ __classPrivateFieldGet(this, _toggleExpand, "f").call(this, event);
733
+ }
734
+ });
735
+ /**
736
+ * Event triggered by the following actions on the main button:
737
+ * - Click
738
+ * - Enter keydown
739
+ * - Space keydown and keyup
740
+ */
741
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
742
+ _handleActionClick.set(this, (event) => {
743
+ event.stopPropagation();
744
+ // Don't perform actions when editing
745
+ if (this.editing) {
746
+ return;
747
+ }
748
+ event.preventDefault();
749
+ // Click event
750
+ if (event.pointerType) {
751
+ __classPrivateFieldGet(this, _toggleOrSelect, "f").call(this, event);
752
+ return;
753
+ }
754
+ __classPrivateFieldGet(this, _emitOpenReference, "f").call(this);
755
+ // Enter or space
756
+ __classPrivateFieldGet(this, _toggleExpand, "f").call(this, event);
757
+ });
758
+ /**
759
+ * Event triggered by key events on the main button.
760
+ */
761
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
762
+ _handleActionKeyDown.set(this, (event) => {
763
+ // Only toggle if the Enter key was pressed with the Ctrl key
764
+ if (mouseEventModifierKey(event) && event.code === ENTER_KEY) {
765
+ event.stopPropagation();
766
+ __classPrivateFieldGet(this, _toggleSelected, "f").call(this);
767
+ }
768
+ });
769
+ _emitOpenReference.set(this, () => {
770
+ this.openReference.emit({
771
+ id: this.el.id,
772
+ leaf: this.leaf,
773
+ metadata: this.metadata
774
+ });
775
+ });
776
+ _handleCheckedChange.set(this, (event) => {
777
+ event.stopPropagation();
778
+ const checked = event.target.checked;
779
+ this.checked = checked;
780
+ this.indeterminate = false; // Changing the checked value makes it no longer indeterminate
781
+ this.checkboxChange.emit({
782
+ id: this.el.id,
783
+ checked: this.checked,
784
+ indeterminate: false
785
+ });
786
+ });
787
+ _renderImg.set(this, (cssClass, src) => (h("img", { "aria-hidden": "true", class: cssClass, part: cssClass, alt: "", src: src, loading: "lazy" })));
788
+ _handleDragStart.set(this, (event) => {
789
+ // Disallow drag when editing the caption
790
+ if (this.editing) {
791
+ event.preventDefault();
792
+ event.stopPropagation();
793
+ return;
794
+ }
795
+ removeDragImage(event);
796
+ event.dataTransfer.effectAllowed = "move";
797
+ this.dragState = "start";
798
+ this.itemDragStart.emit({
799
+ elem: this.el,
800
+ dragEvent: event
801
+ });
802
+ });
803
+ _handleDragEnd.set(this, () => {
804
+ // event.preventDefault();
805
+ // this.el.style.cursor = null;
806
+ this.dragState = "none";
807
+ this.itemDragEnd.emit();
808
+ });
809
+ _handleDrop.set(this, () => {
810
+ this.dragState = "none";
811
+ });
812
+ registerInstance(this, hostRef);
813
+ this.checkboxChange = createEvent(this, "checkboxChange", 7);
814
+ this.checkboxToggleChange = createEvent(this, "checkboxToggleChange", 7);
815
+ this.itemDragStart = createEvent(this, "itemDragStart", 7);
816
+ this.itemDragEnd = createEvent(this, "itemDragEnd", 7);
817
+ this.loadLazyContent = createEvent(this, "loadLazyContent", 7);
818
+ this.modifyCaption = createEvent(this, "modifyCaption", 7);
819
+ this.openReference = createEvent(this, "openReference", 7);
820
+ this.selectedItemChange = createEvent(this, "selectedItemChange", 7);
821
+ this.caption = undefined;
822
+ this.checkbox = false;
823
+ this.checked = false;
824
+ this.customRender = false;
825
+ this.disabled = false;
826
+ this.dragDisabled = false;
827
+ this.dropDisabled = false;
828
+ this.dragState = "none";
829
+ this.downloading = false;
830
+ this.editable = undefined;
831
+ this.editing = false;
832
+ this.expandableButton = "decorative";
833
+ this.expandOnClick = true;
834
+ this.expanded = false;
835
+ this.lastItem = false;
836
+ this.lazyLoad = false;
837
+ this.leaf = false;
838
+ this.leftImgSrc = undefined;
839
+ this.level = INITIAL_LEVEL;
840
+ this.indeterminate = false;
841
+ this.metadata = undefined;
842
+ this.rightImgSrc = undefined;
843
+ this.selected = false;
844
+ this.showDownloadingSpinner = true;
845
+ this.showLines = "none";
846
+ this.toggleCheckboxes = false;
847
+ }
848
+ get el() { return getElement(this); }
849
+ updateChildrenCheckedValue(newValue) {
850
+ if (!this.toggleCheckboxes || this.leaf || __classPrivateFieldGet(this, _ignoreCheckboxChange, "f")) {
851
+ __classPrivateFieldSet(this, _ignoreCheckboxChange, false, "f");
568
852
  return;
569
853
  }
570
- event.preventDefault();
571
- const commitEdition = event.code === ENTER_KEY;
572
- this.removeEditMode(true, commitEdition)();
573
- };
574
- this.removeEditModeOnClick = (event) => {
575
- // The click is executed outside the input and the pointer type is defined,
576
- // meaning that the button click was not triggered by the Enter or Space keys
577
- if (!event.composedPath().includes(this.inputRef) && event.pointerType) {
578
- this.removeEditMode(false)();
579
- }
580
- };
581
- this.removeEditMode = (shouldFocusHeader, commitEdition = false) => () => {
582
- // When pressing the enter key in the input, the removeEditMode event is
583
- // triggered twice (due to the headerRef.focus() triggering the onBlur
584
- // event in the input), so we need to check if the edit mode was disabled
585
- if (!this.editing) {
854
+ const treeItems = __classPrivateFieldGet(this, _getDirectTreeItems, "f").call(this);
855
+ treeItems.forEach(treeItem => {
856
+ if (treeItem.checked !== newValue || treeItem.indeterminate !== false) {
857
+ treeItem.updateChecked(newValue, false);
858
+ }
859
+ });
860
+ }
861
+ handleEditingChange(isEditing) {
862
+ if (!isEditing) {
586
863
  return;
587
864
  }
588
- this.editing = false;
589
- document.body.removeEventListener("click", this.removeEditModeOnClick, {
865
+ document.body.addEventListener("click", __classPrivateFieldGet(this, _removeEditModeOnClick, "f"), {
590
866
  capture: true
591
867
  });
592
- const newCaption = this.inputRef.value;
593
- if (commitEdition && newCaption.trim() !== "") {
594
- this.modifyCaption.emit({
595
- id: this.el.id,
596
- caption: newCaption
868
+ // Wait until the input is rendered to focus it
869
+ writeTask(() => {
870
+ requestAnimationFrame(() => {
871
+ if (__classPrivateFieldGet(this, _inputRef, "f")) {
872
+ __classPrivateFieldGet(this, _inputRef, "f").focus();
873
+ }
874
+ });
875
+ });
876
+ }
877
+ handleExpandedChange(isExpanded) {
878
+ // Wait until all properties are updated before lazy loading. Otherwise, the
879
+ // lazyLoad property could be updated just after the executing of the function
880
+ setTimeout(() => {
881
+ __classPrivateFieldGet(this, _lazyLoadItems, "f").call(this, isExpanded);
882
+ });
883
+ }
884
+ handleLasItemChange(isLastItem) {
885
+ if (isLastItem && this.showLines) {
886
+ // Use RAF to set the observer after the render method has completed
887
+ requestAnimationFrame(() => {
888
+ __classPrivateFieldGet(this, _setResizeObserver, "f").call(this);
597
889
  });
598
890
  }
599
- if (shouldFocusHeader) {
600
- this.headerRef.focus();
891
+ else {
892
+ __classPrivateFieldGet(this, _disconnectObserver, "f").call(this);
601
893
  }
602
- };
603
- this.toggleExpand = (event) => {
604
- event.stopPropagation();
605
- if (!this.leaf) {
606
- this.expanded = !this.expanded;
894
+ }
895
+ handleShowLinesChange(newShowLines) {
896
+ if (newShowLines && this.lastItem) {
897
+ __classPrivateFieldGet(this, _setResizeObserver, "f").call(this);
607
898
  }
608
- this.selected = true;
609
- this.selectedItemChange.emit(this.getSelectedInfo(mouseEventModifierKey(event), true));
610
- };
611
- this.getSelectedInfo = (ctrlKeyPressed, selected) => {
612
- var _a;
613
- return ({
614
- ctrlKeyPressed: ctrlKeyPressed,
615
- expanded: this.expanded,
616
- id: this.el.id,
617
- itemRef: this.el,
618
- metadata: this.metadata,
619
- parentId: (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.id,
620
- selected: selected
621
- });
622
- };
623
- this.handleActionDblClick = (event) => {
624
- event.stopPropagation();
625
- if (mouseEventModifierKey(event)) {
626
- this.toggleSelected();
899
+ else {
900
+ __classPrivateFieldGet(this, _disconnectObserver, "f").call(this);
901
+ }
902
+ }
903
+ updateCheckboxValue(event) {
904
+ // No need to update the checkbox value based on the children checkbox
905
+ if (!this.toggleCheckboxes || this.el === event.target) {
627
906
  return;
628
907
  }
629
- this.emitOpenReference();
630
- // The Control key is not pressed, so the control can be expanded
631
- if (!this.leaf) {
632
- this.toggleExpand(event);
908
+ const updatedCheck = event.detail.checked;
909
+ const treeItems = __classPrivateFieldGet(this, _getDirectTreeItems, "f").call(this);
910
+ // Check if all the items have the same value as the updated item
911
+ const allItemsHaveTheSameCheckedValue = treeItems.every(treeItem => treeItem.checked === updatedCheck);
912
+ const eventMustBeEmitted = this.checked !== updatedCheck ||
913
+ this.indeterminate !== !allItemsHaveTheSameCheckedValue;
914
+ __classPrivateFieldSet(this, _ignoreCheckboxChange, this.checked !== updatedCheck, "f");
915
+ this.checked = updatedCheck;
916
+ this.indeterminate = !allItemsHaveTheSameCheckedValue;
917
+ // Sync with the UI Model
918
+ if (eventMustBeEmitted) {
919
+ this.checkboxToggleChange.emit({
920
+ id: this.el.id,
921
+ checked: updatedCheck,
922
+ indeterminate: !allItemsHaveTheSameCheckedValue
923
+ });
633
924
  }
634
- };
925
+ }
635
926
  /**
636
- * Event triggered by the following actions on the main button:
637
- * - Click
638
- * - Enter keydown
639
- * - Space keydown and keyup
927
+ * Focus the next item in the tree. If the control is expanded, it focuses
928
+ * the first subitem in its tree.
640
929
  */
641
- this.handleActionClick = (event) => {
642
- event.stopPropagation();
643
- // Don't perform actions when editing
644
- if (this.editing) {
930
+ async focusNextItem(ctrlKeyPressed) {
931
+ // Focus the first subitem if expanded
932
+ if (!this.leaf && this.expanded) {
933
+ const subItem = this.el.querySelector(FIRST_ENABLED_SUB_ITEM);
934
+ // The tree item could be empty or downloading subitem, so it is uncertain
935
+ // if the query won't fail
936
+ if (subItem) {
937
+ subItem.setFocus(ctrlKeyPressed);
938
+ return;
939
+ }
940
+ }
941
+ // Otherwise, focus the next sibling
942
+ this.focusNextSibling(ctrlKeyPressed);
943
+ }
944
+ /**
945
+ * Focus the next sibling item in the tree.
946
+ */
947
+ async focusNextSibling(ctrlKeyPressed) {
948
+ const nextSiblingItem = this.el
949
+ .nextElementSibling;
950
+ // Focus the next sibling, if exists
951
+ if (nextSiblingItem) {
952
+ // If the next sibling is disabled, ask for its next sibling
953
+ if (nextSiblingItem.disabled) {
954
+ nextSiblingItem.focusNextItem(ctrlKeyPressed);
955
+ }
956
+ else {
957
+ nextSiblingItem.setFocus(ctrlKeyPressed);
958
+ }
645
959
  return;
646
960
  }
647
- event.preventDefault();
648
- // Click event
649
- if (event.pointerType) {
650
- this.toggleOrSelect(event);
961
+ // The item is the last one of the tree at the first level
962
+ if (this.level === INITIAL_LEVEL) {
651
963
  return;
652
964
  }
653
- this.emitOpenReference();
654
- // Enter or space
655
- this.toggleExpand(event);
656
- };
965
+ // Otherwise, ask the parent to focus the next sibling
966
+ const parentItem = this.el.parentElement;
967
+ parentItem.focusNextSibling(ctrlKeyPressed);
968
+ }
657
969
  /**
658
- * Event triggered by key events on the main button.
970
+ * Focus the previous item in the tree. If the previous item is expanded, it focuses
971
+ * the last subitem in its tree.
659
972
  */
660
- this.handleActionKeyDown = (event) => {
661
- // Only toggle if the Enter key was pressed with the Ctrl key
662
- if (mouseEventModifierKey(event) && event.code === ENTER_KEY) {
663
- event.stopPropagation();
664
- this.toggleSelected();
973
+ async focusPreviousItem(ctrlKeyPressed) {
974
+ const previousSiblingItem = this.el
975
+ .previousElementSibling;
976
+ // Focus last item of the previous sibling
977
+ if (previousSiblingItem) {
978
+ previousSiblingItem.focusLastItem(ctrlKeyPressed);
979
+ return;
665
980
  }
666
- };
667
- this.handleCheckedChange = (event) => {
668
- event.stopPropagation();
669
- const checked = event.target.checked;
670
- this.checked = checked;
671
- this.indeterminate = false; // Changing the checked value makes it no longer indeterminate
672
- this.checkboxChange.emit({
673
- id: this.el.id,
674
- checked: this.checked,
675
- indeterminate: false
676
- });
677
- };
678
- this.renderImg = (cssClass, src) => (h("img", { "aria-hidden": "true", class: cssClass, part: cssClass, alt: "", src: src, loading: "lazy" }));
679
- this.handleDragStart = (event) => {
680
- // Disallow drag when editing the caption
681
- if (this.editing) {
682
- event.preventDefault();
683
- event.stopPropagation();
981
+ // The item is the first one of the tree at the first level
982
+ if (this.level === INITIAL_LEVEL) {
684
983
  return;
685
984
  }
686
- // Remove drag image
687
- event.dataTransfer.setDragImage(resetDragImage, 0, 0);
688
- event.dataTransfer.effectAllowed = "move";
689
- this.dragState = "start";
690
- this.itemDragStart.emit({
691
- elem: this.el,
692
- dragEvent: event
693
- });
694
- };
695
- this.handleDragEnd = () => {
696
- // event.preventDefault();
697
- // this.el.style.cursor = null;
698
- this.dragState = "none";
699
- this.itemDragEnd.emit();
700
- };
701
- this.handleDrop = () => {
702
- this.dragState = "none";
703
- };
704
- registerInstance(this, hostRef);
705
- this.checkboxChange = createEvent(this, "checkboxChange", 7);
706
- this.checkboxToggleChange = createEvent(this, "checkboxToggleChange", 7);
707
- this.itemDragStart = createEvent(this, "itemDragStart", 7);
708
- this.itemDragEnd = createEvent(this, "itemDragEnd", 7);
709
- this.loadLazyContent = createEvent(this, "loadLazyContent", 7);
710
- this.modifyCaption = createEvent(this, "modifyCaption", 7);
711
- this.openReference = createEvent(this, "openReference", 7);
712
- this.selectedItemChange = createEvent(this, "selectedItemChange", 7);
713
- this.caption = undefined;
714
- this.checkbox = false;
715
- this.checked = false;
716
- this.customRender = false;
717
- this.disabled = false;
718
- this.dragDisabled = false;
719
- this.dropDisabled = false;
720
- this.dragState = "none";
721
- this.downloading = false;
722
- this.editable = undefined;
723
- this.editing = false;
724
- this.expanded = false;
725
- this.lastItem = false;
726
- this.lazyLoad = false;
727
- this.leaf = false;
728
- this.leftImgSrc = undefined;
729
- this.level = INITIAL_LEVEL;
730
- this.indeterminate = false;
731
- this.metadata = undefined;
732
- this.rightImgSrc = undefined;
733
- this.selected = false;
734
- this.showDownloadingSpinner = true;
735
- this.showExpandableButton = true;
736
- this.showLines = "none";
737
- this.toggleCheckboxes = false;
738
- }
739
- get el() { return getElement(this); }
740
- updateChildrenCheckedValue(newValue) {
741
- if (!this.toggleCheckboxes || this.leaf || this.ignoreCheckboxChange) {
742
- this.ignoreCheckboxChange = false;
743
- return;
744
- }
745
- const treeItems = this.getDirectTreeItems();
746
- treeItems.forEach(treeItem => {
747
- if (treeItem.checked !== newValue || treeItem.indeterminate !== false) {
748
- treeItem.updateChecked(newValue, false);
985
+ // Otherwise, set focus in the parent element
986
+ const parentItem = this.el.parentElement;
987
+ // Check if the parent is not disabled
988
+ if (parentItem.disabled) {
989
+ parentItem.focusPreviousItem(ctrlKeyPressed);
990
+ return;
749
991
  }
750
- });
751
- }
752
- handleEditingChange(isEditing) {
753
- if (!isEditing) {
754
- return;
992
+ parentItem.setFocus(ctrlKeyPressed);
755
993
  }
756
- document.body.addEventListener("click", this.removeEditModeOnClick, {
757
- capture: true
758
- });
759
- // Wait until the input is rendered to focus it
760
- writeTask(() => {
761
- requestAnimationFrame(() => {
762
- if (this.inputRef) {
763
- this.inputRef.focus();
994
+ /**
995
+ * Focus the last item in its subtree. If the control is not expanded, it
996
+ * focus the control.
997
+ */
998
+ async focusLastItem(ctrlKeyPressed) {
999
+ // Focus the last subitem if expanded and not lazy loading
1000
+ if (!this.leaf && this.expanded) {
1001
+ const lastSubItem = this.el.querySelector(LAST_SUB_ITEM);
1002
+ // The tree item could be empty or downloading subitem, so it is uncertain
1003
+ // if the query won't fail
1004
+ if (lastSubItem) {
1005
+ lastSubItem.focusLastItem(ctrlKeyPressed);
1006
+ return;
764
1007
  }
765
- });
766
- });
767
- }
768
- handleExpandedChange(isExpanded) {
769
- // Wait until all properties are updated before lazy loading. Otherwise, the
770
- // lazyLoad property could be updated just after the executing of the function
771
- setTimeout(() => {
772
- this.lazyLoadItems(isExpanded);
773
- });
774
- }
775
- handleLasItemChange(isLastItem) {
776
- if (isLastItem && this.showLines) {
777
- // Use RAF to set the observer after the render method has completed
778
- requestAnimationFrame(() => {
779
- this.setResizeObserver();
780
- });
781
- }
782
- else {
783
- this.disconnectObserver();
784
- }
785
- }
786
- handleShowLinesChange(newShowLines) {
787
- if (newShowLines && this.lastItem) {
788
- this.setResizeObserver();
789
- }
790
- else {
791
- this.disconnectObserver();
1008
+ }
1009
+ // If the last item is disabled, try to focus the previous sibling
1010
+ if (this.disabled) {
1011
+ this.focusPreviousItem(ctrlKeyPressed);
1012
+ return;
1013
+ }
1014
+ // Otherwise, it focuses the control
1015
+ this.setFocus(ctrlKeyPressed);
792
1016
  }
793
- }
794
- updateCheckboxValue(event) {
795
- // No need to update the checkbox value based on the children checkbox
796
- if (!this.toggleCheckboxes || this.el === event.target) {
797
- return;
1017
+ /**
1018
+ * Set focus in the control.
1019
+ */
1020
+ async setFocus(ctrlKeyPressed) {
1021
+ __classPrivateFieldGet(this, _headerRef, "f").focus();
1022
+ // Normal navigation auto selects the item.
1023
+ if (!ctrlKeyPressed) {
1024
+ __classPrivateFieldGet(this, _setSelected, "f").call(this);
1025
+ }
798
1026
  }
799
- const updatedCheck = event.detail.checked;
800
- const treeItems = this.getDirectTreeItems();
801
- // Check if all the items have the same value as the updated item
802
- const allItemsHaveTheSameCheckedValue = treeItems.every(treeItem => treeItem.checked === updatedCheck);
803
- const eventMustBeEmitted = this.checked !== updatedCheck ||
804
- this.indeterminate !== !allItemsHaveTheSameCheckedValue;
805
- this.ignoreCheckboxChange = this.checked !== updatedCheck;
806
- this.checked = updatedCheck;
807
- this.indeterminate = !allItemsHaveTheSameCheckedValue;
808
- // Sync with the UI Model
809
- if (eventMustBeEmitted) {
1027
+ /**
1028
+ * Update `checked` and `indeterminate` properties.
1029
+ */
1030
+ async updateChecked(newChecked, newIndeterminate) {
1031
+ this.checked = newChecked;
1032
+ this.indeterminate = newIndeterminate;
1033
+ // Emit the event to sync with the UI model, even if the item does not
1034
+ // have toggleCheckboxes property
810
1035
  this.checkboxToggleChange.emit({
811
1036
  id: this.el.id,
812
- checked: updatedCheck,
813
- indeterminate: !allItemsHaveTheSameCheckedValue
1037
+ checked: newChecked,
1038
+ indeterminate: newIndeterminate
814
1039
  });
815
1040
  }
816
- }
817
- /**
818
- * Focus the next item in the tree. If the control is expanded, it focuses
819
- * the first subitem in its tree.
820
- */
821
- async focusNextItem(ctrlKeyPressed) {
822
- // Focus the first subitem if expanded
823
- if (!this.leaf && this.expanded) {
824
- const subItem = this.el.querySelector(FIRST_ENABLED_SUB_ITEM);
825
- // The tree item could be empty or downloading subitem, so it is uncertain
826
- // if the query won't fail
827
- if (subItem) {
828
- subItem.setFocus(ctrlKeyPressed);
829
- return;
830
- }
1041
+ componentWillLoad() {
1042
+ // Check if must lazy load
1043
+ __classPrivateFieldGet(this, _lazyLoadItems, "f").call(this, this.expanded);
831
1044
  }
832
- // Otherwise, focus the next sibling
833
- this.focusNextSibling(ctrlKeyPressed);
834
- }
835
- /**
836
- * Focus the next sibling item in the tree.
837
- */
838
- async focusNextSibling(ctrlKeyPressed) {
839
- const nextSiblingItem = this.el
840
- .nextElementSibling;
841
- // Focus the next sibling, if exists
842
- if (nextSiblingItem) {
843
- // If the next sibling is disabled, ask for its next sibling
844
- if (nextSiblingItem.disabled) {
845
- nextSiblingItem.focusNextItem(ctrlKeyPressed);
1045
+ componentDidLoad() {
1046
+ if (this.lastItem && this.showLines) {
1047
+ __classPrivateFieldGet(this, _setResizeObserver, "f").call(this);
846
1048
  }
847
- else {
848
- nextSiblingItem.setFocus(ctrlKeyPressed);
849
- }
850
- return;
851
- }
852
- // The item is the last one of the tree at the first level
853
- if (this.level === INITIAL_LEVEL) {
854
- return;
855
1049
  }
856
- // Otherwise, ask the parent to focus the next sibling
857
- const parentItem = this.el.parentElement;
858
- parentItem.focusNextSibling(ctrlKeyPressed);
859
- }
860
- /**
861
- * Focus the previous item in the tree. If the previous item is expanded, it focuses
862
- * the last subitem in its tree.
863
- */
864
- async focusPreviousItem(ctrlKeyPressed) {
865
- const previousSiblingItem = this.el
866
- .previousElementSibling;
867
- // Focus last item of the previous sibling
868
- if (previousSiblingItem) {
869
- previousSiblingItem.focusLastItem(ctrlKeyPressed);
870
- return;
871
- }
872
- // The item is the first one of the tree at the first level
873
- if (this.level === INITIAL_LEVEL) {
874
- return;
875
- }
876
- // Otherwise, set focus in the parent element
877
- const parentItem = this.el.parentElement;
878
- // Check if the parent is not disabled
879
- if (parentItem.disabled) {
880
- parentItem.focusPreviousItem(ctrlKeyPressed);
881
- return;
882
- }
883
- parentItem.setFocus(ctrlKeyPressed);
884
- }
885
- /**
886
- * Focus the last item in its subtree. If the control is not expanded, it
887
- * focus the control.
888
- */
889
- async focusLastItem(ctrlKeyPressed) {
890
- // Focus the last subitem if expanded and not lazy loading
891
- if (!this.leaf && this.expanded) {
892
- const lastSubItem = this.el.querySelector(LAST_SUB_ITEM);
893
- // The tree item could be empty or downloading subitem, so it is uncertain
894
- // if the query won't fail
895
- if (lastSubItem) {
896
- lastSubItem.focusLastItem(ctrlKeyPressed);
897
- return;
1050
+ disconnectedCallback() {
1051
+ // If it was disconnected on edit mode, remove the body event handler
1052
+ if (this.editing) {
1053
+ __classPrivateFieldGet(this, _removeEditMode, "f").call(this, false);
898
1054
  }
1055
+ __classPrivateFieldGet(this, _disconnectObserver, "f").call(this);
899
1056
  }
900
- // If the last item is disabled, try to focus the previous sibling
901
- if (this.disabled) {
902
- this.focusPreviousItem(ctrlKeyPressed);
903
- return;
904
- }
905
- // Otherwise, it focuses the control
906
- this.setFocus(ctrlKeyPressed);
907
- }
908
- /**
909
- * Set focus in the control.
910
- */
911
- async setFocus(ctrlKeyPressed) {
912
- this.headerRef.focus();
913
- // Normal navigation auto selects the item.
914
- if (!ctrlKeyPressed) {
915
- this.setSelected();
916
- }
917
- }
918
- /**
919
- * Update `checked` and `indeterminate` properties.
920
- */
921
- async updateChecked(newChecked, newIndeterminate) {
922
- this.checked = newChecked;
923
- this.indeterminate = newIndeterminate;
924
- // Emit the event to sync with the UI model, even if the item does not
925
- // have toggleCheckboxes property
926
- this.checkboxToggleChange.emit({
927
- id: this.el.id,
928
- checked: newChecked,
929
- indeterminate: newIndeterminate
930
- });
931
- }
932
- getDirectTreeItems() {
933
- return Array.from(this.el.querySelectorAll(DIRECT_TREE_ITEM_CHILDREN));
934
- }
935
- setResizeObserver() {
936
- this.watcher = new ResizeObserver(() => {
937
- const distanceToCheckbox = this.el.getBoundingClientRect().height -
938
- this.headerRef.getBoundingClientRect().height / 2;
939
- this.el.style.setProperty(DISTANCE_TO_CHECKBOX_CUSTOM_VAR, distanceToCheckbox + "px");
940
- });
941
- this.watcher.observe(this.el);
942
- this.watcher.observe(this.headerRef);
943
- }
944
- disconnectObserver() {
945
- if (!this.watcher) {
946
- return;
1057
+ render() {
1058
+ const evenLevel = this.level % 2 === 0;
1059
+ const expandableButtonVisible = !this.leaf && this.expandableButton !== "no";
1060
+ const expandableButtonNotVisible = !this.leaf && this.expandableButton === "no";
1061
+ const acceptDrop = !this.dropDisabled && !this.leaf && this.dragState !== "start";
1062
+ const hasContent = !this.leaf && !this.lazyLoad;
1063
+ const showAllLines = this.showLines === "all" && this.level !== INITIAL_LEVEL;
1064
+ const showLastLine = this.showLines === "last" &&
1065
+ this.level !== INITIAL_LEVEL &&
1066
+ this.lastItem;
1067
+ return (h(Host, { role: "treeitem", "aria-level": this.level + 1, "aria-selected": this.selected ? "true" : null, class: {
1068
+ [TREE_ITEM_TAG_NAME + "--downloading"]: this.downloading,
1069
+ [TREE_ITEM_TAG_NAME + "--editing"]: this.editing,
1070
+ [TREE_ITEM_TAG_NAME + "--not-editing"]: !this.editing,
1071
+ [TREE_ITEM_TAG_NAME + "--drag-" + this.dragState]: this.dragState !== "none" && this.dragState !== "start",
1072
+ [TREE_ITEM_TAG_NAME + "--deny-drop"]: this.leaf
1073
+ }, style: { "--level": `${this.level}` },
1074
+ // Drag and drop
1075
+ onDrop: acceptDrop ? __classPrivateFieldGet(this, _handleDrop, "f") : null }, h("button", { "aria-controls": hasContent ? EXPANDABLE_ID : null, "aria-expanded": hasContent ? this.expanded.toString() : null, class: {
1076
+ header: true,
1077
+ "header--selected": this.selected,
1078
+ "header--disabled": this.disabled,
1079
+ "header--expandable-offset": expandableButtonVisible,
1080
+ "header--checkbox-offset": expandableButtonNotVisible && this.checkbox,
1081
+ "header--even": evenLevel,
1082
+ "header--odd": !evenLevel,
1083
+ "header--even-expandable": evenLevel && expandableButtonVisible,
1084
+ "header--odd-expandable": !evenLevel && expandableButtonVisible,
1085
+ "header--level-0": this.level === INITIAL_LEVEL,
1086
+ "expandable-button-decorative": !this.leaf && this.expandableButton === "decorative",
1087
+ "expandable-button-decorative--collapsed": !this.leaf &&
1088
+ this.expandableButton === "decorative" &&
1089
+ !this.expanded
1090
+ }, part: `header${this.disabled ? " disabled" : ""}${this.selected ? " selected" : ""}${this.level === INITIAL_LEVEL ? " level-0" : ""}`, type: "button", disabled: this.disabled, onClick: __classPrivateFieldGet(this, _handleActionClick, "f"), onKeyDown: !this.editing ? __classPrivateFieldGet(this, _handleActionKeyDown, "f") : null,
1091
+ // Drag and drop
1092
+ draggable: !this.dragDisabled, onDragStart: __classPrivateFieldGet(this, _handleDragStart, "f"), onDragEnd: !this.dragDisabled ? __classPrivateFieldGet(this, _handleDragEnd, "f") : null, ref: el => (__classPrivateFieldSet(this, _headerRef, el, "f")) }, !this.leaf && this.expandableButton === "action" && (h("button", { type: "button", class: {
1093
+ "expandable-button": true,
1094
+ "expandable-button--expanded": this.expanded,
1095
+ "expandable-button--collapsed": !this.expanded
1096
+ }, part: `expandable-button${this.disabled ? " disabled" : ""}${this.expanded ? " expanded" : " collapsed"}`, disabled: this.disabled, onClick: __classPrivateFieldGet(this, _toggleExpand, "f") })), this.checkbox && (h("ch-checkbox", { accessibleName: this.caption, class: "checkbox", exportparts: CHECKBOX_EXPORT_PARTS, part: `checkbox${this.disabled ? " disabled" : ""}${this.checked ? " checked" : ""}${this.indeterminate ? " indeterminate" : ""}`, checkedValue: "true", disabled: this.disabled, indeterminate: this.indeterminate, unCheckedValue: "false", value: `${this.checked}`, onInput: __classPrivateFieldGet(this, _handleCheckedChange, "f") })), this.customRender ? (h("slot", { name: "custom-content" })) : ([
1097
+ h("div", { class: {
1098
+ action: true,
1099
+ "readonly-mode": !this.editing
1100
+ }, part: `action${!this.editing ? " readonly-mode" : ""}${!this.leaf && this.expanded ? " expanded" : ""}`, onDblClick: !this.editing ? __classPrivateFieldGet(this, _handleActionDblClick, "f") : null }, this.leftImgSrc &&
1101
+ __classPrivateFieldGet(this, _renderImg, "f").call(this, "left-img", this.leftImgSrc), this.editable && this.editing ? (h("input", { class: "edit-name", part: "edit-name", disabled: this.disabled, type: "text", value: this.caption, onBlur: __classPrivateFieldGet(this, _removeEditMode, "f").call(this, false), onKeyDown: __classPrivateFieldGet(this, _checkIfShouldRemoveEditMode, "f"), ref: el => (__classPrivateFieldSet(this, _inputRef, el, "f")) })) : (this.caption), this.rightImgSrc &&
1102
+ __classPrivateFieldGet(this, _renderImg, "f").call(this, "right-img", this.rightImgSrc)),
1103
+ this.showDownloadingSpinner && !this.leaf && this.downloading && (h("div", { class: "downloading", part: "downloading" }))
1104
+ ]), (showAllLines || showLastLine) && (h("div", { class: {
1105
+ "dashed-line": true,
1106
+ "last-all-line": showAllLines && this.lastItem,
1107
+ "last-line": showLastLine
1108
+ }, part: `dashed-line${this.lastItem ? " last-all-line" : ""}` }))), hasContent && (h("div", { role: "group", "aria-busy": (!!this.downloading).toString(), "aria-live": this.downloading ? "polite" : null, id: EXPANDABLE_ID, class: {
1109
+ expandable: true,
1110
+ "expandable--collapsed": !this.expanded,
1111
+ "expandable--lazy-loaded": !this.downloading
1112
+ }, part: `expandable${this.expanded ? " expanded" : " collapsed"}${!this.downloading ? " lazy-loaded" : ""}` }, h("slot", null)))));
947
1113
  }
948
- this.watcher.disconnect();
949
- this.watcher = null;
950
- }
951
- lazyLoadItems(expanded) {
952
- if (!this.lazyLoad || !expanded) {
953
- return;
954
- }
955
- // Load items
956
- this.lazyLoad = false;
957
- this.downloading = true;
958
- this.loadLazyContent.emit(this.el.id);
959
- }
960
- toggleSelected() {
961
- const selected = !this.selected;
962
- this.selected = selected;
963
- this.selectedItemChange.emit(this.getSelectedInfo(true, selected));
964
- }
965
- setSelected() {
966
- this.selected = true;
967
- this.selectedItemChange.emit(this.getSelectedInfo(false, true));
968
- }
969
- toggleOrSelect(event) {
970
- if (mouseEventModifierKey(event)) {
971
- this.toggleSelected();
972
- }
973
- else {
974
- this.setSelected();
975
- }
976
- }
977
- emitOpenReference() {
978
- this.openReference.emit({
979
- id: this.el.id,
980
- leaf: this.leaf,
981
- metadata: this.metadata
982
- });
983
- }
984
- componentWillLoad() {
985
- // Check if must lazy load
986
- this.lazyLoadItems(this.expanded);
987
- // Sync selected state with the main tree
988
- if (this.selected) {
989
- this.selectedItemChange.emit(this.getSelectedInfo(true, true));
990
- }
991
- }
992
- componentDidLoad() {
993
- if (this.lastItem && this.showLines) {
994
- this.setResizeObserver();
995
- }
996
- }
997
- disconnectedCallback() {
998
- // If it was disconnected on edit mode, remove the body event handler
999
- if (this.editing) {
1000
- this.removeEditMode(false);
1001
- }
1002
- this.disconnectObserver();
1003
- }
1004
- render() {
1005
- const evenLevel = this.level % 2 === 0;
1006
- const expandableButtonVisible = !this.leaf && this.showExpandableButton;
1007
- const expandableButtonNotVisible = !this.leaf && !this.showExpandableButton;
1008
- const acceptDrop = !this.dropDisabled && !this.leaf && this.dragState !== "start";
1009
- const hasContent = !this.leaf && !this.lazyLoad;
1010
- const showAllLines = this.showLines === "all" && this.level !== INITIAL_LEVEL;
1011
- const showLastLine = this.showLines === "last" &&
1012
- this.level !== INITIAL_LEVEL &&
1013
- this.lastItem;
1014
- return (h(Host, { role: "treeitem", "aria-level": this.level + 1, "aria-selected": this.selected ? "true" : null, class: {
1015
- [TREE_ITEM_TAG_NAME + "--downloading"]: this.downloading,
1016
- [TREE_ITEM_TAG_NAME + "--editing"]: this.editing,
1017
- [TREE_ITEM_TAG_NAME + "--not-editing"]: !this.editing,
1018
- [TREE_ITEM_TAG_NAME + "--drag-" + this.dragState]: this.dragState !== "none" && this.dragState !== "start",
1019
- [TREE_ITEM_TAG_NAME + "--deny-drop"]: this.leaf
1020
- }, style: { "--level": `${this.level}` },
1021
- // Drag and drop
1022
- onDrop: acceptDrop ? this.handleDrop : null }, h("button", { "aria-controls": hasContent ? EXPANDABLE_ID : null, "aria-expanded": hasContent ? this.expanded.toString() : null, class: {
1023
- header: true,
1024
- "header--selected": this.selected,
1025
- "header--disabled": this.disabled,
1026
- "header--expandable-offset": expandableButtonVisible,
1027
- "header--checkbox-offset": expandableButtonNotVisible && this.checkbox,
1028
- "header--even": evenLevel,
1029
- "header--odd": !evenLevel,
1030
- "header--even-expandable": evenLevel && expandableButtonVisible,
1031
- "header--odd-expandable": !evenLevel && expandableButtonVisible,
1032
- "header--level-0": this.level === INITIAL_LEVEL
1033
- }, part: `header${this.disabled ? " disabled" : ""}${this.selected ? " selected" : ""}${this.level === INITIAL_LEVEL ? " level-0" : ""}`, type: "button", disabled: this.disabled, onClick: this.handleActionClick, onKeyDown: !this.editing ? this.handleActionKeyDown : null,
1034
- // Drag and drop
1035
- draggable: !this.dragDisabled, onDragStart: this.handleDragStart, onDragEnd: !this.dragDisabled ? this.handleDragEnd : null, ref: el => (this.headerRef = el) }, !this.leaf && this.showExpandableButton && (h("button", { type: "button", class: {
1036
- "expandable-button": true,
1037
- "expandable-button--expanded": this.expanded,
1038
- "expandable-button--collapsed": !this.expanded
1039
- }, part: `expandable-button${this.disabled ? " disabled" : ""}${this.expanded ? " expanded" : " collapsed"}`, disabled: this.disabled, onClick: this.toggleExpand })), this.checkbox && (h("ch-checkbox", { accessibleName: this.caption, class: "checkbox", exportparts: CHECKBOX_EXPORT_PARTS, part: `checkbox${this.disabled ? " disabled" : ""}${this.checked ? " checked" : ""}${this.indeterminate ? " indeterminate" : ""}`, checkedValue: "true", disabled: this.disabled, indeterminate: this.indeterminate, unCheckedValue: "false", value: `${this.checked}`, onInput: this.handleCheckedChange })), this.customRender ? (h("slot", { name: "custom-content" })) : ([
1040
- h("div", { class: {
1041
- action: true,
1042
- "readonly-mode": !this.editing
1043
- }, part: `action${!this.editing ? " readonly-mode" : ""}${!this.leaf && this.expanded ? " expanded" : ""}`, onDblClick: !this.editing ? this.handleActionDblClick : null }, this.leftImgSrc && this.renderImg("left-img", this.leftImgSrc), this.editable && this.editing ? (h("input", { class: "edit-name", part: "edit-name", disabled: this.disabled, type: "text", value: this.caption, onBlur: this.removeEditMode(false), onKeyDown: this.checkIfShouldRemoveEditMode, ref: el => (this.inputRef = el) })) : (this.caption), this.rightImgSrc &&
1044
- this.renderImg("right-img", this.rightImgSrc)),
1045
- this.showDownloadingSpinner && !this.leaf && this.downloading && (h("div", { class: "downloading", part: "downloading" }))
1046
- ]), (showAllLines || showLastLine) && (h("div", { class: {
1047
- "dashed-line": true,
1048
- "last-all-line": showAllLines && this.lastItem,
1049
- "last-line": showLastLine
1050
- }, part: `dashed-line${this.lastItem ? " last-all-line" : ""}` }))), hasContent && (h("div", { role: "group", "aria-busy": (!!this.downloading).toString(), "aria-live": this.downloading ? "polite" : null, id: EXPANDABLE_ID, class: {
1051
- expandable: true,
1052
- "expandable--collapsed": !this.expanded,
1053
- "expandable--lazy-loaded": !this.downloading
1054
- }, part: `expandable${this.expanded ? " expanded" : " collapsed"}${!this.downloading ? " lazy-loaded" : ""}` }, h("slot", null)))));
1055
- }
1056
- static get watchers() { return {
1057
- "checked": ["updateChildrenCheckedValue"],
1058
- "editing": ["handleEditingChange"],
1059
- "expanded": ["handleExpandedChange"],
1060
- "lastItem": ["handleLasItemChange"],
1061
- "showLines": ["handleShowLinesChange"]
1062
- }; }
1063
- };
1114
+ static get watchers() { return {
1115
+ "checked": ["updateChildrenCheckedValue"],
1116
+ "editing": ["handleEditingChange"],
1117
+ "expanded": ["handleExpandedChange"],
1118
+ "lastItem": ["handleLasItemChange"],
1119
+ "showLines": ["handleShowLinesChange"]
1120
+ }; }
1121
+ },
1122
+ _watcher = new WeakMap(),
1123
+ _ignoreCheckboxChange = new WeakMap(),
1124
+ _headerRef = new WeakMap(),
1125
+ _inputRef = new WeakMap(),
1126
+ _getDirectTreeItems = new WeakMap(),
1127
+ _setResizeObserver = new WeakMap(),
1128
+ _disconnectObserver = new WeakMap(),
1129
+ _checkIfShouldRemoveEditMode = new WeakMap(),
1130
+ _removeEditModeOnClick = new WeakMap(),
1131
+ _removeEditMode = new WeakMap(),
1132
+ _toggleExpand = new WeakMap(),
1133
+ _lazyLoadItems = new WeakMap(),
1134
+ _toggleSelected = new WeakMap(),
1135
+ _setSelected = new WeakMap(),
1136
+ _toggleOrSelect = new WeakMap(),
1137
+ _getSelectedInfo = new WeakMap(),
1138
+ _handleActionDblClick = new WeakMap(),
1139
+ _handleActionClick = new WeakMap(),
1140
+ _handleActionKeyDown = new WeakMap(),
1141
+ _emitOpenReference = new WeakMap(),
1142
+ _handleCheckedChange = new WeakMap(),
1143
+ _renderImg = new WeakMap(),
1144
+ _handleDragStart = new WeakMap(),
1145
+ _handleDragEnd = new WeakMap(),
1146
+ _handleDrop = new WeakMap(),
1147
+ _a);
1064
1148
  ChTreeViewItem.style = treeViewItemCss;
1065
1149
 
1066
1150
  export { CheckBox as ch_checkbox, ChTreeView as ch_tree_view, ChTreeViewItem as ch_tree_view_item };