@genexus/genexus-ide-ui 0.0.57 → 0.0.59

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 (449) hide show
  1. package/dist/cjs/{ch-checkbox_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +92 -59
  2. package/dist/cjs/ch-grid_8.cjs.entry.js +135 -26
  3. package/dist/cjs/ch-icon_2.cjs.entry.js +1 -1
  4. package/dist/cjs/ch-suggest_4.cjs.entry.js +3 -3
  5. package/dist/cjs/ch-test-suggest.cjs.entry.js +84 -0
  6. package/dist/cjs/ch-test-tree-x.cjs.entry.js +98 -21
  7. package/dist/cjs/ch-tooltip.cjs.entry.js +85 -0
  8. package/dist/cjs/{config-082c7c76.js → config-149ec5fe.js} +9 -1
  9. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  10. package/dist/cjs/gx-ide-container.cjs.entry.js +124 -0
  11. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +5 -2
  12. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +2 -2
  13. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +327 -0
  14. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-references.cjs.entry.js +77 -120
  17. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-test.cjs.entry.js +51 -5
  19. package/dist/cjs/gxg-accordion-item.cjs.entry.js +1 -1
  20. package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
  22. package/dist/cjs/gxg-box.cjs.entry.js +1 -1
  23. package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
  24. package/dist/cjs/gxg-button.cjs.entry.js +5 -1
  25. package/dist/cjs/gxg-card.cjs.entry.js +1 -1
  26. package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/gxg-column.cjs.entry.js +1 -1
  28. package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
  29. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -1
  30. package/dist/cjs/gxg-container.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
  32. package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-contextual-menu.cjs.entry.js +1 -1
  34. package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
  35. package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
  36. package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
  37. package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
  38. package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
  39. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +1 -1
  40. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +1 -1
  41. package/dist/cjs/gxg-form-message.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +1 -1
  43. package/dist/cjs/gxg-form-radio.cjs.entry.js +1 -1
  44. package/dist/cjs/gxg-form-text.cjs.entry.js +1 -1
  45. package/dist/cjs/gxg-form-textarea.cjs.entry.js +1 -1
  46. package/dist/cjs/gxg-label_2.cjs.entry.js +16 -3
  47. package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
  48. package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
  49. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  50. package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
  51. package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
  52. package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
  53. package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
  54. package/dist/cjs/gxg-modal.cjs.entry.js +1 -1
  55. package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
  56. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  57. package/dist/cjs/gxg-options.cjs.entry.js +1 -1
  58. package/dist/cjs/gxg-pill.cjs.entry.js +1 -1
  59. package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
  60. package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
  61. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  62. package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
  63. package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
  64. package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
  65. package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
  66. package/dist/cjs/gxg-stack.cjs.entry.js +1 -1
  67. package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
  68. package/dist/cjs/{gx-ide-container_5.cjs.entry.js → gxg-tab_4.cjs.entry.js} +4 -122
  69. package/dist/cjs/gxg-text.cjs.entry.js +1 -1
  70. package/dist/cjs/gxg-title.cjs.entry.js +1 -1
  71. package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
  72. package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
  73. package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
  74. package/dist/cjs/gxg-tree-view.cjs.entry.js +107 -17
  75. package/dist/cjs/gxg-tree_2.cjs.entry.js +2 -2
  76. package/dist/cjs/gxg-window.cjs.entry.js +1 -1
  77. package/dist/cjs/loader.cjs.js +1 -1
  78. package/dist/collection/collection-manifest.json +3 -1
  79. package/dist/collection/common/config.js +9 -1
  80. package/dist/collection/common/helpers.js +3 -0
  81. package/dist/collection/components/container/container.css +12 -16
  82. package/dist/collection/components/directory-selector/directory-selector.css +6 -8
  83. package/dist/collection/components/directory-selector/directory-selector.js +4 -1
  84. package/dist/collection/components/entity-selector/entity-selector.css +6 -8
  85. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +18 -0
  86. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +3 -0
  87. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.zh.json +3 -0
  88. package/dist/collection/components/kb-manager-export/helpers.js +167 -0
  89. package/dist/collection/components/kb-manager-export/kb-manager-export.css +199 -0
  90. package/dist/collection/components/kb-manager-export/kb-manager-export.js +408 -0
  91. package/dist/collection/components/references/helpers.js +16 -19
  92. package/dist/collection/components/references/references.css +9 -0
  93. package/dist/collection/components/references/references.js +61 -102
  94. package/dist/collection/pages/assets/common.js +7 -0
  95. package/dist/components/button-group.js +1 -1
  96. package/dist/components/button.js +6 -1
  97. package/dist/components/ch-grid-column-resize2.js +7 -7
  98. package/dist/components/ch-grid-column2.js +2 -2
  99. package/dist/components/ch-grid2.js +128 -18
  100. package/dist/components/ch-suggest2.js +2 -2
  101. package/dist/components/ch-test-suggest.js +119 -0
  102. package/dist/components/ch-test-tree-x.js +109 -34
  103. package/dist/components/ch-tooltip.js +115 -0
  104. package/dist/components/combo-box.js +1 -1
  105. package/dist/components/config.js +9 -1
  106. package/dist/components/container.js +1 -1
  107. package/dist/components/container2.js +1 -1
  108. package/dist/components/date-picker.js +1 -1
  109. package/dist/components/directory-selector.js +112 -0
  110. package/dist/components/entity-selector.js +1 -1
  111. package/dist/components/form-checkbox.js +1 -1
  112. package/dist/components/form-radio-group.js +1 -1
  113. package/dist/components/form-radio.js +1 -1
  114. package/dist/components/form-text.js +1 -1
  115. package/dist/components/form-textarea.js +1 -1
  116. package/dist/components/gx-ide-directory-selector.js +1 -107
  117. package/dist/components/gx-ide-kb-manager-export.d.ts +11 -0
  118. package/dist/components/gx-ide-kb-manager-export.js +452 -0
  119. package/dist/components/gx-ide-references.js +123 -154
  120. package/dist/components/gx-ide-test.js +48 -2
  121. package/dist/components/gxg-accordion-item.js +1 -1
  122. package/dist/components/gxg-accordion.js +1 -1
  123. package/dist/components/gxg-alert.js +1 -1
  124. package/dist/components/gxg-box.js +1 -1
  125. package/dist/components/gxg-card.js +1 -1
  126. package/dist/components/gxg-color-picker.js +1 -1
  127. package/dist/components/gxg-column.js +1 -1
  128. package/dist/components/gxg-columns.js +1 -1
  129. package/dist/components/gxg-contextual-menu-item.js +1 -1
  130. package/dist/components/gxg-contextual-menu-submenu.js +1 -1
  131. package/dist/components/gxg-contextual-menu.js +1 -1
  132. package/dist/components/gxg-demo.js +1 -1
  133. package/dist/components/gxg-drag-box.js +1 -1
  134. package/dist/components/gxg-drag-container.js +1 -1
  135. package/dist/components/gxg-drop-down.js +1 -1
  136. package/dist/components/gxg-filter.js +1 -1
  137. package/dist/components/gxg-form-checkbox-group2.js +1 -1
  138. package/dist/components/gxg-form-message.js +1 -1
  139. package/dist/components/gxg-grid2.js +1 -1
  140. package/dist/components/gxg-label2.js +1 -1
  141. package/dist/components/gxg-loader.js +1 -1
  142. package/dist/components/gxg-menu-item.js +1 -1
  143. package/dist/components/gxg-menu-slim-item.js +1 -1
  144. package/dist/components/gxg-menu-slim-list.js +1 -1
  145. package/dist/components/gxg-menu-slim.js +1 -1
  146. package/dist/components/gxg-menu.js +1 -1
  147. package/dist/components/gxg-modal.js +1 -1
  148. package/dist/components/gxg-more-info.js +1 -1
  149. package/dist/components/gxg-option.js +1 -1
  150. package/dist/components/gxg-options.js +1 -1
  151. package/dist/components/gxg-pill.js +1 -1
  152. package/dist/components/gxg-progress-bar.js +1 -1
  153. package/dist/components/gxg-scroll.js +1 -1
  154. package/dist/components/gxg-select.js +1 -1
  155. package/dist/components/gxg-separator.js +1 -1
  156. package/dist/components/gxg-slider.js +1 -1
  157. package/dist/components/gxg-spacer-layout.js +1 -1
  158. package/dist/components/gxg-spacer-one.js +1 -1
  159. package/dist/components/gxg-stack.js +1 -1
  160. package/dist/components/gxg-stepper.js +1 -1
  161. package/dist/components/gxg-toggle.js +1 -1
  162. package/dist/components/gxg-toolbar-item.js +1 -1
  163. package/dist/components/gxg-toolbar.js +1 -1
  164. package/dist/components/gxg-tree-item2.js +1 -1
  165. package/dist/components/gxg-tree-view.js +1 -434
  166. package/dist/components/gxg-tree2.js +1 -1
  167. package/dist/components/gxg-window.js +1 -1
  168. package/dist/components/icon2.js +1 -1
  169. package/dist/components/index.d.ts +1 -0
  170. package/dist/components/index.js +3 -1
  171. package/dist/components/list-box-item.js +1 -1
  172. package/dist/components/list-box.js +1 -1
  173. package/dist/components/suggest.js +1 -1
  174. package/dist/components/tab-bar.js +1 -1
  175. package/dist/components/tab-button.js +1 -1
  176. package/dist/components/tab.js +1 -1
  177. package/dist/components/tabs.js +1 -1
  178. package/dist/components/text.js +1 -1
  179. package/dist/components/title.js +1 -1
  180. package/dist/components/tooltip.js +17 -3
  181. package/dist/components/tree-view.js +526 -0
  182. package/dist/components/tree-x-list-item.js +57 -34
  183. package/dist/components/tree-x.js +37 -12
  184. package/dist/esm/{ch-checkbox_4.entry.js → ch-checkbox_3.entry.js} +93 -59
  185. package/dist/esm/ch-grid_8.entry.js +135 -26
  186. package/dist/esm/ch-icon_2.entry.js +1 -1
  187. package/dist/esm/ch-suggest_4.entry.js +3 -3
  188. package/dist/esm/ch-test-suggest.entry.js +80 -0
  189. package/dist/esm/ch-test-tree-x.entry.js +99 -22
  190. package/dist/esm/ch-tooltip.entry.js +81 -0
  191. package/dist/esm/{config-94445cc2.js → config-9b4321f9.js} +9 -1
  192. package/dist/esm/genexus-ide-ui.js +1 -1
  193. package/dist/esm/gx-ide-container.entry.js +120 -0
  194. package/dist/esm/gx-ide-directory-selector.entry.js +5 -2
  195. package/dist/esm/gx-ide-entity-selector_2.entry.js +2 -2
  196. package/dist/esm/gx-ide-kb-manager-export.entry.js +323 -0
  197. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  198. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  199. package/dist/esm/gx-ide-references.entry.js +77 -120
  200. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  201. package/dist/esm/gx-ide-test.entry.js +48 -2
  202. package/dist/esm/gxg-accordion-item.entry.js +1 -1
  203. package/dist/esm/gxg-accordion.entry.js +1 -1
  204. package/dist/esm/gxg-alert.entry.js +1 -1
  205. package/dist/esm/gxg-box.entry.js +1 -1
  206. package/dist/esm/gxg-button-group.entry.js +1 -1
  207. package/dist/esm/gxg-button.entry.js +5 -1
  208. package/dist/esm/gxg-card.entry.js +1 -1
  209. package/dist/esm/gxg-color-picker.entry.js +1 -1
  210. package/dist/esm/gxg-column.entry.js +1 -1
  211. package/dist/esm/gxg-columns.entry.js +1 -1
  212. package/dist/esm/gxg-combo-box_2.entry.js +1 -1
  213. package/dist/esm/gxg-container.entry.js +1 -1
  214. package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
  215. package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
  216. package/dist/esm/gxg-contextual-menu.entry.js +1 -1
  217. package/dist/esm/gxg-demo.entry.js +1 -1
  218. package/dist/esm/gxg-drag-box.entry.js +1 -1
  219. package/dist/esm/gxg-drag-container.entry.js +1 -1
  220. package/dist/esm/gxg-drop-down.entry.js +1 -1
  221. package/dist/esm/gxg-filter.entry.js +1 -1
  222. package/dist/esm/gxg-form-checkbox-group.entry.js +1 -1
  223. package/dist/esm/gxg-form-checkbox.entry.js +1 -1
  224. package/dist/esm/gxg-form-message.entry.js +1 -1
  225. package/dist/esm/gxg-form-radio-group.entry.js +1 -1
  226. package/dist/esm/gxg-form-radio.entry.js +1 -1
  227. package/dist/esm/gxg-form-text.entry.js +1 -1
  228. package/dist/esm/gxg-form-textarea.entry.js +1 -1
  229. package/dist/esm/gxg-label_2.entry.js +16 -3
  230. package/dist/esm/gxg-list-box_2.entry.js +2 -2
  231. package/dist/esm/gxg-loader.entry.js +1 -1
  232. package/dist/esm/gxg-menu-item.entry.js +1 -1
  233. package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
  234. package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
  235. package/dist/esm/gxg-menu-slim.entry.js +1 -1
  236. package/dist/esm/gxg-menu.entry.js +1 -1
  237. package/dist/esm/gxg-modal.entry.js +1 -1
  238. package/dist/esm/gxg-more-info.entry.js +1 -1
  239. package/dist/esm/gxg-option.entry.js +1 -1
  240. package/dist/esm/gxg-options.entry.js +1 -1
  241. package/dist/esm/gxg-pill.entry.js +1 -1
  242. package/dist/esm/gxg-progress-bar.entry.js +1 -1
  243. package/dist/esm/gxg-scroll.entry.js +1 -1
  244. package/dist/esm/gxg-select.entry.js +1 -1
  245. package/dist/esm/gxg-separator.entry.js +1 -1
  246. package/dist/esm/gxg-slider.entry.js +1 -1
  247. package/dist/esm/gxg-spacer-layout.entry.js +1 -1
  248. package/dist/esm/gxg-spacer-one.entry.js +1 -1
  249. package/dist/esm/gxg-stack.entry.js +1 -1
  250. package/dist/esm/gxg-stepper.entry.js +1 -1
  251. package/dist/esm/{gx-ide-container_5.entry.js → gxg-tab_4.entry.js} +5 -122
  252. package/dist/esm/gxg-text.entry.js +1 -1
  253. package/dist/esm/gxg-title.entry.js +1 -1
  254. package/dist/esm/gxg-toggle.entry.js +1 -1
  255. package/dist/esm/gxg-toolbar-item.entry.js +1 -1
  256. package/dist/esm/gxg-toolbar.entry.js +1 -1
  257. package/dist/esm/gxg-tree-view.entry.js +108 -18
  258. package/dist/esm/gxg-tree_2.entry.js +2 -2
  259. package/dist/esm/gxg-window.entry.js +1 -1
  260. package/dist/esm/loader.js +1 -1
  261. package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
  262. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  263. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +18 -0
  264. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +3 -0
  265. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.zh.json +3 -0
  266. package/dist/genexus-ide-ui/p-00ee4c20.entry.js +1 -0
  267. package/dist/genexus-ide-ui/{p-6cd618a8.entry.js → p-063a7519.entry.js} +1 -1
  268. package/dist/genexus-ide-ui/p-089c6906.entry.js +1 -0
  269. package/dist/genexus-ide-ui/{p-b7322149.entry.js → p-094e8c2a.entry.js} +1 -1
  270. package/dist/genexus-ide-ui/{p-4923cffa.entry.js → p-0b4ffc0c.entry.js} +1 -1
  271. package/dist/genexus-ide-ui/p-123b8351.entry.js +1 -0
  272. package/dist/genexus-ide-ui/{p-0200a864.entry.js → p-14d2d3e6.entry.js} +1 -1
  273. package/dist/genexus-ide-ui/{p-2537b4d6.entry.js → p-1684ed2f.entry.js} +1 -1
  274. package/dist/genexus-ide-ui/{p-ebcdef37.entry.js → p-168fd80f.entry.js} +1 -1
  275. package/dist/genexus-ide-ui/{p-76b376d6.entry.js → p-194aba74.entry.js} +1 -1
  276. package/dist/genexus-ide-ui/{p-5f04a6c6.entry.js → p-1dfbe1f4.entry.js} +1 -1
  277. package/dist/genexus-ide-ui/p-2b54a436.entry.js +1 -0
  278. package/dist/genexus-ide-ui/p-2c43b5f6.entry.js +1 -0
  279. package/dist/genexus-ide-ui/{p-2bd01c9e.entry.js → p-2c82165f.entry.js} +1 -1
  280. package/dist/genexus-ide-ui/p-3cca9fd6.entry.js +1 -0
  281. package/dist/genexus-ide-ui/{p-f1ff6b48.entry.js → p-3e16a46a.entry.js} +1 -1
  282. package/dist/genexus-ide-ui/{p-894b33d5.entry.js → p-41a4d845.entry.js} +1 -1
  283. package/dist/genexus-ide-ui/{p-8e0dbe42.entry.js → p-46aba48f.entry.js} +1 -1
  284. package/dist/genexus-ide-ui/p-49ee3d93.entry.js +1 -0
  285. package/dist/genexus-ide-ui/{p-7c88194a.entry.js → p-501ed102.entry.js} +1 -1
  286. package/dist/genexus-ide-ui/p-50372f74.entry.js +1 -0
  287. package/dist/genexus-ide-ui/p-52b88cb7.entry.js +1 -0
  288. package/dist/genexus-ide-ui/{p-875e5979.entry.js → p-54bf71c2.entry.js} +1 -1
  289. package/dist/genexus-ide-ui/{p-4e0c2df1.entry.js → p-5bc1d4a3.entry.js} +1 -1
  290. package/dist/genexus-ide-ui/{p-ea363993.entry.js → p-5f97d2a6.entry.js} +1 -1
  291. package/dist/genexus-ide-ui/{p-e4eb3828.entry.js → p-65141b01.entry.js} +1 -1
  292. package/dist/genexus-ide-ui/{p-893b9559.entry.js → p-652bdc65.entry.js} +1 -1
  293. package/dist/genexus-ide-ui/p-65f03217.entry.js +1 -0
  294. package/dist/genexus-ide-ui/{p-8a02a18c.entry.js → p-69390301.entry.js} +1 -1
  295. package/dist/genexus-ide-ui/p-6cc437c7.entry.js +1 -0
  296. package/dist/genexus-ide-ui/{p-16bd5578.entry.js → p-6dcd4638.entry.js} +1 -1
  297. package/dist/genexus-ide-ui/{p-4e81926d.entry.js → p-6edf0b09.entry.js} +1 -1
  298. package/dist/genexus-ide-ui/{p-455abc7c.entry.js → p-778c879a.entry.js} +1 -1
  299. package/dist/genexus-ide-ui/{p-717456fe.entry.js → p-791dffce.entry.js} +1 -1
  300. package/dist/genexus-ide-ui/{p-08b20f6c.entry.js → p-846625d5.entry.js} +1 -1
  301. package/dist/genexus-ide-ui/{p-f305e4d3.entry.js → p-863d9bc9.entry.js} +1 -1
  302. package/dist/genexus-ide-ui/{p-a244661f.entry.js → p-8fcb9ef7.entry.js} +1 -1
  303. package/dist/genexus-ide-ui/{p-f5802cde.entry.js → p-91ec273e.entry.js} +1 -1
  304. package/dist/genexus-ide-ui/p-9457280f.js +1 -0
  305. package/dist/genexus-ide-ui/{p-115eee61.entry.js → p-949d2567.entry.js} +1 -1
  306. package/dist/genexus-ide-ui/{p-a8b8baf9.entry.js → p-961605f5.entry.js} +1 -1
  307. package/dist/genexus-ide-ui/{p-49f2abf4.entry.js → p-981ea7dc.entry.js} +1 -1
  308. package/dist/genexus-ide-ui/p-987bfa21.entry.js +1 -0
  309. package/dist/genexus-ide-ui/{p-e0556f4e.entry.js → p-9bd22dce.entry.js} +1 -1
  310. package/dist/genexus-ide-ui/{p-db1367b1.entry.js → p-9f0b4651.entry.js} +1 -1
  311. package/dist/genexus-ide-ui/{p-c9aca4d9.entry.js → p-a013c7f4.entry.js} +1 -1
  312. package/dist/genexus-ide-ui/p-a3c596bd.entry.js +1 -0
  313. package/dist/genexus-ide-ui/{p-3ec2f036.entry.js → p-aaa7e647.entry.js} +1 -1
  314. package/dist/genexus-ide-ui/p-ad5040e4.entry.js +1 -0
  315. package/dist/genexus-ide-ui/{p-1e686f3a.entry.js → p-af199bbc.entry.js} +1 -1
  316. package/dist/genexus-ide-ui/{p-a35f09e9.entry.js → p-b38a1146.entry.js} +1 -1
  317. package/dist/genexus-ide-ui/{p-7241defb.entry.js → p-b5f7e9eb.entry.js} +1 -1
  318. package/dist/genexus-ide-ui/{p-b0ff985d.entry.js → p-ba0b98a4.entry.js} +1 -1
  319. package/dist/genexus-ide-ui/p-bbaf476f.entry.js +1 -0
  320. package/dist/genexus-ide-ui/p-bfdff7c2.entry.js +1 -0
  321. package/dist/genexus-ide-ui/{p-999a3e61.entry.js → p-c501299e.entry.js} +1 -1
  322. package/dist/genexus-ide-ui/{p-59ed4cb1.entry.js → p-cb6fe1dc.entry.js} +1 -1
  323. package/dist/genexus-ide-ui/p-cd00ba19.entry.js +1 -0
  324. package/dist/genexus-ide-ui/p-cddb793a.entry.js +1 -0
  325. package/dist/genexus-ide-ui/p-d0d841b7.entry.js +1 -0
  326. package/dist/genexus-ide-ui/{p-cbeac1ab.entry.js → p-d2f2c96e.entry.js} +1 -1
  327. package/dist/genexus-ide-ui/{p-2aeae374.entry.js → p-d3a6f222.entry.js} +1 -1
  328. package/dist/genexus-ide-ui/p-d7b452ef.entry.js +1 -0
  329. package/dist/genexus-ide-ui/p-d8bdcd09.entry.js +1 -0
  330. package/dist/genexus-ide-ui/{p-e4fb3d77.entry.js → p-d9d9f9fa.entry.js} +1 -1
  331. package/dist/genexus-ide-ui/{p-0aa11d6f.entry.js → p-de28d44c.entry.js} +1 -1
  332. package/dist/genexus-ide-ui/{p-098a1397.entry.js → p-e37a19a7.entry.js} +1 -1
  333. package/dist/genexus-ide-ui/{p-c61bf417.entry.js → p-e5275cb9.entry.js} +1 -1
  334. package/dist/genexus-ide-ui/{p-c4536205.entry.js → p-ecc323f1.entry.js} +1 -1
  335. package/dist/genexus-ide-ui/{p-bbd16c80.entry.js → p-f00498d9.entry.js} +1 -1
  336. package/dist/genexus-ide-ui/p-f5c03725.entry.js +1 -0
  337. package/dist/genexus-ide-ui/{p-5d5fde3b.entry.js → p-f74941a6.entry.js} +1 -1
  338. package/dist/genexus-ide-ui/{p-c779a4be.entry.js → p-f7b44578.entry.js} +1 -1
  339. package/dist/genexus-ide-ui/{p-7d69420f.entry.js → p-fbf0dadf.entry.js} +1 -1
  340. package/dist/genexus-ide-ui/p-fd9e60b2.entry.js +1 -0
  341. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/grid/grid-column/ch-grid-column.css +1 -1
  342. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-suggest/test-suggest.css +114 -0
  343. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tooltip/tooltip.css +120 -0
  344. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x → tree-view/tree-x}/tree-x.css +2 -3
  345. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x-list-item → tree-view/tree-x-list-item}/tree-x-list-item.css +3 -6
  346. package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion/accordion.css +6 -8
  347. package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion-item/accordion-item.css +6 -8
  348. package/dist/node_modules/@genexus/gemini/dist/collection/components/alert/alert.css +6 -8
  349. package/dist/node_modules/@genexus/gemini/dist/collection/components/box/box.css +12 -16
  350. package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +26 -8
  351. package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +6 -8
  352. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +6 -8
  353. package/dist/node_modules/@genexus/gemini/dist/collection/components/color-picker/color-picker.css +6 -8
  354. package/dist/node_modules/@genexus/gemini/dist/collection/components/column/column.css +6 -8
  355. package/dist/node_modules/@genexus/gemini/dist/collection/components/columns/columns.css +6 -8
  356. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +12 -16
  357. package/dist/node_modules/@genexus/gemini/dist/collection/components/container/container.css +6 -8
  358. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu/contextual-menu.css +6 -8
  359. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-item/contextual-menu-item.css +6 -8
  360. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-submenu/contextual-menu-submenu.css +6 -8
  361. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +6 -8
  362. package/dist/node_modules/@genexus/gemini/dist/collection/components/demo/demo.css +6 -8
  363. package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-box/drag-box.css +6 -8
  364. package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-container/drag-container.css +6 -8
  365. package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +12 -16
  366. package/dist/node_modules/@genexus/gemini/dist/collection/components/filter/gxg-filter.css +12 -16
  367. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +6 -8
  368. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +6 -8
  369. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-message/form-message.css +6 -8
  370. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +6 -8
  371. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +6 -8
  372. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +6 -8
  373. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +6 -8
  374. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +6 -8
  375. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +6 -8
  376. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +12 -16
  377. package/dist/node_modules/@genexus/gemini/dist/collection/components/icon/icon.css +6 -8
  378. package/dist/node_modules/@genexus/gemini/dist/collection/components/label/gxg-label.css +6 -8
  379. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +12 -16
  380. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +6 -8
  381. package/dist/node_modules/@genexus/gemini/dist/collection/components/loader-gxg/loader.css +6 -8
  382. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu/menu.css +6 -8
  383. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu-item/menu-item.css +6 -8
  384. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/item/item.css +6 -8
  385. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/list/list.css +6 -8
  386. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/menu/menu.css +6 -8
  387. package/dist/node_modules/@genexus/gemini/dist/collection/components/modal/modal.css +6 -8
  388. package/dist/node_modules/@genexus/gemini/dist/collection/components/more-info/more-info.css +6 -8
  389. package/dist/node_modules/@genexus/gemini/dist/collection/components/options/gxg-options.css +18 -24
  390. package/dist/node_modules/@genexus/gemini/dist/collection/components/pill/pill.css +6 -8
  391. package/dist/node_modules/@genexus/gemini/dist/collection/components/progress-bar/progress-bar.css +6 -8
  392. package/dist/node_modules/@genexus/gemini/dist/collection/components/scroll/scroll.css +6 -8
  393. package/dist/node_modules/@genexus/gemini/dist/collection/components/separator/separator.css +6 -8
  394. package/dist/node_modules/@genexus/gemini/dist/collection/components/slider/slider.css +6 -8
  395. package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-layout/spacer-layout.css +6 -8
  396. package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-one/spacer-one.css +6 -8
  397. package/dist/node_modules/@genexus/gemini/dist/collection/components/stack/stack.css +6 -8
  398. package/dist/node_modules/@genexus/gemini/dist/collection/components/stepper/stepper.css +6 -8
  399. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +18 -24
  400. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -8
  401. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +6 -8
  402. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +6 -8
  403. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +12 -16
  404. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +6 -8
  405. package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +6 -8
  406. package/dist/node_modules/@genexus/gemini/dist/collection/components/toggle/toggle.css +6 -8
  407. package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar/toolbar.css +6 -8
  408. package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar-item/toolbar-item.css +6 -8
  409. package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +17 -8
  410. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree/gxg-tree.css +12 -16
  411. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +6 -8
  412. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +137 -21
  413. package/dist/node_modules/@genexus/gemini/dist/collection/components/window/window.css +12 -16
  414. package/dist/types/common/config.d.ts +8 -0
  415. package/dist/types/common/helpers.d.ts +1 -0
  416. package/dist/types/components/directory-selector/directory-selector.d.ts +1 -0
  417. package/dist/types/components/kb-manager-export/helpers.d.ts +5 -0
  418. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +110 -0
  419. package/dist/types/components/references/helpers.d.ts +3 -3
  420. package/dist/types/components/references/references.d.ts +7 -23
  421. package/dist/types/components.d.ts +125 -10
  422. package/package.json +3 -3
  423. package/dist/cjs/update-tree-model-8b154db1.js +0 -53
  424. package/dist/components/ch-tree-x-list.js +0 -6
  425. package/dist/components/tree-x-list.js +0 -31
  426. package/dist/components/update-tree-model.js +0 -50
  427. package/dist/esm/update-tree-model-6c612f05.js +0 -50
  428. package/dist/genexus-ide-ui/p-0268cc45.entry.js +0 -1
  429. package/dist/genexus-ide-ui/p-0425797a.entry.js +0 -1
  430. package/dist/genexus-ide-ui/p-1f3a81e3.entry.js +0 -1
  431. package/dist/genexus-ide-ui/p-2096031c.entry.js +0 -1
  432. package/dist/genexus-ide-ui/p-3657924a.entry.js +0 -1
  433. package/dist/genexus-ide-ui/p-46d393f5.entry.js +0 -1
  434. package/dist/genexus-ide-ui/p-54d15f4d.entry.js +0 -1
  435. package/dist/genexus-ide-ui/p-5669baf5.entry.js +0 -1
  436. package/dist/genexus-ide-ui/p-60b2bd2f.entry.js +0 -1
  437. package/dist/genexus-ide-ui/p-71ecc7fd.js +0 -1
  438. package/dist/genexus-ide-ui/p-8c4b08ea.entry.js +0 -1
  439. package/dist/genexus-ide-ui/p-93b1e1e9.entry.js +0 -1
  440. package/dist/genexus-ide-ui/p-c7425416.entry.js +0 -1
  441. package/dist/genexus-ide-ui/p-ce7a7b5f.entry.js +0 -1
  442. package/dist/genexus-ide-ui/p-d557b2fe.entry.js +0 -1
  443. package/dist/genexus-ide-ui/p-d7f0bc80.entry.js +0 -1
  444. package/dist/genexus-ide-ui/p-dd2e0590.entry.js +0 -1
  445. package/dist/genexus-ide-ui/p-dfea4c44.entry.js +0 -1
  446. package/dist/genexus-ide-ui/p-ed5cf480.entry.js +0 -1
  447. package/dist/genexus-ide-ui/p-f71ee847.entry.js +0 -1
  448. package/dist/genexus-ide-ui/p-f82f25e2.js +0 -1
  449. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-x-list/tree-x-list.css +0 -6
@@ -1495,6 +1495,87 @@ class ChGridManagerRowActions {
1495
1495
  }
1496
1496
  }
1497
1497
 
1498
+ class ChGridManagerColumnResize {
1499
+ constructor(manager, columnId, isRTL) {
1500
+ var _a;
1501
+ this.resizingSingle = (deltaWidth) => {
1502
+ const columnWidth = this.columnWidthStart - deltaWidth * this.dragDirection;
1503
+ if (columnWidth >= 0) {
1504
+ this.column.size = `minmax(min-content, ${columnWidth}px)`;
1505
+ }
1506
+ };
1507
+ this.resizingSplitter = (deltaWidth) => {
1508
+ const columnWidth = this.columnWidthStart - deltaWidth * this.dragDirection;
1509
+ if (columnWidth >= 0) {
1510
+ if (this.columnSizeStart) {
1511
+ this.column.size = this.convertUnit(this.columnSizeStart, this.columnWidthStart, columnWidth);
1512
+ }
1513
+ else {
1514
+ this.column.size = `minmax(min-content, ${columnWidth}px)`;
1515
+ }
1516
+ }
1517
+ if (this.columnAfter) {
1518
+ const columnAfterWidth = this.columnAfterWidthStart + deltaWidth * this.dragDirection;
1519
+ if (columnAfterWidth >= 0) {
1520
+ if (this.columnAfterSizeStart) {
1521
+ this.columnAfter.size = this.convertUnit(this.columnAfterSizeStart, this.columnAfterWidthStart, columnAfterWidth);
1522
+ }
1523
+ else {
1524
+ this.columnAfter.size = `minmax(min-content, ${columnAfterWidth}px)`;
1525
+ }
1526
+ }
1527
+ }
1528
+ };
1529
+ this.manager = manager;
1530
+ this.dragDirection = isRTL ? -1 : 1;
1531
+ if (this.manager.grid.columnResizeMode === "splitter") {
1532
+ this.resizingFn = this.resizingSplitter;
1533
+ this.resizeEndFn = this.resizeEndSplitter;
1534
+ }
1535
+ else {
1536
+ this.resizingFn = this.resizingSingle;
1537
+ this.resizeEndFn = null;
1538
+ }
1539
+ this.column = this.manager.columns.getColumn(columnId);
1540
+ this.columnWidthStart = this.column.getBoundingClientRect().width;
1541
+ this.columnSizeStart = this.parseCSSValue(this.column.size);
1542
+ this.columnAfter = this.manager.getNextColumn(this.column);
1543
+ this.columnAfterWidthStart =
1544
+ (_a = this.columnAfter) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
1545
+ this.columnAfterSizeStart = this.parseCSSValue(this.columnAfter.size);
1546
+ }
1547
+ resizing(deltaWidth) {
1548
+ this.resizingFn(deltaWidth);
1549
+ }
1550
+ resizeEnd() {
1551
+ if (this.resizeEndFn) {
1552
+ this.resizeEndFn();
1553
+ }
1554
+ }
1555
+ resizeEndSplitter() {
1556
+ const columnWidthEnd = this.column.getBoundingClientRect().width;
1557
+ this.column.size = this.convertUnit(this.columnSizeStart, this.columnWidthStart, columnWidthEnd);
1558
+ if (this.columnAfter) {
1559
+ const columnAfterWidthEnd = this.columnAfterWidthStart - (columnWidthEnd - this.columnWidthStart);
1560
+ this.columnAfter.size = this.convertUnit(this.columnSizeStart, this.columnWidthStart, columnAfterWidthEnd);
1561
+ }
1562
+ }
1563
+ parseCSSValue(cssValue) {
1564
+ const match = cssValue.match(/([+-]?[\d.]+)([\w%]+)/);
1565
+ if (match) {
1566
+ const number = parseFloat(match[1]);
1567
+ const unit = match[2];
1568
+ return { number, unit };
1569
+ }
1570
+ else {
1571
+ return null;
1572
+ }
1573
+ }
1574
+ convertUnit(startSize, startWidth, newWidth) {
1575
+ return `${(newWidth * startSize.number) / startWidth}${startSize.unit}`;
1576
+ }
1577
+ }
1578
+
1498
1579
  var StyleRule;
1499
1580
  (function (StyleRule) {
1500
1581
  StyleRule[StyleRule["BASE_LAYER"] = 0] = "BASE_LAYER";
@@ -1568,30 +1649,32 @@ class ChGridManager {
1568
1649
  const rows = this.getRows();
1569
1650
  return rows.reverse().find(row => row.isVisible());
1570
1651
  }
1571
- getPreviousCell(current) {
1572
- const columnOrder = current.column.order;
1573
- const previousColumn = this.columns
1574
- .getColumns()
1575
- .reduce((previous, column) => {
1576
- return column.order < columnOrder &&
1577
- !column.hidden &&
1578
- (!previous || column.order > previous.order)
1579
- ? column
1652
+ getPreviousColumn(column) {
1653
+ return this.columns.getColumns().reduce((previous, current) => {
1654
+ return current.order < column.order &&
1655
+ !current.hidden &&
1656
+ (!previous || current.order > previous.order)
1657
+ ? current
1580
1658
  : previous;
1581
1659
  }, null);
1660
+ }
1661
+ getNextColumn(column) {
1662
+ return this.columns.getColumns().reduce((previous, current) => {
1663
+ return current.order > column.order &&
1664
+ !current.hidden &&
1665
+ (!previous || current.order < previous.order)
1666
+ ? current
1667
+ : previous;
1668
+ }, null);
1669
+ }
1670
+ getPreviousCell(current) {
1671
+ const previousColumn = this.getPreviousColumn(current.column);
1582
1672
  if (previousColumn) {
1583
1673
  return current.row.querySelector(`:scope > ch-grid-cell:nth-of-type(${previousColumn.physicalOrder})`);
1584
1674
  }
1585
1675
  }
1586
1676
  getNextCell(current) {
1587
- const columnOrder = current.column.order;
1588
- const nextColumn = this.columns.getColumns().reduce((previous, column) => {
1589
- return column.order > columnOrder &&
1590
- !column.hidden &&
1591
- (!previous || column.order < previous.order)
1592
- ? column
1593
- : previous;
1594
- }, null);
1677
+ const nextColumn = this.getNextColumn(current.column);
1595
1678
  if (nextColumn) {
1596
1679
  return current.row.querySelector(`:scope > ch-grid-cell:nth-of-type(${nextColumn.physicalOrder})`);
1597
1680
  }
@@ -1673,6 +1756,16 @@ class ChGridManager {
1673
1756
  this.columnDragManager.dragEnd();
1674
1757
  this.columnDragManager = null;
1675
1758
  }
1759
+ columnResizeStart(columnId) {
1760
+ this.columnResizeManager = new ChGridManagerColumnResize(this, columnId, this.isRTLDirection());
1761
+ }
1762
+ columnResizing(deltaWidth) {
1763
+ this.columnResizeManager.resizing(deltaWidth);
1764
+ }
1765
+ columnResizeEnd() {
1766
+ this.columnResizeManager.resizeEnd();
1767
+ this.columnResizeManager = null;
1768
+ }
1676
1769
  rowDragStart(row) {
1677
1770
  this.rowDragManager = new ChGridManagerRowDrag(this);
1678
1771
  this.rowDragManager.dragStart(row);
@@ -1878,6 +1971,13 @@ const ChGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
1878
1971
  * A boolean indicating whether the user can drag column headers to reorder columns.
1879
1972
  */
1880
1973
  this.allowColumnReorder = true;
1974
+ /**
1975
+ * One of "single" or "splitter", indicating the behavior of column resizing.
1976
+ * "single", resize a single column at a time.
1977
+ * "splitter", when adjusts the width of one column, the neighboring columns
1978
+ * are also resized proportionally, maintaining the overall width.
1979
+ */
1980
+ this.columnResizeMode = "single";
1881
1981
  }
1882
1982
  rowFocusedHandler(row, previous) {
1883
1983
  if (row) {
@@ -2154,6 +2254,15 @@ const ChGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
2154
2254
  columnFreezeChangedHandler() {
2155
2255
  this.manager.columns.adjustFreezeOrder();
2156
2256
  }
2257
+ columnResizeStartedHandler(eventInfo) {
2258
+ this.manager.columnResizeStart(eventInfo.detail.columnId);
2259
+ }
2260
+ columnResizingHandler(eventInfo) {
2261
+ this.manager.columnResizing(eventInfo.detail.deltaWidth);
2262
+ }
2263
+ columnResizeFinishedHandler() {
2264
+ this.manager.columnResizeEnd();
2265
+ }
2157
2266
  columnDragStartHandler(eventInfo) {
2158
2267
  this.manager.columnDragStart(eventInfo.detail.columnId);
2159
2268
  }
@@ -2476,6 +2585,7 @@ const ChGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
2476
2585
  "rowFocusedClass": [1, "row-focused-class"],
2477
2586
  "rowMarkedClass": [1, "row-marked-class"],
2478
2587
  "allowColumnReorder": [4, "allow-column-reorder"],
2588
+ "columnResizeMode": [1, "column-resize-mode"],
2479
2589
  "localization": [16],
2480
2590
  "rowFocused": [32],
2481
2591
  "rowHighlighted": [32],
@@ -2501,7 +2611,7 @@ const ChGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
2501
2611
  "getNextRow": [64],
2502
2612
  "getPreviousCell": [64],
2503
2613
  "getNextCell": [64]
2504
- }, [[1, "focus", "focusHandler"], [1, "blur", "blurHandler"], [1, "cellFocused", "cellFocusedHandler"], [8, "keydown", "windowKeyDownHandler"], [1, "keydown", "keyDownHandler"], [1, "mousemove", "mouseMoveHandler"], [1, "mouseleave", "mouseLeaveHandler"], [1, "mousedown", "clickHandler"], [1, "mouseup", "mouseUpHandler"], [1, "dblclick", "dblclickHandler"], [0, "contextmenu", "contextmenuHandler"], [1, "columnSelectorClicked", "columnSelectorClickedHandler"], [1, "cellSelectorClicked", "cellSelectorClickedHandler"], [1, "cellRowActionClicked", "cellRowActionClickedHandler"], [0, "columnHiddenChanged", "columnStyleChangedHandler"], [0, "columnOrderChanged", "columnStyleChangedHandler"], [0, "columnFreezeChanged", "columnStyleChangedHandler"], [0, "columnSizeChanging", "columnStyleChangedHandler"], [0, "columnFreezeChanged", "columnFreezeChangedHandler"], [0, "columnDragStarted", "columnDragStartHandler"], [0, "columnDragging", "columnDraggingHandler"], [0, "columnDragEnded", "columnDragEndHandler"], [0, "rowDragStarted", "rowDragStartHandler"], [0, "rowEnsureVisible", "rowEnsureVisibleHandler"], [0, "cellEnsureVisible", "cellEnsureVisibleHandler"], [0, "settingsShowClicked", "settingsShowClickedHandler"], [0, "settingsCloseClicked", "settingsCloseClickedHandler"]]]);
2614
+ }, [[1, "focus", "focusHandler"], [1, "blur", "blurHandler"], [1, "cellFocused", "cellFocusedHandler"], [8, "keydown", "windowKeyDownHandler"], [1, "keydown", "keyDownHandler"], [1, "mousemove", "mouseMoveHandler"], [1, "mouseleave", "mouseLeaveHandler"], [1, "mousedown", "clickHandler"], [1, "mouseup", "mouseUpHandler"], [1, "dblclick", "dblclickHandler"], [0, "contextmenu", "contextmenuHandler"], [1, "columnSelectorClicked", "columnSelectorClickedHandler"], [1, "cellSelectorClicked", "cellSelectorClickedHandler"], [1, "cellRowActionClicked", "cellRowActionClickedHandler"], [0, "columnHiddenChanged", "columnStyleChangedHandler"], [0, "columnOrderChanged", "columnStyleChangedHandler"], [0, "columnFreezeChanged", "columnStyleChangedHandler"], [0, "columnSizeChanging", "columnStyleChangedHandler"], [0, "columnFreezeChanged", "columnFreezeChangedHandler"], [0, "columnResizeStarted", "columnResizeStartedHandler"], [0, "columnResizing", "columnResizingHandler"], [0, "columnResizeFinished", "columnResizeFinishedHandler"], [0, "columnDragStarted", "columnDragStartHandler"], [0, "columnDragging", "columnDraggingHandler"], [0, "columnDragEnded", "columnDragEndHandler"], [0, "rowDragStarted", "rowDragStartHandler"], [0, "rowEnsureVisible", "rowEnsureVisibleHandler"], [0, "cellEnsureVisible", "cellEnsureVisibleHandler"], [0, "settingsShowClicked", "settingsShowClickedHandler"], [0, "settingsCloseClicked", "settingsCloseClickedHandler"]]]);
2505
2615
  function defineCustomElement() {
2506
2616
  if (typeof customElements === "undefined") {
2507
2617
  return;
@@ -199,7 +199,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
199
199
  windowClosedHandler() {
200
200
  this.textInput.focus();
201
201
  this.windowHidden = true;
202
- this.el.innerHTML = "";
202
+ this.slot.innerHTML = "";
203
203
  }
204
204
  // 9.PUBLIC METHODS API //
205
205
  /**
@@ -211,7 +211,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
211
211
  }
212
212
  // 10.RENDER() FUNCTION //
213
213
  render() {
214
- return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty })))));
214
+ return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty, ref: el => (this.slot = el) })))));
215
215
  }
216
216
  static get delegatesFocus() { return true; }
217
217
  get el() { return this; }
@@ -0,0 +1,119 @@
1
+ import { h, proxyCustomElement, HTMLElement, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$4 } from './ch-suggest2.js';
3
+ import { d as defineCustomElement$3 } from './ch-window2.js';
4
+ import { d as defineCustomElement$2 } from './ch-window-close2.js';
5
+
6
+ /**
7
+ * @description This function converts SelectorCategoryData[] SuggestData
8
+ */
9
+ const convertObjectDataToSuggestData = (selectorCategoriesData) => {
10
+ const suggestData = {
11
+ suggestItems: null,
12
+ suggestLists: []
13
+ };
14
+ if (selectorCategoriesData.length) {
15
+ selectorCategoriesData.forEach(selectorCategory => {
16
+ const suggestList = {
17
+ label: selectorCategory.name,
18
+ items: []
19
+ };
20
+ selectorCategory.items.forEach((objectData) => {
21
+ const suggestItem = {
22
+ value: objectData.id,
23
+ description: objectData.description,
24
+ icon: objectData.icon
25
+ };
26
+ suggestList.items.push(suggestItem);
27
+ });
28
+ suggestData.suggestLists.push(suggestList);
29
+ });
30
+ }
31
+ return suggestData;
32
+ };
33
+
34
+ /* eslint-disable @typescript-eslint/no-use-before-define */
35
+ const renderSuggestLists = (suggestData) => {
36
+ if (suggestData === null || suggestData === void 0 ? void 0 : suggestData.suggestLists.length) {
37
+ const randomNumber = Math.random();
38
+ const result = suggestData.suggestLists.map((list) => {
39
+ return (h("ch-suggest-list", { label: list.label, key: randomNumber }, list.items.map((item) => {
40
+ return renderSuggestListsItem(item);
41
+ })));
42
+ });
43
+ return result;
44
+ }
45
+ return null;
46
+ };
47
+ const renderSuggestListsItem = (suggestItem) => {
48
+ return (h("ch-suggest-list-item", { value: suggestItem.value }, [suggestItem.description || suggestItem.value]));
49
+ };
50
+
51
+ const testSuggestCss = ":host{display:block}:root{--highlight-color:rgb(163, 25, 161)}ch-suggest{display:block}ch-suggest::part(title){display:block;font-weight:bold}ch-suggest::part(label){font-weight:500}ch-suggest[label-position=\"start\"]::part(label){margin-inline-end:8px;display:flex;align-items:center}ch-suggest[label-position=\"above\"]::part(label){margin-block-end:4px}ch-suggest::part(close-button){display:block;width:16px;height:16px}ch-suggest::part(close-button)::after{content:\"✖\";line-height:8px;height:100%;display:block;border:1px solid black;cursor:pointer;text-align:center;line-height:16px}ch-suggest::part(header){display:flex;justify-content:space-between;align-items:center;margin-block-end:8px}ch-suggest::part(ch-window-close){width:10px;height:10px}ch-suggest::part(input){padding:4px 8px;border:1px solid black}ch-suggest::part(input):focus{outline:2px solid var(--highlight-color);border-color:var(--highlight-color)}ch-suggest-list{background-color:rgba(234, 234, 234, 0.224);border:1px solid rgba(128, 128, 128, 0.275);border-radius:4px;padding:8px;margin-block-end:4px}ch-suggest-list::part(title){font-size:14px;font-weight:bold;text-transform:uppercase;margin:4px 0 8px 0}ch-suggest-list-item::part(button){padding:4px 8px;cursor:pointer;gap:4px}ch-suggest-list-item ch-icon{--icon-size:16px;margin-inline-end:2px}ch-suggest-list-item:hover{background-color:var(--ch-color--violet-100)}ch-suggest-list-item:focus,ch-suggest-list-item[selected]:focus{outline:2px solid var(--highlight-color)}ch-suggest-list-item[selected]{background-color:rgba(241, 184, 243, 0.42);outline:none}ch-suggest-list-item::part(button):focus{outline:2px solid var(--highlight-color);border-color:var(--highlight-color)}ch-suggest-list-item::part(content-wrapper){display:flex;gap:8px}ch-suggest::part(dropdown){margin-block-start:4px;border:1px solid black;background-color:white;padding:8px}:focus{outline-style:none !important}";
52
+
53
+ const ChTestSuggest$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
54
+ constructor() {
55
+ super();
56
+ this.__registerHost();
57
+ this.__attachShadow();
58
+ // 5.EVENTS (EMIT) //
59
+ // 6.COMPONENT LIFECYCLE EVENTS //
60
+ // 7.LISTENERS //
61
+ // 8.PUBLIC METHODS API //
62
+ // 9.LOCAL METHODS //
63
+ /**
64
+ * This handler gets fired every time the value of the 'Select Object' ch-suggest changes.
65
+ */
66
+ this.selectObjectValueChangedHandler = async (e) => {
67
+ const value = e.detail;
68
+ this.selectorSourceCallback(value)
69
+ .then(result => {
70
+ /* show suggestions*/
71
+ this.objectsSuggestions = convertObjectDataToSuggestData(result);
72
+ })
73
+ .catch(() => {
74
+ // to do
75
+ });
76
+ };
77
+ }
78
+ // 10.RENDER() FUNCTION //
79
+ render() {
80
+ return (h(Host, null, h("ch-suggest", { onValueChanged: this.selectObjectValueChangedHandler, part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, renderSuggestLists(this.objectsSuggestions))));
81
+ }
82
+ static get style() { return testSuggestCss; }
83
+ }, [1, "ch-test-suggest", {
84
+ "selectorSourceCallback": [16],
85
+ "objectsSuggestions": [32]
86
+ }]);
87
+ function defineCustomElement$1() {
88
+ if (typeof customElements === "undefined") {
89
+ return;
90
+ }
91
+ const components = ["ch-test-suggest", "ch-suggest", "ch-window", "ch-window-close"];
92
+ components.forEach(tagName => { switch (tagName) {
93
+ case "ch-test-suggest":
94
+ if (!customElements.get(tagName)) {
95
+ customElements.define(tagName, ChTestSuggest$1);
96
+ }
97
+ break;
98
+ case "ch-suggest":
99
+ if (!customElements.get(tagName)) {
100
+ defineCustomElement$4();
101
+ }
102
+ break;
103
+ case "ch-window":
104
+ if (!customElements.get(tagName)) {
105
+ defineCustomElement$3();
106
+ }
107
+ break;
108
+ case "ch-window-close":
109
+ if (!customElements.get(tagName)) {
110
+ defineCustomElement$2();
111
+ }
112
+ break;
113
+ } });
114
+ }
115
+
116
+ const ChTestSuggest = ChTestSuggest$1;
117
+ const defineCustomElement = defineCustomElement$1;
118
+
119
+ export { ChTestSuggest, defineCustomElement };
@@ -1,7 +1,6 @@
1
- import { proxyCustomElement, HTMLElement, h, forceUpdate, Host } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$5 } from './checkbox.js';
3
- import { d as defineCustomElement$4 } from './tree-x.js';
4
- import { d as defineCustomElement$3 } from './tree-x-list.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, forceUpdate } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$4 } from './checkbox.js';
3
+ import { d as defineCustomElement$3 } from './tree-x.js';
5
4
  import { d as defineCustomElement$2 } from './tree-x-list-item.js';
6
5
 
7
6
  const testTreeXCss = "ch-test-tree-x{display:contents}";
@@ -9,37 +8,54 @@ const testTreeXCss = "ch-test-tree-x{display:contents}";
9
8
  const DEFAULT_DRAG_DISABLED_VALUE = false;
10
9
  const DEFAULT_DROP_DISABLED_VALUE = false;
11
10
  const DEFAULT_CLASS_VALUE = "tree-view-item";
11
+ const DEFAULT_EDITABLE_ITEMS_VALUE = true;
12
12
  const DEFAULT_EXPANDED_VALUE = false;
13
13
  const DEFAULT_INDETERMINATE_VALUE = false;
14
14
  const DEFAULT_LAZY_VALUE = false;
15
+ const DEFAULT_ORDER_VALUE = 0;
15
16
  const DEFAULT_SELECTED_VALUE = false;
16
17
  const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
17
18
  constructor() {
18
19
  super();
19
20
  this.__registerHost();
21
+ this.checkedItemsChange = createEvent(this, "checkedItemsChange", 7);
22
+ this.itemContextmenu = createEvent(this, "itemContextmenu", 7);
23
+ this.itemOpenReference = createEvent(this, "itemOpenReference", 7);
24
+ this.selectedItemsChange = createEvent(this, "selectedItemsChange", 7);
20
25
  // UI Models
21
26
  this.flattenedTreeModel = new Map();
27
+ this.flattenedCheckboxTreeModel = new Map();
22
28
  this.selectedItems = new Set();
23
- this.flattenedLazyTreeModel = new Map();
24
29
  /**
25
30
  * This property lets you specify if the tree is waiting to process the drop
26
31
  * of items.
27
32
  */
28
33
  this.waitDropProcessing = false;
34
+ /**
35
+ * Set this attribute if you want display a checkbox in all items by default.
36
+ */
37
+ this.checkbox = false;
38
+ /**
39
+ * Set this attribute if you want the checkbox to be checked in all items by
40
+ * default.
41
+ * Only works if `checkbox = true`
42
+ */
43
+ this.checked = false;
29
44
  /**
30
45
  * This attribute lets you specify if the drag operation is disabled in all
31
- * items by default. If `true`, the control can't be dragged.
46
+ * items by default. If `true`, the items can't be dragged.
32
47
  */
33
48
  this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
34
49
  /**
35
50
  * This attribute lets you specify if the drop operation is disabled in all
36
- * items by default. If `true`, the control won't accept any drops.
51
+ * items by default. If `true`, the items won't accept any drops.
37
52
  */
38
53
  this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
39
54
  /**
40
- * This property lets you define the model of the ch-tree-x control.
55
+ * This attribute lets you specify if the edit operation is enabled in all
56
+ * items by default. If `true`, the items can edit its caption in place.
41
57
  */
42
- this.treeModel = [];
58
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
43
59
  /**
44
60
  * Set this attribute if you want to allow multi selection of the items.
45
61
  */
@@ -49,6 +65,17 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
49
65
  * lines.
50
66
  */
51
67
  this.showLines = "none";
68
+ /**
69
+ * Set this attribute if you want all the children item's checkboxes to be
70
+ * checked when the parent item checkbox is checked, or to be unchecked when
71
+ * the parent item checkbox is unchecked.
72
+ * This attribute will be used in all items by default.
73
+ */
74
+ this.toggleCheckboxes = false;
75
+ /**
76
+ * This property lets you define the model of the ch-tree-x control.
77
+ */
78
+ this.treeModel = [];
52
79
  this.handleDroppableZoneEnter = (event) => {
53
80
  if (!this.checkDroppableZoneCallback) {
54
81
  return;
@@ -63,6 +90,7 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
63
90
  });
64
91
  };
65
92
  this.handleSelectedItemsChange = (event) => {
93
+ event.stopPropagation();
66
94
  const itemsToProcess = new Map(event.detail);
67
95
  // Remove no longer selected items
68
96
  this.selectedItems.forEach(selectedItemId => {
@@ -86,12 +114,17 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
86
114
  newSelectedItem.expanded = newSelectedItemInfo.expanded;
87
115
  this.selectedItems.add(itemId);
88
116
  });
117
+ this.selectedItemsChange.emit(event.detail);
89
118
  };
90
119
  this.handleExpandedItemChange = (event) => {
91
120
  const detail = event.detail;
92
121
  const itemInfo = this.flattenedTreeModel.get(detail.id).item;
93
122
  itemInfo.expanded = detail.expanded;
94
123
  };
124
+ this.handleItemContextmenu = (event) => {
125
+ event.stopPropagation();
126
+ this.itemContextmenu.emit(event.detail);
127
+ };
95
128
  this.handleItemsDropped = (event) => {
96
129
  if (!this.dropItemsCallback) {
97
130
  return;
@@ -156,27 +189,32 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
156
189
  itemUIModelExtended.parentItem = newParentUIModel;
157
190
  };
158
191
  this.renderSubModel = (treeSubModel, lastItem, level) => {
159
- var _a, _b;
160
- return (h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: treeSubModel.checkbox, checked: treeSubModel.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, downloading: treeSubModel.downloading, dragDisabled: (_a = treeSubModel.dragDisabled) !== null && _a !== void 0 ? _a : this.dragDisabled, dropDisabled: (_b = treeSubModel.dropDisabled) !== null && _b !== void 0 ? _b : this.dropDisabled, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lastItem: lastItem, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc, level: level, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, showLines: this.showLines, toggleCheckboxes: treeSubModel.toggleCheckboxes }, !treeSubModel.leaf &&
192
+ var _a, _b, _c, _d, _e, _f;
193
+ 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, 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 &&
161
194
  treeSubModel.items != null &&
162
- treeSubModel.items.length !== 0 && (h("ch-tree-x-list", { slot: "tree" }, treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))))));
195
+ treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
163
196
  };
164
197
  this.flattenItemUIModel = (parentModel) => (item) => {
165
- var _a, _b, _c, _d;
198
+ var _a, _b, _c, _d, _e, _f;
166
199
  this.flattenedTreeModel.set(item.id, {
167
200
  parentItem: parentModel,
168
201
  item: item
169
202
  });
203
+ // Add the items that have a checkbox in a separate Map
204
+ if ((_a = item.checkbox) !== null && _a !== void 0 ? _a : this.checkbox) {
205
+ this.flattenedCheckboxTreeModel.set(item.id, {
206
+ parentItem: parentModel,
207
+ item: item
208
+ });
209
+ }
170
210
  // Make sure the properties are with their default values to avoid issues
171
211
  // when reusing DOM nodes
172
212
  item.class || (item.class = DEFAULT_CLASS_VALUE);
173
- (_a = item.expanded) !== null && _a !== void 0 ? _a : (item.expanded = DEFAULT_EXPANDED_VALUE);
174
- (_b = item.indeterminate) !== null && _b !== void 0 ? _b : (item.indeterminate = DEFAULT_INDETERMINATE_VALUE);
175
- (_c = item.lazy) !== null && _c !== void 0 ? _c : (item.lazy = DEFAULT_LAZY_VALUE);
176
- (_d = item.selected) !== null && _d !== void 0 ? _d : (item.selected = DEFAULT_SELECTED_VALUE);
177
- if (item.lazy) {
178
- this.flattenedLazyTreeModel.set(item.id, item);
179
- }
213
+ (_b = item.expanded) !== null && _b !== void 0 ? _b : (item.expanded = DEFAULT_EXPANDED_VALUE);
214
+ (_c = item.indeterminate) !== null && _c !== void 0 ? _c : (item.indeterminate = DEFAULT_INDETERMINATE_VALUE);
215
+ (_d = item.lazy) !== null && _d !== void 0 ? _d : (item.lazy = DEFAULT_LAZY_VALUE);
216
+ (_e = item.order) !== null && _e !== void 0 ? _e : (item.order = DEFAULT_ORDER_VALUE);
217
+ (_f = item.selected) !== null && _f !== void 0 ? _f : (item.selected = DEFAULT_SELECTED_VALUE);
180
218
  if (item.selected) {
181
219
  this.selectedItems.add(item.id);
182
220
  }
@@ -191,9 +229,8 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
191
229
  * lazy state, updates the item's UI Model.
192
230
  */
193
231
  async loadLazyContent(itemId, items, downloading = false, lazy = false) {
194
- const itemToLazyLoadContent = this.flattenedLazyTreeModel.get(itemId);
232
+ const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
195
233
  // Establish that the content was lazy loaded
196
- this.flattenedLazyTreeModel.delete(itemId);
197
234
  itemToLazyLoadContent.downloading = downloading;
198
235
  itemToLazyLoadContent.lazy = lazy;
199
236
  // Check if there is items to add
@@ -204,6 +241,8 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
204
241
  itemToLazyLoadContent.items = items;
205
242
  this.sortItems(itemToLazyLoadContent.items);
206
243
  this.flattenSubModel(itemToLazyLoadContent);
244
+ // Re-sync checked items
245
+ this.emitCheckedItemsChange();
207
246
  // Force re-render
208
247
  forceUpdate(this);
209
248
  }
@@ -301,6 +340,21 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
301
340
  itemInfo[propertyName] = properties[propertyName];
302
341
  });
303
342
  }
343
+ updateCheckboxValue(event) {
344
+ event.stopPropagation();
345
+ const detail = event.detail;
346
+ const treeItemId = detail.id;
347
+ const itemUIModel = this.flattenedCheckboxTreeModel.get(treeItemId);
348
+ // In some cases, when the `treeModel` and `checked` properties are updated
349
+ // outside of the tree control, some events are fired with undefined references
350
+ if (!itemUIModel) {
351
+ return;
352
+ }
353
+ const itemInfo = itemUIModel.item;
354
+ itemInfo.checked = detail.checked;
355
+ itemInfo.indeterminate = detail.indeterminate;
356
+ this.emitCheckedItemsChange();
357
+ }
304
358
  loadLazyChildrenHandler(event) {
305
359
  if (!this.lazyLoadTreeItemsCallback) {
306
360
  return;
@@ -344,11 +398,26 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
344
398
  }
345
399
  });
346
400
  }
401
+ handleOpenReference(event) {
402
+ event.stopPropagation();
403
+ this.itemOpenReference.emit(event.detail);
404
+ }
405
+ emitCheckedItemsChange() {
406
+ // New copy of the checked items
407
+ const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
408
+ // Update the checked value if not defined
409
+ allItemsWithCheckbox.forEach(itemUIModel => {
410
+ var _a;
411
+ var _b;
412
+ (_a = (_b = itemUIModel.item).checked) !== null && _a !== void 0 ? _a : (_b.checked = this.checked);
413
+ });
414
+ this.checkedItemsChange.emit(allItemsWithCheckbox);
415
+ }
347
416
  flattenSubModel(model) {
348
417
  const items = model.items;
349
418
  if (!items) {
350
419
  // Make sure that subtrees don't have an undefined array
351
- if (model.leaf === false) {
420
+ if (model.leaf !== true) {
352
421
  model.items = [];
353
422
  }
354
423
  return;
@@ -364,31 +433,42 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
364
433
  }
365
434
  flattenModel() {
366
435
  this.flattenedTreeModel.clear();
367
- this.flattenedLazyTreeModel.clear();
436
+ this.flattenedCheckboxTreeModel.clear();
437
+ this.selectedItems.clear();
438
+ // The model was updated at runtime, so we need to clear the references
439
+ if (this.treeRef) {
440
+ this.treeRef.clearSelectedItemsInfo();
441
+ }
368
442
  this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
443
+ // Re-sync checked items
444
+ this.emitCheckedItemsChange();
369
445
  }
370
446
  componentWillLoad() {
371
447
  this.flattenModel();
372
448
  }
373
449
  render() {
374
- return (h(Host, null, h("ch-tree-x", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, 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)))));
450
+ 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))));
375
451
  }
376
452
  static get watchers() { return {
377
453
  "treeModel": ["handleTreeModelChange"]
378
454
  }; }
379
455
  static get style() { return testTreeXCss; }
380
456
  }, [0, "ch-test-tree-x", {
457
+ "checkbox": [4],
458
+ "checked": [4],
381
459
  "checkDroppableZoneCallback": [16],
382
460
  "cssClass": [1, "css-class"],
383
461
  "dragDisabled": [4, "drag-disabled"],
384
462
  "dropDisabled": [4, "drop-disabled"],
385
463
  "dropItemsCallback": [16],
386
- "treeModel": [16],
464
+ "editableItems": [4, "editable-items"],
387
465
  "lazyLoadTreeItemsCallback": [16],
388
466
  "modifyItemCaptionCallback": [16],
389
467
  "multiSelection": [4, "multi-selection"],
390
468
  "showLines": [1, "show-lines"],
391
469
  "sortItemsCallback": [16],
470
+ "toggleCheckboxes": [4, "toggle-checkboxes"],
471
+ "treeModel": [16],
392
472
  "waitDropProcessing": [32],
393
473
  "loadLazyContent": [64],
394
474
  "scrollIntoVisible": [64],
@@ -396,12 +476,12 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
396
476
  "updateAllItemsProperties": [64],
397
477
  "updateItemsProperties": [64],
398
478
  "updateValidDropZone": [64]
399
- }, [[0, "loadLazyContent", "loadLazyChildrenHandler"], [0, "modifyCaption", "handleCaptionModification"]]]);
479
+ }, [[0, "checkboxChange", "updateCheckboxValue"], [0, "checkboxToggleChange", "updateCheckboxValue"], [0, "loadLazyContent", "loadLazyChildrenHandler"], [0, "modifyCaption", "handleCaptionModification"], [2, "openReference", "handleOpenReference"]]]);
400
480
  function defineCustomElement$1() {
401
481
  if (typeof customElements === "undefined") {
402
482
  return;
403
483
  }
404
- const components = ["ch-test-tree-x", "ch-checkbox", "ch-tree-x", "ch-tree-x-list", "ch-tree-x-list-item"];
484
+ const components = ["ch-test-tree-x", "ch-checkbox", "ch-tree-x", "ch-tree-x-list-item"];
405
485
  components.forEach(tagName => { switch (tagName) {
406
486
  case "ch-test-tree-x":
407
487
  if (!customElements.get(tagName)) {
@@ -409,16 +489,11 @@ function defineCustomElement$1() {
409
489
  }
410
490
  break;
411
491
  case "ch-checkbox":
412
- if (!customElements.get(tagName)) {
413
- defineCustomElement$5();
414
- }
415
- break;
416
- case "ch-tree-x":
417
492
  if (!customElements.get(tagName)) {
418
493
  defineCustomElement$4();
419
494
  }
420
495
  break;
421
- case "ch-tree-x-list":
496
+ case "ch-tree-x":
422
497
  if (!customElements.get(tagName)) {
423
498
  defineCustomElement$3();
424
499
  }