@genexus/genexus-ide-ui 0.0.61 → 0.0.63

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 (411) hide show
  1. package/dist/cjs/{ch-tree-x_3.cjs.entry.js → ch-checkbox_4.cjs.entry.js} +277 -75
  2. package/dist/cjs/ch-grid_8.cjs.entry.js +1 -1
  3. package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +242 -0
  4. package/dist/cjs/{ch-next-data-modeling-item.cjs.entry.js → ch-next-data-modeling_2.cjs.entry.js} +20 -1
  5. package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +160 -0
  6. package/dist/cjs/{config-149ec5fe.js → config-c652329b.js} +5 -1
  7. package/dist/cjs/detect-click-outside-d18e5541.js +25 -0
  8. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  9. package/dist/cjs/{grid-be8c3413.js → grid-d12c16c7.js} +1 -0
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +12 -7
  11. package/dist/cjs/{gxg-form-text.cjs.entry.js → gx-ide-container_4.cjs.entry.js} +238 -0
  12. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +11 -4
  13. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +18 -2
  14. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +54 -44
  15. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +40 -19
  16. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +18 -2
  17. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +10 -5
  18. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +14 -10
  19. package/dist/cjs/gx-ide-new-object.cjs.entry.js +12 -7
  20. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +21 -10
  21. package/dist/cjs/gx-ide-references.cjs.entry.js +21 -27
  22. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +11 -7
  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 +35 -8
  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 +25 -16
  30. package/dist/cjs/gx-ide-template.cjs.entry.js +9 -4
  31. package/dist/cjs/gx-ide-test.cjs.entry.js +113 -121
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +39 -29
  33. package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
  34. package/dist/cjs/gxg-color-picker.cjs.entry.js +2 -2
  35. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -1
  36. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +6 -1
  37. package/dist/cjs/gxg-form-textarea.cjs.entry.js +24 -2
  38. package/dist/cjs/gxg-menu-slim.cjs.entry.js +2 -23
  39. package/dist/cjs/gxg-pill.cjs.entry.js +2 -2
  40. package/dist/cjs/gxg-pills.cjs.entry.js +34 -0
  41. package/dist/cjs/gxg-title-editable.cjs.entry.js +116 -0
  42. package/dist/cjs/{gxg-tree_2.cjs.entry.js → gxg-tree-item.cjs.entry.js} +1 -213
  43. package/dist/cjs/gxg-tree-view.cjs.entry.js +165 -0
  44. package/dist/cjs/gxg-tree.cjs.entry.js +218 -0
  45. package/dist/cjs/loader.cjs.js +1 -1
  46. package/dist/collection/collection-manifest.json +25 -18
  47. package/dist/collection/common/config.js +5 -1
  48. package/dist/collection/common/grid.js +1 -0
  49. package/dist/collection/common/render-list-item.js +12 -0
  50. package/dist/collection/components/{container → _helpers/container}/container.css +33 -1
  51. package/dist/collection/components/{container → _helpers/container}/container.js +159 -6
  52. package/dist/collection/components/{entity-selector → _helpers/entity-selector}/entity-selector.js +5 -5
  53. package/dist/collection/components/{list-selector → _helpers/list-selector}/list-selector-item/list-selector-item.css +11 -3
  54. package/dist/collection/components/{list-selector → _helpers/list-selector}/list-selector-item/list-selector-item.js +36 -2
  55. package/dist/collection/components/{list-selector → _helpers/list-selector}/list-selector.js +2 -2
  56. package/dist/collection/components/_helpers/switcher/switch-panel/switch-panel.css +3 -0
  57. package/dist/collection/components/_helpers/switcher/switch-panel/switch-panel.js +18 -0
  58. package/dist/collection/components/_helpers/switcher/switcher.css +3 -0
  59. package/dist/collection/components/_helpers/switcher/switcher.js +18 -0
  60. package/dist/collection/components/_helpers/title/title.css +42 -0
  61. package/dist/collection/components/_helpers/title/title.js +156 -0
  62. package/dist/collection/components/{application-declaration/bpm-app-declaration.css → _starting-template/template.css} +18 -11
  63. package/dist/collection/components/{_template → _starting-template}/template.js +9 -4
  64. package/dist/collection/components/_test/test.css +5 -0
  65. package/dist/collection/components/_test/test.js +128 -212
  66. package/dist/collection/components/{team-dev-commit/team-dev-commit.css → bpm-application-declaration/bpm-app-declaration.css} +33 -37
  67. package/dist/collection/components/{application-declaration → bpm-application-declaration}/bpm-app-declaration.js +11 -6
  68. package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +1 -1
  69. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +24 -1
  70. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +11 -4
  71. 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
  72. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  73. package/dist/collection/components/kb-manager-export/helpers.js +10 -26
  74. package/dist/collection/components/kb-manager-export/kb-manager-export.css +50 -18
  75. package/dist/collection/components/kb-manager-export/kb-manager-export.js +65 -23
  76. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +2 -0
  77. package/dist/collection/components/kb-manager-import/helpers.js +2 -2
  78. package/dist/collection/components/kb-manager-import/kb-manager-import.css +26 -6
  79. package/dist/collection/components/kb-manager-import/kb-manager-import.js +36 -15
  80. package/dist/collection/components/new-environment/new-environment.css +36 -17
  81. package/dist/collection/components/new-environment/new-environment.js +10 -5
  82. package/dist/collection/components/new-kb/new-kb.css +18 -5
  83. package/dist/collection/components/new-kb/new-kb.js +13 -9
  84. package/dist/collection/components/new-object/new-object.css +60 -11
  85. package/dist/collection/components/new-object/new-object.js +24 -5
  86. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +1 -1
  87. package/dist/collection/components/object-selector/object-selector.css +70 -26
  88. package/dist/collection/components/object-selector/object-selector.js +20 -9
  89. package/dist/collection/components/references/references.css +25 -13
  90. package/dist/collection/components/references/references.js +20 -26
  91. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +2 -1
  92. package/dist/collection/components/share-kb/share-kb.css +34 -10
  93. package/dist/collection/components/share-kb/share-kb.js +10 -6
  94. 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
  95. package/dist/collection/components/team-dev/commit/team-dev-commit.css +264 -0
  96. package/dist/collection/components/{team-dev-commit → team-dev/commit}/team-dev-commit.js +44 -16
  97. 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
  98. package/dist/collection/components/team-dev/select-recent-comment/helpers.js +7 -0
  99. package/dist/collection/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.css +20 -2
  100. package/dist/collection/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.js +33 -16
  101. 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
  102. package/dist/collection/components/{team-dev-update → team-dev/update}/team-dev-update.css +46 -41
  103. package/dist/collection/components/{team-dev-update → team-dev/update}/team-dev-update.js +29 -20
  104. package/dist/collection/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.css +22 -23
  105. package/dist/collection/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.js +30 -5
  106. 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
  107. package/dist/collection/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.css +18 -7
  108. package/dist/collection/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.js +28 -4
  109. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +4 -2
  110. package/dist/collection/components/ww-images/ww-images.css +103 -61
  111. package/dist/collection/components/ww-images/ww-images.js +55 -28
  112. package/dist/collection/pages/assets/common.js +2 -2
  113. package/dist/components/button-group.js +1 -1
  114. package/dist/components/ch-next-data-modeling-item.js +1 -457
  115. package/dist/components/ch-next-data-modeling-render.js +295 -0
  116. package/dist/components/ch-next-data-modeling.js +1 -27
  117. package/dist/components/ch-tree-view-item.js +6 -0
  118. package/dist/components/ch-tree-view-render-wrapper.js +224 -0
  119. package/dist/components/ch-tree-view-render.js +6 -0
  120. package/dist/components/ch-tree-view.js +6 -0
  121. package/dist/components/combo-box.js +1 -1
  122. package/dist/components/config.js +5 -1
  123. package/dist/components/container.js +61 -9
  124. package/dist/components/date-picker.js +19 -2
  125. package/dist/components/detect-click-outside.js +23 -0
  126. package/dist/components/form-radio-group.js +7 -1
  127. package/dist/components/form-textarea.js +27 -3
  128. package/dist/components/grid.js +1 -0
  129. package/dist/components/gx-ide-bpm-app-declaration.js +52 -41
  130. package/dist/components/gx-ide-create-kb-from-server.js +28 -15
  131. package/dist/components/gx-ide-kb-manager-export.js +90 -74
  132. package/dist/components/gx-ide-kb-manager-import.js +73 -40
  133. package/dist/components/gx-ide-new-environment.js +21 -10
  134. package/dist/components/gx-ide-new-kb.js +24 -14
  135. package/dist/components/gx-ide-new-object.js +24 -13
  136. package/dist/components/gx-ide-object-selector.js +55 -38
  137. package/dist/components/gx-ide-references.js +54 -48
  138. package/dist/components/gx-ide-share-kb.js +27 -17
  139. package/dist/components/gx-ide-status-buttons2.js +1 -1
  140. package/dist/components/gx-ide-switch-panel.d.ts +11 -0
  141. package/dist/components/gx-ide-switch-panel.js +33 -0
  142. package/dist/components/gx-ide-switcher.d.ts +11 -0
  143. package/dist/components/gx-ide-switcher.js +33 -0
  144. package/dist/components/gx-ide-team-dev-commit.js +64 -30
  145. package/dist/components/gx-ide-team-dev-select-recent-comment.js +51 -45
  146. package/dist/components/gx-ide-team-dev-update-partial-selection.js +52 -32
  147. package/dist/components/gx-ide-team-dev-update-to-revision.js +24 -11
  148. package/dist/components/gx-ide-team-dev-update.js +67 -40
  149. package/dist/components/gx-ide-template.js +20 -9
  150. package/dist/components/gx-ide-test.js +126 -159
  151. package/dist/components/gx-ide-title.d.ts +11 -0
  152. package/dist/components/gx-ide-title.js +6 -0
  153. package/dist/components/gx-ide-top-bar.js +1 -1
  154. package/dist/components/gx-ide-ww-images.js +74 -58
  155. package/dist/components/gxg-color-picker.js +2 -2
  156. package/dist/components/gxg-container.js +251 -1
  157. package/dist/components/gxg-grid2.js +1 -1
  158. package/dist/components/gxg-menu-slim-list.js +1 -1
  159. package/dist/components/gxg-menu-slim.js +1 -22
  160. package/dist/components/gxg-pill.js +2 -2
  161. package/dist/components/gxg-pills.js +50 -0
  162. package/dist/components/gxg-title-editable.js +156 -0
  163. package/dist/components/gxg-title.js +1 -1
  164. package/dist/components/gxg-tree-item.js +614 -1
  165. package/dist/components/gxg-tree-view.js +2 -2
  166. package/dist/components/gxg-tree.js +236 -1
  167. package/dist/components/ide-loader.js +1 -1
  168. package/dist/components/index.d.ts +17 -14
  169. package/dist/components/index.js +10 -3
  170. package/dist/components/list-selector-item.js +20 -3
  171. package/dist/components/list-selector.js +1 -1
  172. package/dist/components/next-data-modeling-item.js +466 -0
  173. package/dist/{esm/ch-next-data-modeling.entry.js → components/next-data-modeling.js} +21 -7
  174. package/dist/components/title.js +32 -37
  175. package/dist/{esm/gxg-title.entry.js → components/title2.js} +26 -8
  176. package/dist/components/{tree-x-list-item.js → tree-view-item.js} +9 -9
  177. package/dist/components/{ch-test-tree-x.js → tree-view-render.js} +168 -28
  178. package/dist/components/tree-view.js +410 -440
  179. package/dist/components/tree-view2.js +226 -0
  180. package/dist/esm/{ch-tree-x_3.entry.js → ch-checkbox_4.entry.js} +275 -74
  181. package/dist/esm/ch-grid_8.entry.js +1 -1
  182. package/dist/esm/ch-next-data-modeling-render.entry.js +238 -0
  183. package/dist/esm/{ch-next-data-modeling-item.entry.js → ch-next-data-modeling_2.entry.js} +21 -3
  184. package/dist/esm/ch-tree-view-render-wrapper.entry.js +156 -0
  185. package/dist/esm/{config-9b4321f9.js → config-ee66bdf4.js} +5 -1
  186. package/dist/esm/detect-click-outside-16ce8235.js +23 -0
  187. package/dist/esm/genexus-ide-ui.js +1 -1
  188. package/dist/esm/{grid-1354bf8f.js → grid-9988c857.js} +1 -0
  189. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +12 -7
  190. package/dist/esm/{gxg-form-text.entry.js → gx-ide-container_4.entry.js} +237 -2
  191. package/dist/esm/gx-ide-create-kb-from-server.entry.js +11 -4
  192. package/dist/esm/gx-ide-entity-selector_2.entry.js +18 -2
  193. package/dist/esm/gx-ide-kb-manager-export.entry.js +54 -44
  194. package/dist/esm/gx-ide-kb-manager-import.entry.js +40 -19
  195. package/dist/esm/gx-ide-list-selector_2.entry.js +18 -2
  196. package/dist/esm/gx-ide-new-environment.entry.js +10 -5
  197. package/dist/esm/gx-ide-new-kb.entry.js +14 -10
  198. package/dist/esm/gx-ide-new-object.entry.js +12 -7
  199. package/dist/esm/gx-ide-object-selector.entry.js +21 -10
  200. package/dist/esm/gx-ide-references.entry.js +21 -27
  201. package/dist/esm/gx-ide-share-kb.entry.js +11 -7
  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 +35 -8
  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 +25 -16
  209. package/dist/esm/gx-ide-template.entry.js +9 -4
  210. package/dist/esm/gx-ide-test.entry.js +114 -122
  211. package/dist/esm/gx-ide-ww-images.entry.js +39 -29
  212. package/dist/esm/gxg-button-group.entry.js +1 -1
  213. package/dist/esm/gxg-color-picker.entry.js +2 -2
  214. package/dist/esm/gxg-combo-box_2.entry.js +1 -1
  215. package/dist/esm/gxg-form-radio-group.entry.js +6 -1
  216. package/dist/esm/gxg-form-textarea.entry.js +24 -2
  217. package/dist/esm/gxg-menu-slim.entry.js +1 -22
  218. package/dist/esm/gxg-pill.entry.js +2 -2
  219. package/dist/esm/gxg-pills.entry.js +30 -0
  220. package/dist/esm/gxg-title-editable.entry.js +112 -0
  221. package/dist/{components/gxg-tree-item2.js → esm/gxg-tree-item.entry.js} +10 -80
  222. package/dist/esm/gxg-tree-view.entry.js +161 -0
  223. package/dist/{components/gxg-tree2.js → esm/gxg-tree.entry.js} +8 -32
  224. package/dist/esm/loader.js +1 -1
  225. package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -4
  226. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  227. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +1 -1
  228. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +2 -1
  229. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  230. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +2 -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-13177896.entry.js +1 -0
  241. package/dist/genexus-ide-ui/p-19fef562.entry.js +1 -0
  242. package/dist/genexus-ide-ui/p-1b51da5e.entry.js +1 -0
  243. package/dist/genexus-ide-ui/p-25aa052f.js +1 -0
  244. package/dist/genexus-ide-ui/p-2781b92a.entry.js +1 -0
  245. package/dist/genexus-ide-ui/p-283afc3b.entry.js +1 -0
  246. package/dist/genexus-ide-ui/p-2c17e71d.entry.js +1 -0
  247. package/dist/genexus-ide-ui/p-2fbab2a9.js +1 -0
  248. package/dist/genexus-ide-ui/p-38c18db5.js +1 -0
  249. package/dist/genexus-ide-ui/p-40a57a36.entry.js +1 -0
  250. package/dist/genexus-ide-ui/p-42209f9f.entry.js +1 -0
  251. package/dist/genexus-ide-ui/p-4d506c74.entry.js +1 -0
  252. package/dist/genexus-ide-ui/p-527ace08.entry.js +1 -0
  253. package/dist/genexus-ide-ui/{p-a94dd4c1.entry.js → p-56935fba.entry.js} +1 -1
  254. package/dist/genexus-ide-ui/p-5cc7c201.entry.js +1 -0
  255. package/dist/genexus-ide-ui/p-606fee7b.entry.js +1 -0
  256. package/dist/genexus-ide-ui/p-636d02fa.entry.js +1 -0
  257. package/dist/genexus-ide-ui/p-68ec655f.entry.js +1 -0
  258. package/dist/genexus-ide-ui/p-71b14079.entry.js +1 -0
  259. package/dist/genexus-ide-ui/p-780caf92.entry.js +1 -0
  260. package/dist/genexus-ide-ui/p-7b63be93.entry.js +1 -0
  261. package/dist/genexus-ide-ui/p-7c44a3c8.entry.js +1 -0
  262. package/dist/genexus-ide-ui/p-8a29aa0e.entry.js +1 -0
  263. package/dist/genexus-ide-ui/p-8a7c4561.entry.js +1 -0
  264. package/dist/genexus-ide-ui/p-9380b713.entry.js +1 -0
  265. package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +1 -0
  266. package/dist/genexus-ide-ui/p-a9c8b373.entry.js +1 -0
  267. package/dist/genexus-ide-ui/p-aacec189.entry.js +1 -0
  268. package/dist/genexus-ide-ui/{p-178545b2.entry.js → p-abfc0ad8.entry.js} +1 -1
  269. package/dist/genexus-ide-ui/p-b0cb9690.entry.js +1 -0
  270. package/dist/genexus-ide-ui/p-b819706e.entry.js +1 -0
  271. package/dist/genexus-ide-ui/p-bacd879c.entry.js +1 -0
  272. package/dist/genexus-ide-ui/{p-9c9a28b4.entry.js → p-c6b514cb.entry.js} +1 -1
  273. package/dist/genexus-ide-ui/p-d9a5b3d6.entry.js +1 -0
  274. package/dist/genexus-ide-ui/p-df02f70a.entry.js +1 -0
  275. package/dist/genexus-ide-ui/p-df744a68.entry.js +1 -0
  276. package/dist/genexus-ide-ui/p-f3837d78.entry.js +1 -0
  277. package/dist/genexus-ide-ui/p-f69d8c9f.entry.js +1 -0
  278. package/dist/genexus-ide-ui/p-f7aa606a.entry.js +1 -0
  279. package/dist/genexus-ide-ui/p-fbb1cd20.entry.js +1 -0
  280. package/dist/genexus-ide-ui/p-fc6b970d.entry.js +1 -0
  281. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/next/data-modeling-render/next-data-modeling-render.css +3 -0
  282. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css +3 -0
  283. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-view/tree-view-render-wrapper.css +0 -0
  284. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view/tree-view.css +45 -0
  285. package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +2 -2
  286. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +3 -0
  287. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +9 -0
  288. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +4 -0
  289. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +28 -0
  290. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +6 -3
  291. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +9 -0
  292. package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +88 -0
  293. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +1 -1
  294. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +88 -90
  295. package/dist/types/common/config.d.ts +4 -0
  296. package/dist/types/common/grid.d.ts +1 -0
  297. package/dist/types/common/helpers.d.ts +2 -2
  298. package/dist/types/common/render-list-item.d.ts +2 -0
  299. package/dist/types/components/{container → _helpers/container}/container.d.ts +34 -0
  300. package/dist/types/components/{entity-selector → _helpers/entity-selector}/entity-selector.d.ts +3 -3
  301. package/dist/types/components/{list-selector → _helpers/list-selector}/list-selector-item/list-selector-item.d.ts +8 -1
  302. package/dist/types/components/{list-selector → _helpers/list-selector}/list-selector.d.ts +3 -3
  303. package/dist/types/components/{status-buttons → _helpers/status-buttons}/gx-ide-status-buttons.d.ts +1 -1
  304. package/dist/types/components/_helpers/switcher/switch-panel/switch-panel.d.ts +3 -0
  305. package/dist/types/components/_helpers/switcher/switcher.d.ts +3 -0
  306. package/dist/types/components/_helpers/title/title.d.ts +34 -0
  307. package/dist/types/components/{_template → _starting-template}/template.d.ts +2 -1
  308. package/dist/types/components/_test/test.d.ts +8 -33
  309. package/dist/types/components/{application-declaration → bpm-application-declaration}/bpm-app-declaration.d.ts +2 -1
  310. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +3 -1
  311. package/dist/types/components/kb-manager-export/helpers.d.ts +4 -4
  312. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +16 -5
  313. package/dist/types/components/kb-manager-import/helpers.d.ts +3 -3
  314. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +8 -7
  315. package/dist/types/components/new-environment/new-environment.d.ts +2 -1
  316. package/dist/types/components/new-kb/new-kb.d.ts +2 -1
  317. package/dist/types/components/new-object/new-object.d.ts +6 -0
  318. package/dist/types/components/object-selector/object-selector.d.ts +2 -1
  319. package/dist/types/components/references/helpers.d.ts +2 -2
  320. package/dist/types/components/references/references.d.ts +6 -6
  321. package/dist/types/components/share-kb/share-kb.d.ts +2 -1
  322. package/dist/types/components/{team-dev-commit → team-dev/commit}/team-dev-commit.d.ts +6 -3
  323. package/dist/types/components/team-dev/select-recent-comment/helpers.d.ts +2 -0
  324. package/dist/types/components/{team-dev-select-recent-comment → team-dev/select-recent-comment}/team-dev-select-recent-comment.d.ts +7 -2
  325. package/dist/types/components/{team-dev-update → team-dev/update}/team-dev-update.d.ts +5 -4
  326. package/dist/types/components/{team-dev-update-partial-selection → team-dev/update-partial-selection}/team-dev-update-partial-selection.d.ts +7 -1
  327. package/dist/types/components/{team-dev-update-to-revision → team-dev/update-to-revision}/team-dev-update-to-revision.d.ts +7 -1
  328. package/dist/types/components/ww-images/ww-images.d.ts +9 -6
  329. package/dist/types/components.d.ts +185 -65
  330. package/package.json +3 -3
  331. package/dist/cjs/ch-checkbox.cjs.entry.js +0 -93
  332. package/dist/cjs/ch-next-data-modeling.cjs.entry.js +0 -19
  333. package/dist/cjs/ch-test-tree-x.cjs.entry.js +0 -458
  334. package/dist/cjs/gx-ide-container.cjs.entry.js +0 -132
  335. package/dist/cjs/gxg-title.cjs.entry.js +0 -51
  336. package/dist/collection/components/_template/template.css +0 -151
  337. package/dist/components/ch-tree-x-list-item.js +0 -6
  338. package/dist/components/ch-tree-x.js +0 -6
  339. package/dist/components/container2.js +0 -253
  340. package/dist/components/tree-x.js +0 -504
  341. package/dist/esm/ch-checkbox.entry.js +0 -89
  342. package/dist/esm/ch-test-tree-x.entry.js +0 -454
  343. package/dist/esm/gx-ide-container.entry.js +0 -128
  344. package/dist/esm/gxg-tree_2.entry.js +0 -757
  345. package/dist/genexus-ide-ui/p-024df897.entry.js +0 -1
  346. package/dist/genexus-ide-ui/p-0341fbab.entry.js +0 -1
  347. package/dist/genexus-ide-ui/p-092ccacd.entry.js +0 -1
  348. package/dist/genexus-ide-ui/p-13a5bc23.entry.js +0 -1
  349. package/dist/genexus-ide-ui/p-163a93a4.entry.js +0 -1
  350. package/dist/genexus-ide-ui/p-1ad68b23.entry.js +0 -3
  351. package/dist/genexus-ide-ui/p-1b23aee7.entry.js +0 -1
  352. package/dist/genexus-ide-ui/p-2142874f.entry.js +0 -1
  353. package/dist/genexus-ide-ui/p-2b7d4cca.entry.js +0 -1
  354. package/dist/genexus-ide-ui/p-481312bc.entry.js +0 -1
  355. package/dist/genexus-ide-ui/p-4e601007.entry.js +0 -1
  356. package/dist/genexus-ide-ui/p-53e5a04f.entry.js +0 -1
  357. package/dist/genexus-ide-ui/p-5755f985.entry.js +0 -1
  358. package/dist/genexus-ide-ui/p-734d3baa.entry.js +0 -1
  359. package/dist/genexus-ide-ui/p-9457280f.js +0 -1
  360. package/dist/genexus-ide-ui/p-97d634d5.entry.js +0 -1
  361. package/dist/genexus-ide-ui/p-9beeb9c5.entry.js +0 -1
  362. package/dist/genexus-ide-ui/p-9e530c7d.entry.js +0 -1
  363. package/dist/genexus-ide-ui/p-a3171fdf.entry.js +0 -1
  364. package/dist/genexus-ide-ui/p-aaa7e647.entry.js +0 -1
  365. package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +0 -1
  366. package/dist/genexus-ide-ui/p-ad5040e4.entry.js +0 -1
  367. package/dist/genexus-ide-ui/p-b2ea372b.entry.js +0 -1
  368. package/dist/genexus-ide-ui/p-b685ffba.entry.js +0 -1
  369. package/dist/genexus-ide-ui/p-c6a7b93c.js +0 -1
  370. package/dist/genexus-ide-ui/p-c7e11c6b.entry.js +0 -1
  371. package/dist/genexus-ide-ui/p-cd00ba19.entry.js +0 -1
  372. package/dist/genexus-ide-ui/p-d04d634e.entry.js +0 -1
  373. package/dist/genexus-ide-ui/p-d3d14461.entry.js +0 -1
  374. package/dist/genexus-ide-ui/p-d8096d40.entry.js +0 -1
  375. package/dist/genexus-ide-ui/p-de28d44c.entry.js +0 -1
  376. package/dist/genexus-ide-ui/p-f16b53ea.entry.js +0 -1
  377. package/dist/genexus-ide-ui/p-f5ef55c5.entry.js +0 -1
  378. package/dist/genexus-ide-ui/p-f83093aa.entry.js +0 -1
  379. package/dist/genexus-ide-ui/p-ffb82b40.entry.js +0 -1
  380. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +0 -3
  381. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-x/tree-x.css +0 -45
  382. /package/dist/collection/components/{directory-selector → _helpers/directory-selector}/directory-selector.css +0 -0
  383. /package/dist/collection/components/{directory-selector → _helpers/directory-selector}/directory-selector.js +0 -0
  384. /package/dist/collection/components/{entity-selector → _helpers/entity-selector}/entity-selector.css +0 -0
  385. /package/dist/collection/components/{list-selector → _helpers/list-selector}/list-selector.css +0 -0
  386. /package/dist/collection/components/{status-buttons → _helpers/status-buttons}/gx-ide-status-buttons.css +0 -0
  387. /package/dist/collection/components/{status-buttons → _helpers/status-buttons}/gx-ide-status-buttons.js +0 -0
  388. /package/dist/collection/components/{top-bar → _helpers/top-bar}/top-bar.css +0 -0
  389. /package/dist/collection/components/{top-bar → _helpers/top-bar}/top-bar.js +0 -0
  390. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.en.json +0 -0
  391. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.ja.json +0 -0
  392. /package/dist/collection/components/{_template → _starting-template}/gx-ide-assets/template/langs/template.lang.zh.json +0 -0
  393. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +0 -0
  394. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +0 -0
  395. /package/dist/collection/components/{application-declaration → bpm-application-declaration}/helpers.js +0 -0
  396. /package/dist/collection/components/{team-dev-commit → team-dev/commit}/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +0 -0
  397. /package/dist/collection/components/{team-dev-commit → team-dev/commit}/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +0 -0
  398. /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.ja.json +0 -0
  399. /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.zh.json +0 -0
  400. /package/dist/collection/components/{team-dev-update → team-dev/update}/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +0 -0
  401. /package/dist/collection/components/{team-dev-update → team-dev/update}/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +0 -0
  402. /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
  403. /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.ja.json +0 -0
  404. /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.zh.json +0 -0
  405. /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.ja.json +0 -0
  406. /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.zh.json +0 -0
  407. /package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/{tree-x-list-item/tree-x-list-item.css → tree-view-item/tree-view-item.css} +0 -0
  408. /package/dist/node_modules/@genexus/gemini/dist/collection/components/{pill → pills}/pill.css +0 -0
  409. /package/dist/types/components/{directory-selector → _helpers/directory-selector}/directory-selector.d.ts +0 -0
  410. /package/dist/types/components/{top-bar → _helpers/top-bar}/top-bar.d.ts +0 -0
  411. /package/dist/types/components/{application-declaration → bpm-application-declaration}/helpers.d.ts +0 -0
@@ -1,6 +1,92 @@
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';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, w as writeTask, f as forceUpdate } from './index-0da01575.js';
2
+ import { D as DISABLED_CLASS } from './reserverd-names-2a2d0fb3.js';
2
3
  import { f as focusComposedPath, m as mouseEventModifierKey } from './helpers-1ecd5e26.js';
3
4
 
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
+
4
90
  const scrollToEdge = (event, container, scrollSpeed, scrollThreshold) => {
5
91
  const mousePositionY = event.clientY - container.getBoundingClientRect().top;
6
92
  const containerHeight = container.clientHeight;
@@ -15,10 +101,10 @@ const scrollToEdge = (event, container, scrollSpeed, scrollThreshold) => {
15
101
  }
16
102
  };
17
103
 
18
- const treeXCss = "ch-tree-x{display:flex;position:relative;width:100%;overflow:auto}ch-tree-x>.ch-tree-x-container{position:absolute;inset:0}ch-tree-x.ch-tree-x-dragging-item ch-tree-x-list-item{pointer-events:var(--ch-tree-x-pointer-events, all)}ch-tree-x.ch-tree-x-dragging-item .ch-tree-x-list-item--deny-drop{pointer-events:none}ch-tree-x.ch-tree-x--dragging-selected-items ch-tree-x-list-item[selected]{--ch-tree-x-pointer-events:none}ch-tree-x.ch-tree-x-waiting-drop-processing{cursor:wait}ch-tree-x.ch-tree-x-waiting-drop-processing>.ch-tree-x-container{pointer-events:none}.ch-tree-x-drag-info{--rtl-offset:16px;position:fixed;left:0;top:0;transform:translate(calc(var(--ch-tree-x-dragging-item-x) + var(--rtl-offset)), calc(var(--ch-tree-x-dragging-item-y) + 8px));pointer-events:none;z-index:1;animation:ch-tree-x-drag-info-fade-in 10ms}@keyframes ch-tree-x-drag-info-fade-in{0%,100%{opacity:0}}html[dir=rtl] .ch-tree-x-drag-info{--rtl-offset:-100%}";
104
+ const treeViewCss = "ch-tree-view{display:flex;position:relative;width:100%;overflow:auto}ch-tree-view>.ch-tree-view-container{position:absolute;inset:0}ch-tree-view.ch-tree-view-dragging-item ch-tree-view-item{pointer-events:var(--ch-tree-view-pointer-events, all)}ch-tree-view.ch-tree-view-dragging-item .ch-tree-view-list-item--deny-drop{pointer-events:none}ch-tree-view.ch-tree-view--dragging-selected-items ch-tree-view-item[selected]{--ch-tree-view-pointer-events:none}ch-tree-view.ch-tree-view-waiting-drop-processing{cursor:wait}ch-tree-view.ch-tree-view-waiting-drop-processing>.ch-tree-view-container{pointer-events:none}.ch-tree-view-drag-info{--rtl-offset:16px;position:fixed;left:0;top:0;transform:translate(calc(var(--ch-tree-view-dragging-item-x) + var(--rtl-offset)), calc(var(--ch-tree-view-dragging-item-y) + 8px));pointer-events:none;z-index:1;animation:ch-tree-view-drag-info-fade-in 10ms}@keyframes ch-tree-view-drag-info-fade-in{0%,100%{opacity:0}}html[dir=rtl] .ch-tree-view-drag-info{--rtl-offset:-100%}";
19
105
 
20
- const TREE_ITEM_TAG_NAME$1 = "ch-tree-x-list-item";
21
- const TREE_TAG_NAME = "ch-tree-x";
106
+ const TREE_ITEM_TAG_NAME$1 = "ch-tree-view-item";
107
+ const TREE_TAG_NAME = "ch-tree-view";
22
108
  // Selectors
23
109
  // const CHECKED_ITEMS = `${TREE_ITEM_TAG_NAME}[checked]`;
24
110
  const TEXT_FORMAT = "text/plain";
@@ -29,9 +115,9 @@ const isTreeItem = (element) => element.tagName.toLowerCase() === TREE_ITEM_TAG_
29
115
  const getFocusedTreeItem = () => focusComposedPath().find(isTreeItem);
30
116
  const canMoveTreeItemFocus = (treeItem) => treeItem && !treeItem.editing;
31
117
  const getDroppableZoneKey = (newContainerId, draggedItems) => `"newContainerId":"${newContainerId}","metadata":"${JSON.stringify(draggedItems)}"`;
32
- const POSITION_X_DRAG_CUSTOM_VAR = "--ch-tree-x-dragging-item-x";
33
- const POSITION_Y_DRAG_CUSTOM_VAR = "--ch-tree-x-dragging-item-y";
34
- const ChTreeX = class {
118
+ const POSITION_X_DRAG_CUSTOM_VAR = "--ch-tree-view-dragging-item-x";
119
+ const POSITION_Y_DRAG_CUSTOM_VAR = "--ch-tree-view-dragging-item-y";
120
+ const ChTreeView = class {
35
121
  constructor(hostRef) {
36
122
  registerInstance(this, hostRef);
37
123
  this.droppableZoneEnter = createEvent(this, "droppableZoneEnter", 7);
@@ -129,7 +215,7 @@ const ChTreeX = class {
129
215
  // async getCheckedItems(): Promise<CheckedTreeItemInfo[]> {
130
216
  // const checkedItems = Array.from(
131
217
  // this.el.querySelectorAll(CHECKED_ITEMS)
132
- // ) as HTMLChTreeXListItemElement[];
218
+ // ) as HTMLChTreeViewItemElement[];
133
219
  // return checkedItems.map(item => ({
134
220
  // id: item.id,
135
221
  // caption: item.caption,
@@ -467,22 +553,22 @@ const ChTreeX = class {
467
553
  }
468
554
  render() {
469
555
  return (h(Host, { class: {
470
- "ch-tree-x-dragging-item": this.draggingInTheDocument,
471
- "ch-tree-x-not-dragging-item": !this.draggingInTheDocument,
472
- "ch-tree-x--dragging-selected-items": this.draggingInTree && this.draggingSelectedItems,
473
- "ch-tree-x-waiting-drop-processing": this.waitDropProcessing
474
- } }, h("div", { role: "tree", part: "tree-x-container", "aria-multiselectable": this.multiSelection.toString(), class: "ch-tree-x-container" }, h("slot", null)), this.draggingInTree && (h("span", { "aria-hidden": "true", class: "ch-tree-x-drag-info" }, this.dragInfo))));
556
+ "ch-tree-view-dragging-item": this.draggingInTheDocument,
557
+ "ch-tree-view-not-dragging-item": !this.draggingInTheDocument,
558
+ "ch-tree-view--dragging-selected-items": this.draggingInTree && this.draggingSelectedItems,
559
+ "ch-tree-view-waiting-drop-processing": this.waitDropProcessing
560
+ } }, h("div", { role: "tree", part: "tree-x-container", "aria-multiselectable": this.multiSelection.toString(), class: "ch-tree-view-container" }, h("slot", null)), this.draggingInTree && (h("span", { "aria-hidden": "true", class: "ch-tree-view-drag-info" }, this.dragInfo))));
475
561
  }
476
562
  get el() { return getElement(this); }
477
563
  };
478
- ChTreeX.style = treeXCss;
564
+ ChTreeView.style = treeViewCss;
479
565
 
480
- const treeXListItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--checkbox-size:1em;--expandable-button-width:0.75em;--ch-tree-x-list-item-dashed-line--offset:0px;--tab-width:calc(\n var(--checkbox-size) + var(--expandable-button-width) +\n (5px * 2)\n );display:grid;grid-template-rows:min-content;overflow:hidden}.header{--own-offset:0px;display:flex;align-items:center;min-height:calc(1em + 6px);padding-inline-start:var(--padding-inline-start)}.header--disabled{opacity:0.5;pointer-events:none}.header--even{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width)\n )}.header--even+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width)\n )}.header--even .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--even-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--even-expandable+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--odd{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width)\n )}.header--odd+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width)\n )}.header--odd .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--odd-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--odd-expandable+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--level-0{--padding-inline-start:0px}.header--level-0+.expandable{--parent-padding-inline-start--even:0px}.header--expandable-offset{--own-offset:calc(\n var(--expandable-button-width) + 5px\n )}.header--expandable-offset+.expandable{--parent-expandable-offset:calc(var(--expandable-button-width) / 2)}.header--checkbox-offset+.expandable{--parent-checkbox-offset:calc(var(--checkbox-size) / 2);--parent-negative-checkbox-offset:calc(var(--checkbox-size) / 2)}.dashed-line{position:absolute;inset-inline-start:calc( var(--inset-inline-start) + var(--ch-tree-x-list-item-dashed-line--offset) );height:1px;width:calc( var(--tab-width) - var(--parent-checkbox-offset) - var(--parent-expandable-offset) - var(--own-offset) - var(--ch-tree-x-list-item-dashed-line--offset) - 4px );border:0 dashed color-mix(in srgb, currentColor 65%, transparent);border-block-end-width:1px;pointer-events:none;content-visibility:hidden;z-index:1}.last-all-line{inset-block-start:0;height:calc(100% - var(--distance-to-checkbox));border-inline-start-width:1px;border-end-start-radius:2px}.last-line{inset-block-start:0;height:100%;border-inline-start-width:1px;border-style:solid;border-block-end:unset}.expandable-button{display:grid;place-items:center;width:var(--expandable-button-width);height:var(--expandable-button-width);margin-inline-end:5px;z-index:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto var(--expandable-button-width)}.expandable-button::before{content:\"\";width:calc(100% - 2px);height:calc(100% - 2px);background-color:currentColor;-webkit-mask-size:calc(var(--expandable-button-width) - 2px)}.expandable-button--collapsed::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H8.54v5.61h-1V8.5H1.93v-1H7.54V1.89h1V7.5h5.61Z\"/></svg>')}.expandable-button--expanded::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H1.93v-1H14.15Z\"/></svg>')}.expandable-button:focus-visible{outline:1px solid #000}.checkbox{margin-inline-end:5px}.checkbox::part(container){width:var(--checkbox-size);height:var(--checkbox-size)}.action{display:grid;grid-template:\"left-img text right-img\"/max-content 1fr max-content;align-items:center;height:100%;flex:1;cursor:pointer}.readonly-mode{padding-block:0.75px}.left-img,.right-img{display:block;width:0.875em;height:0.875em;content-visibility:auto;contain-intrinsic-size:auto 0.875em}.left-img{grid-area:left-img;margin-inline-end:5px}.right-img{grid-area:right-img;margin-inline-start:5px}.edit-name{grid-area:text;width:100%;height:100%;padding:0;margin:0;background-color:unset;color:unset;border:1px solid currentColor;font:unset;outline:unset}.downloading{width:0.75em;height:0.75em;margin-inline-start:8px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;opacity:0.75;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.expandable{--parent-expandable-offset:0px;--parent-negative-checkbox-offset:0px;--parent-checkbox-offset:0px;display:grid;grid-auto-rows:min-content;position:relative;content-visibility:auto;contain-intrinsic-size:auto 100px}.expandable--collapsed{display:none;overflow:hidden;content-visibility:hidden}";
566
+ const treeViewItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--checkbox-size:1em;--expandable-button-width:0.75em;--ch-tree-x-list-item-dashed-line--offset:0px;--tab-width:calc(\n var(--checkbox-size) + var(--expandable-button-width) +\n (5px * 2)\n );display:grid;grid-template-rows:min-content;overflow:hidden}.header{--own-offset:0px;display:flex;align-items:center;min-height:calc(1em + 6px);padding-inline-start:var(--padding-inline-start)}.header--disabled{opacity:0.5;pointer-events:none}.header--even{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width)\n )}.header--even+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width)\n )}.header--even .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--even-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--even-expandable+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--odd{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width)\n )}.header--odd+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width)\n )}.header--odd .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--odd-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--odd-expandable+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--tab-width) - calc(\n var(--expandable-button-width) + 5px\n )\n )}.header--level-0{--padding-inline-start:0px}.header--level-0+.expandable{--parent-padding-inline-start--even:0px}.header--expandable-offset{--own-offset:calc(\n var(--expandable-button-width) + 5px\n )}.header--expandable-offset+.expandable{--parent-expandable-offset:calc(var(--expandable-button-width) / 2)}.header--checkbox-offset+.expandable{--parent-checkbox-offset:calc(var(--checkbox-size) / 2);--parent-negative-checkbox-offset:calc(var(--checkbox-size) / 2)}.dashed-line{position:absolute;inset-inline-start:calc( var(--inset-inline-start) + var(--ch-tree-x-list-item-dashed-line--offset) );height:1px;width:calc( var(--tab-width) - var(--parent-checkbox-offset) - var(--parent-expandable-offset) - var(--own-offset) - var(--ch-tree-x-list-item-dashed-line--offset) - 4px );border:0 dashed color-mix(in srgb, currentColor 65%, transparent);border-block-end-width:1px;pointer-events:none;content-visibility:hidden;z-index:1}.last-all-line{inset-block-start:0;height:calc(100% - var(--distance-to-checkbox));border-inline-start-width:1px;border-end-start-radius:2px}.last-line{inset-block-start:0;height:100%;border-inline-start-width:1px;border-style:solid;border-block-end:unset}.expandable-button{display:grid;place-items:center;width:var(--expandable-button-width);height:var(--expandable-button-width);margin-inline-end:5px;z-index:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto var(--expandable-button-width)}.expandable-button::before{content:\"\";width:calc(100% - 2px);height:calc(100% - 2px);background-color:currentColor;-webkit-mask-size:calc(var(--expandable-button-width) - 2px)}.expandable-button--collapsed::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H8.54v5.61h-1V8.5H1.93v-1H7.54V1.89h1V7.5h5.61Z\"/></svg>')}.expandable-button--expanded::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H1.93v-1H14.15Z\"/></svg>')}.expandable-button:focus-visible{outline:1px solid #000}.checkbox{margin-inline-end:5px}.checkbox::part(container){width:var(--checkbox-size);height:var(--checkbox-size)}.action{display:grid;grid-template:\"left-img text right-img\"/max-content 1fr max-content;align-items:center;height:100%;flex:1;cursor:pointer}.readonly-mode{padding-block:0.75px}.left-img,.right-img{display:block;width:0.875em;height:0.875em;content-visibility:auto;contain-intrinsic-size:auto 0.875em}.left-img{grid-area:left-img;margin-inline-end:5px}.right-img{grid-area:right-img;margin-inline-start:5px}.edit-name{grid-area:text;width:100%;height:100%;padding:0;margin:0;background-color:unset;color:unset;border:1px solid currentColor;font:unset;outline:unset}.downloading{width:0.75em;height:0.75em;margin-inline-start:8px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;opacity:0.75;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.expandable{--parent-expandable-offset:0px;--parent-negative-checkbox-offset:0px;--parent-checkbox-offset:0px;display:grid;grid-auto-rows:min-content;position:relative;content-visibility:auto;contain-intrinsic-size:auto 100px}.expandable--collapsed{display:none;overflow:hidden;content-visibility:hidden}";
481
567
 
482
568
  const resetDragImage = new Image();
483
569
  const INITIAL_LEVEL = 0;
484
570
  // Selectors
485
- const TREE_ITEM_TAG_NAME = "ch-tree-x-list-item";
571
+ const TREE_ITEM_TAG_NAME = "ch-tree-view-item";
486
572
  const DIRECT_TREE_ITEM_CHILDREN = `:scope>${TREE_ITEM_TAG_NAME}`;
487
573
  const FIRST_ENABLED_SUB_ITEM = `${TREE_ITEM_TAG_NAME}:not([disabled])`;
488
574
  const LAST_SUB_ITEM = `:scope>${TREE_ITEM_TAG_NAME}:last-child`;
@@ -501,7 +587,7 @@ const CHECKBOX_EXPORT_PARTS = [
501
587
  ]
502
588
  .map(getCheckboxExportPart)
503
589
  .join(",");
504
- const ChTreeXListItem = class {
590
+ const ChTreeViewItem = class {
505
591
  constructor(hostRef) {
506
592
  registerInstance(this, hostRef);
507
593
  this.checkboxChange = createEvent(this, "checkboxChange", 7);
@@ -1060,11 +1146,44 @@ const ChTreeXListItem = class {
1060
1146
  "showLines": ["handleShowLinesChange"]
1061
1147
  }; }
1062
1148
  };
1063
- ChTreeXListItem.style = treeXListItemCss;
1149
+ ChTreeViewItem.style = treeViewItemCss;
1064
1150
 
1065
- const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
1151
+ const filterWithCamelCase = (stringToFilter, filter, camelCase) => camelCase
1152
+ ? stringToFilter.includes(filter)
1153
+ : stringToFilter.toLowerCase().includes(filter.toLowerCase());
1154
+ const filterWithString = (stringToFilter, filter, filterOptions) => filterOptions.regularExpression
1155
+ ? stringToFilter.match(filter) !== null
1156
+ : filterWithCamelCase(stringToFilter, filter, filterOptions.camelCase);
1157
+ const filterDictionary = {
1158
+ caption: (item, filterInfo) => {
1159
+ var _a;
1160
+ return filterInfo.filter
1161
+ ? filterWithString((_a = item.caption) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
1162
+ : true;
1163
+ },
1164
+ checked: (item, filterInfo) => {
1165
+ var _a, _b;
1166
+ return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
1167
+ !item.indeterminate &&
1168
+ ((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
1169
+ },
1170
+ "id-list": (item, filterInfo) => filterInfo.filterList.includes(item.id),
1171
+ metadata: (item, filterInfo) => {
1172
+ var _a;
1173
+ return filterInfo.filter
1174
+ ? filterWithString((_a = item.metadata) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
1175
+ : true;
1176
+ },
1177
+ none: () => true,
1178
+ unchecked: (item, filterInfo) => {
1179
+ var _a, _b;
1180
+ return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
1181
+ !item.indeterminate &&
1182
+ !((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
1183
+ }
1184
+ };
1066
1185
 
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}gxg-tree-view ch-tree-x .ch-tree-x-container{padding:var(--spacing-comp-01)}.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}gxg-tree-view[position-relative] ch-tree-x .ch-tree-x-container{position:relative;width:100%}gxg-tree-view[no-padding] ch-tree-x .ch-tree-x-container{padding:0}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}ch-tree-x-list-item{--checkbox-size:var(--gxg-checkbox-size);--expandable-button-width:var(--spacing-comp-04);}ch-tree-x-list-item.tree-view-item--folder::part(action)::before,ch-tree-x-list-item.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:14px;height:14px;margin-inline-end:4px;background-repeat:no-repeat}ch-tree-x-list-item.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}ch-tree-x-list-item.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}ch-tree-x-list-item.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}ch-tree-x-list-item.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}ch-tree-x-list-item .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:#2c3b92;border-radius:50%}ch-tree-x-list-item::part(header):first-child{margin-inline-start:var(--spacing-comp-01)}ch-tree-x-list-item::part(header){padding-inline-end:calc(var(--spacing-comp-02) * 0.65);height:var(--spacing-comp-05);display:flex;gap:5px}ch-tree-x-list-item::part(header):before{content:\"\";display:block}ch-tree-x-list-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}ch-tree-x-list-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}ch-tree-x-list-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}ch-tree-x-list-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}ch-tree-x-list-item.ch-tree-x-list-item--editing::part(header){border:2px solid transparent}ch-tree-x-list-item::part(expandable-button){background-color:var(--color-hover);margin-inline-end:0}ch-tree-x-list-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}ch-tree-x-list-item::part(expandable-button):hover{background-color:var(--color-background)}ch-tree-x-list-item::part(expandable-button):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}ch-tree-x-list-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}ch-tree-x-list-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}ch-tree-x-list-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}ch-tree-x-list-item::part(checkbox){margin-inline-end:0}ch-tree-x-list-item::part(checkbox__option){display:none}ch-tree-x-list-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}ch-tree-x-list-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%)}ch-tree-x-list-item::part(checkbox__input){position:relative;z-index:1}ch-tree-x-list-item::part(action){text-transform:capitalize;display:flex;gap:var(--spacing-comp-01)}ch-tree-x-list-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04);margin-inline-end:0}ch-tree-x-list-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}.ch-tree-x-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
1186
+ const treeViewRenderCss = "ch-tree-view-render{display:contents}";
1068
1187
 
1069
1188
  const DEFAULT_DRAG_DISABLED_VALUE = false;
1070
1189
  const DEFAULT_DROP_DISABLED_VALUE = false;
@@ -1075,7 +1194,13 @@ const DEFAULT_INDETERMINATE_VALUE = false;
1075
1194
  const DEFAULT_LAZY_VALUE = false;
1076
1195
  const DEFAULT_ORDER_VALUE = 0;
1077
1196
  const DEFAULT_SELECTED_VALUE = false;
1078
- const GxgTreeView = class {
1197
+ const defaultRenderItem = (itemModel, treeState, lastItem, level) => {
1198
+ var _a, _b, _c, _d, _e, _f;
1199
+ return (treeState.filterType === "none" || itemModel.render !== false) && (h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
1200
+ itemModel.items != null &&
1201
+ itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeState.showLines && index === itemModel.items.length - 1, level + 1))));
1202
+ };
1203
+ const ChTreeViewRender = class {
1079
1204
  constructor(hostRef) {
1080
1205
  registerInstance(this, hostRef);
1081
1206
  this.checkedItemsChange = createEvent(this, "checkedItemsChange", 7);
@@ -1086,20 +1211,11 @@ const GxgTreeView = class {
1086
1211
  this.flattenedTreeModel = new Map();
1087
1212
  this.flattenedCheckboxTreeModel = new Map();
1088
1213
  this.selectedItems = new Set();
1089
- this.iconAssetsPath = getAssetPath(`./icon-assets`);
1090
1214
  /**
1091
1215
  * This property lets you specify if the tree is waiting to process the drop
1092
1216
  * of items.
1093
1217
  */
1094
1218
  this.waitDropProcessing = false;
1095
- /**
1096
- * Removes the default padding on '.ch-tree-x-container' (Added by Gemini)
1097
- */
1098
- this.noPadding = false;
1099
- /**
1100
- * A temporary fix to force the ch-tree-x tree-x-container to be visible without position:absolute (Added by Gemini)
1101
- */
1102
- this.positionRelative = false;
1103
1219
  /**
1104
1220
  * Set this attribute if you want display a checkbox in all items by default.
1105
1221
  */
@@ -1110,10 +1226,6 @@ const GxgTreeView = class {
1110
1226
  * Only works if `checkbox = true`
1111
1227
  */
1112
1228
  this.checked = false;
1113
- /**
1114
- * A CSS class to set as the `ch-tree-x` element class.
1115
- */
1116
- this.cssClass = "tree-view";
1117
1229
  /**
1118
1230
  * This attribute lets you specify if the drag operation is disabled in all
1119
1231
  * items by default. If `true`, the items can't be dragged.
@@ -1129,15 +1241,44 @@ const GxgTreeView = class {
1129
1241
  * items by default. If `true`, the items can edit its caption in place.
1130
1242
  */
1131
1243
  this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
1244
+ /**
1245
+ * This property lets you determine the list of items that will be filtered.
1246
+ * Only works if `filterType = "id-list"`.
1247
+ */
1248
+ this.filterList = [];
1249
+ /**
1250
+ * This property lets you determine the options that will be applied to the
1251
+ * filter.
1252
+ * Only works if `filterType = "caption" | "metadata"`.
1253
+ */
1254
+ this.filterOptions = {};
1255
+ /**
1256
+ * This attribute lets you define what kind of filter is applied to items.
1257
+ * Only items that satisfy the filter predicate will be displayed.
1258
+ *
1259
+ * | Value | Details |
1260
+ * | ----------- | ---------------------------------------------------------------------------------------------- |
1261
+ * | `checked` | Show only the items that have a checkbox and are checked. |
1262
+ * | `unchecked` | Show only the items that have a checkbox and are not checked. |
1263
+ * | `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |
1264
+ * | `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |
1265
+ * | `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |
1266
+ * | `none` | Show all items. |
1267
+ */
1268
+ this.filterType = "none";
1132
1269
  /**
1133
1270
  * Set this attribute if you want to allow multi selection of the items.
1134
1271
  */
1135
1272
  this.multiSelection = false;
1273
+ /**
1274
+ * This property allows us to implement custom rendering of tree items.
1275
+ */
1276
+ this.renderItem = defaultRenderItem;
1136
1277
  /**
1137
1278
  * `true` to display the relation between tree items and tree lists using
1138
1279
  * lines.
1139
1280
  */
1140
- this.showLines = "all";
1281
+ this.showLines = "none";
1141
1282
  /**
1142
1283
  * Set this attribute if you want all the children item's checkboxes to be
1143
1284
  * checked when the parent item checkbox is checked, or to be unchecked when
@@ -1158,7 +1299,7 @@ const GxgTreeView = class {
1158
1299
  const requestTimestamp = new Date().getTime();
1159
1300
  const dropInformation = event.detail;
1160
1301
  const promise = this.checkDroppableZoneCallback(dropInformation);
1161
- promise.then((validDrop) => {
1302
+ promise.then(validDrop => {
1162
1303
  this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
1163
1304
  });
1164
1305
  };
@@ -1166,7 +1307,7 @@ const GxgTreeView = class {
1166
1307
  event.stopPropagation();
1167
1308
  const itemsToProcess = new Map(event.detail);
1168
1309
  // Remove no longer selected items
1169
- this.selectedItems.forEach((selectedItemId) => {
1310
+ this.selectedItems.forEach(selectedItemId => {
1170
1311
  const itemUIModel = this.flattenedTreeModel.get(selectedItemId).item;
1171
1312
  const itemIsStillSelected = itemsToProcess.get(selectedItemId);
1172
1313
  // The item does not need to be added. Remove it from the processed list
@@ -1246,6 +1387,10 @@ const GxgTreeView = class {
1246
1387
  this.sortItems(newParentUIModel.items);
1247
1388
  // Open the item to visualize the new subitems
1248
1389
  newParentUIModel.expanded = true;
1390
+ // Re-sync checked items
1391
+ this.emitCheckedItemsChange();
1392
+ // Update filters
1393
+ this.processFilters();
1249
1394
  // There is no need to force and update, since the waitDropProcessing
1250
1395
  // prop was modified
1251
1396
  });
@@ -1261,46 +1406,51 @@ const GxgTreeView = class {
1261
1406
  // Reference the new parent in the item
1262
1407
  itemUIModelExtended.parentItem = newParentUIModel;
1263
1408
  };
1264
- this.renderSubModel = (treeSubModel, lastItem, level) => {
1265
- var _a, _b, _c, _d, _e, _f;
1266
- 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
1267
- ? resolveImgPath(this.iconAssetsPath, treeSubModel.leftImgSrc)
1268
- : 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 &&
1269
- treeSubModel.items != null &&
1270
- treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
1271
- };
1272
1409
  this.flattenItemUIModel = (parentModel) => (item) => {
1273
- var _a;
1410
+ var _a, _b, _c, _d, _e, _f;
1274
1411
  this.flattenedTreeModel.set(item.id, {
1275
1412
  parentItem: parentModel,
1276
- item: item,
1413
+ item: item
1277
1414
  });
1278
1415
  // Add the items that have a checkbox in a separate Map
1279
1416
  if ((_a = item.checkbox) !== null && _a !== void 0 ? _a : this.checkbox) {
1280
1417
  this.flattenedCheckboxTreeModel.set(item.id, {
1281
1418
  parentItem: parentModel,
1282
- item: item,
1419
+ item: item
1283
1420
  });
1284
1421
  }
1285
1422
  // Make sure the properties are with their default values to avoid issues
1286
1423
  // when reusing DOM nodes
1287
- item.class = item.class == null ? DEFAULT_CLASS_VALUE : item.class;
1288
- item.expanded =
1289
- item.expanded == null ? DEFAULT_EXPANDED_VALUE : item.expanded;
1290
- item.indeterminate =
1291
- item.indeterminate == null
1292
- ? DEFAULT_INDETERMINATE_VALUE
1293
- : item.indeterminate;
1294
- item.lazy = item.lazy == null ? DEFAULT_LAZY_VALUE : item.lazy;
1295
- item.order = item.order == null ? DEFAULT_ORDER_VALUE : item.order;
1296
- item.selected =
1297
- item.selected == null ? DEFAULT_SELECTED_VALUE : item.selected;
1424
+ item.class || (item.class = DEFAULT_CLASS_VALUE);
1425
+ (_b = item.expanded) !== null && _b !== void 0 ? _b : (item.expanded = DEFAULT_EXPANDED_VALUE);
1426
+ (_c = item.indeterminate) !== null && _c !== void 0 ? _c : (item.indeterminate = DEFAULT_INDETERMINATE_VALUE);
1427
+ (_d = item.lazy) !== null && _d !== void 0 ? _d : (item.lazy = DEFAULT_LAZY_VALUE);
1428
+ (_e = item.order) !== null && _e !== void 0 ? _e : (item.order = DEFAULT_ORDER_VALUE);
1429
+ (_f = item.selected) !== null && _f !== void 0 ? _f : (item.selected = DEFAULT_SELECTED_VALUE);
1298
1430
  if (item.selected) {
1299
1431
  this.selectedItems.add(item.id);
1300
1432
  }
1301
1433
  this.flattenSubModel(item);
1302
1434
  };
1303
1435
  }
1436
+ handleFilterChange() {
1437
+ if (this.filterType === "caption" || this.filterType === "metadata") {
1438
+ this.processFilters();
1439
+ }
1440
+ }
1441
+ handleFilterListChange() {
1442
+ if (this.filterType === "id-list") {
1443
+ this.processFilters();
1444
+ }
1445
+ }
1446
+ handleFilterOptionsChange() {
1447
+ if (this.filterType === "caption" || this.filterType === "metadata") {
1448
+ this.processFilters();
1449
+ }
1450
+ }
1451
+ handleFilterTypeChange() {
1452
+ this.processFilters();
1453
+ }
1304
1454
  handleTreeModelChange() {
1305
1455
  this.flattenModel();
1306
1456
  }
@@ -1323,6 +1473,8 @@ const GxgTreeView = class {
1323
1473
  this.flattenSubModel(itemToLazyLoadContent);
1324
1474
  // Re-sync checked items
1325
1475
  this.emitCheckedItemsChange();
1476
+ // Update filters
1477
+ this.processFilters();
1326
1478
  // Force re-render
1327
1479
  forceUpdate(this);
1328
1480
  }
@@ -1361,13 +1513,13 @@ const GxgTreeView = class {
1361
1513
  return [];
1362
1514
  }
1363
1515
  const modifiedTreeItems = [];
1364
- treeItemIds.forEach((treeItemId) => {
1516
+ treeItemIds.forEach(treeItemId => {
1365
1517
  const itemInfo = this.flattenedTreeModel.get(treeItemId).item;
1366
1518
  if (itemInfo) {
1367
1519
  itemInfo.expanded = expand !== null && expand !== void 0 ? expand : !itemInfo.expanded;
1368
1520
  modifiedTreeItems.push({
1369
1521
  id: itemInfo.id,
1370
- expanded: itemInfo.expanded,
1522
+ expanded: itemInfo.expanded
1371
1523
  });
1372
1524
  }
1373
1525
  });
@@ -1379,7 +1531,7 @@ const GxgTreeView = class {
1379
1531
  * Given a subset of item's properties, it updates all item UI models.
1380
1532
  */
1381
1533
  async updateAllItemsProperties(properties) {
1382
- [...this.flattenedTreeModel.values()].forEach((itemUIModel) => {
1534
+ [...this.flattenedTreeModel.values()].forEach(itemUIModel => {
1383
1535
  if (properties.expanded != null) {
1384
1536
  itemUIModel.item.expanded = properties.expanded;
1385
1537
  }
@@ -1388,6 +1540,10 @@ const GxgTreeView = class {
1388
1540
  itemUIModel.item.indeterminate = false;
1389
1541
  }
1390
1542
  });
1543
+ // Update filters
1544
+ if (properties.checked != null) {
1545
+ this.processFilters();
1546
+ }
1391
1547
  forceUpdate(this);
1392
1548
  }
1393
1549
  /**
@@ -1395,10 +1551,12 @@ const GxgTreeView = class {
1395
1551
  * of the items in the list.
1396
1552
  */
1397
1553
  async updateItemsProperties(items, properties) {
1398
- items.forEach((item) => {
1554
+ items.forEach(item => {
1399
1555
  const itemUIModel = this.flattenedTreeModel.get(item);
1400
1556
  this.updateItemProperty(itemUIModel, properties);
1401
1557
  });
1558
+ // Update filters
1559
+ this.processFilters();
1402
1560
  forceUpdate(this);
1403
1561
  }
1404
1562
  /**
@@ -1416,7 +1574,7 @@ const GxgTreeView = class {
1416
1574
  return;
1417
1575
  }
1418
1576
  const itemInfo = itemUIModel.item;
1419
- Object.keys(properties).forEach((propertyName) => {
1577
+ Object.keys(properties).forEach(propertyName => {
1420
1578
  itemInfo[propertyName] = properties[propertyName];
1421
1579
  });
1422
1580
  }
@@ -1434,6 +1592,12 @@ const GxgTreeView = class {
1434
1592
  itemInfo.checked = detail.checked;
1435
1593
  itemInfo.indeterminate = detail.indeterminate;
1436
1594
  this.emitCheckedItemsChange();
1595
+ // Update filters
1596
+ if (this.filterType === "checked" || this.filterType === "unchecked") {
1597
+ this.processFilters();
1598
+ // Force re-render
1599
+ forceUpdate(this);
1600
+ }
1437
1601
  }
1438
1602
  loadLazyChildrenHandler(event) {
1439
1603
  if (!this.lazyLoadTreeItemsCallback) {
@@ -1443,7 +1607,7 @@ const GxgTreeView = class {
1443
1607
  const treeItemId = event.detail;
1444
1608
  const promise = this.lazyLoadTreeItemsCallback(treeItemId);
1445
1609
  event.target.downloading = true;
1446
- promise.then((result) => {
1610
+ promise.then(result => {
1447
1611
  this.loadLazyContent(treeItemId, result);
1448
1612
  });
1449
1613
  }
@@ -1465,9 +1629,11 @@ const GxgTreeView = class {
1465
1629
  // treeModel to force a re-render
1466
1630
  itemRef.caption = newCaption;
1467
1631
  const promise = this.modifyItemCaptionCallback(itemId, newCaption);
1468
- promise.then((status) => {
1632
+ promise.then(status => {
1469
1633
  if (status.success) {
1470
1634
  this.sortItems(itemUIModel.parentItem.items);
1635
+ // Update filters
1636
+ this.processFilters();
1471
1637
  // Force re-render
1472
1638
  forceUpdate(this);
1473
1639
  }
@@ -1486,10 +1652,10 @@ const GxgTreeView = class {
1486
1652
  // New copy of the checked items
1487
1653
  const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
1488
1654
  // Update the checked value if not defined
1489
- allItemsWithCheckbox.forEach((itemUIModel) => {
1490
- if (itemUIModel.item.checked == null) {
1491
- itemUIModel.item.checked = this.checked;
1492
- }
1655
+ allItemsWithCheckbox.forEach(itemUIModel => {
1656
+ var _a;
1657
+ var _b;
1658
+ (_a = (_b = itemUIModel.item).checked) !== null && _a !== void 0 ? _a : (_b.checked = this.checked);
1493
1659
  });
1494
1660
  this.checkedItemsChange.emit(allItemsWithCheckbox);
1495
1661
  }
@@ -1523,17 +1689,52 @@ const GxgTreeView = class {
1523
1689
  // Re-sync checked items
1524
1690
  this.emitCheckedItemsChange();
1525
1691
  }
1692
+ filterSubModel(item, filterInfo) {
1693
+ let aSubItemIsRendered = false;
1694
+ // Check if a subitem is rendered
1695
+ if (item.leaf !== true && item.items != null) {
1696
+ item.items.forEach(subItem => {
1697
+ const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);
1698
+ aSubItemIsRendered || (aSubItemIsRendered = itemSatisfiesFilter);
1699
+ });
1700
+ }
1701
+ // The current item is rendered if it satisfies the filter condition or a
1702
+ // subitem exists that needs to be rendered
1703
+ const satisfiesFilter = filterDictionary[this.filterType](item, filterInfo) || aSubItemIsRendered;
1704
+ item.render = satisfiesFilter; // Update item render
1705
+ return satisfiesFilter;
1706
+ }
1707
+ processFilters() {
1708
+ if (this.filterType === "none") {
1709
+ return;
1710
+ }
1711
+ this.filterSubModel({
1712
+ id: null,
1713
+ caption: null,
1714
+ items: this.treeModel
1715
+ }, {
1716
+ defaultCheckbox: this.checkbox,
1717
+ defaultChecked: this.checked,
1718
+ filter: this.filter,
1719
+ filterList: this.filterList,
1720
+ filterOptions: this.filterOptions
1721
+ });
1722
+ }
1526
1723
  componentWillLoad() {
1527
1724
  this.flattenModel();
1725
+ this.processFilters();
1528
1726
  }
1529
1727
  render() {
1530
- 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))));
1728
+ return (h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, this.showLines && index === this.treeModel.length - 1, 0))));
1531
1729
  }
1532
- static get assetsDirs() { return ["assets"]; }
1533
1730
  static get watchers() { return {
1731
+ "filter": ["handleFilterChange"],
1732
+ "filterList": ["handleFilterListChange"],
1733
+ "filterOptions": ["handleFilterOptionsChange"],
1734
+ "filterType": ["handleFilterTypeChange"],
1534
1735
  "treeModel": ["handleTreeModelChange"]
1535
1736
  }; }
1536
1737
  };
1537
- GxgTreeView.style = treeViewCss;
1738
+ ChTreeViewRender.style = treeViewRenderCss;
1538
1739
 
1539
- export { ChTreeX as ch_tree_x, ChTreeXListItem as ch_tree_x_list_item, GxgTreeView as gxg_tree_view };
1740
+ export { CheckBox as ch_checkbox, ChTreeView as ch_tree_view, ChTreeViewItem as ch_tree_view_item, ChTreeViewRender as ch_tree_view_render };