@genexus/genexus-ide-ui 0.0.108 → 0.0.110

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 (265) hide show
  1. package/dist/cjs/ch-dropdown_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-dropdown_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ch-grid_8.cjs.entry.js +339 -321
  4. package/dist/cjs/ch-grid_8.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -1
  6. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
  8. package/dist/cjs/ch-suggest_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ch-tree-view_5.cjs.entry.js +41 -20
  10. package/dist/cjs/ch-tree-view_5.cjs.entry.js.map +1 -1
  11. package/dist/cjs/{common-103f62f6.js → common-2e355c7d.js} +31 -1
  12. package/dist/cjs/common-2e355c7d.js.map +1 -0
  13. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  14. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +47 -4
  15. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +98 -0
  19. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +1 -0
  20. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  21. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  22. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +311 -0
  26. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +76 -0
  31. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -0
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +184 -0
  34. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -0
  35. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  36. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  38. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  40. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +2 -0
  45. package/dist/collection/common/common.js +21 -0
  46. package/dist/collection/common/common.js.map +1 -1
  47. package/dist/collection/components/_helpers/container/container.css +6 -0
  48. package/dist/collection/components/_helpers/container/container.js +40 -0
  49. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  50. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  51. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  52. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  53. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  54. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  55. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  56. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  57. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  58. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  59. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +560 -0
  60. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js +251 -0
  61. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +1 -0
  62. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  63. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  64. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  65. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  66. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  67. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  68. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +744 -0
  69. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +501 -0
  70. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -0
  71. package/dist/collection/components/modules/types.js +2 -0
  72. package/dist/collection/components/modules/types.js.map +1 -0
  73. package/dist/collection/pages/assets/common.js +7 -0
  74. package/dist/components/buttons-container.js +8 -3
  75. package/dist/components/buttons-container.js.map +1 -1
  76. package/dist/components/card.js.map +1 -1
  77. package/dist/components/ch-grid-column2.js +4 -1
  78. package/dist/components/ch-grid-column2.js.map +1 -1
  79. package/dist/components/ch-grid2.js +342 -322
  80. package/dist/components/ch-grid2.js.map +1 -1
  81. package/dist/components/combo-box.js +1 -0
  82. package/dist/components/combo-box.js.map +1 -1
  83. package/dist/components/common.js +30 -1
  84. package/dist/components/common.js.map +1 -1
  85. package/dist/components/container.js +7 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/dropdown.js +1 -1
  88. package/dist/components/dropdown.js.map +1 -1
  89. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  90. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  91. package/dist/components/gx-ide-edit-module-servers.d.ts +11 -0
  92. package/dist/components/gx-ide-edit-module-servers.js +186 -0
  93. package/dist/components/gx-ide-edit-module-servers.js.map +1 -0
  94. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  95. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  96. package/dist/components/gx-ide-manage-module-references.d.ts +11 -0
  97. package/dist/components/gx-ide-manage-module-references.js +515 -0
  98. package/dist/components/gx-ide-manage-module-references.js.map +1 -0
  99. package/dist/components/gx-ide-status-buttons2.js +5 -15
  100. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  101. package/dist/components/gxg-top-state-bar2.js +17 -8
  102. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  103. package/dist/components/icon2.js +3 -1
  104. package/dist/components/icon2.js.map +1 -1
  105. package/dist/components/ide-loader.js +6 -15
  106. package/dist/components/ide-loader.js.map +1 -1
  107. package/dist/components/suggest.js +1 -1
  108. package/dist/components/suggest.js.map +1 -1
  109. package/dist/components/tabs.js +1 -1
  110. package/dist/components/tabs.js.map +1 -1
  111. package/dist/components/tree-view-item.js +8 -2
  112. package/dist/components/tree-view-item.js.map +1 -1
  113. package/dist/components/tree-view2.js +32 -15
  114. package/dist/components/tree-view2.js.map +1 -1
  115. package/dist/esm/ch-dropdown_2.entry.js +1 -1
  116. package/dist/esm/ch-dropdown_2.entry.js.map +1 -1
  117. package/dist/esm/ch-grid_8.entry.js +339 -321
  118. package/dist/esm/ch-grid_8.entry.js.map +1 -1
  119. package/dist/esm/ch-icon_5.entry.js +3 -1
  120. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  121. package/dist/esm/ch-suggest_4.entry.js +1 -1
  122. package/dist/esm/ch-suggest_4.entry.js.map +1 -1
  123. package/dist/esm/ch-tree-view_5.entry.js +41 -20
  124. package/dist/esm/ch-tree-view_5.entry.js.map +1 -1
  125. package/dist/esm/{common-f2983db2.js → common-aaad5759.js} +31 -2
  126. package/dist/esm/common-aaad5759.js.map +1 -0
  127. package/dist/esm/genexus-ide-ui.js +1 -1
  128. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +47 -5
  129. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  130. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  131. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  132. package/dist/esm/gx-ide-edit-module-servers.entry.js +94 -0
  133. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +1 -0
  134. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  135. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  136. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  137. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  138. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  139. package/dist/esm/gx-ide-manage-module-references.entry.js +307 -0
  140. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -0
  141. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  142. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  143. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  144. package/dist/esm/gx-ide-status-buttons.entry.js +72 -0
  145. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -0
  146. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  147. package/dist/esm/gxg-buttons-container_2.entry.js +179 -0
  148. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -0
  149. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  150. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  151. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  152. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  153. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  154. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  155. package/dist/esm/gxg-tab_4.entry.js +1 -1
  156. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/genexus-ide-ui/genexus-ide-ui.css +9 -6
  159. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  160. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  161. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  162. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  163. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  164. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  165. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  166. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  167. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  168. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  169. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js → p-0c0c3f1d.entry.js} +53 -53
  170. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js.map → p-0c0c3f1d.entry.js.map} +1 -1
  171. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js → p-0df39b62.entry.js} +5 -2
  172. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js.map → p-0df39b62.entry.js.map} +1 -1
  173. package/dist/genexus-ide-ui/{p-419b2877.entry.js → p-1cb2d0df.entry.js} +80 -47
  174. package/dist/genexus-ide-ui/p-1cb2d0df.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/p-350f49ac.js +101 -0
  176. package/dist/genexus-ide-ui/p-350f49ac.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-ca7233a5.entry.js → p-39337325.entry.js} +81 -10
  178. package/dist/genexus-ide-ui/p-39337325.entry.js.map +1 -0
  179. package/dist/genexus-ide-ui/{p-001e085a.entry.js → p-51e86542.entry.js} +2 -2
  180. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  181. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  182. package/dist/genexus-ide-ui/p-5fe20f47.entry.js +211 -0
  183. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  184. package/dist/genexus-ide-ui/{p-d14b5546.entry.js → p-6f5b13a7.entry.js} +4 -2
  185. package/dist/genexus-ide-ui/{p-d14b5546.entry.js.map → p-6f5b13a7.entry.js.map} +1 -1
  186. package/dist/genexus-ide-ui/p-713ad05d.entry.js +441 -0
  187. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  188. package/dist/genexus-ide-ui/{p-94015503.entry.js → p-786e5448.entry.js} +374 -380
  189. package/dist/genexus-ide-ui/p-786e5448.entry.js.map +1 -0
  190. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  191. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  192. package/dist/genexus-ide-ui/{p-afce38d4.entry.js → p-b2099890.entry.js} +2 -2
  193. package/dist/genexus-ide-ui/{p-513ec2ad.entry.js → p-b4e526d6.entry.js} +2 -2
  194. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +138 -0
  195. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +1 -0
  196. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  197. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  198. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js → p-c14b6b77.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js.map → p-c14b6b77.entry.js.map} +1 -1
  200. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  201. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  202. package/dist/genexus-ide-ui/{p-2c733995.entry.js → p-d5903356.entry.js} +2 -2
  203. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  204. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  205. package/dist/genexus-ide-ui/{p-05102700.entry.js → p-df72101e.entry.js} +2 -2
  206. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  207. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  208. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/dropdown/dropdown.css +28 -28
  209. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css +11 -0
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +1 -0
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +51 -62
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +37 -54
  216. package/dist/types/common/common.d.ts +2 -0
  217. package/dist/types/components/_helpers/container/container.d.ts +8 -0
  218. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  219. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +60 -0
  220. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +110 -0
  221. package/dist/types/components/modules/types.d.ts +41 -0
  222. package/dist/types/components.d.ts +226 -80
  223. package/package.json +3 -3
  224. package/dist/cjs/common-103f62f6.js.map +0 -1
  225. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  226. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +0 -187
  227. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +0 -1
  228. package/dist/cjs/gxg-buttons-container.cjs.entry.js +0 -65
  229. package/dist/cjs/gxg-buttons-container.cjs.entry.js.map +0 -1
  230. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  231. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  232. package/dist/cjs/gxg-title.cjs.entry.js +0 -47
  233. package/dist/cjs/gxg-title.cjs.entry.js.map +0 -1
  234. package/dist/esm/common-f2983db2.js.map +0 -1
  235. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  236. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  237. package/dist/esm/gx-ide-status-buttons_2.entry.js +0 -182
  238. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +0 -1
  239. package/dist/esm/gxg-buttons-container.entry.js +0 -61
  240. package/dist/esm/gxg-buttons-container.entry.js.map +0 -1
  241. package/dist/esm/gxg-title-editable.entry.js +0 -124
  242. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  243. package/dist/esm/gxg-title.entry.js +0 -43
  244. package/dist/esm/gxg-title.entry.js.map +0 -1
  245. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  246. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  247. package/dist/genexus-ide-ui/p-419b2877.entry.js.map +0 -1
  248. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  249. package/dist/genexus-ide-ui/p-67406b36.entry.js +0 -71
  250. package/dist/genexus-ide-ui/p-67406b36.entry.js.map +0 -1
  251. package/dist/genexus-ide-ui/p-67ea84e8.js +0 -74
  252. package/dist/genexus-ide-ui/p-67ea84e8.js.map +0 -1
  253. package/dist/genexus-ide-ui/p-94015503.entry.js.map +0 -1
  254. package/dist/genexus-ide-ui/p-ca7233a5.entry.js.map +0 -1
  255. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js +0 -270
  256. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js.map +0 -1
  257. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js +0 -67
  258. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js.map +0 -1
  259. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  260. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  261. /package/dist/genexus-ide-ui/{p-001e085a.entry.js.map → p-51e86542.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-afce38d4.entry.js.map → p-b2099890.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-513ec2ad.entry.js.map → p-b4e526d6.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-2c733995.entry.js.map → p-d5903356.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-05102700.entry.js.map → p-df72101e.entry.js.map} +0 -0
@@ -7,24 +7,36 @@ import { d as defineCustomElement$1 } from './tree-view-render.js';
7
7
 
8
8
  const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
9
9
 
10
- const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);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(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.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-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}gxg-tree-view{display:contents}.tree-view{font-family:var(--ds-base-font-family-primary);font-size:var(--gxg-tree-view-item__font-size);font-weight:var(--ds-base-font-weight);color:var(--ds-base-font-color)}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.tree-view::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.tree-view::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.tree-view::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view .ch-tree-view-container{min-inline-size:max-content;padding:var(--gxg-tree-view-container__padding)}.tree-view-item{--ch-tree-view-view__checkbox-size:var(--ds-checkbox-size);--ch-tree-view-item-gap:var(--gxg-tree-view-item__gap);--ch-tree-view-item-custom-padding-inline-start:var(\n --gxg-tree-view-item__custom-padding-inline-start\n );--ch-tree-view-item-custom-padding-inline-end:var(\n --gxg-tree-view-item__custom-padding-inline-end\n );}.tree-view-item::part(dashed-line){border-color:var(--gxg-tree-view-item-dashed-line__border-color)}.tree-view-item::part(header){border-radius:var(--gxg-tree-view-item-header__border-radius);padding-block-start:var(--gxg-tree-view-item-header__padding-top);padding-block-end:var(--gxg-tree-view-item-header__padding-bottom);padding-inline-end:var(--gxg-tree-view-item-header__padding-inline-end)}.tree-view-item::part(header):hover{color:var(--gxg-tree-view-item__color--hover)}.tree-view-item::part(header):before{content:\"\";display:block}.tree-view-item::part(header):hover{background-color:var(--ds-item-background-color--hover);background-color:var(--ds-item-background-color--hover)}.tree-view-item::part(header):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:var(--gxg-tree-view-item-header__outline-offset--focus)}.tree-view-item[selected]::part(header){color:var(--gxg-grid-row-cell__color--selected);background-color:var(--ds-item-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--ds-item-background-color--selected-hover)}.tree-view-item::part(expandable-button){background-color:var(--gxg-tree-view-item-expandable-button__background-color)}.tree-view-item::part(expandable-button)::before{background-color:var(--gxg-tree-view-item-expandable-button__background-color--before);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.tree-view-item::part(expandable-button):hover{background-color:var(--gxg-tree-view-item-expandable-button__background-color--hover)}.tree-view-item::part(expandable-button):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}.tree-view-item::part(action)::before,.tree-view-item::part(action)::after{inline-size:var(--mer-font__size--sm);block-size:var(--mer-font__size--sm)}.tree-view-item::part(downloading){width:var(--gxg-tree-view-item-downloading__size);height:var(--gxg-tree-view-item-downloading__size);border:var(--gxg-tree-view-item-downloading__border);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gxg-checkbox-border-color);background-color:var(--gxg-checkbox-background-color);width:var(--gxg-checkbox-size);height:var(--gxg-checkbox-size);position:relative;border-width:var(--gxg-checkbox-border-width);border-style:solid;border-color:var(--gxg-checkbox-border-color);border-radius:var(--gxg-checkbox-border-radius)}.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(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}.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(--gxg-checkbox-indicator-color)}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--gxg-checkbox-indicator-color);-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;display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{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;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}";
10
+ const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);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(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.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-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}gxg-tree-view{display:contents}.tree-view{--ch-tree-view-item-gap:var(--gxg-tree-view-item__gap);--ch-tree-view-item__checkbox-size:var(--ds-checkbox-size);--ch-tree-view-item__expandable-button-size:var(--mer-font__size--sm);--ch-tree-view-item__image-size:var(--mer-font__size--sm);--ch-tree-view-item-custom-padding-inline-start:var(\n --gxg-tree-view-item__custom-padding-inline-start\n );--ch-tree-view-item-custom-padding-inline-end:var(\n --gxg-tree-view-item__custom-padding-inline-end\n );font-family:var(--ds-base-font-family-primary);font-size:var(--gxg-tree-view-item__font-size);font-weight:var(--ds-base-font-weight);color:var(--ds-base-font-color)}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.tree-view::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.tree-view::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.tree-view::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view .ch-tree-view-container{min-inline-size:max-content;padding:var(--gxg-tree-view-container__padding)}.tree-view-item{line-height:1.5em;}.tree-view-item::part(dashed-line){border-color:var(--ds-base-font-color);opacity:0.3}.tree-view-item::part(header){border-radius:var(--gxg-tree-view-item-header__border-radius);padding-inline-end:var(--gxg-tree-view-item-header__padding-inline-end)}.tree-view-item::part(header):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:var(--gxg-tree-view-item-header__outline-offset--focus)}.ch-tree-view-not-dragging-item .tree-view-item:not([selected])::part(header):hover{color:var(--gxg-tree-view-item__color--hover);background-color:var(--ds-item-background-color--hover)}.tree-view-item[selected]::part(header){color:var(--gxg-grid-row-cell__color--selected);background-color:var(--ds-item-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--ds-item-background-color--selected-hover)}.tree-view-item::part(action){padding-block:var(--gxg-tree-view-item-header__padding-top) var(--gxg-tree-view-item-header__padding-bottom)}.tree-view-item::part(downloading){inline-size:var(--gxg-tree-view-item-downloading__size);block-size:var(--gxg-tree-view-item-downloading__size);border:var(--gxg-tree-view-item-downloading__border);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gxg-checkbox-border-color);background-color:var(--gxg-checkbox-background-color);width:var(--gxg-checkbox-size);height:var(--gxg-checkbox-size);position:relative;border-width:var(--gxg-checkbox-border-width);border-style:solid;border-color:var(--gxg-checkbox-border-color);border-radius:var(--gxg-checkbox-border-radius)}.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(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}.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(--gxg-checkbox-indicator-color)}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--gxg-checkbox-indicator-color);-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;display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{content:\"\";inline-size:var(--gxg-tree-view-icon__size);block-size:var(--gxg-tree-view-icon__size);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;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:var(--color-primary-enabled);border-radius:50%}.ch-tree-view-item--drag-enter{background-color:var(--ds-item-background-color--hover);outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:var(--gxg-tree-view-item-header__outline-offset--focus)}.tree-view .ch-tree-view-drag-info{padding-inline:6px;padding-block:2px;background-color:var(--mer-color__elevation--04);border:1px solid var(--ds-border-color--regular);border-radius:10px;box-shadow:var(--gxg-grid-row__box-shadow--dragging);font-size:8px}ch-tree-view-drop::after{background-color:var(--ds-border-color-control--focused)}";
11
11
 
12
12
  const DEFAULT_DRAG_DISABLED_VALUE = false;
13
13
  const DEFAULT_DROP_DISABLED_VALUE = false;
14
14
  const DEFAULT_EDITABLE_ITEMS_VALUE = true;
15
15
  const iconAssetsPath = getAssetPath(`./icon-assets`);
16
- const defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => {
17
- var _a, _b, _c, _d, _e, _f;
18
- return (treeState.filterType === "none" || itemModel.render !== false) && (h("ch-tree-view-item", { key: itemModel.id, 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: `tree-view-item ${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, expandableButton: "action", expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, startImgSrc: itemModel.startImgSrc
19
- ? resolveImgPath(iconAssetsPath, itemModel.startImgSrc)
20
- : null, level: level, metadata: itemModel.metadata, endImgSrc: itemModel.endImgSrc, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
21
- itemModel.items != null &&
22
- itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
23
- // If there is a filter applied in the current list, use the
24
- // lastItemId value to calculate the last item
25
- (treeHasFilter && itemModel.lastItemId !== ""
26
- ? subModel.id === itemModel.lastItemId
27
- : index === itemModel.items.length - 1), level + 1))));
16
+ const isDropDisabled = (itemModel, treeState) => { var _a; return (_a = itemModel.dropDisabled) !== null && _a !== void 0 ? _a : treeState.dropDisabled; };
17
+ const treeDropId = (treeItemId) => `ch-tree-view-drop__${treeItemId}`;
18
+ const defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level, dropBeforeAndAfterEnabled) => {
19
+ var _a, _b, _c, _d, _e, _f, _g;
20
+ return (treeState.filterType === "none" || itemModel.render !== false) && [
21
+ dropBeforeAndAfterEnabled && (h("ch-tree-view-drop", { id: treeDropId(itemModel.id), level: level, treeItemId: itemModel.id, type: "before" })),
22
+ h("ch-tree-view-item", { key: itemModel.id, 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 || treeState.treeViewItemCssClass, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: isDropDisabled(itemModel, treeState), editable: (_d = itemModel.editable) !== null && _d !== void 0 ? _d : treeState.editableItems, endImgSrc: itemModel.endImgSrc
23
+ ? resolveImgPath(iconAssetsPath, itemModel.endImgSrc)
24
+ : null, endImgType: (_e = itemModel.endImgType) !== null && _e !== void 0 ? _e : "background", expanded: itemModel.expanded, expandableButton: treeState.expandableButton, expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes, startImgSrc: itemModel.startImgSrc
25
+ ? resolveImgPath(iconAssetsPath, itemModel.startImgSrc)
26
+ : null, startImgType: (_g = itemModel.startImgType) !== null && _g !== void 0 ? _g : "background" }, !itemModel.leaf &&
27
+ itemModel.items != null &&
28
+ itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
29
+ // If there is a filter applied in the current list, use the
30
+ // lastItemId value to calculate the last item
31
+ (treeHasFilter && itemModel.lastItemId !== undefined
32
+ ? subModel.id === itemModel.lastItemId
33
+ : index === itemModel.items.length - 1), level + 1,
34
+ // When dragging "before" and "after" an item and the direct parent
35
+ // has drops disabled, don't render the ch-tree-view-drop elements.
36
+ treeState.dropMode !== "above" &&
37
+ isDropDisabled(itemModel, treeState) !== true))),
38
+ dropBeforeAndAfterEnabled && lastItem && (h("ch-tree-view-drop", { id: treeDropId(itemModel.id) + "-after", level: level, treeItemId: itemModel.id, type: "after" }))
39
+ ];
28
40
  };
29
41
  const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeViewRenderWrapper extends HTMLElement {
30
42
  constructor() {
@@ -41,6 +53,7 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeVie
41
53
  this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
42
54
  this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
43
55
  this.dropItemsCallback = undefined;
56
+ this.dropMode = "above";
44
57
  this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
45
58
  this.expandableButton = "decorative";
46
59
  this.expandOnClick = true;
@@ -53,10 +66,11 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeVie
53
66
  this.modifyItemCaptionCallback = undefined;
54
67
  this.multiSelection = false;
55
68
  this.renderItem = defaultRenderItem;
56
- this.showLines = "all";
69
+ this.showLines = "last";
57
70
  this.sortItemsCallback = undefined;
58
71
  this.toggleCheckboxes = false;
59
72
  this.treeModel = [];
73
+ this.treeViewItemCssClass = "tree-view-item";
60
74
  }
61
75
  /**
62
76
  * Given an item id, an array of items to add, the download status and the
@@ -127,12 +141,13 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeVie
127
141
  * @param newContainerId ID of the container where the drag is trying to be made.
128
142
  * @param draggedItems Information about the dragged items.
129
143
  * @param validDrop Current state of the droppable zone.
144
+ * @param dropType Type of drop that wants to be effected
130
145
  */
131
146
  async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop) {
132
147
  this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop);
133
148
  }
134
149
  render() {
135
- return (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, expandOnClick: this.expandOnClick, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, 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) }));
150
+ return (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, dropMode: this.dropMode, editableItems: this.editableItems, expandOnClick: this.expandOnClick, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, 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, treeViewItemCssClass: this.treeViewItemCssClass, ref: el => (this.treeRef = el) }));
136
151
  }
137
152
  static get style() { return treeViewCss; }
138
153
  }, [0, "gxg-tree-view", {
@@ -143,6 +158,7 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeVie
143
158
  "dragDisabled": [4, "drag-disabled"],
144
159
  "dropDisabled": [4, "drop-disabled"],
145
160
  "dropItemsCallback": [16],
161
+ "dropMode": [1, "drop-mode"],
146
162
  "editableItems": [4, "editable-items"],
147
163
  "expandableButton": [1, "expandable-button"],
148
164
  "expandOnClick": [4, "expand-on-click"],
@@ -159,6 +175,7 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class ChTreeVie
159
175
  "sortItemsCallback": [16],
160
176
  "toggleCheckboxes": [4, "toggle-checkboxes"],
161
177
  "treeModel": [16],
178
+ "treeViewItemCssClass": [1, "tree-view-item-css-class"],
162
179
  "loadLazyContent": [64],
163
180
  "removeItems": [64],
164
181
  "reloadItems": [64],
@@ -1 +1 @@
1
- {"file":"tree-view2.js","mappings":"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","names":[],"sources":["node_modules/@genexus/gemini/dist/collection/components/tree-view/helpers.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css?tag=gxg-tree-view","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.js"],"sourcesContent":["export const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;\n//# sourceMappingURL=helpers.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*---------------------------\ngxg-tree-view\n---------------------------*/\ngxg-tree-view {\n display: contents;\n}\n\n/*---------------------------\n.tree-view\n---------------------------*/\n.tree-view {\n /* Track */\n /* Handle */\n /* Handle on hover */\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--gxg-tree-view-item__font-size);\n font-weight: var(--ds-base-font-weight);\n color: var(--ds-base-font-color);\n}\n.tree-view::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.tree-view::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.tree-view::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.tree-view::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.tree-view::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n.tree-view .ch-tree-view-container {\n min-inline-size: max-content;\n padding: var(--gxg-tree-view-container__padding);\n}\n\n/*---------------------------\n.tree-view-item\n---------------------------*/\n.tree-view-item {\n /*-- Custom vars ---*/\n --ch-tree-view-view__checkbox-size: var(--ds-checkbox-size);\n --ch-tree-view-item-gap: var(--gxg-tree-view-item__gap);\n --ch-tree-view-item-custom-padding-inline-start: var(\n --gxg-tree-view-item__custom-padding-inline-start\n );\n --ch-tree-view-item-custom-padding-inline-end: var(\n --gxg-tree-view-item__custom-padding-inline-end\n );\n /*-- Parts ---*/\n /*-- Parts for checkbox ---*/\n /*checked*/\n /*indeterminate*/\n /*-- Dynamic Icons ---*/\n /*-- Other ---*/\n}\n.tree-view-item::part(dashed-line) {\n border-color: var(--gxg-tree-view-item-dashed-line__border-color);\n}\n.tree-view-item::part(header) {\n border-radius: var(--gxg-tree-view-item-header__border-radius);\n padding-block-start: var(--gxg-tree-view-item-header__padding-top);\n padding-block-end: var(--gxg-tree-view-item-header__padding-bottom);\n padding-inline-end: var(--gxg-tree-view-item-header__padding-inline-end);\n}\n.tree-view-item::part(header):hover {\n color: var(--gxg-tree-view-item__color--hover);\n}\n.tree-view-item::part(header):before {\n content: \"\";\n display: block;\n}\n.tree-view-item::part(header):hover {\n background-color: var(--ds-item-background-color--hover);\n background-color: var(--ds-item-background-color--hover);\n}\n.tree-view-item::part(header):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: var(--gxg-tree-view-item-header__outline-offset--focus);\n}\n.tree-view-item[selected]::part(header) {\n color: var(--gxg-grid-row-cell__color--selected);\n background-color: var(--ds-item-background-color--selected);\n}\n.tree-view-item[selected]::part(header):hover {\n background-color: var(--ds-item-background-color--selected-hover);\n}\n.tree-view-item::part(expandable-button) {\n background-color: var(--gxg-tree-view-item-expandable-button__background-color);\n}\n.tree-view-item::part(expandable-button)::before {\n background-color: var(--gxg-tree-view-item-expandable-button__background-color--before);\n -webkit-mask-position: center;\n -webkit-mask-repeat: no-repeat;\n}\n.tree-view-item::part(expandable-button):hover {\n background-color: var(--gxg-tree-view-item-expandable-button__background-color--hover);\n}\n.tree-view-item::part(expandable-button):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\n.tree-view-item::part(action)::before, .tree-view-item::part(action)::after {\n inline-size: var(--mer-font__size--sm);\n block-size: var(--mer-font__size--sm);\n}\n.tree-view-item::part(downloading) {\n width: var(--gxg-tree-view-item-downloading__size);\n height: var(--gxg-tree-view-item-downloading__size);\n border: var(--gxg-tree-view-item-downloading__border);\n border-inline-start-color: transparent;\n}\n.tree-view-item::part(checkbox__container) {\n border-color: var(--gxg-checkbox-border-color);\n background-color: var(--gxg-checkbox-background-color);\n /*additional styles*/\n width: var(--gxg-checkbox-size);\n height: var(--gxg-checkbox-size);\n position: relative;\n border-width: var(--gxg-checkbox-border-width);\n border-style: solid;\n border-color: var(--gxg-checkbox-border-color);\n border-radius: var(--gxg-checkbox-border-radius);\n}\n.tree-view-item::part(checkbox__container):after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.tree-view-item::part(checkbox__container):focus-within {\n box-shadow: none;\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\n.tree-view-item::part(checkbox__option) {\n display: none;\n}\n.tree-view-item::part(checkbox__container checkbox__checked):after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--gxg-checkbox-indicator-color);\n}\n.tree-view-item::part(checkbox__container checkbox__indeterminate):after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--gxg-checkbox-indicator-color);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.tree-view-item::part(checkbox__input) {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n.tree-view-item--folder::part(action)::before, .tree-view-item--module::part(action)::before {\n content: \"\";\n width: var(--gxg-tree-view-icon__size);\n height: var(--gxg-tree-view-icon__size);\n margin-inline-end: var(--ch-tree-view-item-gap);\n background-repeat: no-repeat;\n}\n.tree-view-item--folder::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/folder.svg\");\n}\n.tree-view-item--folder::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/folder-open.svg\");\n}\n.tree-view-item--module::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/module.svg\");\n}\n.tree-view-item--module::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/module-open.svg\");\n}\n.tree-view-item--pending-commit::part(action)::before {\n content: \"\";\n position: relative;\n z-index: 1;\n width: 5px;\n height: 5px;\n align-self: end;\n margin-block-end: 3px;\n margin-inline-start: 1px;\n background-color: var(--color-primary-enabled);\n border-radius: 50%;\n}\n\n/*-- Other Selectors (these depend on the tag class name)---*/\n.tree-view-item--editing::part(header) {\n border: 2px solid transparent;\n}\n/*--- Revisar ---*/\n.tree-view .ch-tree-view-drag-info {\n padding-inline: 6px;\n padding-block: 2px;\n background-color: #cfdee6;\n border: 1px solid #0266a0;\n border-radius: 10px;\n font-size: 8px;\n}","import { h, getAssetPath } from \"@stencil/core\";\nimport { resolveImgPath } from \"./helpers\";\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst iconAssetsPath = getAssetPath(`./icon-assets`);\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: `tree-view-item ${itemModel.class}`, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: itemModel.dropDisabled ?? treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, expandableButton: \"action\", expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, startImgSrc: itemModel.startImgSrc\n ? resolveImgPath(iconAssetsPath, itemModel.startImgSrc)\n : null, level: level, metadata: itemModel.metadata, endImgSrc: itemModel.endImgSrc, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== \"\"\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nexport class ChTreeViewRenderWrapper {\n constructor() {\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.filter = undefined;\n this.filterDebounce = 0;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"all\";\n this.sortItemsCallback = undefined;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n }\n // Refs\n treeRef;\n /**\n * Fired when the checked items change.\n * This event does take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n * This event can be fired by the following conditions:\n * 1. A user changes the selected items interacting with the Tree View.\n *\n * 2. The `multiSelection` value is changed from `true` to `false`.\n *\n * 3. A selected item is no longer rendered because it does not satisfies a\n * filter condition.\n *\n * 4. TODO: The `treeModel` property is updated and contains different selected\n * items. Even if it does not contains different selected items, this\n * event is fired because the selected items can have a different path\n * than before the `treeModel` update.\n *\n * 5. The `updateItemsProperties` method is executed, changing the item\n * selection.\n *\n * 6. A selected item is removed.\n *\n * 7. TODO: A selected item is moved into a new parent with drag and drop.\n * In this case, since the detail of the event contains the information\n * of the parent, this event must be fired to update the information.\n *\n * 8. Executing `scrollIntoVisible` method and updating the selected value\n * of the scrolled item.\n *\n * 9. TODO: An external item is dropped into the Tree View and the item is\n * selected.\n *\n * 10. TODO: Lazy loading content that has selected items?\n *\n * Thing that does not fire this event:\n * - TODO: Renaming a selected item.\n *\n * - TODO: Applying a filter that keeps all selected items rendered.\n */\n selectedItemsChange;\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n this.treeRef.loadLazyContent(itemId, items, downloading, lazy);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n this.treeRef.removeItems(items);\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n return this.treeRef.reloadItems(itemId, beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n *\n * When using a path, this method will fail if:\n * - The path does not start from the root element.\n * - The path contains a cycle.\n * - The path does not correspond to a valid path on the server:\n * - One of the item of the path, except for the last one, is a leaf.\n * - An item in the path does not exists on the server.\n * - The path has repeated items.\n * - And so on.\n */\n async scrollIntoVisible(path, afterProperties) {\n return this.treeRef.scrollIntoVisible(path, afterProperties);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n return this.treeRef.toggleItems(treeItemIds, expand);\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n this.treeRef.updateAllItemsProperties(properties);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n this.treeRef.updateItemsProperties(items, properties);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop) {\n this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop);\n }\n render() {\n return (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, expandOnClick: this.expandOnClick, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, 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) }));\n }\n static get is() { return \"gxg-tree-view\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed in the items by\\ndefault.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies if a tree-view-item is expanded on click interaction. If `true`\\nthe tree-view-item is expanded on click interaction. If `false`, with\\nmouse interaction the tree-view-item will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"id-list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string\\n ) => Promise<TreeViewItemModel[]>\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number\\n ) => any\",\n \"resolved\": \"(itemModel: TreeViewItemModel, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/tree-view-render\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"all\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n }\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-x control.\"\n },\n \"defaultValue\": \"[]\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\\nThis event can be fired by the following conditions:\\n 1. A user changes the selected items interacting with the Tree View.\\n\\n 2. The `multiSelection` value is changed from `true` to `false`.\\n\\n 3. A selected item is no longer rendered because it does not satisfies a\\n filter condition.\\n\\n 4. TODO: The `treeModel` property is updated and contains different selected\\n items. Even if it does not contains different selected items, this\\n event is fired because the selected items can have a different path\\n than before the `treeModel` update.\\n\\n 5. The `updateItemsProperties` method is executed, changing the item\\n selection.\\n\\n 6. A selected item is removed.\\n\\n 7. TODO: A selected item is moved into a new parent with drag and drop.\\n In this case, since the detail of the event contains the information\\n of the parent, this event must be fired to update the information.\\n\\n 8. Executing `scrollIntoVisible` method and updating the selected value\\n of the scrolled item.\\n\\n 9. TODO: An external item is dropped into the Tree View and the item is\\n selected.\\n\\n 10. TODO: Lazy loading content that has selected items?\\n\\nThing that does not fire this event:\\n - TODO: Renaming a selected item.\\n\\n - TODO: Applying a filter that keeps all selected items rendered.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\\n\\nWhen using a path, this method will fail if:\\n - The path does not start from the root element.\\n - The path contains a cycle.\\n - The path does not correspond to a valid path on the server:\\n - One of the item of the path, except for the last one, is a leaf.\\n - An item in the path does not exists on the server.\\n - The path has repeated items.\\n - And so on.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: TreeViewItemModel) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id: string; caption: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], dropType: TreeViewDropType, validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"dropType\",\n \"type\": \"\\\"after\\\" | \\\"before\\\" | \\\"above\\\"\",\n \"docs\": \"\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/common/types\",\n \"id\": \"\"\n },\n \"TreeViewDropType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }]\n }\n }\n };\n }\n}\n//# sourceMappingURL=tree-view.js.map\n"],"version":3}
1
+ {"file":"tree-view2.js","mappings":"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","names":[],"sources":["node_modules/@genexus/gemini/dist/collection/components/tree-view/helpers.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css?tag=gxg-tree-view","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.js"],"sourcesContent":["export const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;\n//# sourceMappingURL=helpers.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*---------------------------\ngxg-tree-view\n---------------------------*/\ngxg-tree-view {\n display: contents;\n}\n\n/*---------------------------\n.tree-view\n---------------------------*/\n.tree-view {\n --ch-tree-view-item-gap: var(--gxg-tree-view-item__gap);\n --ch-tree-view-item__checkbox-size: var(--ds-checkbox-size);\n --ch-tree-view-item__expandable-button-size: var(--mer-font__size--sm);\n --ch-tree-view-item__image-size: var(--mer-font__size--sm);\n --ch-tree-view-item-custom-padding-inline-start: var(\n --gxg-tree-view-item__custom-padding-inline-start\n );\n --ch-tree-view-item-custom-padding-inline-end: var(\n --gxg-tree-view-item__custom-padding-inline-end\n );\n /* Track */\n /* Handle */\n /* Handle on hover */\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--gxg-tree-view-item__font-size);\n font-weight: var(--ds-base-font-weight);\n color: var(--ds-base-font-color);\n}\n.tree-view::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.tree-view::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.tree-view::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.tree-view::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.tree-view::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n.tree-view .ch-tree-view-container {\n min-inline-size: max-content;\n padding: var(--gxg-tree-view-container__padding);\n}\n\n/*---------------------------\n.tree-view-item\n---------------------------*/\n.tree-view-item {\n line-height: 1.5em;\n /*-- Parts ---*/\n /*-- Parts for checkbox ---*/\n /*-- Dynamic Icons ---*/\n /*-- Other ---*/\n}\n.tree-view-item::part(dashed-line) {\n border-color: var(--ds-base-font-color);\n opacity: 0.3;\n}\n.tree-view-item::part(header) {\n border-radius: var(--gxg-tree-view-item-header__border-radius);\n padding-inline-end: var(--gxg-tree-view-item-header__padding-inline-end);\n}\n.tree-view-item::part(header):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: var(--gxg-tree-view-item-header__outline-offset--focus);\n}\n.ch-tree-view-not-dragging-item .tree-view-item:not([selected])::part(header):hover {\n color: var(--gxg-tree-view-item__color--hover);\n background-color: var(--ds-item-background-color--hover);\n}\n.tree-view-item[selected]::part(header) {\n color: var(--gxg-grid-row-cell__color--selected);\n background-color: var(--ds-item-background-color--selected);\n}\n.tree-view-item[selected]::part(header):hover {\n background-color: var(--ds-item-background-color--selected-hover);\n}\n.tree-view-item::part(action) {\n padding-block: var(--gxg-tree-view-item-header__padding-top) var(--gxg-tree-view-item-header__padding-bottom);\n}\n.tree-view-item::part(downloading) {\n inline-size: var(--gxg-tree-view-item-downloading__size);\n block-size: var(--gxg-tree-view-item-downloading__size);\n border: var(--gxg-tree-view-item-downloading__border);\n border-inline-start-color: transparent;\n}\n.tree-view-item::part(checkbox__container) {\n border-color: var(--gxg-checkbox-border-color);\n background-color: var(--gxg-checkbox-background-color);\n /*additional styles*/\n width: var(--gxg-checkbox-size);\n height: var(--gxg-checkbox-size);\n position: relative;\n border-width: var(--gxg-checkbox-border-width);\n border-style: solid;\n border-color: var(--gxg-checkbox-border-color);\n border-radius: var(--gxg-checkbox-border-radius);\n}\n.tree-view-item::part(checkbox__container):after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.tree-view-item::part(checkbox__container):focus-within {\n box-shadow: none;\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\n.tree-view-item::part(checkbox__option) {\n display: none;\n}\n.tree-view-item::part(checkbox__container checkbox__checked):after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--gxg-checkbox-indicator-color);\n}\n.tree-view-item::part(checkbox__container checkbox__indeterminate):after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--gxg-checkbox-indicator-color);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.tree-view-item::part(checkbox__input) {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n.tree-view-item--folder::part(action)::before, .tree-view-item--module::part(action)::before {\n content: \"\";\n inline-size: var(--gxg-tree-view-icon__size);\n block-size: var(--gxg-tree-view-icon__size);\n background-repeat: no-repeat;\n}\n.tree-view-item--folder::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/folder.svg\");\n}\n.tree-view-item--folder::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/folder-open.svg\");\n}\n.tree-view-item--module::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/module.svg\");\n}\n.tree-view-item--module::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/module-open.svg\");\n}\n.tree-view-item--pending-commit::part(action)::before {\n content: \"\";\n position: relative;\n z-index: 1;\n width: 5px;\n height: 5px;\n align-self: end;\n margin-block-end: 3px;\n margin-inline-start: 1px;\n background-color: var(--color-primary-enabled);\n border-radius: 50%;\n}\n\n/*-- Other Selectors (these depend on the tag class name)---*/\n.ch-tree-view-item--drag-enter {\n background-color: var(--ds-item-background-color--hover);\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: var(--gxg-tree-view-item-header__outline-offset--focus);\n}\n\n.tree-view .ch-tree-view-drag-info {\n padding-inline: 6px;\n padding-block: 2px;\n background-color: var(--mer-color__elevation--04);\n border: 1px solid var(--ds-border-color--regular);\n border-radius: 10px;\n box-shadow: var(--gxg-grid-row__box-shadow--dragging);\n font-size: 8px;\n}\n\nch-tree-view-drop::after {\n background-color: var(--ds-border-color-control--focused);\n}","import { h, getAssetPath } from \"@stencil/core\";\nimport { resolveImgPath } from \"./helpers\";\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst iconAssetsPath = getAssetPath(`./icon-assets`);\nconst isDropDisabled = (itemModel, treeState) => itemModel.dropDisabled ?? treeState.dropDisabled;\nconst treeDropId = (treeItemId) => `ch-tree-view-drop__${treeItemId}`;\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level, dropBeforeAndAfterEnabled) => (treeState.filterType === \"none\" || itemModel.render !== false) && [\n dropBeforeAndAfterEnabled && (h(\"ch-tree-view-drop\", { id: treeDropId(itemModel.id), level: level, treeItemId: itemModel.id, type: \"before\" })),\n h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class || treeState.treeViewItemCssClass, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: isDropDisabled(itemModel, treeState), editable: itemModel.editable ?? treeState.editableItems, endImgSrc: itemModel.endImgSrc\n ? resolveImgPath(iconAssetsPath, itemModel.endImgSrc)\n : null, endImgType: itemModel.endImgType ?? \"background\", expanded: itemModel.expanded, expandableButton: treeState.expandableButton, expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes, startImgSrc: itemModel.startImgSrc\n ? resolveImgPath(iconAssetsPath, itemModel.startImgSrc)\n : null, startImgType: itemModel.startImgType ?? \"background\" }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== undefined\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1, \n // When dragging \"before\" and \"after\" an item and the direct parent\n // has drops disabled, don't render the ch-tree-view-drop elements.\n treeState.dropMode !== \"above\" &&\n isDropDisabled(itemModel, treeState) !== true))),\n dropBeforeAndAfterEnabled && lastItem && (h(\"ch-tree-view-drop\", { id: treeDropId(itemModel.id) + \"-after\", level: level, treeItemId: itemModel.id, type: \"after\" }))\n];\nexport class ChTreeViewRenderWrapper {\n constructor() {\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.dropMode = \"above\";\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.filter = undefined;\n this.filterDebounce = 0;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"last\";\n this.sortItemsCallback = undefined;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n this.treeViewItemCssClass = \"tree-view-item\";\n }\n // Refs\n treeRef;\n /**\n * Fired when the checked items change.\n * This event does take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n * This event can be fired by the following conditions:\n * 1. A user changes the selected items interacting with the Tree View.\n *\n * 2. The `multiSelection` value is changed from `true` to `false`.\n *\n * 3. A selected item is no longer rendered because it does not satisfies a\n * filter condition.\n *\n * 4. TODO: The `treeModel` property is updated and contains different selected\n * items. Even if it does not contains different selected items, this\n * event is fired because the selected items can have a different path\n * than before the `treeModel` update.\n *\n * 5. The `updateItemsProperties` method is executed, changing the item\n * selection.\n *\n * 6. A selected item is removed.\n *\n * 7. TODO: A selected item is moved into a new parent with drag and drop.\n * In this case, since the detail of the event contains the information\n * of the parent, this event must be fired to update the information.\n *\n * 8. Executing `scrollIntoVisible` method and updating the selected value\n * of the scrolled item.\n *\n * 9. TODO: An external item is dropped into the Tree View and the item is\n * selected.\n *\n * 10. TODO: Lazy loading content that has selected items?\n *\n * Thing that does not fire this event:\n * - TODO: Renaming a selected item.\n *\n * - TODO: Applying a filter that keeps all selected items rendered.\n */\n selectedItemsChange;\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n this.treeRef.loadLazyContent(itemId, items, downloading, lazy);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n this.treeRef.removeItems(items);\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n return this.treeRef.reloadItems(itemId, beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n *\n * When using a path, this method will fail if:\n * - The path does not start from the root element.\n * - The path contains a cycle.\n * - The path does not correspond to a valid path on the server:\n * - One of the item of the path, except for the last one, is a leaf.\n * - An item in the path does not exists on the server.\n * - The path has repeated items.\n * - And so on.\n */\n async scrollIntoVisible(path, afterProperties) {\n return this.treeRef.scrollIntoVisible(path, afterProperties);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n return this.treeRef.toggleItems(treeItemIds, expand);\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n this.treeRef.updateAllItemsProperties(properties);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n this.treeRef.updateItemsProperties(items, properties);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n * @param dropType Type of drop that wants to be effected\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop) {\n this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, dropType, validDrop);\n }\n render() {\n return (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, dropMode: this.dropMode, editableItems: this.editableItems, expandOnClick: this.expandOnClick, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, 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, treeViewItemCssClass: this.treeViewItemCssClass, ref: el => (this.treeRef = el) }));\n }\n static get is() { return \"gxg-tree-view\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"dropMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"above\\\" | \\\"before-and-after\\\" | \\\"all\\\"\",\n \"resolved\": \"\\\"above\\\" | \\\"all\\\" | \\\"before-and-after\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify which kind of drop operation can be\\neffected in the items.\"\n },\n \"attribute\": \"drop-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"above\\\"\"\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed in the items by\\ndefault.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies if a tree-view-item is expanded on click interaction. If `true`\\nthe tree-view-item is expanded on click interaction. If `false`, with\\nmouse interaction the tree-view-item will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"id-list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string\\n ) => Promise<TreeViewItemModel[]>\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number,\\n dropBeforeAndAfterEnabled: boolean\\n ) => any\",\n \"resolved\": \"(itemModel: TreeViewItemModel, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number, dropBeforeAndAfterEnabled: boolean) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/tree-view-render\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"last\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n }\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-x control.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"treeViewItemCssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view-item` element default class.\"\n },\n \"attribute\": \"tree-view-item-css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view-item\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\\nThis event can be fired by the following conditions:\\n 1. A user changes the selected items interacting with the Tree View.\\n\\n 2. The `multiSelection` value is changed from `true` to `false`.\\n\\n 3. A selected item is no longer rendered because it does not satisfies a\\n filter condition.\\n\\n 4. TODO: The `treeModel` property is updated and contains different selected\\n items. Even if it does not contains different selected items, this\\n event is fired because the selected items can have a different path\\n than before the `treeModel` update.\\n\\n 5. The `updateItemsProperties` method is executed, changing the item\\n selection.\\n\\n 6. A selected item is removed.\\n\\n 7. TODO: A selected item is moved into a new parent with drag and drop.\\n In this case, since the detail of the event contains the information\\n of the parent, this event must be fired to update the information.\\n\\n 8. Executing `scrollIntoVisible` method and updating the selected value\\n of the scrolled item.\\n\\n 9. TODO: An external item is dropped into the Tree View and the item is\\n selected.\\n\\n 10. TODO: Lazy loading content that has selected items?\\n\\nThing that does not fire this event:\\n - TODO: Renaming a selected item.\\n\\n - TODO: Applying a filter that keeps all selected items rendered.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\\n\\nWhen using a path, this method will fail if:\\n - The path does not start from the root element.\\n - The path contains a cycle.\\n - The path does not correspond to a valid path on the server:\\n - One of the item of the path, except for the last one, is a leaf.\\n - An item in the path does not exists on the server.\\n - The path has repeated items.\\n - And so on.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: TreeViewItemModel) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id: string; caption: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; endImgSrc?: string; endImgType?: ImageRender; lastItemId?: string; lazy?: boolean; leaf?: boolean; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; selected?: boolean; startImgSrc?: string; startImgType?: ImageRender; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], dropType: TreeViewDropType, validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"dropType\",\n \"type\": \"\\\"after\\\" | \\\"before\\\" | \\\"above\\\"\",\n \"docs\": \"Type of drop that wants to be effected\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n },\n \"TreeViewDropType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }, {\n \"name\": \"param\",\n \"text\": \"dropType Type of drop that wants to be effected\"\n }]\n }\n }\n };\n }\n}\n//# sourceMappingURL=tree-view.js.map\n"],"version":3}