@genexus/genexus-ide-ui 0.0.60 → 0.0.62

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 (397) hide show
  1. package/dist/cjs/ch-checkbox.cjs.entry.js +93 -0
  2. package/dist/cjs/ch-grid_8.cjs.entry.js +1 -1
  3. package/dist/cjs/{ch-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +471 -87
  4. package/dist/cjs/{config-149ec5fe.js → config-c652329b.js} +5 -1
  5. package/dist/cjs/detect-click-outside-d18e5541.js +25 -0
  6. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  7. package/dist/cjs/{grid-be8c3413.js → grid-d12c16c7.js} +1 -0
  8. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +12 -7
  9. package/dist/cjs/{gxg-form-text.cjs.entry.js → gx-ide-container_4.cjs.entry.js} +238 -0
  10. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +11 -4
  11. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +18 -2
  12. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +47 -0
  13. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +24 -14
  14. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +352 -0
  15. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +252 -0
  16. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +10 -5
  17. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +17 -14
  18. package/dist/cjs/gx-ide-new-object.cjs.entry.js +12 -7
  19. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +22 -11
  20. package/dist/cjs/gx-ide-references.cjs.entry.js +21 -27
  21. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +11 -7
  22. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +148 -0
  23. package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +19 -0
  24. package/dist/cjs/gx-ide-switcher.cjs.entry.js +19 -0
  25. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +36 -9
  26. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +34 -16
  27. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +13 -5
  28. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +11 -4
  29. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +26 -17
  30. package/dist/cjs/gx-ide-template.cjs.entry.js +9 -4
  31. package/dist/cjs/gx-ide-test.cjs.entry.js +8 -1
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +40 -30
  33. package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
  34. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -1
  35. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +6 -1
  36. package/dist/cjs/gxg-form-textarea.cjs.entry.js +24 -2
  37. package/dist/cjs/gxg-menu-slim.cjs.entry.js +2 -23
  38. package/dist/cjs/gxg-pill.cjs.entry.js +2 -2
  39. package/dist/cjs/gxg-pills.cjs.entry.js +34 -0
  40. package/dist/cjs/gxg-title-editable.cjs.entry.js +109 -0
  41. package/dist/cjs/gxg-tree_2.cjs.entry.js +1 -1
  42. package/dist/cjs/{helpers-9523495a.js → helpers-b62ea39c.js} +12 -0
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +22 -14
  45. package/dist/collection/common/config.js +5 -1
  46. package/dist/collection/common/grid.js +1 -0
  47. package/dist/collection/common/helpers.js +11 -0
  48. package/dist/collection/common/render-list-item.js +12 -0
  49. package/dist/collection/components/{container → _helpers/container}/container.css +57 -17
  50. package/dist/collection/components/{container → _helpers/container}/container.js +223 -26
  51. package/dist/collection/components/{entity-selector → _helpers/entity-selector}/entity-selector.js +5 -5
  52. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +96 -0
  53. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +352 -0
  54. package/dist/collection/components/{list-selector → _helpers/list-selector}/list-selector.css +6 -0
  55. package/dist/collection/components/_helpers/list-selector/list-selector.js +375 -0
  56. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +93 -0
  57. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +325 -0
  58. package/dist/collection/components/_helpers/switcher/switch-panel/switch-panel.css +3 -0
  59. package/dist/collection/components/_helpers/switcher/switch-panel/switch-panel.js +18 -0
  60. package/dist/collection/components/_helpers/switcher/switcher.css +3 -0
  61. package/dist/collection/components/_helpers/switcher/switcher.js +18 -0
  62. package/dist/collection/components/_helpers/title/title.css +42 -0
  63. package/dist/collection/components/_helpers/title/title.js +156 -0
  64. package/dist/collection/components/{application-declaration/bpm-app-declaration.css → _starting-template/template.css} +18 -11
  65. package/dist/collection/components/{_template → _starting-template}/template.js +9 -4
  66. package/dist/collection/components/_test/test.js +28 -1
  67. package/dist/collection/components/{team-dev-commit/team-dev-commit.css → bpm-application-declaration/bpm-app-declaration.css} +33 -37
  68. package/dist/collection/components/{application-declaration → bpm-application-declaration}/bpm-app-declaration.js +11 -6
  69. package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +1 -1
  70. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +24 -1
  71. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +11 -4
  72. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +2 -1
  73. package/dist/collection/components/file-selector/file-selector.css +366 -0
  74. package/dist/collection/components/file-selector/file-selector.js +185 -0
  75. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +2 -0
  76. package/dist/collection/components/kb-manager-export/helpers.js +3 -4
  77. package/dist/collection/components/kb-manager-export/kb-manager-export.css +31 -16
  78. package/dist/collection/components/kb-manager-export/kb-manager-export.js +35 -10
  79. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +32 -0
  80. package/dist/collection/components/kb-manager-import/helpers.js +128 -0
  81. package/dist/collection/components/kb-manager-import/kb-manager-import.css +253 -0
  82. package/dist/collection/components/kb-manager-import/kb-manager-import.js +424 -0
  83. package/dist/collection/components/new-environment/new-environment.css +36 -17
  84. package/dist/collection/components/new-environment/new-environment.js +10 -5
  85. package/dist/collection/components/new-kb/new-kb.css +31 -5
  86. package/dist/collection/components/new-kb/new-kb.js +16 -13
  87. package/dist/collection/components/new-object/new-object.css +60 -11
  88. package/dist/collection/components/new-object/new-object.js +24 -5
  89. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +1 -1
  90. package/dist/collection/components/object-selector/object-selector.css +70 -26
  91. package/dist/collection/components/object-selector/object-selector.js +20 -9
  92. package/dist/collection/components/references/references.css +25 -13
  93. package/dist/collection/components/references/references.js +20 -26
  94. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +2 -1
  95. package/dist/collection/components/share-kb/share-kb.css +34 -10
  96. package/dist/collection/components/share-kb/share-kb.js +10 -6
  97. package/dist/collection/components/{team-dev-commit → team-dev/commit}/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +1 -1
  98. package/dist/collection/components/team-dev/commit/team-dev-commit.css +264 -0
  99. package/dist/collection/components/{team-dev-commit → team-dev/commit}/team-dev-commit.js +44 -16
  100. package/dist/collection/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.en.json +1 -0
  101. package/dist/collection/components/team-dev/select-recent-comment/helpers.js +7 -0
  102. package/dist/collection/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.css +20 -2
  103. package/dist/collection/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.js +33 -16
  104. package/dist/collection/components/{team-dev-update → team-dev/update}/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +1 -1
  105. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +3 -0
  106. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +3 -0
  107. package/dist/collection/components/{team-dev-update → team-dev/update}/team-dev-update.css +46 -41
  108. package/dist/collection/components/{team-dev-update → team-dev/update}/team-dev-update.js +29 -20
  109. package/dist/collection/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.css +22 -23
  110. package/dist/collection/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.js +30 -5
  111. package/dist/collection/components/{team-dev-update-to-revision → team-dev/update-to-revision}/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.en.json +1 -1
  112. package/dist/collection/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.css +18 -7
  113. package/dist/collection/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.js +28 -4
  114. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +4 -2
  115. package/dist/collection/components/ww-images/ww-images.css +103 -61
  116. package/dist/collection/components/ww-images/ww-images.js +55 -28
  117. package/dist/collection/pages/assets/common.js +2 -2
  118. package/dist/components/button-group.js +1 -1
  119. package/dist/components/combo-box.js +1 -1
  120. package/dist/components/config.js +5 -1
  121. package/dist/components/container.js +74 -12
  122. package/dist/components/date-picker.js +19 -2
  123. package/dist/components/detect-click-outside.js +23 -0
  124. package/dist/components/form-radio-group.js +7 -1
  125. package/dist/components/form-text.js +1 -1
  126. package/dist/components/form-textarea.js +27 -3
  127. package/dist/components/grid.js +1 -0
  128. package/dist/components/gx-ide-bpm-app-declaration.js +52 -41
  129. package/dist/components/gx-ide-create-kb-from-server.js +28 -15
  130. package/dist/components/gx-ide-file-selector.d.ts +11 -0
  131. package/dist/components/gx-ide-file-selector.js +105 -0
  132. package/dist/components/gx-ide-kb-manager-export.js +44 -28
  133. package/dist/components/gx-ide-kb-manager-import.d.ts +11 -0
  134. package/dist/components/gx-ide-kb-manager-import.js +514 -0
  135. package/dist/components/gx-ide-list-selector-item.js +1 -102
  136. package/dist/components/gx-ide-list-selector.js +1 -73
  137. package/dist/components/gx-ide-new-environment.js +21 -10
  138. package/dist/components/gx-ide-new-kb.js +27 -18
  139. package/dist/components/gx-ide-new-object.js +24 -13
  140. package/dist/components/gx-ide-object-selector.js +55 -38
  141. package/dist/components/gx-ide-references.js +47 -47
  142. package/dist/components/gx-ide-share-kb.js +27 -17
  143. package/dist/components/gx-ide-status-buttons.d.ts +11 -0
  144. package/dist/components/gx-ide-status-buttons.js +6 -0
  145. package/dist/components/gx-ide-status-buttons2.js +131 -0
  146. package/dist/components/gx-ide-switch-panel.d.ts +11 -0
  147. package/dist/components/gx-ide-switch-panel.js +33 -0
  148. package/dist/components/gx-ide-switcher.d.ts +11 -0
  149. package/dist/components/gx-ide-switcher.js +33 -0
  150. package/dist/components/gx-ide-team-dev-commit.js +64 -30
  151. package/dist/components/gx-ide-team-dev-select-recent-comment.js +51 -45
  152. package/dist/components/gx-ide-team-dev-update-partial-selection.js +52 -32
  153. package/dist/components/gx-ide-team-dev-update-to-revision.js +24 -11
  154. package/dist/components/gx-ide-team-dev-update.js +67 -40
  155. package/dist/components/gx-ide-template.js +20 -9
  156. package/dist/components/gx-ide-test.js +9 -2
  157. package/dist/components/gx-ide-title.d.ts +11 -0
  158. package/dist/components/gx-ide-title.js +6 -0
  159. package/dist/components/gx-ide-top-bar.js +1 -1
  160. package/dist/components/gx-ide-ww-images.js +74 -58
  161. package/dist/components/gxg-container.js +251 -1
  162. package/dist/components/gxg-grid2.js +1 -1
  163. package/dist/components/gxg-ide-loader.js +1 -111
  164. package/dist/components/gxg-menu-slim-list.js +1 -1
  165. package/dist/components/gxg-menu-slim.js +1 -22
  166. package/dist/components/gxg-pill.js +2 -2
  167. package/dist/components/gxg-pills.js +50 -0
  168. package/dist/components/gxg-title-editable.js +148 -0
  169. package/dist/components/gxg-title.js +1 -1
  170. package/dist/components/gxg-tree-item2.js +1 -1
  171. package/dist/components/helpers2.js +12 -1
  172. package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -7
  173. package/dist/components/index.d.ts +19 -13
  174. package/dist/components/index.js +8 -0
  175. package/dist/components/list-selector-item.js +175 -0
  176. package/dist/components/list-selector.js +146 -0
  177. package/dist/components/title.js +32 -37
  178. package/dist/{esm/gxg-title.entry.js → components/title2.js} +26 -8
  179. package/dist/components/tree-view.js +1 -6
  180. package/dist/esm/ch-checkbox.entry.js +89 -0
  181. package/dist/esm/ch-grid_8.entry.js +1 -1
  182. package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +472 -88
  183. package/dist/esm/{config-9b4321f9.js → config-ee66bdf4.js} +5 -1
  184. package/dist/esm/detect-click-outside-16ce8235.js +23 -0
  185. package/dist/esm/genexus-ide-ui.js +1 -1
  186. package/dist/esm/{grid-1354bf8f.js → grid-9988c857.js} +1 -0
  187. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +12 -7
  188. package/dist/esm/{gxg-form-text.entry.js → gx-ide-container_4.entry.js} +237 -2
  189. package/dist/esm/gx-ide-create-kb-from-server.entry.js +11 -4
  190. package/dist/esm/gx-ide-entity-selector_2.entry.js +18 -2
  191. package/dist/esm/gx-ide-file-selector.entry.js +43 -0
  192. package/dist/esm/gx-ide-kb-manager-export.entry.js +24 -14
  193. package/dist/esm/gx-ide-kb-manager-import.entry.js +348 -0
  194. package/dist/esm/gx-ide-list-selector_2.entry.js +247 -0
  195. package/dist/esm/gx-ide-new-environment.entry.js +10 -5
  196. package/dist/esm/gx-ide-new-kb.entry.js +17 -14
  197. package/dist/esm/gx-ide-new-object.entry.js +12 -7
  198. package/dist/esm/gx-ide-object-selector.entry.js +22 -11
  199. package/dist/esm/gx-ide-references.entry.js +21 -27
  200. package/dist/esm/gx-ide-share-kb.entry.js +11 -7
  201. package/dist/esm/gx-ide-status-buttons_2.entry.js +143 -0
  202. package/dist/esm/gx-ide-switch-panel.entry.js +15 -0
  203. package/dist/esm/gx-ide-switcher.entry.js +15 -0
  204. package/dist/esm/gx-ide-team-dev-commit.entry.js +36 -9
  205. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +35 -17
  206. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +13 -5
  207. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +11 -4
  208. package/dist/esm/gx-ide-team-dev-update.entry.js +26 -17
  209. package/dist/esm/gx-ide-template.entry.js +9 -4
  210. package/dist/esm/gx-ide-test.entry.js +9 -2
  211. package/dist/esm/gx-ide-ww-images.entry.js +40 -30
  212. package/dist/esm/gxg-button-group.entry.js +1 -1
  213. package/dist/esm/gxg-combo-box_2.entry.js +1 -1
  214. package/dist/esm/gxg-form-radio-group.entry.js +6 -1
  215. package/dist/esm/gxg-form-textarea.entry.js +24 -2
  216. package/dist/esm/gxg-menu-slim.entry.js +1 -22
  217. package/dist/esm/gxg-pill.entry.js +2 -2
  218. package/dist/esm/gxg-pills.entry.js +30 -0
  219. package/dist/esm/gxg-title-editable.entry.js +105 -0
  220. package/dist/esm/gxg-tree_2.entry.js +1 -1
  221. package/dist/esm/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
  222. package/dist/esm/loader.js +1 -1
  223. package/dist/genexus-ide-ui/genexus-ide-ui.css +3 -3
  224. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  225. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +1 -1
  226. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +2 -1
  227. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +2 -0
  228. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +32 -0
  229. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
  230. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
  231. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +1 -1
  232. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +2 -1
  233. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +1 -1
  234. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.en.json +1 -0
  235. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +1 -1
  236. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.en.json +1 -1
  237. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +4 -2
  238. package/dist/genexus-ide-ui/icon-assets/gemini-tools/edit.svg +1 -1
  239. package/dist/genexus-ide-ui/p-0f1388e1.entry.js +1 -0
  240. package/dist/genexus-ide-ui/p-1b51da5e.entry.js +1 -0
  241. package/dist/genexus-ide-ui/p-1ff3cf87.entry.js +1 -0
  242. package/dist/genexus-ide-ui/p-25aa052f.js +1 -0
  243. package/dist/genexus-ide-ui/p-283afc3b.entry.js +1 -0
  244. package/dist/genexus-ide-ui/p-2fbab2a9.js +1 -0
  245. package/dist/genexus-ide-ui/{p-53e5a04f.entry.js → p-3442d19a.entry.js} +1 -1
  246. package/dist/genexus-ide-ui/p-38c18db5.js +1 -0
  247. package/dist/genexus-ide-ui/p-39968306.entry.js +1 -0
  248. package/dist/genexus-ide-ui/p-42209f9f.entry.js +1 -0
  249. package/dist/genexus-ide-ui/p-4d506c74.entry.js +1 -0
  250. package/dist/genexus-ide-ui/p-527ace08.entry.js +1 -0
  251. package/dist/genexus-ide-ui/{p-a94dd4c1.entry.js → p-56935fba.entry.js} +1 -1
  252. package/dist/genexus-ide-ui/p-5cc7c201.entry.js +1 -0
  253. package/dist/genexus-ide-ui/p-606fee7b.entry.js +1 -0
  254. package/dist/genexus-ide-ui/p-68ec655f.entry.js +1 -0
  255. package/dist/genexus-ide-ui/p-71b14079.entry.js +1 -0
  256. package/dist/genexus-ide-ui/p-780caf92.entry.js +1 -0
  257. package/dist/genexus-ide-ui/p-7c44a3c8.entry.js +1 -0
  258. package/dist/genexus-ide-ui/p-85597097.entry.js +1 -0
  259. package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
  260. package/dist/genexus-ide-ui/p-8a29aa0e.entry.js +1 -0
  261. package/dist/genexus-ide-ui/p-9380b713.entry.js +1 -0
  262. package/dist/genexus-ide-ui/p-9e530c7d.entry.js +1 -0
  263. package/dist/genexus-ide-ui/{p-c63d5b08.js → p-9ee8b615.js} +1 -1
  264. package/dist/genexus-ide-ui/p-aacec189.entry.js +1 -0
  265. package/dist/genexus-ide-ui/{p-178545b2.entry.js → p-abfc0ad8.entry.js} +1 -1
  266. package/dist/genexus-ide-ui/p-aeb3b032.entry.js +1 -0
  267. package/dist/genexus-ide-ui/p-b0cb9690.entry.js +1 -0
  268. package/dist/genexus-ide-ui/p-c53522c9.entry.js +1 -0
  269. package/dist/genexus-ide-ui/{p-9c9a28b4.entry.js → p-c6b514cb.entry.js} +1 -1
  270. package/dist/genexus-ide-ui/p-d104f9a4.entry.js +1 -0
  271. package/dist/genexus-ide-ui/p-d9a5b3d6.entry.js +1 -0
  272. package/dist/genexus-ide-ui/p-df02f70a.entry.js +1 -0
  273. package/dist/genexus-ide-ui/p-df744a68.entry.js +1 -0
  274. package/dist/genexus-ide-ui/p-f3837d78.entry.js +1 -0
  275. package/dist/genexus-ide-ui/p-f69d8c9f.entry.js +1 -0
  276. package/dist/genexus-ide-ui/p-f7aa606a.entry.js +1 -0
  277. package/dist/genexus-ide-ui/p-fbb1cd20.entry.js +1 -0
  278. package/dist/genexus-ide-ui/p-fc6b970d.entry.js +1 -0
  279. package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +2 -2
  280. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +3 -0
  281. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +9 -0
  282. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +4 -0
  283. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +28 -0
  284. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +6 -3
  285. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +9 -0
  286. package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +74 -0
  287. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +1 -1
  288. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +86 -91
  289. package/dist/types/common/config.d.ts +4 -0
  290. package/dist/types/common/grid.d.ts +1 -0
  291. package/dist/types/common/helpers.d.ts +2 -0
  292. package/dist/types/common/render-list-item.d.ts +2 -0
  293. package/dist/types/common/types.d.ts +16 -0
  294. package/dist/types/components/{container → _helpers/container}/container.d.ts +46 -4
  295. package/dist/types/components/{entity-selector → _helpers/entity-selector}/entity-selector.d.ts +3 -3
  296. package/dist/types/components/{list-selector → _helpers/list-selector}/list-selector-item/list-selector-item.d.ts +46 -8
  297. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +71 -0
  298. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +63 -0
  299. package/dist/types/components/_helpers/switcher/switch-panel/switch-panel.d.ts +3 -0
  300. package/dist/types/components/_helpers/switcher/switcher.d.ts +3 -0
  301. package/dist/types/components/_helpers/title/title.d.ts +34 -0
  302. package/dist/types/components/{_template → _starting-template}/template.d.ts +2 -1
  303. package/dist/types/components/_test/test.d.ts +7 -0
  304. package/dist/types/components/{application-declaration → bpm-application-declaration}/bpm-app-declaration.d.ts +2 -1
  305. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +3 -1
  306. package/dist/types/components/file-selector/file-selector.d.ts +38 -0
  307. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +9 -2
  308. package/dist/types/components/kb-manager-import/helpers.d.ts +10 -0
  309. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +110 -0
  310. package/dist/types/components/new-environment/new-environment.d.ts +2 -1
  311. package/dist/types/components/new-kb/new-kb.d.ts +2 -1
  312. package/dist/types/components/new-object/new-object.d.ts +6 -0
  313. package/dist/types/components/object-selector/object-selector.d.ts +2 -1
  314. package/dist/types/components/references/references.d.ts +3 -3
  315. package/dist/types/components/share-kb/share-kb.d.ts +2 -1
  316. package/dist/types/components/{team-dev-commit → team-dev/commit}/team-dev-commit.d.ts +6 -3
  317. package/dist/types/components/team-dev/select-recent-comment/helpers.d.ts +2 -0
  318. package/dist/types/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.d.ts +7 -2
  319. package/dist/types/components/{team-dev-update → team-dev/update}/team-dev-update.d.ts +5 -4
  320. package/dist/types/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.d.ts +7 -1
  321. package/dist/types/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.d.ts +7 -1
  322. package/dist/types/components/ww-images/ww-images.d.ts +9 -6
  323. package/dist/types/components.d.ts +609 -50
  324. package/package.json +3 -3
  325. package/dist/cjs/gx-ide-container.cjs.entry.js +0 -124
  326. package/dist/cjs/gx-ide-list-selector-item.cjs.entry.js +0 -89
  327. package/dist/cjs/gx-ide-list-selector.cjs.entry.js +0 -51
  328. package/dist/cjs/gxg-ide-loader.cjs.entry.js +0 -78
  329. package/dist/cjs/gxg-title.cjs.entry.js +0 -51
  330. package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -481
  331. package/dist/collection/components/_template/template.css +0 -151
  332. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.css +0 -51
  333. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.js +0 -182
  334. package/dist/collection/components/list-selector/list-selector.js +0 -174
  335. package/dist/components/container2.js +0 -253
  336. package/dist/esm/gx-ide-container.entry.js +0 -120
  337. package/dist/esm/gx-ide-list-selector-item.entry.js +0 -85
  338. package/dist/esm/gx-ide-list-selector.entry.js +0 -47
  339. package/dist/esm/gxg-tree-view.entry.js +0 -477
  340. package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
  341. package/dist/genexus-ide-ui/p-024df897.entry.js +0 -1
  342. package/dist/genexus-ide-ui/p-0341fbab.entry.js +0 -1
  343. package/dist/genexus-ide-ui/p-13a5bc23.entry.js +0 -1
  344. package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
  345. package/dist/genexus-ide-ui/p-1b23aee7.entry.js +0 -1
  346. package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
  347. package/dist/genexus-ide-ui/p-462a8f83.entry.js +0 -1
  348. package/dist/genexus-ide-ui/p-4e601007.entry.js +0 -1
  349. package/dist/genexus-ide-ui/p-734d3baa.entry.js +0 -1
  350. package/dist/genexus-ide-ui/p-750c726a.entry.js +0 -1
  351. package/dist/genexus-ide-ui/p-83f6db54.entry.js +0 -1
  352. package/dist/genexus-ide-ui/p-845f47ff.entry.js +0 -1
  353. package/dist/genexus-ide-ui/p-85164984.entry.js +0 -1
  354. package/dist/genexus-ide-ui/p-9457280f.js +0 -1
  355. package/dist/genexus-ide-ui/p-97d634d5.entry.js +0 -1
  356. package/dist/genexus-ide-ui/p-9beeb9c5.entry.js +0 -1
  357. package/dist/genexus-ide-ui/p-a4b359b1.entry.js +0 -1
  358. package/dist/genexus-ide-ui/p-a5833100.entry.js +0 -1
  359. package/dist/genexus-ide-ui/p-aaa7e647.entry.js +0 -1
  360. package/dist/genexus-ide-ui/p-c6a7b93c.js +0 -1
  361. package/dist/genexus-ide-ui/p-cd00ba19.entry.js +0 -1
  362. package/dist/genexus-ide-ui/p-cddb793a.entry.js +0 -1
  363. package/dist/genexus-ide-ui/p-cef1a182.entry.js +0 -1
  364. package/dist/genexus-ide-ui/p-d3d14461.entry.js +0 -1
  365. package/dist/genexus-ide-ui/p-dd676f91.entry.js +0 -1
  366. package/dist/genexus-ide-ui/p-de28d44c.entry.js +0 -1
  367. package/dist/genexus-ide-ui/p-f16b53ea.entry.js +0 -1
  368. package/dist/genexus-ide-ui/p-f5ef55c5.entry.js +0 -1
  369. package/dist/genexus-ide-ui/p-ffb82b40.entry.js +0 -1
  370. package/dist/genexus-ide-ui/p-ffddd3ad.entry.js +0 -1
  371. package/dist/types/components/list-selector/list-selector.d.ts +0 -32
  372. /package/dist/collection/components/{directory-selector → _helpers/directory-selector}/directory-selector.css +0 -0
  373. /package/dist/collection/components/{directory-selector → _helpers/directory-selector}/directory-selector.js +0 -0
  374. /package/dist/collection/components/{entity-selector → _helpers/entity-selector}/entity-selector.css +0 -0
  375. /package/dist/collection/components/{top-bar → _helpers/top-bar}/top-bar.css +0 -0
  376. /package/dist/collection/components/{top-bar → _helpers/top-bar}/top-bar.js +0 -0
  377. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.en.json +0 -0
  378. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.ja.json +0 -0
  379. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.zh.json +0 -0
  380. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +0 -0
  381. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +0 -0
  382. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/helpers.js +0 -0
  383. /package/dist/collection/components/{team-dev-commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json → kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json} +0 -0
  384. /package/dist/collection/components/{team-dev-commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json → kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json} +0 -0
  385. /package/dist/collection/components/{team-dev-select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.ja.json → team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json} +0 -0
  386. /package/dist/collection/components/{team-dev-select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json → team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json} +0 -0
  387. /package/dist/collection/components/{team-dev-update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.ja.json → team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.ja.json} +0 -0
  388. /package/dist/collection/components/{team-dev-update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json → team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json} +0 -0
  389. /package/dist/collection/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.en.json +0 -0
  390. /package/dist/collection/components/{team-dev-update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.ja.json → team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.ja.json} +0 -0
  391. /package/dist/collection/components/{team-dev-update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json → team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json} +0 -0
  392. /package/dist/collection/components/{team-dev-update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json → team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.ja.json} +0 -0
  393. /package/dist/collection/components/{team-dev-update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json → team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json} +0 -0
  394. /package/dist/node_modules/@genexus/gemini/dist/collection/components/{pill → pills}/pill.css +0 -0
  395. /package/dist/types/components/{directory-selector → _helpers/directory-selector}/directory-selector.d.ts +0 -0
  396. /package/dist/types/components/{top-bar → _helpers/top-bar}/top-bar.d.ts +0 -0
  397. /package/dist/types/components/{application-declaration → bpm-application-declaration}/helpers.d.ts +0 -0
@@ -1,92 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, w as writeTask } from './index-0da01575.js';
2
- import { D as DISABLED_CLASS } from './reserverd-names-2a2d0fb3.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, w as writeTask, a as getAssetPath, f as forceUpdate } from './index-0da01575.js';
3
2
  import { f as focusComposedPath, m as mouseEventModifierKey } from './helpers-1ecd5e26.js';
4
3
 
5
- const checkboxCss = "*,::before,::after{box-sizing:border-box}:host{display:flex;align-items:center;align-self:stretch;outline:unset;touch-action:manipulation;user-select:none}:host(.ch-checkbox--actionable) :is(.input,.label){cursor:pointer}.container{position:relative;width:min(1em, 20px);height:min(1em, 20px);border:1px solid var(--option-border-color, currentColor);border-radius:18.75%}.container--checked{background-color:var(--option-checked-color, #ffffff00)}.container:focus-within{box-shadow:0 0 1px 1px color-mix(in srgb, currentColor 25%, transparent)}.input{display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0}.option{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:50%;height:50%;background-color:currentColor;opacity:0;pointer-events:none}.option--checked{opacity:1;-webkit-mask:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' %3E%3Cpath fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z' /%3E%3C/svg%3E\")}.option--indeterminate{opacity:1}.label{margin-inline-start:min(0.35em, 7px)}";
6
-
7
- const CHECKBOX_ID = "checkbox";
8
- const PARTS = (checked, indeterminate) => `${checked ? " checked" : ""}${indeterminate ? " indeterminate" : ""}`;
9
- const CheckBox = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- this.click = createEvent(this, "click", 7);
13
- this.input = createEvent(this, "input", 7);
14
- /**
15
- * This attribute lets you specify if the element is disabled.
16
- * If disabled, it will not fire any user interaction related event
17
- * (for example, click event).
18
- */
19
- this.disabled = false;
20
- /**
21
- * True to highlight control when an action is fired.
22
- */
23
- this.highlightable = false;
24
- /**
25
- * `true` if the control's value is indeterminate.
26
- */
27
- this.indeterminate = false;
28
- /**
29
- * This attribute indicates that the user cannot modify the value of the control.
30
- * Same as [readonly](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly)
31
- * attribute for `input` elements.
32
- */
33
- this.readonly = false;
34
- this.getValue = (checked) => checked ? this.checkedValue : this.unCheckedValue;
35
- /**
36
- * Checks if it is necessary to prevent the click from bubbling
37
- */
38
- this.handleClick = (event) => {
39
- if (this.readonly || this.disabled) {
40
- return;
41
- }
42
- event.stopPropagation();
43
- };
44
- this.handleChange = (event) => {
45
- event.stopPropagation();
46
- const inputRef = event.target;
47
- const checked = inputRef.checked;
48
- const value = this.getValue(checked);
49
- this.checked = checked;
50
- this.value = value;
51
- inputRef.value = value; // Update input's value before emitting the event
52
- this.input.emit(event);
53
- if (this.highlightable) {
54
- this.click.emit();
55
- }
56
- };
57
- }
58
- valueChanged() {
59
- this.checked = this.value === this.checkedValue;
60
- }
61
- componentWillLoad() {
62
- this.checked = this.value === this.checkedValue;
63
- }
64
- render() {
65
- var _a;
66
- const additionalParts = PARTS(this.checked, this.indeterminate);
67
- return (h(Host, { class: {
68
- [DISABLED_CLASS]: this.disabled,
69
- "ch-checkbox--actionable": (!this.readonly && !this.disabled) ||
70
- (this.readonly && this.highlightable)
71
- } }, h("div", { class: {
72
- container: true,
73
- "container--checked": this.checked
74
- }, part: `container${additionalParts}` }, h("input", { "aria-label": ((_a = this.accessibleName) === null || _a === void 0 ? void 0 : _a.trim()) !== "" &&
75
- this.accessibleName !== this.caption
76
- ? this.accessibleName
77
- : null, id: this.caption ? CHECKBOX_ID : null, class: "input", part: "input", type: "checkbox", checked: this.checked, disabled: this.disabled || this.readonly, indeterminate: this.indeterminate, value: this.value, onClick: this.handleClick, onInput: this.handleChange }), h("div", { class: {
78
- option: true,
79
- "option--checked": this.checked && !this.indeterminate,
80
- "option--indeterminate": this.indeterminate
81
- }, part: `option${additionalParts}`, "aria-hidden": "true" })), this.caption && (h("label", { class: "label", part: "label", htmlFor: CHECKBOX_ID, onClick: this.handleClick }, this.caption))));
82
- }
83
- get element() { return getElement(this); }
84
- static get watchers() { return {
85
- "value": ["valueChanged"]
86
- }; }
87
- };
88
- CheckBox.style = checkboxCss;
89
-
90
4
  const scrollToEdge = (event, container, scrollSpeed, scrollThreshold) => {
91
5
  const mousePositionY = event.clientY - container.getBoundingClientRect().top;
92
6
  const containerHeight = container.clientHeight;
@@ -1148,4 +1062,474 @@ const ChTreeXListItem = class {
1148
1062
  };
1149
1063
  ChTreeXListItem.style = treeXListItemCss;
1150
1064
 
1151
- export { CheckBox as ch_checkbox, ChTreeX as ch_tree_x, ChTreeXListItem as ch_tree_x_list_item };
1065
+ const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
1066
+
1067
+ const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}gxg-tree-view{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background);display:contents}.tree-view{}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.tree-view::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.tree-view::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}.tree-view-item{--checkbox-size:var(--gxg-checkbox-size);--expandable-button-width:var(--spacing-comp-04);}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}.tree-view-item::part(header){padding-inline-end:calc(var(--spacing-comp-02) * 0.65);height:var(--spacing-comp-05);display:flex;gap:5px}.tree-view-item::part(header):first-child{margin-inline-start:var(--spacing-comp-01)}.tree-view-item::part(header):before{content:\"\";display:block}.tree-view-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}.tree-view-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}.tree-view-item::part(expandable-button){background-color:var(--gray-00);margin-inline-end:0}.tree-view-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.tree-view-item::part(expandable-button):hover{background-color:var(--color-background)}.tree-view-item::part(expandable-button):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}.tree-view-item::part(action){text-transform:capitalize;display:flex;gap:var(--spacing-comp-01)}.tree-view-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04);margin-inline-end:0}.tree-view-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}.tree-view-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}.tree-view-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item::part(checkbox){margin-inline-end: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(--color-primary-active);transition-property:border-color;transition-duration:var(--ui-animaton-speed);transition-timing-function:ease}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--color-primary-active);-webkit-transform:rotate(0) translateY(-50%) translateX(-50%);-ms-transform:rotate(0) translateY(-50%) translateX(-50%);transform:rotate(0) translateY(-50%) translateX(-50%)}.tree-view-item::part(checkbox__input){position:relative;z-index:1}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:14px;height:14px;margin-inline-end:4px;background-repeat:no-repeat}.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}.tree-view-item--pending-commit::part(action)::before{content:\"\";position:relative;z-index:1;grid-area:left-img;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:var(--color-primary-enabled);border-radius:50%}.ch-tree-x-list-item--editing::part(header){border:2px solid transparent}.ch-tree-x-list-item .ch-tree-x-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
1068
+
1069
+ const DEFAULT_DRAG_DISABLED_VALUE = false;
1070
+ const DEFAULT_DROP_DISABLED_VALUE = false;
1071
+ const DEFAULT_CLASS_VALUE = "tree-view-item";
1072
+ const DEFAULT_EDITABLE_ITEMS_VALUE = true;
1073
+ const DEFAULT_EXPANDED_VALUE = false;
1074
+ const DEFAULT_INDETERMINATE_VALUE = false;
1075
+ const DEFAULT_LAZY_VALUE = false;
1076
+ const DEFAULT_ORDER_VALUE = 0;
1077
+ const DEFAULT_SELECTED_VALUE = false;
1078
+ const GxgTreeView = class {
1079
+ constructor(hostRef) {
1080
+ registerInstance(this, hostRef);
1081
+ this.checkedItemsChange = createEvent(this, "checkedItemsChange", 7);
1082
+ this.itemContextmenu = createEvent(this, "itemContextmenu", 7);
1083
+ this.itemOpenReference = createEvent(this, "itemOpenReference", 7);
1084
+ this.selectedItemsChange = createEvent(this, "selectedItemsChange", 7);
1085
+ // UI Models
1086
+ this.flattenedTreeModel = new Map();
1087
+ this.flattenedCheckboxTreeModel = new Map();
1088
+ this.selectedItems = new Set();
1089
+ this.iconAssetsPath = getAssetPath(`./icon-assets`);
1090
+ /**
1091
+ * This property lets you specify if the tree is waiting to process the drop
1092
+ * of items.
1093
+ */
1094
+ this.waitDropProcessing = false;
1095
+ /**
1096
+ * Removes the default padding on '.ch-tree-x-container' (Added by Gemini)
1097
+ */
1098
+ this.noPadding = false;
1099
+ /**
1100
+ * Set this attribute if you want display a checkbox in all items by default.
1101
+ */
1102
+ this.checkbox = false;
1103
+ /**
1104
+ * Set this attribute if you want the checkbox to be checked in all items by
1105
+ * default.
1106
+ * Only works if `checkbox = true`
1107
+ */
1108
+ this.checked = false;
1109
+ /**
1110
+ * A CSS class to set as the `ch-tree-x` element class.
1111
+ */
1112
+ this.cssClass = "tree-view";
1113
+ /**
1114
+ * This attribute lets you specify if the drag operation is disabled in all
1115
+ * items by default. If `true`, the items can't be dragged.
1116
+ */
1117
+ this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
1118
+ /**
1119
+ * This attribute lets you specify if the drop operation is disabled in all
1120
+ * items by default. If `true`, the items won't accept any drops.
1121
+ */
1122
+ this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
1123
+ /**
1124
+ * This attribute lets you specify if the edit operation is enabled in all
1125
+ * items by default. If `true`, the items can edit its caption in place.
1126
+ */
1127
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
1128
+ /**
1129
+ * Set this attribute if you want to allow multi selection of the items.
1130
+ */
1131
+ this.multiSelection = false;
1132
+ /**
1133
+ * `true` to display the relation between tree items and tree lists using
1134
+ * lines.
1135
+ */
1136
+ this.showLines = "all";
1137
+ /**
1138
+ * Set this attribute if you want all the children item's checkboxes to be
1139
+ * checked when the parent item checkbox is checked, or to be unchecked when
1140
+ * the parent item checkbox is unchecked.
1141
+ * This attribute will be used in all items by default.
1142
+ */
1143
+ this.toggleCheckboxes = false;
1144
+ /**
1145
+ * This property lets you define the model of the ch-tree-x control.
1146
+ */
1147
+ this.treeModel = [];
1148
+ this.handleDroppableZoneEnter = (event) => {
1149
+ if (!this.checkDroppableZoneCallback) {
1150
+ return;
1151
+ }
1152
+ event.stopPropagation();
1153
+ // Suppose the request is made immediately by executing the callback
1154
+ const requestTimestamp = new Date().getTime();
1155
+ const dropInformation = event.detail;
1156
+ const promise = this.checkDroppableZoneCallback(dropInformation);
1157
+ promise.then((validDrop) => {
1158
+ this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
1159
+ });
1160
+ };
1161
+ this.handleSelectedItemsChange = (event) => {
1162
+ event.stopPropagation();
1163
+ const itemsToProcess = new Map(event.detail);
1164
+ // Remove no longer selected items
1165
+ this.selectedItems.forEach((selectedItemId) => {
1166
+ const itemUIModel = this.flattenedTreeModel.get(selectedItemId).item;
1167
+ const itemIsStillSelected = itemsToProcess.get(selectedItemId);
1168
+ // The item does not need to be added. Remove it from the processed list
1169
+ if (itemIsStillSelected) {
1170
+ itemUIModel.expanded = itemIsStillSelected.expanded; // Update expanded state
1171
+ itemsToProcess.delete(selectedItemId);
1172
+ }
1173
+ // The item must be un-selected in the UI Model
1174
+ else {
1175
+ itemUIModel.selected = false;
1176
+ this.selectedItems.delete(selectedItemId);
1177
+ }
1178
+ });
1179
+ // Add new selected items
1180
+ itemsToProcess.forEach((newSelectedItemInfo, itemId) => {
1181
+ const newSelectedItem = this.flattenedTreeModel.get(itemId).item;
1182
+ newSelectedItem.selected = true;
1183
+ newSelectedItem.expanded = newSelectedItemInfo.expanded;
1184
+ this.selectedItems.add(itemId);
1185
+ });
1186
+ this.selectedItemsChange.emit(event.detail);
1187
+ };
1188
+ this.handleExpandedItemChange = (event) => {
1189
+ const detail = event.detail;
1190
+ const itemInfo = this.flattenedTreeModel.get(detail.id).item;
1191
+ itemInfo.expanded = detail.expanded;
1192
+ };
1193
+ this.handleItemContextmenu = (event) => {
1194
+ event.stopPropagation();
1195
+ this.itemContextmenu.emit(event.detail);
1196
+ };
1197
+ this.handleItemsDropped = (event) => {
1198
+ if (!this.dropItemsCallback) {
1199
+ return;
1200
+ }
1201
+ event.stopPropagation();
1202
+ const dataTransferInfo = event.detail;
1203
+ const newContainer = dataTransferInfo.newContainer;
1204
+ const newParentId = newContainer.id;
1205
+ // Check if the parent exists in the UI Model
1206
+ if (!this.flattenedTreeModel.get(newParentId)) {
1207
+ return;
1208
+ }
1209
+ const draggedItems = dataTransferInfo.draggedItems;
1210
+ if (draggedItems.length === 0) {
1211
+ return;
1212
+ }
1213
+ const promise = this.dropItemsCallback(dataTransferInfo);
1214
+ this.waitDropProcessing = true;
1215
+ promise.then(async (response) => {
1216
+ this.waitDropProcessing = false;
1217
+ if (!response.acceptDrop) {
1218
+ return;
1219
+ }
1220
+ const newParentUIModel = this.flattenedTreeModel.get(newParentId).item;
1221
+ // Only move the items to the new parent, keeping the state
1222
+ if (dataTransferInfo.dropInTheSameTree) {
1223
+ // Add the UI models to the new container and remove the UI models from
1224
+ // the old containers
1225
+ draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));
1226
+ // When the selected items are moved, the tree must remove its internal
1227
+ // state to not have undefined references
1228
+ if (dataTransferInfo.draggingSelectedItems) {
1229
+ await this.treeRef.clearSelectedItemsInfo();
1230
+ }
1231
+ }
1232
+ // Add the new items
1233
+ else {
1234
+ if (response.items == null) {
1235
+ return;
1236
+ }
1237
+ // Add new items to the parent
1238
+ newParentUIModel.items.push(...response.items);
1239
+ // Flatten the new UI models
1240
+ response.items.forEach(this.flattenItemUIModel(newParentUIModel));
1241
+ }
1242
+ this.sortItems(newParentUIModel.items);
1243
+ // Open the item to visualize the new subitems
1244
+ newParentUIModel.expanded = true;
1245
+ // There is no need to force and update, since the waitDropProcessing
1246
+ // prop was modified
1247
+ });
1248
+ };
1249
+ this.moveItemToNewParent = (newParentUIModel) => (dataTransferInfo) => {
1250
+ const itemUIModelExtended = this.flattenedTreeModel.get(dataTransferInfo.id);
1251
+ const item = itemUIModelExtended.item;
1252
+ const oldParentItem = itemUIModelExtended.parentItem;
1253
+ // Remove the UI model from the previous parent
1254
+ oldParentItem.items.splice(oldParentItem.items.indexOf(item), 1);
1255
+ // Add the UI Model to the new parent
1256
+ newParentUIModel.items.push(item);
1257
+ // Reference the new parent in the item
1258
+ itemUIModelExtended.parentItem = newParentUIModel;
1259
+ };
1260
+ this.renderSubModel = (treeSubModel, lastItem, level) => {
1261
+ var _a, _b, _c, _d, _e, _f;
1262
+ return (h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: (_a = treeSubModel.checkbox) !== null && _a !== void 0 ? _a : this.checkbox, checked: (_b = treeSubModel.checked) !== null && _b !== void 0 ? _b : this.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, downloading: treeSubModel.downloading, dragDisabled: (_c = treeSubModel.dragDisabled) !== null && _c !== void 0 ? _c : this.dragDisabled, dropDisabled: (_d = treeSubModel.dropDisabled) !== null && _d !== void 0 ? _d : this.dropDisabled, editable: (_e = treeSubModel.editable) !== null && _e !== void 0 ? _e : this.editableItems, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lastItem: lastItem, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc
1263
+ ? resolveImgPath(this.iconAssetsPath, treeSubModel.leftImgSrc)
1264
+ : null, level: level, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, showLines: this.showLines, toggleCheckboxes: (_f = treeSubModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : this.toggleCheckboxes }, !treeSubModel.leaf &&
1265
+ treeSubModel.items != null &&
1266
+ treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
1267
+ };
1268
+ this.flattenItemUIModel = (parentModel) => (item) => {
1269
+ var _a;
1270
+ this.flattenedTreeModel.set(item.id, {
1271
+ parentItem: parentModel,
1272
+ item: item,
1273
+ });
1274
+ // Add the items that have a checkbox in a separate Map
1275
+ if ((_a = item.checkbox) !== null && _a !== void 0 ? _a : this.checkbox) {
1276
+ this.flattenedCheckboxTreeModel.set(item.id, {
1277
+ parentItem: parentModel,
1278
+ item: item,
1279
+ });
1280
+ }
1281
+ // Make sure the properties are with their default values to avoid issues
1282
+ // when reusing DOM nodes
1283
+ item.class = item.class == null ? DEFAULT_CLASS_VALUE : item.class;
1284
+ item.expanded =
1285
+ item.expanded == null ? DEFAULT_EXPANDED_VALUE : item.expanded;
1286
+ item.indeterminate =
1287
+ item.indeterminate == null
1288
+ ? DEFAULT_INDETERMINATE_VALUE
1289
+ : item.indeterminate;
1290
+ item.lazy = item.lazy == null ? DEFAULT_LAZY_VALUE : item.lazy;
1291
+ item.order = item.order == null ? DEFAULT_ORDER_VALUE : item.order;
1292
+ item.selected =
1293
+ item.selected == null ? DEFAULT_SELECTED_VALUE : item.selected;
1294
+ if (item.selected) {
1295
+ this.selectedItems.add(item.id);
1296
+ }
1297
+ this.flattenSubModel(item);
1298
+ };
1299
+ }
1300
+ handleTreeModelChange() {
1301
+ this.flattenModel();
1302
+ }
1303
+ /**
1304
+ * Given an item id, an array of items to add, the download status and the
1305
+ * lazy state, updates the item's UI Model.
1306
+ */
1307
+ async loadLazyContent(itemId, items, downloading = false, lazy = false) {
1308
+ const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
1309
+ // Establish that the content was lazy loaded
1310
+ itemToLazyLoadContent.downloading = downloading;
1311
+ itemToLazyLoadContent.lazy = lazy;
1312
+ // Check if there is items to add
1313
+ if (items == null) {
1314
+ return;
1315
+ }
1316
+ // @todo What happens in the server when dropping items on a lazy node?
1317
+ itemToLazyLoadContent.items = items;
1318
+ this.sortItems(itemToLazyLoadContent.items);
1319
+ this.flattenSubModel(itemToLazyLoadContent);
1320
+ // Re-sync checked items
1321
+ this.emitCheckedItemsChange();
1322
+ // Force re-render
1323
+ forceUpdate(this);
1324
+ }
1325
+ /**
1326
+ * Given an item id, it displays and scrolls into the item view.
1327
+ */
1328
+ async scrollIntoVisible(treeItemId) {
1329
+ const itemUIModel = this.flattenedTreeModel.get(treeItemId);
1330
+ if (!itemUIModel) {
1331
+ // @todo Check if the item is on the server?
1332
+ return;
1333
+ }
1334
+ let visitedNode = itemUIModel.parentItem;
1335
+ // While the parent is not the root, update the UI Models
1336
+ while (visitedNode && visitedNode.id != null) {
1337
+ // Expand the item
1338
+ visitedNode.expanded = true;
1339
+ const visitedNodeUIModel = this.flattenedTreeModel.get(visitedNode.id);
1340
+ visitedNode = visitedNodeUIModel.parentItem;
1341
+ }
1342
+ forceUpdate(this);
1343
+ // @todo For some reason, when the model is created using the "big model" option,
1344
+ // this implementation does not work when only the UI Model is updated. So, to
1345
+ // expand the items, we have to delegate the responsibility to the tree-x
1346
+ this.treeRef.scrollIntoVisible(treeItemId);
1347
+ }
1348
+ /**
1349
+ * This method is used to toggle a tree item by the tree item id/ids.
1350
+ *
1351
+ * @param treeItemIds An array id the tree items to be toggled.
1352
+ * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)
1353
+ * @returns The modified items after the method was called.
1354
+ */
1355
+ async toggleItems(treeItemIds, expand) {
1356
+ if (!treeItemIds) {
1357
+ return [];
1358
+ }
1359
+ const modifiedTreeItems = [];
1360
+ treeItemIds.forEach((treeItemId) => {
1361
+ const itemInfo = this.flattenedTreeModel.get(treeItemId).item;
1362
+ if (itemInfo) {
1363
+ itemInfo.expanded = expand !== null && expand !== void 0 ? expand : !itemInfo.expanded;
1364
+ modifiedTreeItems.push({
1365
+ id: itemInfo.id,
1366
+ expanded: itemInfo.expanded,
1367
+ });
1368
+ }
1369
+ });
1370
+ // Force re-render
1371
+ forceUpdate(this);
1372
+ return modifiedTreeItems;
1373
+ }
1374
+ /**
1375
+ * Given a subset of item's properties, it updates all item UI models.
1376
+ */
1377
+ async updateAllItemsProperties(properties) {
1378
+ [...this.flattenedTreeModel.values()].forEach((itemUIModel) => {
1379
+ if (properties.expanded != null) {
1380
+ itemUIModel.item.expanded = properties.expanded;
1381
+ }
1382
+ if (properties.checked != null) {
1383
+ itemUIModel.item.checked = properties.checked;
1384
+ itemUIModel.item.indeterminate = false;
1385
+ }
1386
+ });
1387
+ forceUpdate(this);
1388
+ }
1389
+ /**
1390
+ * Given a item list and the properties to update, it updates the properties
1391
+ * of the items in the list.
1392
+ */
1393
+ async updateItemsProperties(items, properties) {
1394
+ items.forEach((item) => {
1395
+ const itemUIModel = this.flattenedTreeModel.get(item);
1396
+ this.updateItemProperty(itemUIModel, properties);
1397
+ });
1398
+ forceUpdate(this);
1399
+ }
1400
+ /**
1401
+ * Update the information about the valid droppable zones.
1402
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
1403
+ * @param newContainerId ID of the container where the drag is trying to be made.
1404
+ * @param draggedItems Information about the dragged items.
1405
+ * @param validDrop Current state of the droppable zone.
1406
+ */
1407
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
1408
+ this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
1409
+ }
1410
+ updateItemProperty(itemUIModel, properties) {
1411
+ if (!itemUIModel) {
1412
+ return;
1413
+ }
1414
+ const itemInfo = itemUIModel.item;
1415
+ Object.keys(properties).forEach((propertyName) => {
1416
+ itemInfo[propertyName] = properties[propertyName];
1417
+ });
1418
+ }
1419
+ updateCheckboxValue(event) {
1420
+ event.stopPropagation();
1421
+ const detail = event.detail;
1422
+ const treeItemId = detail.id;
1423
+ const itemUIModel = this.flattenedCheckboxTreeModel.get(treeItemId);
1424
+ // In some cases, when the `treeModel` and `checked` properties are updated
1425
+ // outside of the tree control, some events are fired with undefined references
1426
+ if (!itemUIModel) {
1427
+ return;
1428
+ }
1429
+ const itemInfo = itemUIModel.item;
1430
+ itemInfo.checked = detail.checked;
1431
+ itemInfo.indeterminate = detail.indeterminate;
1432
+ this.emitCheckedItemsChange();
1433
+ }
1434
+ loadLazyChildrenHandler(event) {
1435
+ if (!this.lazyLoadTreeItemsCallback) {
1436
+ return;
1437
+ }
1438
+ event.stopPropagation();
1439
+ const treeItemId = event.detail;
1440
+ const promise = this.lazyLoadTreeItemsCallback(treeItemId);
1441
+ event.target.downloading = true;
1442
+ promise.then((result) => {
1443
+ this.loadLazyContent(treeItemId, result);
1444
+ });
1445
+ }
1446
+ handleCaptionModification(event) {
1447
+ if (!this.modifyItemCaptionCallback) {
1448
+ return;
1449
+ }
1450
+ event.stopPropagation();
1451
+ const itemRef = event.target;
1452
+ const itemId = event.detail.id;
1453
+ const itemUIModel = this.flattenedTreeModel.get(itemId);
1454
+ const itemInfo = itemUIModel.item;
1455
+ const newCaption = event.detail.caption;
1456
+ const oldCaption = itemInfo.caption;
1457
+ // Optimistic UI: Update the caption in the UI Model before the change is
1458
+ // completed in the server
1459
+ itemInfo.caption = newCaption;
1460
+ // Due to performance reasons, we don't make a shallow copy of the
1461
+ // treeModel to force a re-render
1462
+ itemRef.caption = newCaption;
1463
+ const promise = this.modifyItemCaptionCallback(itemId, newCaption);
1464
+ promise.then((status) => {
1465
+ if (status.success) {
1466
+ this.sortItems(itemUIModel.parentItem.items);
1467
+ // Force re-render
1468
+ forceUpdate(this);
1469
+ }
1470
+ else {
1471
+ itemRef.caption = oldCaption;
1472
+ itemInfo.caption = oldCaption;
1473
+ // Do something with the error message
1474
+ }
1475
+ });
1476
+ }
1477
+ handleOpenReference(event) {
1478
+ event.stopPropagation();
1479
+ this.itemOpenReference.emit(event.detail);
1480
+ }
1481
+ emitCheckedItemsChange() {
1482
+ // New copy of the checked items
1483
+ const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
1484
+ // Update the checked value if not defined
1485
+ allItemsWithCheckbox.forEach((itemUIModel) => {
1486
+ if (itemUIModel.item.checked == null) {
1487
+ itemUIModel.item.checked = this.checked;
1488
+ }
1489
+ });
1490
+ this.checkedItemsChange.emit(allItemsWithCheckbox);
1491
+ }
1492
+ flattenSubModel(model) {
1493
+ const items = model.items;
1494
+ if (!items) {
1495
+ // Make sure that subtrees don't have an undefined array
1496
+ if (model.leaf !== true) {
1497
+ model.items = [];
1498
+ }
1499
+ return;
1500
+ }
1501
+ this.sortItems(items);
1502
+ items.forEach(this.flattenItemUIModel(model));
1503
+ }
1504
+ sortItems(items) {
1505
+ // Ensure that items are sorted
1506
+ if (this.sortItemsCallback) {
1507
+ this.sortItemsCallback(items);
1508
+ }
1509
+ }
1510
+ flattenModel() {
1511
+ this.flattenedTreeModel.clear();
1512
+ this.flattenedCheckboxTreeModel.clear();
1513
+ this.selectedItems.clear();
1514
+ // The model was updated at runtime, so we need to clear the references
1515
+ if (this.treeRef) {
1516
+ this.treeRef.clearSelectedItemsInfo();
1517
+ }
1518
+ this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
1519
+ // Re-sync checked items
1520
+ this.emitCheckedItemsChange();
1521
+ }
1522
+ componentWillLoad() {
1523
+ this.flattenModel();
1524
+ }
1525
+ render() {
1526
+ return (h("ch-tree-x", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: (el) => (this.treeRef = el) }, this.treeModel.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === this.treeModel.length - 1, 0))));
1527
+ }
1528
+ static get assetsDirs() { return ["assets"]; }
1529
+ static get watchers() { return {
1530
+ "treeModel": ["handleTreeModelChange"]
1531
+ }; }
1532
+ };
1533
+ GxgTreeView.style = treeViewCss;
1534
+
1535
+ export { ChTreeX as ch_tree_x, ChTreeXListItem as ch_tree_x_list_item, GxgTreeView as gxg_tree_view };
@@ -7,8 +7,12 @@ const config = {
7
7
  type: "text-regular",
8
8
  textAlign: "center",
9
9
  padding: "m",
10
- maxWidth: "200px"
10
+ maxWidth: "200px",
11
+ minHeight: "300px"
11
12
  }
13
+ },
14
+ gxIdeContainer: {
15
+ slimmerFooter: true
12
16
  }
13
17
  };
14
18
 
@@ -0,0 +1,23 @@
1
+ const detectClickOutside = (event, element) => {
2
+ const x = event.x;
3
+ const y = event.y;
4
+ //Contextual menu coordinates
5
+ const elementBoundingClientRect = element.getBoundingClientRect();
6
+ if ((x > elementBoundingClientRect.left &&
7
+ x < elementBoundingClientRect.right &&
8
+ y > elementBoundingClientRect.top &&
9
+ y < elementBoundingClientRect.bottom) ||
10
+ (event.screenX === 0 &&
11
+ event.screenY === 0 &&
12
+ event.clientX === 0 &&
13
+ event.clientY === 0)) {
14
+ //Click happened inside the element
15
+ return false;
16
+ }
17
+ else {
18
+ //Click happened outside the element
19
+ return true;
20
+ }
21
+ };
22
+
23
+ export { detectClickOutside as d };