@genexus/genexus-ide-ui 0.0.63 → 0.0.65

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 (541) hide show
  1. package/dist/cjs/ch-accordion.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-action-group_2.cjs.entry.js +1 -1
  3. package/dist/cjs/ch-alert.cjs.entry.js +1 -1
  4. package/dist/cjs/{ch-checkbox_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +39 -615
  5. package/dist/cjs/ch-drag-bar.cjs.entry.js +1 -1
  6. package/dist/cjs/ch-dropdown-item-separator.cjs.entry.js +1 -1
  7. package/dist/cjs/ch-dropdown-item.cjs.entry.js +1 -1
  8. package/dist/cjs/ch-dropdown.cjs.entry.js +1 -1
  9. package/dist/cjs/ch-form-checkbox.cjs.entry.js +1 -1
  10. package/dist/cjs/ch-grid-action-refresh_7.cjs.entry.js +1 -1
  11. package/dist/cjs/ch-grid-column-display.cjs.entry.js +1 -1
  12. package/dist/cjs/ch-grid-infinite-scroll.cjs.entry.js +1 -1
  13. package/dist/cjs/ch-grid-row-actions.cjs.entry.js +1 -1
  14. package/dist/cjs/ch-grid-rowset-empty.cjs.entry.js +1 -1
  15. package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +1 -1
  16. package/dist/cjs/ch-grid-virtual-scroller.cjs.entry.js +1 -1
  17. package/dist/cjs/ch-grid_8.cjs.entry.js +2 -2
  18. package/dist/cjs/ch-icon.cjs.entry.js +116 -0
  19. package/dist/cjs/ch-intersection-observer.cjs.entry.js +1 -1
  20. package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +1 -1
  21. package/dist/cjs/ch-next-data-modeling_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ch-next-progress-bar.cjs.entry.js +1 -1
  23. package/dist/cjs/ch-notifications-item.cjs.entry.js +1 -1
  24. package/dist/cjs/ch-notifications.cjs.entry.js +1 -1
  25. package/dist/cjs/ch-qr.cjs.entry.js +1 -1
  26. package/dist/cjs/ch-select-option.cjs.entry.js +1 -1
  27. package/dist/cjs/ch-select.cjs.entry.js +2 -2
  28. package/dist/cjs/ch-sidebar-menu-list-item.cjs.entry.js +1 -1
  29. package/dist/cjs/ch-sidebar-menu-list.cjs.entry.js +1 -1
  30. package/dist/cjs/ch-sidebar-menu.cjs.entry.js +2 -2
  31. package/dist/cjs/ch-step-list-item.cjs.entry.js +1 -1
  32. package/dist/cjs/ch-step-list.cjs.entry.js +1 -1
  33. package/dist/cjs/ch-style.cjs.entry.js +1 -1
  34. package/dist/cjs/ch-suggest_4.cjs.entry.js +3 -3
  35. package/dist/cjs/ch-test-action-group.cjs.entry.js +1 -1
  36. package/dist/cjs/ch-test-dropdown.cjs.entry.js +1 -1
  37. package/dist/cjs/ch-test-suggest.cjs.entry.js +1 -1
  38. package/dist/cjs/ch-textblock.cjs.entry.js +1 -1
  39. package/dist/cjs/ch-timer.cjs.entry.js +1 -1
  40. package/dist/cjs/ch-tooltip.cjs.entry.js +1 -1
  41. package/dist/cjs/ch-tree-item.cjs.entry.js +1 -1
  42. package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +6 -3
  43. package/dist/cjs/ch-tree-view-render_2.cjs.entry.js +822 -0
  44. package/dist/cjs/ch-tree.cjs.entry.js +1 -1
  45. package/dist/cjs/ch-window_2.cjs.entry.js +1 -1
  46. package/dist/cjs/{common-5d08e273.js → common-2100f35f.js} +1 -1
  47. package/dist/cjs/{config-c652329b.js → config-8cf5ba3b.js} +5 -1
  48. package/dist/cjs/{form-c75c9ac0.js → form-437d6a38.js} +1 -1
  49. package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
  50. package/dist/cjs/gx-grid-chameleon.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -4
  52. package/dist/cjs/gx-ide-container_4.cjs.entry.js +7 -3
  53. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  54. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +24 -5
  55. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +2 -2
  56. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +90 -44
  58. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +124 -32
  59. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -3
  61. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +3 -3
  62. package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -2
  63. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -3
  64. package/dist/cjs/gx-ide-references.cjs.entry.js +3 -3
  65. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -3
  66. package/dist/cjs/{gx-ide-status-buttons_2.cjs.entry.js → gx-ide-status-buttons.cjs.entry.js} +1 -73
  67. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
  69. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
  70. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +2 -2
  71. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  72. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +2 -2
  73. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
  74. package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
  75. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  76. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +3 -3
  78. package/dist/cjs/gxg-accordion-item.cjs.entry.js +2 -2
  79. package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
  80. package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
  81. package/dist/cjs/gxg-box.cjs.entry.js +1 -1
  82. package/dist/cjs/gxg-breadcrumb.cjs.entry.js +1 -1
  83. package/dist/cjs/gxg-breadcrumbs.cjs.entry.js +1 -1
  84. package/dist/cjs/{gxg-button-group.cjs.entry.js → gxg-button-group_2.cjs.entry.js} +108 -3
  85. package/dist/cjs/{gxg-button.cjs.entry.js → gxg-button_2.cjs.entry.js} +65 -2
  86. package/dist/cjs/gxg-card.cjs.entry.js +36 -3
  87. package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
  88. package/dist/cjs/gxg-column.cjs.entry.js +1 -1
  89. package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
  90. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +3 -3
  91. package/dist/cjs/gxg-container.cjs.entry.js +1 -1
  92. package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
  93. package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
  94. package/dist/cjs/gxg-contextual-menu.cjs.entry.js +1 -1
  95. package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
  96. package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
  97. package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
  98. package/dist/cjs/gxg-drop-down.cjs.entry.js +2 -2
  99. package/dist/cjs/gxg-filter-item.cjs.entry.js +1 -1
  100. package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
  101. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +2 -2
  102. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -3
  103. package/dist/cjs/gxg-form-message.cjs.entry.js +2 -2
  104. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +2 -2
  105. package/dist/cjs/gxg-form-radio.cjs.entry.js +1 -1
  106. package/dist/cjs/gxg-form-textarea.cjs.entry.js +3 -3
  107. package/dist/cjs/gxg-label_2.cjs.entry.js +2 -2
  108. package/dist/cjs/gxg-list-box_2.cjs.entry.js +4 -4
  109. package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
  110. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  111. package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
  112. package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
  113. package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
  114. package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
  115. package/dist/cjs/gxg-modal.cjs.entry.js +2 -2
  116. package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
  117. package/dist/cjs/gxg-option-v2.cjs.entry.js +1 -1
  118. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  119. package/dist/cjs/gxg-options-item.cjs.entry.js +1 -1
  120. package/dist/cjs/gxg-options.cjs.entry.js +2 -2
  121. package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
  122. package/dist/cjs/gxg-pill.cjs.entry.js +12 -4
  123. package/dist/cjs/gxg-pills.cjs.entry.js +4 -3
  124. package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
  125. package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
  126. package/dist/cjs/gxg-select-v2.cjs.entry.js +2 -2
  127. package/dist/cjs/gxg-select.cjs.entry.js +3 -3
  128. package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
  129. package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
  130. package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
  131. package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
  132. package/dist/cjs/gxg-split.cjs.entry.js +1 -1
  133. package/dist/cjs/gxg-splitter.cjs.entry.js +1 -1
  134. package/dist/cjs/gxg-stack.cjs.entry.js +1 -1
  135. package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
  136. package/dist/cjs/gxg-tab_4.cjs.entry.js +14 -7
  137. package/dist/cjs/gxg-test.cjs.entry.js +1 -1
  138. package/dist/cjs/gxg-text.cjs.entry.js +8 -4
  139. package/dist/cjs/gxg-title-editable.cjs.entry.js +2 -3
  140. package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
  141. package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
  142. package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
  143. package/dist/cjs/gxg-tree-grid-divs.cjs.entry.js +1 -1
  144. package/dist/cjs/gxg-tree-item.cjs.entry.js +1 -1
  145. package/dist/cjs/gxg-tree.cjs.entry.js +1 -1
  146. package/dist/cjs/gxg-window.cjs.entry.js +1 -1
  147. package/dist/cjs/{index-3e90909d.js → index-69adec41.js} +1 -1
  148. package/dist/cjs/{index-5a32426a.js → index-f9bb1815.js} +5 -0
  149. package/dist/cjs/loader.cjs.js +2 -2
  150. package/dist/cjs/{render-combo-items-d99a186a.js → render-combo-items-05509216.js} +1 -1
  151. package/dist/cjs/{render-suggest-c623955f.js → render-suggest-a4363c7b.js} +1 -1
  152. package/dist/cjs/{store-0866de9f.js → store-5fad773e.js} +2 -1
  153. package/dist/collection/common/config.js +5 -1
  154. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +28 -4
  155. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  156. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  157. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +8 -1
  158. package/dist/collection/components/kb-manager-export/helpers.js +4 -4
  159. package/dist/collection/components/kb-manager-export/kb-manager-export.css +0 -20
  160. package/dist/collection/components/kb-manager-export/kb-manager-export.js +99 -51
  161. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -1
  162. package/dist/collection/components/kb-manager-import/helpers.js +8 -4
  163. package/dist/collection/components/kb-manager-import/kb-manager-import.css +3 -0
  164. package/dist/collection/components/kb-manager-import/kb-manager-import.js +136 -25
  165. package/dist/components/button-group.js +1 -1
  166. package/dist/components/ch-tree-view-render-wrapper.js +5 -2
  167. package/dist/components/config.js +5 -1
  168. package/dist/components/directory-selector.js +25 -5
  169. package/dist/components/form-text.js +6 -1
  170. package/dist/components/gx-ide-kb-manager-export.js +151 -78
  171. package/dist/components/gx-ide-kb-manager-import.js +125 -30
  172. package/dist/components/gxg-card.js +66 -4
  173. package/dist/components/gxg-pill.js +11 -2
  174. package/dist/components/gxg-pills.js +3 -2
  175. package/dist/components/gxg-title-editable.js +1 -151
  176. package/dist/components/icon2.js +1 -0
  177. package/dist/components/ide-loader.js +75 -14
  178. package/dist/components/list-box-item.js +1 -1
  179. package/dist/components/store.js +1 -0
  180. package/dist/components/tab-bar.js +3 -1
  181. package/dist/components/tab-button.js +2 -1
  182. package/dist/components/tab.js +2 -1
  183. package/dist/components/tabs.js +8 -2
  184. package/dist/components/text.js +8 -3
  185. package/dist/components/title-editable.js +152 -0
  186. package/dist/components/tree-view-item.js +41 -26
  187. package/dist/components/tree-view-render.js +81 -18
  188. package/dist/components/tree-view2.js +9 -4
  189. package/dist/esm/ch-accordion.entry.js +1 -1
  190. package/dist/esm/ch-action-group_2.entry.js +1 -1
  191. package/dist/esm/ch-alert.entry.js +1 -1
  192. package/dist/esm/{ch-checkbox_4.entry.js → ch-checkbox_3.entry.js} +40 -615
  193. package/dist/esm/ch-drag-bar.entry.js +1 -1
  194. package/dist/esm/ch-dropdown-item-separator.entry.js +1 -1
  195. package/dist/esm/ch-dropdown-item.entry.js +1 -1
  196. package/dist/esm/ch-dropdown.entry.js +1 -1
  197. package/dist/esm/ch-form-checkbox.entry.js +1 -1
  198. package/dist/esm/ch-grid-action-refresh_7.entry.js +1 -1
  199. package/dist/esm/ch-grid-column-display.entry.js +1 -1
  200. package/dist/esm/ch-grid-infinite-scroll.entry.js +1 -1
  201. package/dist/esm/ch-grid-row-actions.entry.js +1 -1
  202. package/dist/esm/ch-grid-rowset-empty.entry.js +1 -1
  203. package/dist/esm/ch-grid-rowset-legend.entry.js +1 -1
  204. package/dist/esm/ch-grid-virtual-scroller.entry.js +1 -1
  205. package/dist/esm/ch-grid_8.entry.js +2 -2
  206. package/dist/esm/ch-icon.entry.js +112 -0
  207. package/dist/esm/ch-intersection-observer.entry.js +1 -1
  208. package/dist/esm/ch-next-data-modeling-render.entry.js +1 -1
  209. package/dist/esm/ch-next-data-modeling_2.entry.js +1 -1
  210. package/dist/esm/ch-next-progress-bar.entry.js +1 -1
  211. package/dist/esm/ch-notifications-item.entry.js +1 -1
  212. package/dist/esm/ch-notifications.entry.js +1 -1
  213. package/dist/esm/ch-qr.entry.js +1 -1
  214. package/dist/esm/ch-select-option.entry.js +1 -1
  215. package/dist/esm/ch-select.entry.js +2 -2
  216. package/dist/esm/ch-sidebar-menu-list-item.entry.js +1 -1
  217. package/dist/esm/ch-sidebar-menu-list.entry.js +1 -1
  218. package/dist/esm/ch-sidebar-menu.entry.js +2 -2
  219. package/dist/esm/ch-step-list-item.entry.js +1 -1
  220. package/dist/esm/ch-step-list.entry.js +1 -1
  221. package/dist/esm/ch-style.entry.js +1 -1
  222. package/dist/esm/ch-suggest_4.entry.js +3 -3
  223. package/dist/esm/ch-test-action-group.entry.js +1 -1
  224. package/dist/esm/ch-test-dropdown.entry.js +1 -1
  225. package/dist/esm/ch-test-suggest.entry.js +1 -1
  226. package/dist/esm/ch-textblock.entry.js +1 -1
  227. package/dist/esm/ch-timer.entry.js +1 -1
  228. package/dist/esm/ch-tooltip.entry.js +1 -1
  229. package/dist/esm/ch-tree-item.entry.js +1 -1
  230. package/dist/esm/ch-tree-view-render-wrapper.entry.js +6 -3
  231. package/dist/esm/ch-tree-view-render_2.entry.js +817 -0
  232. package/dist/esm/ch-tree.entry.js +1 -1
  233. package/dist/esm/ch-window_2.entry.js +1 -1
  234. package/dist/esm/{common-ec35ec2f.js → common-202491f0.js} +1 -1
  235. package/dist/esm/{config-ee66bdf4.js → config-2fae16a2.js} +5 -1
  236. package/dist/esm/{form-267b92df.js → form-1e8f483d.js} +1 -1
  237. package/dist/esm/genexus-ide-ui.js +3 -3
  238. package/dist/esm/gx-grid-chameleon.entry.js +1 -1
  239. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -4
  240. package/dist/esm/gx-ide-container_4.entry.js +7 -3
  241. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  242. package/dist/esm/gx-ide-directory-selector.entry.js +24 -5
  243. package/dist/esm/gx-ide-entity-selector_2.entry.js +2 -2
  244. package/dist/esm/gx-ide-file-selector.entry.js +1 -1
  245. package/dist/esm/gx-ide-kb-manager-export.entry.js +90 -44
  246. package/dist/esm/gx-ide-kb-manager-import.entry.js +124 -32
  247. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  248. package/dist/esm/gx-ide-new-environment.entry.js +3 -3
  249. package/dist/esm/gx-ide-new-kb.entry.js +3 -3
  250. package/dist/esm/gx-ide-new-object.entry.js +2 -2
  251. package/dist/esm/gx-ide-object-selector.entry.js +3 -3
  252. package/dist/esm/gx-ide-references.entry.js +3 -3
  253. package/dist/esm/gx-ide-share-kb.entry.js +3 -3
  254. package/dist/esm/{gx-ide-status-buttons_2.entry.js → gx-ide-status-buttons.entry.js} +2 -73
  255. package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
  256. package/dist/esm/gx-ide-switcher.entry.js +1 -1
  257. package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
  258. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +2 -2
  259. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  260. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +2 -2
  261. package/dist/esm/gx-ide-team-dev-update.entry.js +3 -3
  262. package/dist/esm/gx-ide-template.entry.js +2 -2
  263. package/dist/esm/gx-ide-test.entry.js +1 -1
  264. package/dist/esm/gx-ide-top-bar.entry.js +1 -1
  265. package/dist/esm/gx-ide-ww-images.entry.js +3 -3
  266. package/dist/esm/gxg-accordion-item.entry.js +2 -2
  267. package/dist/esm/gxg-accordion.entry.js +1 -1
  268. package/dist/esm/gxg-alert.entry.js +1 -1
  269. package/dist/esm/gxg-box.entry.js +1 -1
  270. package/dist/esm/gxg-breadcrumb.entry.js +1 -1
  271. package/dist/esm/gxg-breadcrumbs.entry.js +1 -1
  272. package/dist/esm/{gxg-button-group.entry.js → gxg-button-group_2.entry.js} +108 -4
  273. package/dist/esm/{gxg-button.entry.js → gxg-button_2.entry.js} +65 -3
  274. package/dist/esm/gxg-card.entry.js +36 -3
  275. package/dist/esm/gxg-color-picker.entry.js +1 -1
  276. package/dist/esm/gxg-column.entry.js +1 -1
  277. package/dist/esm/gxg-columns.entry.js +1 -1
  278. package/dist/esm/gxg-combo-box_2.entry.js +3 -3
  279. package/dist/esm/gxg-container.entry.js +1 -1
  280. package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
  281. package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
  282. package/dist/esm/gxg-contextual-menu.entry.js +1 -1
  283. package/dist/esm/gxg-demo.entry.js +1 -1
  284. package/dist/esm/gxg-drag-box.entry.js +1 -1
  285. package/dist/esm/gxg-drag-container.entry.js +1 -1
  286. package/dist/esm/gxg-drop-down.entry.js +2 -2
  287. package/dist/esm/gxg-filter-item.entry.js +1 -1
  288. package/dist/esm/gxg-filter.entry.js +1 -1
  289. package/dist/esm/gxg-form-checkbox-group.entry.js +2 -2
  290. package/dist/esm/gxg-form-checkbox.entry.js +3 -3
  291. package/dist/esm/gxg-form-message.entry.js +2 -2
  292. package/dist/esm/gxg-form-radio-group.entry.js +2 -2
  293. package/dist/esm/gxg-form-radio.entry.js +1 -1
  294. package/dist/esm/gxg-form-textarea.entry.js +3 -3
  295. package/dist/esm/gxg-label_2.entry.js +2 -2
  296. package/dist/esm/gxg-list-box_2.entry.js +4 -4
  297. package/dist/esm/gxg-loader.entry.js +1 -1
  298. package/dist/esm/gxg-menu-item.entry.js +1 -1
  299. package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
  300. package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
  301. package/dist/esm/gxg-menu-slim.entry.js +1 -1
  302. package/dist/esm/gxg-menu.entry.js +1 -1
  303. package/dist/esm/gxg-modal.entry.js +2 -2
  304. package/dist/esm/gxg-more-info.entry.js +1 -1
  305. package/dist/esm/gxg-option-v2.entry.js +1 -1
  306. package/dist/esm/gxg-option.entry.js +1 -1
  307. package/dist/esm/gxg-options-item.entry.js +1 -1
  308. package/dist/esm/gxg-options.entry.js +2 -2
  309. package/dist/esm/gxg-paginator.entry.js +1 -1
  310. package/dist/esm/gxg-pill.entry.js +12 -4
  311. package/dist/esm/gxg-pills.entry.js +4 -3
  312. package/dist/esm/gxg-progress-bar.entry.js +1 -1
  313. package/dist/esm/gxg-scroll.entry.js +1 -1
  314. package/dist/esm/gxg-select-v2.entry.js +2 -2
  315. package/dist/esm/gxg-select.entry.js +3 -3
  316. package/dist/esm/gxg-separator.entry.js +1 -1
  317. package/dist/esm/gxg-slider.entry.js +1 -1
  318. package/dist/esm/gxg-spacer-layout.entry.js +1 -1
  319. package/dist/esm/gxg-spacer-one.entry.js +1 -1
  320. package/dist/esm/gxg-split.entry.js +1 -1
  321. package/dist/esm/gxg-splitter.entry.js +1 -1
  322. package/dist/esm/gxg-stack.entry.js +1 -1
  323. package/dist/esm/gxg-stepper.entry.js +1 -1
  324. package/dist/esm/gxg-tab_4.entry.js +14 -7
  325. package/dist/esm/gxg-test.entry.js +1 -1
  326. package/dist/esm/gxg-text.entry.js +8 -4
  327. package/dist/esm/gxg-title-editable.entry.js +2 -3
  328. package/dist/esm/gxg-toggle.entry.js +1 -1
  329. package/dist/esm/gxg-toolbar-item.entry.js +1 -1
  330. package/dist/esm/gxg-toolbar.entry.js +1 -1
  331. package/dist/esm/gxg-tree-grid-divs.entry.js +1 -1
  332. package/dist/esm/gxg-tree-item.entry.js +1 -1
  333. package/dist/esm/gxg-tree.entry.js +1 -1
  334. package/dist/esm/gxg-window.entry.js +1 -1
  335. package/dist/esm/{index-0da01575.js → index-0aa3977d.js} +5 -0
  336. package/dist/esm/{index-ea94e298.js → index-5ae5cf27.js} +1 -1
  337. package/dist/esm/loader.js +3 -3
  338. package/dist/esm/{render-combo-items-faf78e28.js → render-combo-items-ede5de19.js} +1 -1
  339. package/dist/esm/{render-suggest-e44dde1b.js → render-suggest-f3af661b.js} +1 -1
  340. package/dist/esm/{store-c2650ca5.js → store-eca88b9a.js} +2 -1
  341. package/dist/genexus-ide-ui/genexus-ide-ui.css +3 -3
  342. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  343. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +8 -1
  344. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -1
  345. package/dist/genexus-ide-ui/{p-71b14079.entry.js → p-00bb2aa7.entry.js} +1 -1
  346. package/dist/genexus-ide-ui/{p-1fe05a05.entry.js → p-01978a13.entry.js} +1 -1
  347. package/dist/genexus-ide-ui/{p-13177896.entry.js → p-0261c202.entry.js} +1 -1
  348. package/dist/genexus-ide-ui/{p-aacec189.entry.js → p-02c50994.entry.js} +1 -1
  349. package/dist/genexus-ide-ui/{p-73cfc07c.entry.js → p-040e960d.entry.js} +1 -1
  350. package/dist/genexus-ide-ui/p-045ddedf.entry.js +1 -0
  351. package/dist/genexus-ide-ui/{p-cbe42c29.entry.js → p-0495c639.entry.js} +1 -1
  352. package/dist/genexus-ide-ui/{p-b5dc509f.entry.js → p-07c6f7dd.entry.js} +1 -1
  353. package/dist/genexus-ide-ui/p-0906fb46.js +2 -0
  354. package/dist/genexus-ide-ui/{p-1294d220.entry.js → p-0cba56a1.entry.js} +1 -1
  355. package/dist/genexus-ide-ui/{p-0c360621.entry.js → p-0e29d370.entry.js} +1 -1
  356. package/dist/genexus-ide-ui/{p-fec82adb.entry.js → p-0ff8550a.entry.js} +1 -1
  357. package/dist/genexus-ide-ui/{p-eddf8a1e.entry.js → p-10fa87ef.entry.js} +1 -1
  358. package/dist/genexus-ide-ui/{p-9aa2dd17.entry.js → p-112dc730.entry.js} +1 -1
  359. package/dist/genexus-ide-ui/{p-bb7ae451.entry.js → p-128c0527.entry.js} +1 -1
  360. package/dist/genexus-ide-ui/p-13ffa7c0.js +1 -0
  361. package/dist/genexus-ide-ui/{p-db4f2732.entry.js → p-15685d3f.entry.js} +1 -1
  362. package/dist/genexus-ide-ui/{p-5e40990d.entry.js → p-161969f3.entry.js} +1 -1
  363. package/dist/genexus-ide-ui/{p-b9d071f7.entry.js → p-16b0acef.entry.js} +1 -1
  364. package/dist/genexus-ide-ui/{p-fb92083f.entry.js → p-1a8d710a.entry.js} +1 -1
  365. package/dist/genexus-ide-ui/{p-81c9847d.entry.js → p-20751bae.entry.js} +1 -1
  366. package/dist/genexus-ide-ui/{p-0dee851b.entry.js → p-207c378b.entry.js} +1 -1
  367. package/dist/genexus-ide-ui/{p-a48badf0.entry.js → p-21a768d0.entry.js} +1 -1
  368. package/dist/genexus-ide-ui/{p-1dece95c.entry.js → p-231244f2.entry.js} +1 -1
  369. package/dist/genexus-ide-ui/p-232fe7cb.entry.js +1 -0
  370. package/dist/genexus-ide-ui/{p-e7c46bbe.entry.js → p-2422a593.entry.js} +1 -1
  371. package/dist/genexus-ide-ui/p-2447a18f.entry.js +1 -0
  372. package/dist/genexus-ide-ui/{p-283afc3b.entry.js → p-2589e00e.entry.js} +1 -1
  373. package/dist/genexus-ide-ui/{p-3e3cb535.entry.js → p-264b3088.entry.js} +1 -1
  374. package/dist/genexus-ide-ui/p-264f77c4.entry.js +1 -0
  375. package/dist/genexus-ide-ui/{p-c6b514cb.entry.js → p-266539cf.entry.js} +1 -1
  376. package/dist/genexus-ide-ui/{p-bb77cb65.entry.js → p-27d835c0.entry.js} +1 -1
  377. package/dist/genexus-ide-ui/{p-0f1388e1.entry.js → p-2dc875c2.entry.js} +1 -1
  378. package/dist/genexus-ide-ui/{p-f7aa606a.entry.js → p-2ec6d722.entry.js} +1 -1
  379. package/dist/genexus-ide-ui/{p-117498b7.entry.js → p-383f10ab.entry.js} +1 -1
  380. package/dist/genexus-ide-ui/{p-e8e2f4c1.entry.js → p-39bd6c60.entry.js} +1 -1
  381. package/dist/genexus-ide-ui/{p-df7996d5.entry.js → p-39c03652.entry.js} +1 -1
  382. package/dist/genexus-ide-ui/{p-df02f70a.entry.js → p-3dacc147.entry.js} +1 -1
  383. package/dist/genexus-ide-ui/{p-eb328b50.entry.js → p-3fbc7703.entry.js} +1 -1
  384. package/dist/genexus-ide-ui/{p-636d02fa.entry.js → p-3fc20855.entry.js} +1 -1
  385. package/dist/genexus-ide-ui/{p-f8c8eebd.entry.js → p-42f71c47.entry.js} +1 -1
  386. package/dist/genexus-ide-ui/p-43386091.entry.js +1 -0
  387. package/dist/genexus-ide-ui/{p-a2479a2f.entry.js → p-43947003.entry.js} +1 -1
  388. package/dist/genexus-ide-ui/{p-2c17e71d.entry.js → p-439a45c1.entry.js} +1 -1
  389. package/dist/genexus-ide-ui/{p-8243c51d.entry.js → p-46632b39.entry.js} +1 -1
  390. package/dist/genexus-ide-ui/{p-bfb41ce9.js → p-47629213.js} +1 -1
  391. package/dist/genexus-ide-ui/{p-4f02b7bf.entry.js → p-4a756245.entry.js} +1 -1
  392. package/dist/genexus-ide-ui/{p-718759e7.entry.js → p-4ad2bc69.entry.js} +1 -1
  393. package/dist/genexus-ide-ui/{p-45b17fd8.entry.js → p-4ca8f7d3.entry.js} +1 -1
  394. package/dist/genexus-ide-ui/{p-9b93752d.entry.js → p-4cb93e1b.entry.js} +1 -1
  395. package/dist/genexus-ide-ui/{p-123b8351.entry.js → p-4d42f077.entry.js} +1 -1
  396. package/dist/genexus-ide-ui/{p-8a29aa0e.entry.js → p-4d653456.entry.js} +1 -1
  397. package/dist/genexus-ide-ui/{p-984f7626.entry.js → p-4da6f594.entry.js} +1 -1
  398. package/dist/genexus-ide-ui/{p-1fc0c236.entry.js → p-53424a7c.entry.js} +1 -1
  399. package/dist/genexus-ide-ui/{p-11af125f.js → p-551539eb.js} +1 -1
  400. package/dist/genexus-ide-ui/{p-7b63be93.entry.js → p-5624cbd0.entry.js} +1 -1
  401. package/dist/genexus-ide-ui/{p-f69d8c9f.entry.js → p-57972075.entry.js} +1 -1
  402. package/dist/genexus-ide-ui/{p-6b301bbb.entry.js → p-59244df7.entry.js} +1 -1
  403. package/dist/genexus-ide-ui/{p-9dfc4afa.entry.js → p-5babe487.entry.js} +1 -1
  404. package/dist/genexus-ide-ui/{p-5ec25f04.entry.js → p-61b5f2f2.entry.js} +1 -1
  405. package/dist/genexus-ide-ui/{p-d30c5a8e.entry.js → p-6272fb68.entry.js} +1 -1
  406. package/dist/genexus-ide-ui/{p-606d6814.entry.js → p-6811e556.entry.js} +1 -1
  407. package/dist/genexus-ide-ui/{p-34763105.entry.js → p-68626d13.entry.js} +1 -1
  408. package/dist/genexus-ide-ui/p-689ffafd.entry.js +1 -0
  409. package/dist/genexus-ide-ui/p-68be9582.entry.js +1 -0
  410. package/dist/genexus-ide-ui/{p-90416fc8.js → p-698d274a.js} +1 -1
  411. package/dist/genexus-ide-ui/p-6bb17c51.js +1 -0
  412. package/dist/genexus-ide-ui/{p-d67c476c.entry.js → p-6cd18b45.entry.js} +1 -1
  413. package/dist/genexus-ide-ui/{p-98b8a4b7.entry.js → p-6dba1f6c.entry.js} +1 -1
  414. package/dist/genexus-ide-ui/{p-df744a68.entry.js → p-6fafe9d4.entry.js} +1 -1
  415. package/dist/genexus-ide-ui/{p-65e532d8.entry.js → p-718dc78b.entry.js} +1 -1
  416. package/dist/genexus-ide-ui/{p-3485ddda.entry.js → p-73204c8a.entry.js} +1 -1
  417. package/dist/genexus-ide-ui/p-783a1530.entry.js +1 -0
  418. package/dist/genexus-ide-ui/{p-e8a21ed7.entry.js → p-7ae11b35.entry.js} +1 -1
  419. package/dist/genexus-ide-ui/{p-abfc0ad8.entry.js → p-7c64e541.entry.js} +1 -1
  420. package/dist/genexus-ide-ui/{p-ade59c73.entry.js → p-7d1fd88e.entry.js} +1 -1
  421. package/dist/genexus-ide-ui/{p-82ba2bec.entry.js → p-7d327d28.entry.js} +1 -1
  422. package/dist/genexus-ide-ui/p-7dfeb944.entry.js +1 -0
  423. package/dist/genexus-ide-ui/{p-fc6b970d.entry.js → p-7fc8f83b.entry.js} +1 -1
  424. package/dist/genexus-ide-ui/p-81776364.entry.js +1 -0
  425. package/dist/genexus-ide-ui/{p-b8917eee.entry.js → p-832a1eff.entry.js} +1 -1
  426. package/dist/genexus-ide-ui/{p-94d2d18a.entry.js → p-88f896a6.entry.js} +1 -1
  427. package/dist/genexus-ide-ui/p-8c574452.entry.js +1 -0
  428. package/dist/genexus-ide-ui/{p-dfac4d3c.entry.js → p-8cf88b58.entry.js} +1 -1
  429. package/dist/genexus-ide-ui/{p-4d506c74.entry.js → p-8d99e6a5.entry.js} +1 -1
  430. package/dist/genexus-ide-ui/{p-7c44a3c8.entry.js → p-8fddfbd1.entry.js} +1 -1
  431. package/dist/genexus-ide-ui/{p-19e6c2b8.entry.js → p-90b5b7ed.entry.js} +1 -1
  432. package/dist/genexus-ide-ui/{p-4a01a404.entry.js → p-91fe1c0d.entry.js} +1 -1
  433. package/dist/genexus-ide-ui/{p-976e8118.entry.js → p-95d1a4e7.entry.js} +1 -1
  434. package/dist/genexus-ide-ui/{p-3fc9cf29.entry.js → p-97dc4967.entry.js} +1 -1
  435. package/dist/genexus-ide-ui/{p-9f4b6230.entry.js → p-98ea872a.entry.js} +1 -1
  436. package/dist/genexus-ide-ui/{p-fb368434.entry.js → p-99da5de7.entry.js} +1 -1
  437. package/dist/genexus-ide-ui/{p-870c7d8f.entry.js → p-9b29a8e8.entry.js} +1 -1
  438. package/dist/genexus-ide-ui/{p-1ff3cf87.entry.js → p-9df2aae3.entry.js} +1 -1
  439. package/dist/genexus-ide-ui/{p-1b51da5e.entry.js → p-a05224f3.entry.js} +1 -1
  440. package/dist/genexus-ide-ui/{p-527ace08.entry.js → p-a06d0915.entry.js} +1 -1
  441. package/dist/genexus-ide-ui/{p-a9c8b373.entry.js → p-a0d3d2b0.entry.js} +1 -1
  442. package/dist/genexus-ide-ui/{p-c11c96d7.entry.js → p-a214edb5.entry.js} +1 -1
  443. package/dist/genexus-ide-ui/{p-a5463fc9.entry.js → p-a2c7dc8a.entry.js} +1 -1
  444. package/dist/genexus-ide-ui/{p-46ed607e.entry.js → p-a6f02255.entry.js} +1 -1
  445. package/dist/genexus-ide-ui/{p-4e53dfaf.entry.js → p-a7c3a0fc.entry.js} +1 -1
  446. package/dist/genexus-ide-ui/p-a85038e2.js +1 -0
  447. package/dist/genexus-ide-ui/p-a8d037cf.entry.js +1 -0
  448. package/dist/genexus-ide-ui/{p-566ae3e7.entry.js → p-a96aa03c.entry.js} +1 -1
  449. package/dist/genexus-ide-ui/{p-56935fba.entry.js → p-b0268924.entry.js} +1 -1
  450. package/dist/genexus-ide-ui/{p-52f6ee1e.js → p-b9fca59c.js} +1 -1
  451. package/dist/genexus-ide-ui/{p-f93e94dc.entry.js → p-ba7c3c18.entry.js} +1 -1
  452. package/dist/genexus-ide-ui/{p-a8e97a42.entry.js → p-baabb0be.entry.js} +1 -1
  453. package/dist/genexus-ide-ui/{p-0574b321.entry.js → p-bca4d4c1.entry.js} +1 -1
  454. package/dist/genexus-ide-ui/{p-25b333a5.entry.js → p-bce289e6.entry.js} +1 -1
  455. package/dist/genexus-ide-ui/{p-d9a5b3d6.entry.js → p-bf5c0727.entry.js} +1 -1
  456. package/dist/genexus-ide-ui/{p-339a8480.entry.js → p-bf93ac90.entry.js} +1 -1
  457. package/dist/genexus-ide-ui/{p-9c82381c.entry.js → p-c00aa636.entry.js} +1 -1
  458. package/dist/genexus-ide-ui/{p-8a70239f.entry.js → p-c19354eb.entry.js} +1 -1
  459. package/dist/genexus-ide-ui/{p-68ec655f.entry.js → p-c3a1a74c.entry.js} +1 -1
  460. package/dist/genexus-ide-ui/{p-aec51bab.entry.js → p-c5e22cd8.entry.js} +1 -1
  461. package/dist/genexus-ide-ui/p-c914cc1f.entry.js +1 -0
  462. package/dist/genexus-ide-ui/{p-b4b4cbdc.entry.js → p-cb1845a9.entry.js} +1 -1
  463. package/dist/genexus-ide-ui/{p-ad30241e.entry.js → p-cc7d2262.entry.js} +1 -1
  464. package/dist/genexus-ide-ui/{p-4cf3c2b9.entry.js → p-ccc9151e.entry.js} +1 -1
  465. package/dist/genexus-ide-ui/{p-780caf92.entry.js → p-cd285670.entry.js} +1 -1
  466. package/dist/genexus-ide-ui/{p-72be1b75.entry.js → p-cd2fb5c9.entry.js} +1 -1
  467. package/dist/genexus-ide-ui/{p-7e13efb2.entry.js → p-cd6dafe5.entry.js} +1 -1
  468. package/dist/genexus-ide-ui/{p-8738b63b.entry.js → p-cd74a437.entry.js} +1 -1
  469. package/dist/genexus-ide-ui/{p-5cc7c201.entry.js → p-cdaaf8f9.entry.js} +1 -1
  470. package/dist/genexus-ide-ui/{p-e542c155.entry.js → p-ce76b613.entry.js} +1 -1
  471. package/dist/genexus-ide-ui/{p-cb3a255c.entry.js → p-d080030a.entry.js} +1 -1
  472. package/dist/genexus-ide-ui/p-d0dbf94f.entry.js +1 -0
  473. package/dist/genexus-ide-ui/p-d192b1e9.entry.js +1 -0
  474. package/dist/genexus-ide-ui/{p-133b562f.entry.js → p-d25da0c9.entry.js} +1 -1
  475. package/dist/genexus-ide-ui/{p-b0cb9690.entry.js → p-d5005f26.entry.js} +1 -1
  476. package/dist/genexus-ide-ui/{p-f9f1d95d.entry.js → p-da2dfb82.entry.js} +1 -1
  477. package/dist/genexus-ide-ui/{p-32bade0f.entry.js → p-da5317f5.entry.js} +1 -1
  478. package/dist/genexus-ide-ui/{p-657e57e7.entry.js → p-dc3efe56.entry.js} +1 -1
  479. package/dist/genexus-ide-ui/p-e45b5686.entry.js +1 -0
  480. package/dist/genexus-ide-ui/{p-9e428123.entry.js → p-e7c96dec.entry.js} +1 -1
  481. package/dist/genexus-ide-ui/{p-93ec18f7.entry.js → p-eb49012b.entry.js} +1 -1
  482. package/dist/genexus-ide-ui/{p-42209f9f.entry.js → p-ec9c9f44.entry.js} +1 -1
  483. package/dist/genexus-ide-ui/{p-7dd9df47.entry.js → p-ed89f1ee.entry.js} +1 -1
  484. package/dist/genexus-ide-ui/{p-f3837d78.entry.js → p-eed26277.entry.js} +1 -1
  485. package/dist/genexus-ide-ui/{p-3c8b9c4b.entry.js → p-efd187d0.entry.js} +1 -1
  486. package/dist/genexus-ide-ui/{p-b900ffbc.entry.js → p-f7fd7fa8.entry.js} +1 -1
  487. package/dist/genexus-ide-ui/{p-6d42b2c4.entry.js → p-f8750a75.entry.js} +1 -1
  488. package/dist/genexus-ide-ui/{p-bacd879c.entry.js → p-f97d7bbe.entry.js} +1 -1
  489. package/dist/genexus-ide-ui/p-fae07693.entry.js +1 -0
  490. package/dist/genexus-ide-ui/{p-253669d3.entry.js → p-fb2a7e10.entry.js} +1 -1
  491. package/dist/genexus-ide-ui/{p-0e28d8f3.entry.js → p-fb921907.entry.js} +1 -1
  492. package/dist/genexus-ide-ui/{p-866f6d39.entry.js → p-fc03bdd3.entry.js} +1 -1
  493. package/dist/genexus-ide-ui/{p-d7b452ef.entry.js → p-fd73e13a.entry.js} +1 -1
  494. package/dist/genexus-ide-ui/{p-0ae159de.entry.js → p-fdb7b01c.entry.js} +1 -1
  495. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +58 -36
  496. package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +4 -5
  497. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +96 -0
  498. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +17 -9
  499. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +2 -2
  500. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +28 -0
  501. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +7 -0
  502. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +6 -0
  503. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +10 -0
  504. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +43 -0
  505. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +12 -0
  506. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +10 -0
  507. package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +8 -3
  508. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +16 -24
  509. package/dist/types/common/config.d.ts +3 -0
  510. package/dist/types/components/_helpers/directory-selector/directory-selector.d.ts +4 -0
  511. package/dist/types/components/kb-manager-export/helpers.d.ts +2 -0
  512. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +14 -9
  513. package/dist/types/components/kb-manager-import/helpers.d.ts +2 -0
  514. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +17 -2
  515. package/dist/types/components.d.ts +17 -10
  516. package/package.json +3 -3
  517. package/dist/cjs/ch-icon_2.cjs.entry.js +0 -178
  518. package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -165
  519. package/dist/esm/ch-icon_2.entry.js +0 -173
  520. package/dist/esm/gxg-tree-view.entry.js +0 -161
  521. package/dist/genexus-ide-ui/p-00b5896d.entry.js +0 -1
  522. package/dist/genexus-ide-ui/p-19fef562.entry.js +0 -1
  523. package/dist/genexus-ide-ui/p-2781b92a.entry.js +0 -1
  524. package/dist/genexus-ide-ui/p-292fc3f4.entry.js +0 -1
  525. package/dist/genexus-ide-ui/p-2e0a65a3.entry.js +0 -1
  526. package/dist/genexus-ide-ui/p-2f3c0023.entry.js +0 -1
  527. package/dist/genexus-ide-ui/p-38c18db5.js +0 -1
  528. package/dist/genexus-ide-ui/p-3f0f7f80.entry.js +0 -1
  529. package/dist/genexus-ide-ui/p-40a57a36.entry.js +0 -1
  530. package/dist/genexus-ide-ui/p-54f01d52.entry.js +0 -1
  531. package/dist/genexus-ide-ui/p-606fee7b.entry.js +0 -1
  532. package/dist/genexus-ide-ui/p-6211ca46.entry.js +0 -1
  533. package/dist/genexus-ide-ui/p-8a7c4561.entry.js +0 -1
  534. package/dist/genexus-ide-ui/p-9380b713.entry.js +0 -1
  535. package/dist/genexus-ide-ui/p-976c3a09.js +0 -2
  536. package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +0 -1
  537. package/dist/genexus-ide-ui/p-b819706e.entry.js +0 -1
  538. package/dist/genexus-ide-ui/p-b8d5c561.js +0 -1
  539. package/dist/genexus-ide-ui/p-e46e26a6.js +0 -1
  540. package/dist/genexus-ide-ui/p-f6a6d8bb.entry.js +0 -1
  541. package/dist/genexus-ide-ui/p-fbb1cd20.entry.js +0 -1
@@ -0,0 +1,822 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-f9bb1815.js');
6
+
7
+ const filterWithCamelCase = (stringToFilter, filter, camelCase) => camelCase
8
+ ? stringToFilter.includes(filter)
9
+ : stringToFilter.toLowerCase().includes(filter.toLowerCase());
10
+ const filterWithString = (stringToFilter, filter, filterOptions) => filterOptions.regularExpression
11
+ ? stringToFilter.match(filter) !== null
12
+ : filterWithCamelCase(stringToFilter, filter, filterOptions.camelCase);
13
+ const filterDictionary = {
14
+ caption: (item, filterInfo) => {
15
+ var _a;
16
+ return filterInfo.filter
17
+ ? filterWithString((_a = item.caption) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
18
+ : true;
19
+ },
20
+ checked: (item, filterInfo) => {
21
+ var _a, _b;
22
+ return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
23
+ !item.indeterminate &&
24
+ ((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
25
+ },
26
+ "id-list": (item, filterInfo) => filterInfo.filterList.includes(item.id),
27
+ metadata: (item, filterInfo) => {
28
+ var _a;
29
+ return filterInfo.filter
30
+ ? filterWithString((_a = item.metadata) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
31
+ : true;
32
+ },
33
+ none: () => true,
34
+ unchecked: (item, filterInfo) => {
35
+ var _a, _b;
36
+ return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
37
+ !item.indeterminate &&
38
+ !((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
39
+ }
40
+ };
41
+
42
+ const treeViewRenderCss = "ch-tree-view-render{display:contents}";
43
+
44
+ const DEFAULT_DRAG_DISABLED_VALUE$1 = false;
45
+ const DEFAULT_DROP_DISABLED_VALUE$1 = false;
46
+ const DEFAULT_CLASS_VALUE = "tree-view-item";
47
+ const DEFAULT_EDITABLE_ITEMS_VALUE$1 = true;
48
+ const DEFAULT_EXPANDED_VALUE = false;
49
+ const DEFAULT_INDETERMINATE_VALUE = false;
50
+ const DEFAULT_LAZY_VALUE = false;
51
+ const DEFAULT_ORDER_VALUE = 0;
52
+ const DEFAULT_SELECTED_VALUE = false;
53
+ const defaultRenderItem$1 = (itemModel, treeState, treeHasFilter, lastItem, level) => {
54
+ var _a, _b, _c, _d, _e, _f;
55
+ return (treeState.filterType === "none" || itemModel.render !== false) && (index.h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
56
+ itemModel.items != null &&
57
+ itemModel.items.map((subModel, index) => defaultRenderItem$1(subModel, treeState, treeHasFilter, treeState.showLines &&
58
+ // If there is a filter applied in the current list, use the
59
+ // lastItemId value to calculate the last item
60
+ (treeHasFilter && itemModel.lastItemId !== ""
61
+ ? subModel.id === itemModel.lastItemId
62
+ : index === itemModel.items.length - 1), level + 1))));
63
+ };
64
+ const ChTreeViewRender = class {
65
+ constructor(hostRef) {
66
+ index.registerInstance(this, hostRef);
67
+ this.checkedItemsChange = index.createEvent(this, "checkedItemsChange", 7);
68
+ this.itemContextmenu = index.createEvent(this, "itemContextmenu", 7);
69
+ this.itemOpenReference = index.createEvent(this, "itemOpenReference", 7);
70
+ this.selectedItemsChange = index.createEvent(this, "selectedItemsChange", 7);
71
+ // UI Models
72
+ this.flattenedTreeModel = new Map();
73
+ this.flattenedCheckboxTreeModel = new Map();
74
+ this.selectedItems = new Set();
75
+ this.applyFilters = false;
76
+ this.emitCheckedChange = false;
77
+ /**
78
+ * This property lets you specify if the tree is waiting to process the drop
79
+ * of items.
80
+ */
81
+ this.waitDropProcessing = false;
82
+ /**
83
+ * Set this attribute if you want display a checkbox in all items by default.
84
+ */
85
+ this.checkbox = false;
86
+ /**
87
+ * Set this attribute if you want the checkbox to be checked in all items by
88
+ * default.
89
+ * Only works if `checkbox = true`
90
+ */
91
+ this.checked = false;
92
+ /**
93
+ * A CSS class to set as the `ch-tree-view` element class.
94
+ */
95
+ this.cssClass = "tree-view";
96
+ /**
97
+ * This attribute lets you specify if the drag operation is disabled in all
98
+ * items by default. If `true`, the items can't be dragged.
99
+ */
100
+ this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE$1;
101
+ /**
102
+ * This attribute lets you specify if the drop operation is disabled in all
103
+ * items by default. If `true`, the items won't accept any drops.
104
+ */
105
+ this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE$1;
106
+ /**
107
+ * This attribute lets you specify if the edit operation is enabled in all
108
+ * items by default. If `true`, the items can edit its caption in place.
109
+ */
110
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE$1;
111
+ /**
112
+ * This property lets you determine the debounce time (in ms) that the
113
+ * control waits until it processes the changes to the filter property.
114
+ * Consecutive changes to the `filter` property between this range, reset the
115
+ * timeout to process the filter.
116
+ * Only works if `filterType = "caption" | "metadata"`.
117
+ */
118
+ this.filterDebounce = 250;
119
+ /**
120
+ * This property lets you determine the list of items that will be filtered.
121
+ * Only works if `filterType = "id-list"`.
122
+ */
123
+ this.filterList = [];
124
+ /**
125
+ * This property lets you determine the options that will be applied to the
126
+ * filter.
127
+ * Only works if `filterType = "caption" | "metadata"`.
128
+ */
129
+ this.filterOptions = {};
130
+ /**
131
+ * This attribute lets you define what kind of filter is applied to items.
132
+ * Only items that satisfy the filter predicate will be displayed.
133
+ *
134
+ * | Value | Details |
135
+ * | ----------- | ---------------------------------------------------------------------------------------------- |
136
+ * | `checked` | Show only the items that have a checkbox and are checked. |
137
+ * | `unchecked` | Show only the items that have a checkbox and are not checked. |
138
+ * | `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |
139
+ * | `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |
140
+ * | `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |
141
+ * | `none` | Show all items. |
142
+ */
143
+ this.filterType = "none";
144
+ /**
145
+ * Set this attribute if you want to allow multi selection of the items.
146
+ */
147
+ this.multiSelection = false;
148
+ /**
149
+ * This property allows us to implement custom rendering of tree items.
150
+ */
151
+ this.renderItem = defaultRenderItem$1;
152
+ /**
153
+ * `true` to display the relation between tree items and tree lists using
154
+ * lines.
155
+ */
156
+ this.showLines = "none";
157
+ /**
158
+ * Set this attribute if you want all the children item's checkboxes to be
159
+ * checked when the parent item checkbox is checked, or to be unchecked when
160
+ * the parent item checkbox is unchecked.
161
+ * This attribute will be used in all items by default.
162
+ */
163
+ this.toggleCheckboxes = false;
164
+ /**
165
+ * This property lets you define the model of the ch-tree-x control.
166
+ */
167
+ this.treeModel = [];
168
+ this.handleDroppableZoneEnter = (event) => {
169
+ if (!this.checkDroppableZoneCallback) {
170
+ return;
171
+ }
172
+ event.stopPropagation();
173
+ // Suppose the request is made immediately by executing the callback
174
+ const requestTimestamp = new Date().getTime();
175
+ const dropInformation = event.detail;
176
+ const promise = this.checkDroppableZoneCallback(dropInformation);
177
+ promise.then(validDrop => {
178
+ this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
179
+ });
180
+ };
181
+ this.handleSelectedItemsChange = (event) => {
182
+ event.stopPropagation();
183
+ const itemsToProcess = new Map(event.detail);
184
+ // Remove no longer selected items
185
+ this.selectedItems.forEach(selectedItemId => {
186
+ const itemUIModel = this.flattenedTreeModel.get(selectedItemId).item;
187
+ const itemIsStillSelected = itemsToProcess.get(selectedItemId);
188
+ // The item does not need to be added. Remove it from the processed list
189
+ if (itemIsStillSelected) {
190
+ itemUIModel.expanded = itemIsStillSelected.expanded; // Update expanded state
191
+ itemsToProcess.delete(selectedItemId);
192
+ }
193
+ // The item must be un-selected in the UI Model
194
+ else {
195
+ itemUIModel.selected = false;
196
+ this.selectedItems.delete(selectedItemId);
197
+ }
198
+ });
199
+ // Add new selected items
200
+ itemsToProcess.forEach((newSelectedItemInfo, itemId) => {
201
+ const newSelectedItem = this.flattenedTreeModel.get(itemId).item;
202
+ newSelectedItem.selected = true;
203
+ newSelectedItem.expanded = newSelectedItemInfo.expanded;
204
+ this.selectedItems.add(itemId);
205
+ });
206
+ this.selectedItemsChange.emit(event.detail);
207
+ };
208
+ this.handleExpandedItemChange = (event) => {
209
+ const detail = event.detail;
210
+ const itemInfo = this.flattenedTreeModel.get(detail.id).item;
211
+ itemInfo.expanded = detail.expanded;
212
+ };
213
+ this.handleItemContextmenu = (event) => {
214
+ event.stopPropagation();
215
+ this.itemContextmenu.emit(event.detail);
216
+ };
217
+ this.handleItemsDropped = (event) => {
218
+ if (!this.dropItemsCallback) {
219
+ return;
220
+ }
221
+ event.stopPropagation();
222
+ const dataTransferInfo = event.detail;
223
+ const newContainer = dataTransferInfo.newContainer;
224
+ const newParentId = newContainer.id;
225
+ // Check if the parent exists in the UI Model
226
+ if (!this.flattenedTreeModel.get(newParentId)) {
227
+ return;
228
+ }
229
+ const draggedItems = dataTransferInfo.draggedItems;
230
+ if (draggedItems.length === 0) {
231
+ return;
232
+ }
233
+ const promise = this.dropItemsCallback(dataTransferInfo);
234
+ this.waitDropProcessing = true;
235
+ promise.then(async (response) => {
236
+ this.waitDropProcessing = false;
237
+ if (!response.acceptDrop) {
238
+ return;
239
+ }
240
+ const newParentUIModel = this.flattenedTreeModel.get(newParentId).item;
241
+ // Only move the items to the new parent, keeping the state
242
+ if (dataTransferInfo.dropInTheSameTree) {
243
+ // Add the UI models to the new container and remove the UI models from
244
+ // the old containers
245
+ draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));
246
+ // When the selected items are moved, the tree must remove its internal
247
+ // state to not have undefined references
248
+ if (dataTransferInfo.draggingSelectedItems) {
249
+ await this.treeRef.clearSelectedItemsInfo();
250
+ }
251
+ }
252
+ // Add the new items
253
+ else {
254
+ if (response.items == null) {
255
+ return;
256
+ }
257
+ // Add new items to the parent
258
+ newParentUIModel.items.push(...response.items);
259
+ // Flatten the new UI models
260
+ response.items.forEach(this.flattenItemUIModel(newParentUIModel));
261
+ }
262
+ this.sortItems(newParentUIModel.items);
263
+ // Open the item to visualize the new subitems
264
+ newParentUIModel.expanded = true;
265
+ // Re-sync checked items
266
+ this.emitCheckedItemsChange();
267
+ // Update filters
268
+ this.processFilters();
269
+ // There is no need to force and update, since the waitDropProcessing
270
+ // prop was modified
271
+ });
272
+ };
273
+ this.moveItemToNewParent = (newParentUIModel) => (dataTransferInfo) => {
274
+ const itemUIModelExtended = this.flattenedTreeModel.get(dataTransferInfo.id);
275
+ const item = itemUIModelExtended.item;
276
+ const oldParentItem = itemUIModelExtended.parentItem;
277
+ // Remove the UI model from the previous parent
278
+ oldParentItem.items.splice(oldParentItem.items.indexOf(item), 1);
279
+ // Add the UI Model to the new parent
280
+ newParentUIModel.items.push(item);
281
+ // Reference the new parent in the item
282
+ itemUIModelExtended.parentItem = newParentUIModel;
283
+ };
284
+ this.flattenItemUIModel = (parentModel) => (item) => {
285
+ var _a, _b, _c, _d, _e, _f;
286
+ this.flattenedTreeModel.set(item.id, {
287
+ parentItem: parentModel,
288
+ item: item
289
+ });
290
+ // Add the items that have a checkbox in a separate Map
291
+ if ((_a = item.checkbox) !== null && _a !== void 0 ? _a : this.checkbox) {
292
+ this.flattenedCheckboxTreeModel.set(item.id, {
293
+ parentItem: parentModel,
294
+ item: item
295
+ });
296
+ }
297
+ // Make sure the properties are with their default values to avoid issues
298
+ // when reusing DOM nodes
299
+ item.class || (item.class = DEFAULT_CLASS_VALUE);
300
+ (_b = item.expanded) !== null && _b !== void 0 ? _b : (item.expanded = DEFAULT_EXPANDED_VALUE);
301
+ (_c = item.indeterminate) !== null && _c !== void 0 ? _c : (item.indeterminate = DEFAULT_INDETERMINATE_VALUE);
302
+ (_d = item.lazy) !== null && _d !== void 0 ? _d : (item.lazy = DEFAULT_LAZY_VALUE);
303
+ (_e = item.order) !== null && _e !== void 0 ? _e : (item.order = DEFAULT_ORDER_VALUE);
304
+ (_f = item.selected) !== null && _f !== void 0 ? _f : (item.selected = DEFAULT_SELECTED_VALUE);
305
+ if (item.selected) {
306
+ this.selectedItems.add(item.id);
307
+ }
308
+ this.flattenSubModel(item);
309
+ };
310
+ }
311
+ handleFilterChange() {
312
+ if (this.filterType === "caption" || this.filterType === "metadata") {
313
+ this.processFilters();
314
+ }
315
+ }
316
+ handleFilterDebounceChange() {
317
+ if (this.filterType === "caption" || this.filterType === "metadata") {
318
+ this.processFilters();
319
+ }
320
+ }
321
+ handleFilterListChange() {
322
+ if (this.filterType === "id-list") {
323
+ this.processFilters();
324
+ }
325
+ }
326
+ handleFilterOptionsChange() {
327
+ if (this.filterType === "caption" || this.filterType === "metadata") {
328
+ this.processFilters();
329
+ }
330
+ }
331
+ handleFilterTypeChange() {
332
+ this.processFilters();
333
+ }
334
+ handleTreeModelChange() {
335
+ this.flattenModel();
336
+ }
337
+ /**
338
+ * Given an item id, an array of items to add, the download status and the
339
+ * lazy state, updates the item's UI Model.
340
+ */
341
+ async loadLazyContent(itemId, items, downloading = false, lazy = false) {
342
+ const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
343
+ // Establish that the content was lazy loaded
344
+ itemToLazyLoadContent.downloading = downloading;
345
+ itemToLazyLoadContent.lazy = lazy;
346
+ // Check if there is items to add
347
+ if (items == null) {
348
+ return;
349
+ }
350
+ // @todo What happens in the server when dropping items on a lazy node?
351
+ itemToLazyLoadContent.items = items;
352
+ this.sortItems(itemToLazyLoadContent.items);
353
+ this.flattenSubModel(itemToLazyLoadContent);
354
+ // Re-sync checked items
355
+ this.emitCheckedItemsChange();
356
+ // Update filters
357
+ this.processFilters();
358
+ // Force re-render
359
+ index.forceUpdate(this);
360
+ }
361
+ /**
362
+ * Given an item id, it displays and scrolls into the item view.
363
+ */
364
+ async scrollIntoVisible(treeItemId) {
365
+ const itemUIModel = this.flattenedTreeModel.get(treeItemId);
366
+ if (!itemUIModel) {
367
+ // @todo Check if the item is on the server?
368
+ return;
369
+ }
370
+ let visitedNode = itemUIModel.parentItem;
371
+ // While the parent is not the root, update the UI Models
372
+ while (visitedNode && visitedNode.id != null) {
373
+ // Expand the item
374
+ visitedNode.expanded = true;
375
+ const visitedNodeUIModel = this.flattenedTreeModel.get(visitedNode.id);
376
+ visitedNode = visitedNodeUIModel.parentItem;
377
+ }
378
+ index.forceUpdate(this);
379
+ // @todo For some reason, when the model is created using the "big model" option,
380
+ // this implementation does not work when only the UI Model is updated. So, to
381
+ // expand the items, we have to delegate the responsibility to the tree-x
382
+ this.treeRef.scrollIntoVisible(treeItemId);
383
+ }
384
+ /**
385
+ * This method is used to toggle a tree item by the tree item id/ids.
386
+ *
387
+ * @param treeItemIds An array id the tree items to be toggled.
388
+ * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)
389
+ * @returns The modified items after the method was called.
390
+ */
391
+ async toggleItems(treeItemIds, expand) {
392
+ if (!treeItemIds) {
393
+ return [];
394
+ }
395
+ const modifiedTreeItems = [];
396
+ treeItemIds.forEach(treeItemId => {
397
+ const itemInfo = this.flattenedTreeModel.get(treeItemId).item;
398
+ if (itemInfo) {
399
+ itemInfo.expanded = expand !== null && expand !== void 0 ? expand : !itemInfo.expanded;
400
+ modifiedTreeItems.push({
401
+ id: itemInfo.id,
402
+ expanded: itemInfo.expanded
403
+ });
404
+ }
405
+ });
406
+ // Force re-render
407
+ index.forceUpdate(this);
408
+ return modifiedTreeItems;
409
+ }
410
+ /**
411
+ * Given a subset of item's properties, it updates all item UI models.
412
+ */
413
+ async updateAllItemsProperties(properties) {
414
+ [...this.flattenedTreeModel.values()].forEach(itemUIModel => {
415
+ if (properties.expanded != null) {
416
+ itemUIModel.item.expanded = properties.expanded;
417
+ }
418
+ if (properties.checked != null) {
419
+ itemUIModel.item.checked = properties.checked;
420
+ itemUIModel.item.indeterminate = false;
421
+ }
422
+ });
423
+ // Update filters
424
+ if (properties.checked != null) {
425
+ this.processFilters();
426
+ }
427
+ index.forceUpdate(this);
428
+ }
429
+ /**
430
+ * Given a item list and the properties to update, it updates the properties
431
+ * of the items in the list.
432
+ */
433
+ async updateItemsProperties(items, properties) {
434
+ items.forEach(item => {
435
+ const itemUIModel = this.flattenedTreeModel.get(item);
436
+ this.updateItemProperty(itemUIModel, properties);
437
+ });
438
+ // Update filters
439
+ this.processFilters();
440
+ index.forceUpdate(this);
441
+ }
442
+ /**
443
+ * Update the information about the valid droppable zones.
444
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
445
+ * @param newContainerId ID of the container where the drag is trying to be made.
446
+ * @param draggedItems Information about the dragged items.
447
+ * @param validDrop Current state of the droppable zone.
448
+ */
449
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
450
+ this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
451
+ }
452
+ updateItemProperty(itemUIModel, properties) {
453
+ if (!itemUIModel) {
454
+ return;
455
+ }
456
+ const itemInfo = itemUIModel.item;
457
+ Object.keys(properties).forEach(propertyName => {
458
+ itemInfo[propertyName] = properties[propertyName];
459
+ });
460
+ }
461
+ updateCheckboxValue(event) {
462
+ event.stopPropagation();
463
+ const detail = event.detail;
464
+ const treeItemId = detail.id;
465
+ const itemUIModel = this.flattenedCheckboxTreeModel.get(treeItemId);
466
+ // In some cases, when the `treeModel` and `checked` properties are updated
467
+ // outside of the tree control, some events are fired with undefined references
468
+ if (!itemUIModel) {
469
+ return;
470
+ }
471
+ const itemInfo = itemUIModel.item;
472
+ itemInfo.checked = detail.checked;
473
+ itemInfo.indeterminate = detail.indeterminate;
474
+ this.emitCheckedItemsChange();
475
+ // Update filters
476
+ if (this.filterType === "checked" || this.filterType === "unchecked") {
477
+ this.processFilters();
478
+ }
479
+ // Force re-render
480
+ index.forceUpdate(this);
481
+ }
482
+ loadLazyChildrenHandler(event) {
483
+ if (!this.lazyLoadTreeItemsCallback) {
484
+ return;
485
+ }
486
+ event.stopPropagation();
487
+ const treeItemId = event.detail;
488
+ const promise = this.lazyLoadTreeItemsCallback(treeItemId);
489
+ event.target.downloading = true;
490
+ promise.then(result => {
491
+ this.loadLazyContent(treeItemId, result);
492
+ });
493
+ }
494
+ handleCaptionModification(event) {
495
+ if (!this.modifyItemCaptionCallback) {
496
+ return;
497
+ }
498
+ event.stopPropagation();
499
+ const itemRef = event.target;
500
+ const itemId = event.detail.id;
501
+ const itemUIModel = this.flattenedTreeModel.get(itemId);
502
+ const itemInfo = itemUIModel.item;
503
+ const newCaption = event.detail.caption;
504
+ const oldCaption = itemInfo.caption;
505
+ // Optimistic UI: Update the caption in the UI Model before the change is
506
+ // completed in the server
507
+ itemInfo.caption = newCaption;
508
+ // Due to performance reasons, we don't make a shallow copy of the
509
+ // treeModel to force a re-render
510
+ itemRef.caption = newCaption;
511
+ const promise = this.modifyItemCaptionCallback(itemId, newCaption);
512
+ promise.then(status => {
513
+ if (status.success) {
514
+ this.sortItems(itemUIModel.parentItem.items);
515
+ // Update filters
516
+ this.processFilters();
517
+ // Force re-render
518
+ index.forceUpdate(this);
519
+ }
520
+ else {
521
+ itemRef.caption = oldCaption;
522
+ itemInfo.caption = oldCaption;
523
+ // Do something with the error message
524
+ }
525
+ });
526
+ }
527
+ handleOpenReference(event) {
528
+ event.stopPropagation();
529
+ this.itemOpenReference.emit(event.detail);
530
+ }
531
+ flattenSubModel(model) {
532
+ const items = model.items;
533
+ if (!items) {
534
+ // Make sure that subtrees don't have an undefined array
535
+ if (model.leaf !== true) {
536
+ model.items = [];
537
+ }
538
+ return;
539
+ }
540
+ this.sortItems(items);
541
+ items.forEach(this.flattenItemUIModel(model));
542
+ }
543
+ sortItems(items) {
544
+ // Ensure that items are sorted
545
+ if (this.sortItemsCallback) {
546
+ this.sortItemsCallback(items);
547
+ }
548
+ }
549
+ flattenModel() {
550
+ this.flattenedTreeModel.clear();
551
+ this.flattenedCheckboxTreeModel.clear();
552
+ this.selectedItems.clear();
553
+ // The model was updated at runtime, so we need to clear the references
554
+ if (this.treeRef) {
555
+ this.treeRef.clearSelectedItemsInfo();
556
+ }
557
+ this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
558
+ // Re-sync checked items
559
+ this.emitCheckedItemsChange();
560
+ }
561
+ filterSubModel(item, filterInfo) {
562
+ let aSubItemIsRendered = false;
563
+ // Check if a subitem is rendered
564
+ if (item.leaf !== true && item.items != null) {
565
+ let lastItemId = "";
566
+ item.items.forEach(subItem => {
567
+ const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);
568
+ aSubItemIsRendered || (aSubItemIsRendered = itemSatisfiesFilter);
569
+ if (itemSatisfiesFilter) {
570
+ lastItemId = subItem.id;
571
+ }
572
+ });
573
+ item.lastItemId = lastItemId;
574
+ }
575
+ // The current item is rendered if it satisfies the filter condition or a
576
+ // subitem exists that needs to be rendered
577
+ const satisfiesFilter = filterDictionary[this.filterType](item, filterInfo) || aSubItemIsRendered;
578
+ item.render = satisfiesFilter; // Update item render
579
+ return satisfiesFilter;
580
+ }
581
+ emitCheckedItemsChange() {
582
+ this.emitCheckedChange = true;
583
+ }
584
+ updateCheckedItems() {
585
+ // New copy of the checked items
586
+ const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
587
+ // Update the checked value if not defined
588
+ allItemsWithCheckbox.forEach(itemUIModel => {
589
+ var _a;
590
+ var _b;
591
+ (_a = (_b = itemUIModel.item).checked) !== null && _a !== void 0 ? _a : (_b.checked = this.checked);
592
+ });
593
+ this.checkedItemsChange.emit(allItemsWithCheckbox);
594
+ }
595
+ processFilters() {
596
+ this.applyFilters = true;
597
+ }
598
+ updateFilters() {
599
+ if (this.filterType === "none") {
600
+ return;
601
+ }
602
+ // Remove queued filter processing
603
+ clearTimeout(this.filterTimeout);
604
+ const processWithDebounce = this.filterDebounce > 0 &&
605
+ (this.filterType === "caption" || this.filterType === "metadata");
606
+ const filterFunction = () => this.filterSubModel({
607
+ id: null,
608
+ caption: null,
609
+ items: this.treeModel
610
+ }, {
611
+ defaultCheckbox: this.checkbox,
612
+ defaultChecked: this.checked,
613
+ filter: this.filter,
614
+ filterList: this.filterList,
615
+ filterOptions: this.filterOptions
616
+ });
617
+ // Check if should filter with debounce
618
+ if (processWithDebounce) {
619
+ this.filterTimeout = setTimeout(() => {
620
+ filterFunction();
621
+ index.forceUpdate(this); // After the filter processing is completed, force a re-render
622
+ }, this.filterDebounce);
623
+ }
624
+ else {
625
+ filterFunction();
626
+ }
627
+ }
628
+ componentWillLoad() {
629
+ this.flattenModel();
630
+ this.updateCheckedItems();
631
+ this.updateFilters();
632
+ }
633
+ componentWillUpdate() {
634
+ if (this.emitCheckedChange) {
635
+ this.updateCheckedItems();
636
+ this.emitCheckedChange = false;
637
+ }
638
+ if (this.applyFilters) {
639
+ this.updateFilters();
640
+ this.applyFilters = false;
641
+ }
642
+ }
643
+ render() {
644
+ return (index.h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, (this.filterType === "caption" || this.filterType === "metadata") &&
645
+ this.filter != null, this.showLines && index === this.treeModel.length - 1, 0))));
646
+ }
647
+ static get watchers() { return {
648
+ "filter": ["handleFilterChange"],
649
+ "filterDebounce": ["handleFilterDebounceChange"],
650
+ "filterList": ["handleFilterListChange"],
651
+ "filterOptions": ["handleFilterOptionsChange"],
652
+ "filterType": ["handleFilterTypeChange"],
653
+ "treeModel": ["handleTreeModelChange"]
654
+ }; }
655
+ };
656
+ ChTreeViewRender.style = treeViewRenderCss;
657
+
658
+ const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
659
+
660
+ const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}gxg-tree-view{--gxg-tree-view-icon-size:var(--spacing-comp-04);font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background);display:contents}.tree-view{}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.tree-view::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.tree-view::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}.tree-view .ch-tree-view-container{padding:7px;}.tree-view-item{--ch-tree-view-view__checkbox-size:var(--gxg-checkbox-size);--ch-tree-view-view__expandable-button-width:var(--gxg-tree-view-icon-size);--ch-tree-view-item-gap:var(--spacing-comp-02);--ch-tree-view-item-custom-padding-inline-start:var(--spacing-comp-01);--ch-tree-view-item-custom-padding-inline-end:var(--spacing-comp-01);}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}.tree-view-item::part(header){min-height:var(--spacing-comp-05);padding-top:var(--spacing-comp-00);padding-bottom:var(--spacing-comp-00);padding-inline-end:var(--spacing-comp-02)}.tree-view-item::part(header):before{content:\"\";display:block}.tree-view-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}.tree-view-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}.tree-view-item::part(expandable-button){background-color:var(--gray-00)}.tree-view-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.tree-view-item::part(expandable-button):hover{background-color:var(--color-background)}.tree-view-item::part(expandable-button):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}.tree-view-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04)}.tree-view-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}.tree-view-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}.tree-view-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item::part(checkbox__option){display:none}.tree-view-item::part(checkbox__container checkbox__checked):after{left:5.5px;top:3px;width:4px;height:7px;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-color:var(--color-primary-active);transition-property:border-color;transition-duration:var(--ui-animaton-speed);transition-timing-function:ease}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--color-primary-active);-webkit-transform:rotate(0) translateY(-50%) translateX(-50%);-ms-transform:rotate(0) translateY(-50%) translateX(-50%);transform:rotate(0) translateY(-50%) translateX(-50%)}.tree-view-item::part(checkbox__input){position:relative;z-index:1}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:var(--gxg-tree-view-icon-size);height:var(--gxg-tree-view-icon-size);margin-inline-end:var(--ch-tree-view-item-gap);background-repeat:no-repeat}.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}.tree-view-item--pending-commit::part(action)::before{content:\"\";position:relative;z-index:1;grid-area:left-img;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:var(--color-primary-enabled);border-radius:50%}.tree-view-item--editing::part(header){border:2px solid transparent}.tree-view .ch-tree-view-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
661
+
662
+ const DEFAULT_DRAG_DISABLED_VALUE = false;
663
+ const DEFAULT_DROP_DISABLED_VALUE = false;
664
+ const DEFAULT_EDITABLE_ITEMS_VALUE = true;
665
+ const iconAssetsPath = index.getAssetPath(`./icon-assets`);
666
+ const defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => {
667
+ var _a, _b, _c, _d, _e, _f;
668
+ return (treeState.filterType === "none" || itemModel.render !== false) && (index.h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc
669
+ ? resolveImgPath(iconAssetsPath, itemModel.leftImgSrc)
670
+ : null, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
671
+ itemModel.items != null &&
672
+ itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
673
+ // If there is a filter applied in the current list, use the
674
+ // lastItemId value to calculate the last item
675
+ (treeHasFilter && itemModel.lastItemId !== ""
676
+ ? subModel.id === itemModel.lastItemId
677
+ : index === itemModel.items.length - 1), level + 1))));
678
+ };
679
+ const ChTreeViewRenderWrapper = class {
680
+ constructor(hostRef) {
681
+ index.registerInstance(this, hostRef);
682
+ this.checkedItemsChange = index.createEvent(this, "checkedItemsChange", 7);
683
+ this.itemContextmenu = index.createEvent(this, "itemContextmenu", 7);
684
+ this.itemOpenReference = index.createEvent(this, "itemOpenReference", 7);
685
+ this.selectedItemsChange = index.createEvent(this, "selectedItemsChange", 7);
686
+ /**
687
+ * Set this attribute if you want display a checkbox in all items by default.
688
+ */
689
+ this.checkbox = false;
690
+ /**
691
+ * Set this attribute if you want the checkbox to be checked in all items by
692
+ * default.
693
+ * Only works if `checkbox = true`
694
+ */
695
+ this.checked = false;
696
+ /**
697
+ * A CSS class to set as the `ch-tree-view` element class.
698
+ */
699
+ this.cssClass = "tree-view";
700
+ /**
701
+ * This attribute lets you specify if the drag operation is disabled in all
702
+ * items by default. If `true`, the items can't be dragged.
703
+ */
704
+ this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
705
+ /**
706
+ * This attribute lets you specify if the drop operation is disabled in all
707
+ * items by default. If `true`, the items won't accept any drops.
708
+ */
709
+ this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
710
+ /**
711
+ * This attribute lets you specify if the edit operation is enabled in all
712
+ * items by default. If `true`, the items can edit its caption in place.
713
+ */
714
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
715
+ /**
716
+ * This property lets you determine the list of items that will be filtered.
717
+ * Only works if `filterType = "id-list"`.
718
+ */
719
+ this.filterList = [];
720
+ /**
721
+ * This property lets you determine the options that will be applied to the
722
+ * filter.
723
+ * Only works if `filterType = "caption" | "metadata"`.
724
+ */
725
+ this.filterOptions = {};
726
+ /**
727
+ * This attribute lets you define what kind of filter is applied to items.
728
+ * Only items that satisfy the filter predicate will be displayed.
729
+ *
730
+ * | Value | Details |
731
+ * | ----------- | ---------------------------------------------------------------------------------------------- |
732
+ * | `checked` | Show only the items that have a checkbox and are checked. |
733
+ * | `unchecked` | Show only the items that have a checkbox and are not checked. |
734
+ * | `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |
735
+ * | `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |
736
+ * | `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |
737
+ * | `none` | Show all items. |
738
+ */
739
+ this.filterType = "none";
740
+ /**
741
+ * Set this attribute if you want to allow multi selection of the items.
742
+ */
743
+ this.multiSelection = false;
744
+ /**
745
+ * This property allows us to implement custom rendering of tree items.
746
+ */
747
+ this.renderItem = defaultRenderItem;
748
+ /**
749
+ * `true` to display the relation between tree items and tree lists using
750
+ * lines.
751
+ */
752
+ this.showLines = "all";
753
+ /**
754
+ * Set this attribute if you want all the children item's checkboxes to be
755
+ * checked when the parent item checkbox is checked, or to be unchecked when
756
+ * the parent item checkbox is unchecked.
757
+ * This attribute will be used in all items by default.
758
+ */
759
+ this.toggleCheckboxes = false;
760
+ /**
761
+ * This property lets you define the model of the ch-tree-x control.
762
+ */
763
+ this.treeModel = [];
764
+ }
765
+ /**
766
+ * Given an item id, an array of items to add, the download status and the
767
+ * lazy state, updates the item's UI Model.
768
+ */
769
+ async loadLazyContent(itemId, items, downloading = false, lazy = false) {
770
+ this.treeRef.loadLazyContent(itemId, items, downloading, lazy);
771
+ }
772
+ /**
773
+ * Given an item id, it displays and scrolls into the item view.
774
+ */
775
+ async scrollIntoVisible(treeItemId) {
776
+ this.treeRef.scrollIntoVisible(treeItemId);
777
+ }
778
+ /**
779
+ * This method is used to toggle a tree item by the tree item id/ids.
780
+ *
781
+ * @param treeItemIds An array id the tree items to be toggled.
782
+ * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)
783
+ * @returns The modified items after the method was called.
784
+ */
785
+ async toggleItems(treeItemIds, expand) {
786
+ return this.treeRef.toggleItems(treeItemIds, expand);
787
+ }
788
+ /**
789
+ * Given a subset of item's properties, it updates all item UI models.
790
+ */
791
+ async updateAllItemsProperties(properties) {
792
+ this.treeRef.updateAllItemsProperties(properties);
793
+ }
794
+ /**
795
+ * Given a item list and the properties to update, it updates the properties
796
+ * of the items in the list.
797
+ */
798
+ async updateItemsProperties(items, properties) {
799
+ this.treeRef.updateItemsProperties(items, properties);
800
+ }
801
+ /**
802
+ * Update the information about the valid droppable zones.
803
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
804
+ * @param newContainerId ID of the container where the drag is trying to be made.
805
+ * @param draggedItems Information about the dragged items.
806
+ * @param validDrop Current state of the droppable zone.
807
+ */
808
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
809
+ this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
810
+ }
811
+ handleOpenReference(event) {
812
+ event.stopPropagation();
813
+ this.itemOpenReference.emit(event.detail);
814
+ }
815
+ render() {
816
+ return (index.h("ch-tree-view-render", { checkbox: this.checkbox, checked: this.checked, checkDroppableZoneCallback: this.checkDroppableZoneCallback, cssClass: this.cssClass, dragDisabled: this.dragDisabled, dropDisabled: this.dropDisabled, dropItemsCallback: this.dropItemsCallback, editableItems: this.editableItems, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterType: this.filterType, lazyLoadTreeItemsCallback: this.lazyLoadTreeItemsCallback, modifyItemCaptionCallback: this.modifyItemCaptionCallback, multiSelection: this.multiSelection, renderItem: this.renderItem, showLines: this.showLines, sortItemsCallback: this.sortItemsCallback, toggleCheckboxes: this.toggleCheckboxes, treeModel: this.treeModel, ref: (el) => (this.treeRef = el) }));
817
+ }
818
+ };
819
+ ChTreeViewRenderWrapper.style = treeViewCss;
820
+
821
+ exports.ch_tree_view_render = ChTreeViewRender;
822
+ exports.gxg_tree_view = ChTreeViewRenderWrapper;