@genexus/genexus-ide-ui 0.0.92 → 0.0.94
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.
- package/dist/cjs/array-300dcbf5.js +12 -0
- package/dist/cjs/array-300dcbf5.js.map +1 -0
- package/dist/cjs/ch-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ch-action-group-render.cjs.entry.js +1 -1
- package/dist/cjs/ch-action-group_2.cjs.entry.js +1 -1
- package/dist/cjs/ch-alert.cjs.entry.js +1 -1
- package/dist/cjs/ch-checkbox_3.cjs.entry.js +948 -864
- package/dist/cjs/ch-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-dropdown-item-separator.cjs.entry.js +1 -1
- package/dist/cjs/ch-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-dropdown-render.cjs.entry.js +1 -1
- package/dist/cjs/ch-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ch-flexible-layout-render.cjs.entry.js +216 -151
- package/dist/cjs/ch-flexible-layout-render.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-flexible-layout_3.cjs.entry.js +1259 -312
- package/dist/cjs/ch-flexible-layout_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-form-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-action-refresh_7.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-column-display.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-row-actions.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-rowset-empty.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid-virtual-scroller.cjs.entry.js +1 -1
- package/dist/cjs/ch-grid_8.cjs.entry.js +2 -2
- package/dist/cjs/ch-icon.cjs.entry.js +1 -1
- package/dist/cjs/ch-intersection-observer.cjs.entry.js +1 -1
- package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +1 -1
- package/dist/cjs/ch-next-data-modeling_2.cjs.entry.js +1 -1
- package/dist/cjs/ch-next-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ch-notifications-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-notifications.cjs.entry.js +1 -1
- package/dist/cjs/ch-qr.cjs.entry.js +1 -1
- package/dist/cjs/ch-select-option.cjs.entry.js +1 -1
- package/dist/cjs/ch-select.cjs.entry.js +2 -2
- package/dist/cjs/ch-shortcuts_2.cjs.entry.js +1 -2
- package/dist/cjs/ch-shortcuts_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-sidebar-menu-list-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-sidebar-menu-list.cjs.entry.js +1 -1
- package/dist/cjs/ch-sidebar-menu.cjs.entry.js +2 -2
- package/dist/cjs/ch-step-list-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-step-list.cjs.entry.js +1 -1
- package/dist/cjs/ch-style.cjs.entry.js +1 -1
- package/dist/cjs/ch-suggest_4.cjs.entry.js +3 -3
- package/dist/cjs/ch-test-flexible-layout.cjs.entry.js +238 -20
- package/dist/cjs/ch-test-flexible-layout.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-test-suggest.cjs.entry.js +1 -1
- package/dist/cjs/ch-textblock.cjs.entry.js +2 -2
- package/dist/cjs/ch-timer.cjs.entry.js +1 -1
- package/dist/cjs/ch-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/ch-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +5 -3
- package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-tree-view-render_2.cjs.entry.js +791 -606
- package/dist/cjs/ch-tree-view-render_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-tree.cjs.entry.js +1 -1
- package/dist/cjs/ch-window_2.cjs.entry.js +1 -1
- package/dist/cjs/{common-f34f3bdb.js → common-4114cd52.js} +2 -2
- package/dist/cjs/{common-f34f3bdb.js.map → common-4114cd52.js.map} +1 -1
- package/dist/cjs/{form-ed642807.js → form-fa8928cb.js} +2 -2
- package/dist/cjs/{form-ed642807.js.map → form-fa8928cb.js.map} +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
- package/dist/cjs/gx-grid-chameleon.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-container_3.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +11 -4
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +10 -20
- package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +3 -3
- package/dist/cjs/gxg-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
- package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
- package/dist/cjs/gxg-box.cjs.entry.js +1 -1
- package/dist/cjs/gxg-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/gxg-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/gxg-button-group.cjs.entry.js +2 -2
- package/dist/cjs/gxg-button_2.cjs.entry.js +3 -3
- package/dist/cjs/gxg-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-card_2.cjs.entry.js +8 -7
- package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/gxg-column.cjs.entry.js +1 -1
- package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +3 -3
- package/dist/cjs/gxg-container.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu.cjs.entry.js +1 -1
- package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drop-down.cjs.entry.js +2 -2
- package/dist/cjs/gxg-filter-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/gxg-form-message.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-radio.cjs.entry.js +4 -4
- package/dist/cjs/gxg-form-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-form-text.cjs.entry.js +3 -3
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +7 -7
- package/dist/cjs/gxg-form-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-ide-loader.cjs.entry.js +1 -1
- package/dist/cjs/gxg-label_2.cjs.entry.js +2 -2
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +158 -141
- package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
- package/dist/cjs/gxg-modal.cjs.entry.js +2 -2
- package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
- package/dist/cjs/gxg-option-v2.cjs.entry.js +1 -1
- package/dist/cjs/gxg-option.cjs.entry.js +1 -1
- package/dist/cjs/gxg-options-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-options.cjs.entry.js +2 -2
- package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
- package/dist/cjs/gxg-pill.cjs.entry.js +2 -2
- package/dist/cjs/gxg-pills.cjs.entry.js +2 -2
- package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
- package/dist/cjs/gxg-select-v2.cjs.entry.js +2 -2
- package/dist/cjs/gxg-select.cjs.entry.js +3 -3
- package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
- package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
- package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
- package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
- package/dist/cjs/gxg-split.cjs.entry.js +1 -1
- package/dist/cjs/gxg-splitter.cjs.entry.js +1 -1
- package/dist/cjs/gxg-stack.cjs.entry.js +1 -1
- package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js +2 -2
- package/dist/cjs/gxg-test.cjs.entry.js +163 -6
- package/dist/cjs/gxg-test.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-text.cjs.entry.js +2 -2
- package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
- package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tree-grid-divs.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tree-item.cjs.entry.js +38 -33
- package/dist/cjs/gxg-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-tree.cjs.entry.js +1 -1
- package/dist/cjs/gxg-window.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-40d78bf9.js → helpers-01aea623.js} +2 -2
- package/dist/cjs/{helpers-40d78bf9.js.map → helpers-01aea623.js.map} +1 -1
- package/dist/cjs/{index-edccf065.js → index-41ca7a2c.js} +2 -2
- package/dist/cjs/{index-edccf065.js.map → index-41ca7a2c.js.map} +1 -1
- package/dist/cjs/{index-c66d7fae.js → index-88537600.js} +2 -10
- package/dist/{esm/index-2d51259e.js.map → cjs/index-88537600.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{render-combo-items-1a9782e0.js → render-combo-items-a497f337.js} +2 -2
- package/dist/cjs/{render-combo-items-1a9782e0.js.map → render-combo-items-a497f337.js.map} +1 -1
- package/dist/cjs/{render-suggest-497f9dc2.js → render-suggest-22c4d886.js} +2 -2
- package/dist/cjs/{render-suggest-497f9dc2.js.map → render-suggest-22c4d886.js.map} +1 -1
- package/dist/cjs/{store-ff9e2cad.js → store-027ba050.js} +2 -2
- package/dist/cjs/{store-ff9e2cad.js.map → store-027ba050.js.map} +1 -1
- package/dist/cjs/utils-0d8557ae.js +150 -0
- package/dist/cjs/utils-0d8557ae.js.map +1 -0
- package/dist/cjs/{utils-5ba52db3.js → utils-438c7042.js} +9 -1
- package/dist/cjs/utils-438c7042.js.map +1 -0
- package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +1 -1
- package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +13 -3
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/components/array.js +9 -0
- package/dist/components/array.js.map +1 -0
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.js +5 -4
- package/dist/components/card.js.map +1 -1
- package/dist/components/ch-test-flexible-layout.js +237 -19
- package/dist/components/ch-test-flexible-layout.js.map +1 -1
- package/dist/components/ch-tree-view-render-wrapper.js +6 -2
- package/dist/components/ch-tree-view-render-wrapper.js.map +1 -1
- package/dist/components/date-picker.js +8 -18
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/flexible-layout-render.js +220 -154
- package/dist/components/flexible-layout-render.js.map +1 -1
- package/dist/components/flexible-layout.js +336 -55
- package/dist/components/flexible-layout.js.map +1 -1
- package/dist/components/form-radio.js +3 -3
- package/dist/components/form-radio.js.map +1 -1
- package/dist/components/form-textarea.js +4 -4
- package/dist/components/form-textarea.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +12 -3
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-status-buttons2.js +1 -1
- package/dist/components/gx-ide-status-buttons2.js.map +1 -1
- package/dist/components/gxg-test.js +200 -15
- package/dist/components/gxg-test.js.map +1 -1
- package/dist/components/gxg-tree-item.js +37 -32
- package/dist/components/gxg-tree-item.js.map +1 -1
- package/dist/components/layout-splitter.js +452 -187
- package/dist/components/layout-splitter.js.map +1 -1
- package/dist/components/list-box-item.js +6 -6
- package/dist/components/list-box-item.js.map +1 -1
- package/dist/components/list-box.js +149 -132
- package/dist/components/list-box.js.map +1 -1
- package/dist/components/shortcuts.js +0 -1
- package/dist/components/shortcuts.js.map +1 -1
- package/dist/components/tab.js +591 -127
- package/dist/components/tab.js.map +1 -1
- package/dist/components/tree-view-item.js +523 -472
- package/dist/components/tree-view-item.js.map +1 -1
- package/dist/components/tree-view-render.js +788 -602
- package/dist/components/tree-view-render.js.map +1 -1
- package/dist/components/tree-view.js +432 -398
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/tree-view2.js +9 -5
- package/dist/components/tree-view2.js.map +1 -1
- package/dist/components/utils.js +7 -1
- package/dist/components/utils.js.map +1 -1
- package/dist/components/utils2.js +52 -0
- package/dist/components/utils2.js.map +1 -0
- package/dist/esm/array-e181c3b5.js +9 -0
- package/dist/esm/array-e181c3b5.js.map +1 -0
- package/dist/esm/ch-accordion.entry.js +1 -1
- package/dist/esm/ch-action-group-render.entry.js +1 -1
- package/dist/esm/ch-action-group_2.entry.js +1 -1
- package/dist/esm/ch-alert.entry.js +1 -1
- package/dist/esm/ch-checkbox_3.entry.js +948 -864
- package/dist/esm/ch-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ch-dropdown-item-separator.entry.js +1 -1
- package/dist/esm/ch-dropdown-item.entry.js +1 -1
- package/dist/esm/ch-dropdown-render.entry.js +1 -1
- package/dist/esm/ch-dropdown.entry.js +1 -1
- package/dist/esm/ch-flexible-layout-render.entry.js +216 -151
- package/dist/esm/ch-flexible-layout-render.entry.js.map +1 -1
- package/dist/esm/ch-flexible-layout_3.entry.js +1259 -312
- package/dist/esm/ch-flexible-layout_3.entry.js.map +1 -1
- package/dist/esm/ch-form-checkbox.entry.js +1 -1
- package/dist/esm/ch-grid-action-refresh_7.entry.js +1 -1
- package/dist/esm/ch-grid-column-display.entry.js +1 -1
- package/dist/esm/ch-grid-infinite-scroll.entry.js +1 -1
- package/dist/esm/ch-grid-row-actions.entry.js +1 -1
- package/dist/esm/ch-grid-rowset-empty.entry.js +1 -1
- package/dist/esm/ch-grid-rowset-legend.entry.js +1 -1
- package/dist/esm/ch-grid-virtual-scroller.entry.js +1 -1
- package/dist/esm/ch-grid_8.entry.js +2 -2
- package/dist/esm/ch-icon.entry.js +1 -1
- package/dist/esm/ch-intersection-observer.entry.js +1 -1
- package/dist/esm/ch-next-data-modeling-render.entry.js +1 -1
- package/dist/esm/ch-next-data-modeling_2.entry.js +1 -1
- package/dist/esm/ch-next-progress-bar.entry.js +1 -1
- package/dist/esm/ch-notifications-item.entry.js +1 -1
- package/dist/esm/ch-notifications.entry.js +1 -1
- package/dist/esm/ch-qr.entry.js +1 -1
- package/dist/esm/ch-select-option.entry.js +1 -1
- package/dist/esm/ch-select.entry.js +2 -2
- package/dist/esm/ch-shortcuts_2.entry.js +1 -2
- package/dist/esm/ch-shortcuts_2.entry.js.map +1 -1
- package/dist/esm/ch-sidebar-menu-list-item.entry.js +1 -1
- package/dist/esm/ch-sidebar-menu-list.entry.js +1 -1
- package/dist/esm/ch-sidebar-menu.entry.js +2 -2
- package/dist/esm/ch-step-list-item.entry.js +1 -1
- package/dist/esm/ch-step-list.entry.js +1 -1
- package/dist/esm/ch-style.entry.js +1 -1
- package/dist/esm/ch-suggest_4.entry.js +3 -3
- package/dist/esm/ch-test-flexible-layout.entry.js +238 -20
- package/dist/esm/ch-test-flexible-layout.entry.js.map +1 -1
- package/dist/esm/ch-test-suggest.entry.js +1 -1
- package/dist/esm/ch-textblock.entry.js +2 -2
- package/dist/esm/ch-timer.entry.js +1 -1
- package/dist/esm/ch-tooltip.entry.js +1 -1
- package/dist/esm/ch-tree-item.entry.js +1 -1
- package/dist/esm/ch-tree-view-render-wrapper.entry.js +5 -3
- package/dist/esm/ch-tree-view-render-wrapper.entry.js.map +1 -1
- package/dist/esm/ch-tree-view-render_2.entry.js +790 -605
- package/dist/esm/ch-tree-view-render_2.entry.js.map +1 -1
- package/dist/esm/ch-tree.entry.js +1 -1
- package/dist/esm/ch-window_2.entry.js +1 -1
- package/dist/esm/{common-c414e768.js → common-f3b421ed.js} +2 -2
- package/dist/esm/{common-c414e768.js.map → common-f3b421ed.js.map} +1 -1
- package/dist/esm/{form-9bfc4e06.js → form-bcdc7789.js} +2 -2
- package/dist/esm/{form-9bfc4e06.js.map → form-bcdc7789.js.map} +1 -1
- package/dist/esm/genexus-ide-ui.js +3 -3
- package/dist/esm/gx-grid-chameleon.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +3 -3
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-container_3.entry.js +2 -2
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +11 -4
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
- package/dist/esm/gx-ide-entity-selector_2.entry.js +10 -20
- package/dist/esm/gx-ide-entity-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-selector.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +3 -3
- package/dist/esm/gx-ide-new-kb.entry.js +2 -2
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +3 -3
- package/dist/esm/gx-ide-recent-news.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +2 -2
- package/dist/esm/gx-ide-share-kb.entry.js +2 -2
- package/dist/esm/gx-ide-start-page.entry.js +2 -2
- package/dist/esm/gx-ide-status-buttons.entry.js +2 -2
- package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
- package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
- package/dist/esm/gx-ide-switcher.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +3 -3
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-top-bar.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +3 -3
- package/dist/esm/gxg-accordion-item.entry.js +2 -2
- package/dist/esm/gxg-accordion.entry.js +1 -1
- package/dist/esm/gxg-alert.entry.js +1 -1
- package/dist/esm/gxg-box.entry.js +1 -1
- package/dist/esm/gxg-breadcrumb.entry.js +1 -1
- package/dist/esm/gxg-breadcrumbs.entry.js +1 -1
- package/dist/esm/gxg-button-group.entry.js +2 -2
- package/dist/esm/gxg-button_2.entry.js +3 -3
- package/dist/esm/gxg-button_2.entry.js.map +1 -1
- package/dist/esm/gxg-card_2.entry.js +8 -7
- package/dist/esm/gxg-card_2.entry.js.map +1 -1
- package/dist/esm/gxg-color-picker.entry.js +1 -1
- package/dist/esm/gxg-column.entry.js +1 -1
- package/dist/esm/gxg-columns.entry.js +1 -1
- package/dist/esm/gxg-combo-box_2.entry.js +3 -3
- package/dist/esm/gxg-container.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu.entry.js +1 -1
- package/dist/esm/gxg-demo.entry.js +1 -1
- package/dist/esm/gxg-drag-box.entry.js +1 -1
- package/dist/esm/gxg-drag-container.entry.js +1 -1
- package/dist/esm/gxg-drop-down.entry.js +2 -2
- package/dist/esm/gxg-filter-item.entry.js +1 -1
- package/dist/esm/gxg-filter.entry.js +1 -1
- package/dist/esm/gxg-form-checkbox-group.entry.js +2 -2
- package/dist/esm/gxg-form-checkbox.entry.js +3 -3
- package/dist/esm/gxg-form-message.entry.js +2 -2
- package/dist/esm/gxg-form-radio-group.entry.js +2 -2
- package/dist/esm/gxg-form-radio.entry.js +4 -4
- package/dist/esm/gxg-form-radio.entry.js.map +1 -1
- package/dist/esm/gxg-form-text.entry.js +3 -3
- package/dist/esm/gxg-form-textarea.entry.js +7 -7
- package/dist/esm/gxg-form-textarea.entry.js.map +1 -1
- package/dist/esm/gxg-ide-loader.entry.js +1 -1
- package/dist/esm/gxg-label_2.entry.js +2 -2
- package/dist/esm/gxg-list-box_2.entry.js +158 -141
- package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-loader.entry.js +1 -1
- package/dist/esm/gxg-menu-item.entry.js +1 -1
- package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
- package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
- package/dist/esm/gxg-menu-slim.entry.js +1 -1
- package/dist/esm/gxg-menu.entry.js +1 -1
- package/dist/esm/gxg-modal.entry.js +2 -2
- package/dist/esm/gxg-more-info.entry.js +1 -1
- package/dist/esm/gxg-option-v2.entry.js +1 -1
- package/dist/esm/gxg-option.entry.js +1 -1
- package/dist/esm/gxg-options-item.entry.js +1 -1
- package/dist/esm/gxg-options.entry.js +2 -2
- package/dist/esm/gxg-paginator.entry.js +1 -1
- package/dist/esm/gxg-pill.entry.js +2 -2
- package/dist/esm/gxg-pills.entry.js +2 -2
- package/dist/esm/gxg-progress-bar.entry.js +1 -1
- package/dist/esm/gxg-scroll.entry.js +1 -1
- package/dist/esm/gxg-select-v2.entry.js +2 -2
- package/dist/esm/gxg-select.entry.js +3 -3
- package/dist/esm/gxg-separator.entry.js +1 -1
- package/dist/esm/gxg-slider.entry.js +1 -1
- package/dist/esm/gxg-spacer-layout.entry.js +1 -1
- package/dist/esm/gxg-spacer-one.entry.js +1 -1
- package/dist/esm/gxg-split.entry.js +1 -1
- package/dist/esm/gxg-splitter.entry.js +1 -1
- package/dist/esm/gxg-stack.entry.js +1 -1
- package/dist/esm/gxg-stepper.entry.js +1 -1
- package/dist/esm/gxg-tab_4.entry.js +2 -2
- package/dist/esm/gxg-test.entry.js +163 -6
- package/dist/esm/gxg-test.entry.js.map +1 -1
- package/dist/esm/gxg-text.entry.js +2 -2
- package/dist/esm/gxg-toggle.entry.js +1 -1
- package/dist/esm/gxg-toolbar-item.entry.js +1 -1
- package/dist/esm/gxg-toolbar.entry.js +1 -1
- package/dist/esm/gxg-tree-grid-divs.entry.js +1 -1
- package/dist/esm/gxg-tree-item.entry.js +38 -33
- package/dist/esm/gxg-tree-item.entry.js.map +1 -1
- package/dist/esm/gxg-tree.entry.js +1 -1
- package/dist/esm/gxg-window.entry.js +1 -1
- package/dist/esm/{helpers-c1a0fa8e.js → helpers-7a7ae540.js} +2 -2
- package/dist/esm/{helpers-c1a0fa8e.js.map → helpers-7a7ae540.js.map} +1 -1
- package/dist/esm/{index-6960469c.js → index-08adb93b.js} +2 -2
- package/dist/esm/{index-6960469c.js.map → index-08adb93b.js.map} +1 -1
- package/dist/esm/{index-2d51259e.js → index-692bb924.js} +2 -10
- package/dist/esm/index-692bb924.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-combo-items-65457163.js → render-combo-items-eb2a54b4.js} +2 -2
- package/dist/esm/{render-combo-items-65457163.js.map → render-combo-items-eb2a54b4.js.map} +1 -1
- package/dist/esm/{render-suggest-9c876328.js → render-suggest-47b8bc70.js} +2 -2
- package/dist/esm/{render-suggest-9c876328.js.map → render-suggest-47b8bc70.js.map} +1 -1
- package/dist/esm/{store-5e68d7e0.js → store-7887c6b7.js} +2 -2
- package/dist/esm/{store-5e68d7e0.js.map → store-7887c6b7.js.map} +1 -1
- package/dist/esm/{utils-b9f4c3b4.js → utils-b8c6bdd1.js} +8 -2
- package/dist/esm/utils-b8c6bdd1.js.map +1 -0
- package/dist/esm/utils-ea89d74e.js +131 -0
- package/dist/esm/utils-ea89d74e.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/arrows.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/cancel-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/cancel-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/compensation-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/compensation-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/compensation-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/compensation-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/conditional-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/conditional-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/conditional-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/conditional-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/conditional.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/delete.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/error-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/error-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/escalation-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/link-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/link-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/message-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/multiple-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/oval-doble.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/oval.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/paralell-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/paralell-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/paralell-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/paralell-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/person.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-3.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/signal-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/subprocess.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/tasks.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/terminale-4.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/timer-1.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/timer-2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/timer-5.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/bpm/timer-6.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/action-group-item.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/action-group.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/button-group.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/button.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/call-target.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/canva.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/class-html.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/component.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/default.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/embedded-page.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/error-viewer.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/file-upload.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/flex.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/font.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/free-style-grid.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/google-analytics.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/google-annotated-tmeline.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/google-charts.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/google-geomap.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/grid.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/group.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/gx-scheduler.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/history-manager.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/horizontal-line.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/html.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/hyperlink.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/id-html.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/media-player.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/messages.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/pop-up.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/section.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/smart-table.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/snippet.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/tab-page.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/tab.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/table-cell.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/table-column.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/table-row.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/table.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/tag-html.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/text-block.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/treeview.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/controls/variable.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-description.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-formula.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/attribute-key.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/default.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/platforms.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/redundant-attribute.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/system-index.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/editing-structures/user-index.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/add-circle.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/add.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/card-view.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/close.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/color-picker.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/delete.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/deleted.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/download.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/duplicate.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/edit-wand.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/empty.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/error.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/file.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/flow-arrow.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/folder.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/list-view.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/minus-circle.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/minus.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/more-info.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/notice.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/open-window.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/read-only.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/reset.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/search.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/show-more-horizontal.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/show-more-vertical.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/success.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/warning.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/android.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/angular.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/apple.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/csharp.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/customization.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/datastore.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/db2.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/environment-no-select.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/environment-select.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/generator.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/informix.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/java.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/knowledge-base.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/mysql.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/oracle.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/patterns.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/postgre-sql.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/references.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/sap-hana.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/sd-web.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/services.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/sql-server.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/swift.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/general/version.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/changes-commit-pending.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/conflict.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/delete.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/internal.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/lock-by-user-changes.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/lock-by-user-reserve.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/lock-without-changes.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/new.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/private.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-server/public.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/cutfo.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/explorer.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/image.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/plus.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/record-mock.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/result-error.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/result-exception.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/result-ok.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/result-skipped.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/result-warning.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-test-cancel.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-test-suite.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-tests.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-ui-test-sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-ui-test-web.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/run-unit-test.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/screenshot-viewer.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/test-folder-open.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/test-folder.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/test-results.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/test-suite.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/ui-test-sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/ui-test-web.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/unit-test-db.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gx-test/unit-test.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/build-all.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/build.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/cancel-build.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/copy.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/create-database-tables.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/cut.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/delete.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/find.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/new-object.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/open-object.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/paste.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/properties.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/redo.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/run.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/save-all.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/save.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/undo-close-object.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/menus/undo.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/arrow-down-skyblue.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/arrow-down.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/arrow-left.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/arrow-right.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/arrow-up.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/bullet.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/chevron-down.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/chevron-left.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/chevron-right.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/chevron-up.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/drag.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/gx-arrow-right.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/level-down.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/level-up.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/pill-filled.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/navigation/pill-outlined.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/api.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/attribute.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/bg-color.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/business-process-diagram.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/calendars.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/category.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/conversational-flows.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/customization.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/dashboard.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/data-provider.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/data-selector.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/data-view.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/datastore-category.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/datastore.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/dataview-index.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/deployment-unit.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/design.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/diagram.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/document-workflow.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/document.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/domain.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/dso.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/environment-no-select.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/environment-select.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/external-object.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/file.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/folder.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/generator-category.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/generator.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/image.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/knowledge-base.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/lenguage.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/masterpage.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/menu.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/menubar.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/mini-app.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/module.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/notification-templates.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/object.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/offline-database.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/orphant-document.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/panel-for-sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/patterns.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/procedure.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/query.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/references.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/report.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/roles.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/stencil.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/structured-data-type.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/subtype-group.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/super-app.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/table.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/theme-for-sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/theme.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/to-be-defined.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/transaction.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/url-rewrite.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/version.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/web-component.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/webpanel.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/work-panel.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects/workflow.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects-parts/condition.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects-parts/conditions.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects-parts/events.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects-parts/rules.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/objects-parts/variables.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/attributes.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/cell.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/detail.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/documentation.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/events.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/filters.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/fixed-data.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/list.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/orders.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/parameter.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/parameters.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/pattern-category.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/row.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/structure.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/tab.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/tabs.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/work-with-web.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns/workwith-for-sd.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/default-associated.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/modified.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/patterns-default-associated/synchronized.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/alphabetical-order.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/backend.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/breakpoints.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/category-groups.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/datastores.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/debugx.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/error-list.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/filter-conditions.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/filter.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/frontend.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/genexus-cloud.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/history.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/indexer-monitor.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/kb-explorer.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/last-changes-view.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/logout.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/output.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/performance-test-objects.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/preferences.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/properties.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/references.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/responsive-sizes.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/rol.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/roles.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/services.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/teamdev.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/toolbox.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/watch.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/work-with-attributes.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/workflow-settings.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/window-tools/workflow.svg +1 -1
- package/dist/genexus-ide-ui/{p-4335d78d.entry.js → p-001372c2.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-8480a5f7.entry.js → p-038675b4.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-132f1a53.entry.js → p-04d751fa.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-de8ceb68.entry.js → p-06cdf966.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6ac4aef1.entry.js → p-07f5e845.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-7bb7cdeb.js → p-08f45769.js} +2 -2
- package/dist/genexus-ide-ui/{p-1472c78f.js → p-099548f7.js} +2 -2
- package/dist/genexus-ide-ui/{p-c1b7bf2f.entry.js → p-0b3dfc86.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3f035c0a.js → p-0c088e26.js} +2 -2
- package/dist/genexus-ide-ui/{p-a17d61be.entry.js → p-0c10e042.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4d278798.entry.js → p-0d246e5b.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-aa670e68.entry.js → p-0f4cf364.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-bb341c47.entry.js → p-1023012c.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-04111560.entry.js → p-10c578a4.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-53e5df3b.entry.js → p-10ca43ee.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a5c57b1d.entry.js → p-1538ac27.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-024533a2.entry.js → p-1564762f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f28d7f68.entry.js → p-15781838.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-637a5168.entry.js → p-18e48464.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-fe6cf49e.entry.js → p-1964e138.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-3174871a.entry.js → p-1a297683.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-86ee3387.entry.js → p-208041b8.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-8b08f173.entry.js → p-25220e28.entry.js} +17 -26
- package/dist/genexus-ide-ui/{p-8b08f173.entry.js.map → p-25220e28.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-4520e2a2.entry.js → p-28a6ab9a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7e79f920.entry.js → p-2a6f5aba.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-5f89e42d.entry.js → p-2e0a1960.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c5df7133.entry.js → p-30b7297d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6548d418.entry.js → p-352e2c20.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1117db17.entry.js → p-36ff173f.entry.js} +9 -9
- package/dist/genexus-ide-ui/{p-159a5a60.entry.js → p-37ce39e3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-942233fc.entry.js → p-3ae7428e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8518f9f5.entry.js → p-3aed87e1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-444e50ee.entry.js → p-3c2357cf.entry.js} +5 -5
- package/dist/genexus-ide-ui/p-3d131f61.entry.js +1428 -0
- package/dist/genexus-ide-ui/p-3d131f61.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-04adc77d.entry.js → p-3ddac2b8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f5e5b21e.entry.js → p-3f0b6af7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0604bbee.entry.js → p-40c3529a.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-a4d5d277.entry.js → p-43554153.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d4b165db.entry.js → p-43ffe165.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-92f45796.entry.js → p-47bcd3a6.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-57137c83.entry.js → p-4b9b3e4e.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4c12ed5a.entry.js +1085 -0
- package/dist/genexus-ide-ui/p-4c12ed5a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-96a559ce.entry.js → p-4f376659.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-71298dc8.entry.js → p-4f3c94c4.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4f3c94c4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-479de27c.entry.js → p-4f6eaae0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b78719d3.js → p-5028570f.js} +2 -2
- package/dist/genexus-ide-ui/{p-9c1fa094.entry.js → p-51c8754e.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-780a3309.entry.js → p-51e1d34e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f974b905.entry.js → p-5201a218.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-e2537609.entry.js → p-529d5f14.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-5cc59da8.entry.js → p-54975e06.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6281ca3e.entry.js → p-57978bf3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7f782726.entry.js → p-5a5e9459.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5cec37bc.entry.js → p-5b2f8741.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-2cdf5c87.entry.js → p-5c0d6f9b.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3149e6f2.entry.js → p-5e4b2563.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-5f671d1f.js +9 -0
- package/dist/genexus-ide-ui/p-5f671d1f.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7b60fc65.entry.js → p-603800f2.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-ea80da25.entry.js → p-61fa38a0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0c1ef5eb.entry.js → p-642aff55.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-62caab49.entry.js → p-64848f25.entry.js} +5 -5
- package/dist/genexus-ide-ui/{p-f3a99271.entry.js → p-64cdf586.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-23277761.entry.js → p-6511f892.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-99f5be87.entry.js → p-651ca405.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-547656dd.entry.js → p-66730660.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4a0316b9.entry.js → p-6846e080.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1d606552.entry.js → p-6889dc5c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e47bba0e.entry.js → p-69837f5a.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-6b66ce90.entry.js +17 -0
- package/dist/genexus-ide-ui/{p-95c85944.js → p-6bfe0db9.js} +2 -2
- package/dist/genexus-ide-ui/{p-2a3af5ac.entry.js → p-6e05bc89.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-04d6cd2d.entry.js → p-730a90b0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a94a20a4.entry.js → p-73269d9d.entry.js} +5 -5
- package/dist/genexus-ide-ui/{p-2e3e48f6.entry.js → p-73a078e2.entry.js} +551 -497
- package/dist/genexus-ide-ui/p-73a078e2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8d8d2e4c.entry.js → p-75dde376.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-11225a5a.entry.js → p-7692f269.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e4c542c6.js → p-7c350e3f.js} +2 -2
- package/dist/genexus-ide-ui/{p-635dacc5.entry.js → p-7c7c26ab.entry.js} +384 -368
- package/dist/genexus-ide-ui/p-7c7c26ab.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-97baa2a4.entry.js → p-7c8e949f.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-97baa2a4.entry.js.map → p-7c8e949f.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-2edf390a.entry.js → p-7da9797d.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-d5d95242.entry.js → p-7e66544c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-cdf82b7f.entry.js → p-7ee0b797.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-65ac0693.entry.js → p-7ef60196.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f2a206c9.entry.js → p-801635fa.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-e66b63b6.entry.js → p-8049dfe8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3230c967.entry.js → p-8070ead3.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-3230c967.entry.js.map → p-8070ead3.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-13fb9b0c.entry.js → p-8343ae2e.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-e266fd1e.entry.js → p-8624a495.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-a18c4312.entry.js → p-8708a417.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-5943edc4.entry.js → p-88455969.entry.js} +189 -44
- package/dist/genexus-ide-ui/p-88455969.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-aada8352.entry.js → p-8b7fa9a4.entry.js} +18 -10
- package/dist/genexus-ide-ui/p-8b7fa9a4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-8dca63f8.entry.js +1243 -0
- package/dist/genexus-ide-ui/p-8dca63f8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-8dcfc193.js +143 -0
- package/dist/genexus-ide-ui/p-8dcfc193.js.map +1 -0
- package/dist/genexus-ide-ui/{p-aed7c461.entry.js → p-90234b7d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9feb37f7.entry.js → p-908971c9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ce4512a9.entry.js → p-917eb5c8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c4dc84ef.entry.js → p-94fb2adc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0ddd47ff.entry.js → p-9590ccf3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-93998965.entry.js → p-974fdadd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a070f8ba.entry.js → p-97c5a0f2.entry.js} +6 -5
- package/dist/genexus-ide-ui/p-97c5a0f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4757a377.entry.js → p-97ef7986.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8ac9e0e3.entry.js → p-a28a7a27.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b56b67c8.entry.js → p-a3236695.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-fb25e42e.entry.js → p-a6ea7f58.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1f61a0b5.entry.js → p-a9381a51.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-3ad50d19.entry.js → p-ac2b99ce.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-8d58b0b1.entry.js → p-ac54d3dd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-91bb6c23.entry.js → p-aca7d171.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4345f3bd.js → p-aca92ca0.js} +8 -8
- package/dist/genexus-ide-ui/{p-279e200d.entry.js → p-ada1696f.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-f5795593.entry.js → p-afb42984.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-686ba64a.entry.js → p-b0e20394.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-44c816f7.entry.js → p-b1c9e006.entry.js} +52 -52
- package/dist/genexus-ide-ui/{p-8eac3c88.entry.js → p-b3e632eb.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8b5c6f86.entry.js → p-b55bb638.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4f832012.entry.js → p-b5f61be2.entry.js} +2 -3
- package/dist/genexus-ide-ui/p-b5f61be2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b9938af8.entry.js +247 -0
- package/dist/genexus-ide-ui/p-b9938af8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5090cf74.entry.js → p-bbd5cbc5.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-4ad8c255.entry.js → p-bbe5fba9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8fc62af2.entry.js → p-bdb4eff7.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-f5a34947.entry.js → p-bf424108.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9e59c362.entry.js → p-bffbf29a.entry.js} +9 -9
- package/dist/genexus-ide-ui/{p-d076a59b.entry.js → p-c333b010.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6e6bbcea.entry.js → p-c3dee80f.entry.js} +16 -12
- package/dist/genexus-ide-ui/p-c3dee80f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f5b4b0ac.entry.js → p-c64ed711.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-59171ba2.entry.js → p-c721ad47.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-0a8f651a.entry.js → p-c835ed6d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7a3c9238.entry.js → p-c8d0ee58.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b6a92ed4.entry.js → p-c9dc6492.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-a273b0c8.entry.js → p-ca220abf.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-a273b0c8.entry.js.map → p-ca220abf.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-bc2e4830.entry.js → p-cd7f933d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-43b64878.entry.js → p-ce8a18f0.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-1960de7e.entry.js → p-ce8ade61.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-83ea68f1.entry.js → p-d1951379.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b3b8277e.entry.js → p-d230799f.entry.js} +5 -5
- package/dist/genexus-ide-ui/p-d230799f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f33c6a66.entry.js → p-d2332373.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e2998738.entry.js → p-d4533ac6.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c4c4462d.entry.js → p-d4e152a8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5e91d2bc.entry.js → p-d6e6ca09.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1e275d2c.js → p-d8a08b43.js} +44 -52
- package/dist/genexus-ide-ui/p-d8a08b43.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ed865ce1.entry.js → p-d8f4f03c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6d64b154.entry.js → p-dabca27c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-40c135e7.entry.js → p-db770bb3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-904db679.entry.js → p-dcaf6083.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-a8e60143.entry.js → p-dd77446b.entry.js} +5 -5
- package/dist/genexus-ide-ui/{p-43296d6e.entry.js → p-e1585f37.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-61de96f8.entry.js → p-e39ebc90.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-e408d7b7.js +54 -0
- package/dist/genexus-ide-ui/p-e408d7b7.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f14753c8.entry.js → p-e5ce6275.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e2382d48.entry.js → p-e747b958.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-806d0a19.entry.js → p-e74da627.entry.js} +35 -35
- package/dist/genexus-ide-ui/{p-af85e128.entry.js → p-e988ba86.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-620e3d6b.entry.js → p-ed305b60.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-30e749f7.entry.js → p-f4578b13.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a6b36098.entry.js → p-f5d8b1e1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-32283a2f.entry.js → p-f86073ea.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1fb6de33.entry.js → p-f99f6957.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-660f644f.entry.js → p-fbd14f24.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-61126ed3.entry.js → p-fc0c5b6f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-344ec5ed.entry.js → p-fd0bcf82.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-7d6a7d55.entry.js → p-fe3d9132.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8f66c5b3.entry.js → p-ff264cda.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-eeaf79d6.entry.js → p-ffa0a15e.entry.js} +2 -2
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/flexible-layout/flexible-layout/flexible-layout.css +16 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/layout-splitter/layout-splitter.css +29 -19
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tab/tab.css +89 -31
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-flexible-layout/test-flexible-layout.css +270 -22
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +19 -4
- package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +14 -3
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +0 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/test/test.css +0 -26
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +3 -7
- package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +2 -1
- package/package.json +3 -3
- package/dist/cjs/index-c66d7fae.js.map +0 -1
- package/dist/cjs/utils-4b616111.js +0 -53
- package/dist/cjs/utils-4b616111.js.map +0 -1
- package/dist/cjs/utils-5ba52db3.js.map +0 -1
- package/dist/esm/utils-b9f4c3b4.js.map +0 -1
- package/dist/esm/utils-df5b9202.js +0 -41
- package/dist/esm/utils-df5b9202.js.map +0 -1
- package/dist/genexus-ide-ui/p-125c9d13.entry.js +0 -486
- package/dist/genexus-ide-ui/p-125c9d13.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1e275d2c.js.map +0 -1
- package/dist/genexus-ide-ui/p-2d40bb14.entry.js +0 -17
- package/dist/genexus-ide-ui/p-2d6c8883.entry.js +0 -850
- package/dist/genexus-ide-ui/p-2d6c8883.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2e3e48f6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4997af38.entry.js +0 -186
- package/dist/genexus-ide-ui/p-4997af38.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4f832012.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5943edc4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-635dacc5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6e6bbcea.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-71298dc8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a070f8ba.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-aada8352.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b3b8277e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bd97454f.entry.js +0 -1079
- package/dist/genexus-ide-ui/p-bd97454f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-cec9a00f.js +0 -48
- package/dist/genexus-ide-ui/p-cec9a00f.js.map +0 -1
- package/dist/genexus-ide-ui/p-f2a63bb5.js +0 -45
- package/dist/genexus-ide-ui/p-f2a63bb5.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-4335d78d.entry.js.map → p-001372c2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8480a5f7.entry.js.map → p-038675b4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-132f1a53.entry.js.map → p-04d751fa.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-de8ceb68.entry.js.map → p-06cdf966.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6ac4aef1.entry.js.map → p-07f5e845.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7bb7cdeb.js.map → p-08f45769.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1472c78f.js.map → p-099548f7.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c1b7bf2f.entry.js.map → p-0b3dfc86.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3f035c0a.js.map → p-0c088e26.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a17d61be.entry.js.map → p-0c10e042.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4d278798.entry.js.map → p-0d246e5b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-aa670e68.entry.js.map → p-0f4cf364.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bb341c47.entry.js.map → p-1023012c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-04111560.entry.js.map → p-10c578a4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-53e5df3b.entry.js.map → p-10ca43ee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a5c57b1d.entry.js.map → p-1538ac27.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-024533a2.entry.js.map → p-1564762f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f28d7f68.entry.js.map → p-15781838.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-637a5168.entry.js.map → p-18e48464.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fe6cf49e.entry.js.map → p-1964e138.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3174871a.entry.js.map → p-1a297683.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-86ee3387.entry.js.map → p-208041b8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4520e2a2.entry.js.map → p-28a6ab9a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7e79f920.entry.js.map → p-2a6f5aba.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5f89e42d.entry.js.map → p-2e0a1960.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c5df7133.entry.js.map → p-30b7297d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6548d418.entry.js.map → p-352e2c20.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1117db17.entry.js.map → p-36ff173f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-159a5a60.entry.js.map → p-37ce39e3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-942233fc.entry.js.map → p-3ae7428e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8518f9f5.entry.js.map → p-3aed87e1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-444e50ee.entry.js.map → p-3c2357cf.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-04adc77d.entry.js.map → p-3ddac2b8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f5e5b21e.entry.js.map → p-3f0b6af7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0604bbee.entry.js.map → p-40c3529a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a4d5d277.entry.js.map → p-43554153.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d4b165db.entry.js.map → p-43ffe165.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-92f45796.entry.js.map → p-47bcd3a6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-57137c83.entry.js.map → p-4b9b3e4e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-96a559ce.entry.js.map → p-4f376659.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-479de27c.entry.js.map → p-4f6eaae0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b78719d3.js.map → p-5028570f.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9c1fa094.entry.js.map → p-51c8754e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-780a3309.entry.js.map → p-51e1d34e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f974b905.entry.js.map → p-5201a218.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e2537609.entry.js.map → p-529d5f14.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5cc59da8.entry.js.map → p-54975e06.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6281ca3e.entry.js.map → p-57978bf3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7f782726.entry.js.map → p-5a5e9459.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5cec37bc.entry.js.map → p-5b2f8741.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2cdf5c87.entry.js.map → p-5c0d6f9b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3149e6f2.entry.js.map → p-5e4b2563.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7b60fc65.entry.js.map → p-603800f2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ea80da25.entry.js.map → p-61fa38a0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0c1ef5eb.entry.js.map → p-642aff55.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-62caab49.entry.js.map → p-64848f25.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f3a99271.entry.js.map → p-64cdf586.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-23277761.entry.js.map → p-6511f892.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-99f5be87.entry.js.map → p-651ca405.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-547656dd.entry.js.map → p-66730660.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4a0316b9.entry.js.map → p-6846e080.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1d606552.entry.js.map → p-6889dc5c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e47bba0e.entry.js.map → p-69837f5a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2d40bb14.entry.js.map → p-6b66ce90.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-95c85944.js.map → p-6bfe0db9.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2a3af5ac.entry.js.map → p-6e05bc89.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-04d6cd2d.entry.js.map → p-730a90b0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a94a20a4.entry.js.map → p-73269d9d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8d8d2e4c.entry.js.map → p-75dde376.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-11225a5a.entry.js.map → p-7692f269.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e4c542c6.js.map → p-7c350e3f.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2edf390a.entry.js.map → p-7da9797d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d5d95242.entry.js.map → p-7e66544c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cdf82b7f.entry.js.map → p-7ee0b797.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-65ac0693.entry.js.map → p-7ef60196.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f2a206c9.entry.js.map → p-801635fa.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e66b63b6.entry.js.map → p-8049dfe8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-13fb9b0c.entry.js.map → p-8343ae2e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e266fd1e.entry.js.map → p-8624a495.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a18c4312.entry.js.map → p-8708a417.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-aed7c461.entry.js.map → p-90234b7d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9feb37f7.entry.js.map → p-908971c9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ce4512a9.entry.js.map → p-917eb5c8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c4dc84ef.entry.js.map → p-94fb2adc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0ddd47ff.entry.js.map → p-9590ccf3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-93998965.entry.js.map → p-974fdadd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4757a377.entry.js.map → p-97ef7986.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8ac9e0e3.entry.js.map → p-a28a7a27.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b56b67c8.entry.js.map → p-a3236695.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fb25e42e.entry.js.map → p-a6ea7f58.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1f61a0b5.entry.js.map → p-a9381a51.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3ad50d19.entry.js.map → p-ac2b99ce.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8d58b0b1.entry.js.map → p-ac54d3dd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-91bb6c23.entry.js.map → p-aca7d171.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4345f3bd.js.map → p-aca92ca0.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-279e200d.entry.js.map → p-ada1696f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f5795593.entry.js.map → p-afb42984.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-686ba64a.entry.js.map → p-b0e20394.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-44c816f7.entry.js.map → p-b1c9e006.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8eac3c88.entry.js.map → p-b3e632eb.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8b5c6f86.entry.js.map → p-b55bb638.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5090cf74.entry.js.map → p-bbd5cbc5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4ad8c255.entry.js.map → p-bbe5fba9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8fc62af2.entry.js.map → p-bdb4eff7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f5a34947.entry.js.map → p-bf424108.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9e59c362.entry.js.map → p-bffbf29a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d076a59b.entry.js.map → p-c333b010.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f5b4b0ac.entry.js.map → p-c64ed711.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-59171ba2.entry.js.map → p-c721ad47.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0a8f651a.entry.js.map → p-c835ed6d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7a3c9238.entry.js.map → p-c8d0ee58.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b6a92ed4.entry.js.map → p-c9dc6492.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bc2e4830.entry.js.map → p-cd7f933d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-43b64878.entry.js.map → p-ce8a18f0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1960de7e.entry.js.map → p-ce8ade61.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-83ea68f1.entry.js.map → p-d1951379.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f33c6a66.entry.js.map → p-d2332373.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e2998738.entry.js.map → p-d4533ac6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c4c4462d.entry.js.map → p-d4e152a8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5e91d2bc.entry.js.map → p-d6e6ca09.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ed865ce1.entry.js.map → p-d8f4f03c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6d64b154.entry.js.map → p-dabca27c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-40c135e7.entry.js.map → p-db770bb3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-904db679.entry.js.map → p-dcaf6083.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a8e60143.entry.js.map → p-dd77446b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-43296d6e.entry.js.map → p-e1585f37.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-61de96f8.entry.js.map → p-e39ebc90.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f14753c8.entry.js.map → p-e5ce6275.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e2382d48.entry.js.map → p-e747b958.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-806d0a19.entry.js.map → p-e74da627.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-af85e128.entry.js.map → p-e988ba86.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-620e3d6b.entry.js.map → p-ed305b60.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-30e749f7.entry.js.map → p-f4578b13.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a6b36098.entry.js.map → p-f5d8b1e1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-32283a2f.entry.js.map → p-f86073ea.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1fb6de33.entry.js.map → p-f99f6957.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-660f644f.entry.js.map → p-fbd14f24.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-61126ed3.entry.js.map → p-fc0c5b6f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-344ec5ed.entry.js.map → p-fd0bcf82.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7d6a7d55.entry.js.map → p-fe3d9132.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8f66c5b3.entry.js.map → p-ff264cda.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-eeaf79d6.entry.js.map → p-ffa0a15e.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"ch-tree-view-render.gxg-tree-view.entry.js","mappings":"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","names":["DEFAULT_DRAG_DISABLED_VALUE","DEFAULT_DROP_DISABLED_VALUE","DEFAULT_EDITABLE_ITEMS_VALUE","defaultRenderItem"],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/helpers.js","node_modules/@genexus/chameleon-controls-library/dist/collection/common/array.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/utils.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/update-item-property.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/reload-items.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css?tag=ch-tree-view-render","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/helpers.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css?tag=gxg-tree-view","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.js"],"sourcesContent":["const filterWithCase = (stringToFilter, filter, matchCase) => matchCase\n ? stringToFilter.includes(filter)\n : stringToFilter.toLowerCase().includes(filter.toLowerCase());\nconst filterWithString = (stringToFilter, filter, filterOptions) => filterOptions?.regularExpression\n ? stringToFilter.match(filter) !== null\n : filterWithCase(stringToFilter, filter, filterOptions?.matchCase);\nconst filterDictionary = {\n caption: (item, filterInfo) => filterInfo.filter\n ? filterWithString(item.caption ?? \"\", filterInfo.filter, filterInfo.filterOptions)\n : true,\n checked: (item, filterInfo) => (item.checkbox ?? filterInfo.defaultCheckbox) &&\n !item.indeterminate &&\n (item.checked ?? filterInfo.defaultChecked),\n list: (item, filterInfo) => filterInfo.filterSet.has(item.id),\n metadata: (item, filterInfo) => filterInfo.filter\n ? filterWithString(item.metadata ?? \"\", filterInfo.filter, filterInfo.filterOptions)\n : true,\n none: () => true,\n unchecked: (item, filterInfo) => (item.checkbox ?? filterInfo.defaultCheckbox) &&\n !item.indeterminate &&\n !(item.checked ?? filterInfo.defaultChecked)\n};\nexport const computeFilter = (filterType, item, filterInfo) => filterInfo.filterOptions?.hideMatchesAndShowNonMatches === true\n ? !filterDictionary[filterType](item, filterInfo)\n : filterDictionary[filterType](item, filterInfo);\nexport function simplifyModel(model) {\n const items = model.items;\n if (!items) {\n return [];\n }\n const simplifiedModel = items.map(item => ({\n id: item.id,\n items: simplifyModel(item)\n }));\n return simplifiedModel;\n}\nexport const prettyPrint = (value) => JSON.stringify(value, undefined, 2);\n//# sourceMappingURL=helpers.js.map\n","export const insertIntoIndex = (array, element, index) => array.splice(index, 0, element);\n/**\n * Removes an element from an array, returning the deleted element.\n */\nexport const removeElement = (array, index) => array.splice(index, 1);\n//# sourceMappingURL=array.js.map\n","import { removeElement } from \"../../../common/array\";\nexport const removeTreeViewItems = (items, flattenedTreeModel, flattenedCheckboxTreeModel, selectedItems) => {\n let atLeastOneElement = false;\n let atLeastOneCheckbox = false;\n let atLeastOneSelected = false;\n items.forEach(itemId => {\n const itemUIModel = flattenedTreeModel.get(itemId);\n if (itemUIModel) {\n const itemInfo = itemUIModel.item;\n const parentArray = itemUIModel.parentItem.items;\n // Remove subitems\n if (itemInfo.leaf !== true && itemInfo.items?.length > 0) {\n const subItemsId = itemInfo.items.map(item => item.id);\n removeTreeViewItems(subItemsId, flattenedTreeModel, flattenedCheckboxTreeModel, selectedItems);\n }\n // Remove item\n atLeastOneElement ||= flattenedTreeModel.delete(itemId);\n atLeastOneCheckbox ||= flattenedCheckboxTreeModel.delete(itemId);\n atLeastOneSelected ||= selectedItems.delete(itemId);\n removeElement(parentArray, parentArray.findIndex(element => element.id === itemId));\n }\n });\n return {\n atLeastOneElement: atLeastOneElement,\n atLeastOneCheckbox: atLeastOneCheckbox,\n atLeastOneSelected: atLeastOneSelected\n };\n};\nconst resolveNewPromise = (value) => new Promise(resolve => resolve(value));\n/**\n * Given an item id, it displays and scrolls into the item view.\n *\n * @returns If the operation was completed successfully.\n */\nexport const scrollIntoVisibleId = (path, flattenedTreeModel) => {\n const itemUIModel = flattenedTreeModel.get(path);\n if (!itemUIModel) {\n return resolveNewPromise(false);\n }\n let visitedNode = itemUIModel.parentItem;\n // While the parent is not the root, update the UI Models\n while (visitedNode && visitedNode.id != null) {\n // Expand the item\n visitedNode.expanded = true;\n const visitedNodeUIModel = flattenedTreeModel.get(visitedNode.id);\n visitedNode = visitedNodeUIModel.parentItem;\n }\n return resolveNewPromise(true);\n};\n/**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item), it displays and scrolls into the item view.\n *\n * @returns If the operation was completed successfully.\n */\nexport const scrollIntoVisiblePath = (path, flattenedTreeModel, rootNode, lazyLoadTreeItemsCallback) => {\n let lastRenderedItemInPath = path.length - 1;\n // Initialize item\n let itemUIModel = flattenedTreeModel.get(path[lastRenderedItemInPath]);\n // Find the last item that is rendered\n while (itemUIModel === undefined && lastRenderedItemInPath > 0) {\n lastRenderedItemInPath--;\n itemUIModel = flattenedTreeModel.get(path[lastRenderedItemInPath]);\n }\n if (!itemUIModel) {\n return resolveNewPromise(false);\n }\n const indexOfLastRenderItem = lastRenderedItemInPath;\n // Check if the rest of the path up to the root is valid\n while (lastRenderedItemInPath >= 0) {\n if (flattenedTreeModel.get(path[lastRenderedItemInPath]) === undefined) {\n return resolveNewPromise(false);\n }\n lastRenderedItemInPath--;\n }\n // Check if the first item in the path is the root, to completely validate\n // the path\n if (flattenedTreeModel.get(path[0]).parentItem !== rootNode) {\n return resolveNewPromise(false);\n }\n // - - - - - - - - - - - - - - - - - -\n // At this point, we now that the path starts from the root and is valid up to\n // the last rendered item\n // - - - - - - - - - - - - - - - - - -\n const canNotLazyLoadRemainingPath = indexOfLastRenderItem !== path.length - 1 && !lazyLoadTreeItemsCallback;\n if (canNotLazyLoadRemainingPath) {\n return resolveNewPromise(false);\n }\n // USE RELOAD ITEMS FOR THE NEXT PART\n // let visitedNode = itemUIModel.parentItem as TreeViewItemModel;\n // // While the parent is not the root, update the UI Models\n // while (visitedNode && visitedNode.id != null) {\n // // Expand the item\n // visitedNode.expanded = true;\n // const visitedNodeUIModel = flattenedTreeModel.get(visitedNode.id);\n // visitedNode = visitedNodeUIModel.parentItem as TreeViewItemModel;\n // }\n return resolveNewPromise(true);\n};\n//# sourceMappingURL=utils.js.map\n","export const updateItemProperty = (itemId, properties, flattenedTreeModel) => {\n const itemUIModel = flattenedTreeModel.get(itemId);\n if (!itemUIModel) {\n return;\n }\n const itemInfo = itemUIModel.item;\n Object.keys(properties).forEach(propertyName => {\n if (properties[propertyName] !== undefined) {\n itemInfo[propertyName] = properties[propertyName];\n }\n });\n};\n//# sourceMappingURL=update-item-property.js.map\n","import { forceUpdate } from \"@stencil/core\";\nimport { updateItemProperty } from \"./update-item-property\";\nexport const reloadItems = (classRef, itemId, flattenedTreeModel, lazyLoadTreeItemsCallback, loadLazyContent, removeItems, beforeProperties, afterProperties) => {\n const itemToReloadUIModel = flattenedTreeModel.get(itemId);\n if (!lazyLoadTreeItemsCallback ||\n !itemToReloadUIModel ||\n itemToReloadUIModel.item.leaf === true) {\n return;\n }\n const noProperties = !beforeProperties && !afterProperties;\n if (noProperties) {\n beforeProperties = { downloading: true };\n afterProperties = { downloading: false };\n }\n if (beforeProperties) {\n updateItemProperty(itemId, beforeProperties, flattenedTreeModel);\n forceUpdate(classRef);\n }\n const promise = lazyLoadTreeItemsCallback(itemId);\n promise.then(async (newItems) => {\n // Store previous ids in a Set for efficient access\n const oldItemsSet = new Set(itemToReloadUIModel.item.items.map(item => item.id));\n const reloadNewItemsQueue = [];\n // Reconcile the state of old items to new ones\n newItems.forEach(newItem => {\n const newItemOldUIModel = flattenedTreeModel.get(newItem.id);\n // If the item previously existed in the client\n if (newItemOldUIModel && oldItemsSet.has(newItem.id)) {\n const newItemOldInfo = newItemOldUIModel.item;\n // Reconciliate the state\n newItem.checked = newItemOldInfo.checked;\n newItem.expanded = newItemOldInfo.expanded;\n newItem.indeterminate = newItemOldInfo.indeterminate;\n newItem.selected = newItemOldInfo.selected;\n const newItemWasLazyLoaded = newItem.lazy && newItemOldInfo.lazy === false;\n if (newItemWasLazyLoaded) {\n newItem.lazy = false;\n // Don't remove items until the child item is reloaded\n newItem.items = newItemOldInfo.items;\n // Add the item to be reloaded after its parent has finished its reload\n reloadNewItemsQueue.push(newItem.id);\n }\n // Remove the item from the set to properly count items that no longer\n // exist in the node\n oldItemsSet.delete(newItem.id);\n }\n });\n // Remove all the items that no longer exists in the node\n if (oldItemsSet.size > 0) {\n removeItems([...oldItemsSet.keys()]);\n }\n // Update the items of the reloaded node\n await loadLazyContent(itemId, newItems);\n if (afterProperties) {\n updateItemProperty(itemId, afterProperties, flattenedTreeModel);\n }\n // Reload child items that were lazy loaded\n reloadNewItemsQueue.forEach(itemToReload => reloadItems(classRef, itemToReload, flattenedTreeModel, lazyLoadTreeItemsCallback, loadLazyContent, removeItems));\n });\n};\n//# sourceMappingURL=reload-items.js.map\n","ch-tree-view-render {\n display: contents;\n}","import { h, forceUpdate } from \"@stencil/core\";\nimport { computeFilter } from \"./helpers\";\nimport { fromGxImageToURL } from \"./genexus-implementation\";\nimport { removeTreeViewItems, scrollIntoVisibleId, scrollIntoVisiblePath } from \"./utils\";\nimport { reloadItems } from \"./reload-items\";\nimport { updateItemProperty } from \"./update-item-property\";\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_CLASS_VALUE = \"tree-view-item\";\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst DEFAULT_EXPANDED_VALUE = false;\nconst DEFAULT_INDETERMINATE_VALUE = false;\nconst DEFAULT_LAZY_VALUE = false;\nconst DEFAULT_ORDER_VALUE = 0;\nconst DEFAULT_SELECTED_VALUE = false;\n// There are a filter applied and, if the type is \"caption\" or\n// \"metadata\", the filter property must be set\nconst treeViewHasFilters = (filterType, filter) => filterType !== \"none\" &&\n ((filterType !== \"caption\" && filterType !== \"metadata\") ||\n (filter != null && filter.trim() !== \"\"));\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: itemModel.dropDisabled ?? treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, 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: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== undefined\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nconst GXRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, downloading: itemModel.downloading, dragDisabled: itemModel.dragEnabled != null\n ? !itemModel.dragEnabled\n : treeState.dragDisabled, dropDisabled: itemModel.dropEnabled != null\n ? !itemModel.dropEnabled\n : treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: fromGxImageToURL(itemModel.leftImage, treeState.gxSettings, treeState.gxImageConstructor), level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => GXRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== undefined\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nconst defaultSortItemsCallback = (subModel) => {\n subModel.sort((a, b) => {\n if (a.order < b.order) {\n return -1;\n }\n if (a.order > b.order) {\n return 0;\n }\n return a.caption <= b.caption ? -1 : 0;\n });\n};\nexport class ChTreeViewRender {\n constructor() {\n this.waitDropProcessing = false;\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.filter = undefined;\n this.filterDebounce = 250;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.gxImageConstructor = undefined;\n this.gxSettings = undefined;\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"none\";\n this.sortItemsCallback = defaultSortItemsCallback;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n this.useGxRender = false;\n }\n // UI Models\n flattenedTreeModel = new Map();\n flattenedCheckboxTreeModel = new Map();\n selectedItems = new Set();\n // UI Models when filters are applied. These UI models are allocated at\n // runtime to optimize memory usage\n flattenedCheckboxTreeModelFilter;\n selectedItemsFilter;\n emitCheckedChange = false;\n rootNode;\n // Filters info\n applyFilters = false;\n immediateFilter;\n filterTimeout;\n filterListAsSet;\n // Refs\n treeRef;\n handleFilterChange() {\n if (this.filterType === \"caption\" || this.filterType === \"metadata\") {\n this.processFilters();\n }\n }\n handleFilterDebounceChange() {\n if (this.filterType === \"caption\" || this.filterType === \"metadata\") {\n this.processFilters();\n }\n }\n handleFilterListChange() {\n // Use a Set to efficiently check for ids\n this.filterListAsSet = new Set(this.filterList);\n if (this.filterType === \"list\") {\n this.processFilters();\n }\n }\n handleFilterOptionsChange() {\n this.processFilters();\n }\n handleFilterTypeChange() {\n this.processFilters();\n }\n handleTreeModelChange() {\n this.flattenModel();\n }\n /**\n * Fired when the checked items change.\n * This event does not take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n */\n selectedItemsChange;\n /**\n * Given the drop accepting, the data transfer info and the external items,\n * it process the drops of the items in the tree.\n */\n async dropItems(acceptDrop, dataTransferInfo, items) {\n if (!acceptDrop) {\n return;\n }\n const newParentId = dataTransferInfo.newContainer.id;\n const newParentUIModel = this.flattenedTreeModel.get(newParentId).item;\n // Only move the items to the new parent, keeping the state\n if (dataTransferInfo.dropInTheSameTree) {\n // Add the UI models to the new container and remove the UI models from\n // the old containers\n dataTransferInfo.draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));\n // When the selected items are moved, the tree must remove its internal\n // state to not have undefined references\n if (dataTransferInfo.draggingSelectedItems) {\n await this.treeRef.clearSelectedItemsInfo();\n }\n }\n // Add the new items\n else {\n if (items == null) {\n return;\n }\n // Add new items to the parent\n newParentUIModel.items.push(...items);\n // Flatten the new UI models\n items.forEach(this.flattenItemUIModel(newParentUIModel));\n }\n this.sortItems(newParentUIModel.items);\n // Open the item to visualize the new subitems\n newParentUIModel.expanded = true;\n // Re-sync checked items\n this.emitCheckedItemsChange();\n // Update filters\n this.processFilters();\n // Force re-render\n forceUpdate(this);\n }\n /**\n * Given a list of ids, it returns an array of the items that exists in the\n * given list.\n */\n async getItemsInfo(itemsId) {\n return this._getItemsInfo(itemsId);\n }\n _getItemsInfo(itemsId) {\n const treeViewItemsInfo = [];\n itemsId.forEach(itemId => {\n const itemUIModel = this.flattenedTreeModel.get(itemId);\n if (itemUIModel) {\n treeViewItemsInfo.push(itemUIModel);\n }\n });\n return treeViewItemsInfo;\n }\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;\n // Establish that the content was lazy loaded\n itemToLazyLoadContent.downloading = downloading;\n itemToLazyLoadContent.lazy = lazy;\n // Check if there is items to add\n if (items == null) {\n return;\n }\n // @todo What happens in the server when dropping items on a lazy node?\n itemToLazyLoadContent.items = items;\n this.sortItems(itemToLazyLoadContent.items);\n this.flattenSubModel(itemToLazyLoadContent);\n // Re-sync checked items\n this.emitCheckedItemsChange();\n // Update filters\n this.processFilters();\n // Force re-render\n forceUpdate(this);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n const removeItemsResult = removeTreeViewItems(items, this.flattenedTreeModel, this.flattenedCheckboxTreeModel, this.selectedItems);\n if (!treeViewHasFilters(this.filterType, this.filter)) {\n // Update selected items\n if (removeItemsResult.atLeastOneSelected) {\n this.emitSelectedItemsChange([...this.selectedItems.keys()]);\n }\n // Re-sync checked items\n if (removeItemsResult.atLeastOneCheckbox) {\n this.emitCheckedItemsChange();\n }\n }\n // Force re-render\n if (removeItemsResult.atLeastOneElement) {\n forceUpdate(this);\n // Update filters\n this.processFilters(\"immediate\");\n }\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n reloadItems(this, itemId, this.flattenedTreeModel, this.lazyLoadTreeItemsCallback, (itemId, items) => this.loadLazyContent(itemId, items), (items) => this.removeItems(items), beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n */\n async scrollIntoVisible(path, afterProperties) {\n const hasOnlyTheItemId = typeof path === \"string\";\n const success = await (hasOnlyTheItemId\n ? scrollIntoVisibleId(path, this.flattenedTreeModel)\n : scrollIntoVisiblePath(path, this.flattenedTreeModel, this.rootNode, this.lazyLoadTreeItemsCallback));\n if (!success) {\n return;\n }\n const itemId = hasOnlyTheItemId ? path : path[path.length - 1];\n if (afterProperties) {\n updateItemProperty(itemId, afterProperties, this.flattenedTreeModel);\n }\n forceUpdate(this);\n // @todo For some reason, when the model is created using the \"big model\" option,\n // this implementation does not work when only the UI Model is updated. So, to\n // expand the items, we have to delegate the responsibility to the tree-view\n this.treeRef.scrollIntoVisible(itemId);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n if (!treeItemIds) {\n return [];\n }\n const modifiedTreeItems = [];\n treeItemIds.forEach(treeItemId => {\n const itemInfo = this.flattenedTreeModel.get(treeItemId).item;\n if (itemInfo) {\n itemInfo.expanded = expand ?? !itemInfo.expanded;\n modifiedTreeItems.push({\n id: itemInfo.id,\n expanded: itemInfo.expanded\n });\n }\n });\n // Force re-render\n forceUpdate(this);\n return modifiedTreeItems;\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n [...this.flattenedTreeModel.values()].forEach(itemUIModel => {\n if (properties.expanded != null) {\n itemUIModel.item.expanded = properties.expanded;\n }\n if (properties.checked != null) {\n itemUIModel.item.checked = properties.checked;\n itemUIModel.item.indeterminate = false;\n }\n });\n // Update filters\n if (properties.checked != null) {\n this.processFilters();\n }\n forceUpdate(this);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n items.forEach(itemId => {\n updateItemProperty(itemId, properties, this.flattenedTreeModel);\n });\n // Update filters\n this.processFilters();\n forceUpdate(this);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {\n this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);\n }\n updateCheckboxValue(event) {\n event.stopPropagation();\n const detail = event.detail;\n const treeItemId = detail.id;\n const itemUIModel = this.flattenedCheckboxTreeModel.get(treeItemId);\n // In some cases, when the `treeModel` and `checked` properties are updated\n // outside of the tree control, some events are fired with undefined references\n if (!itemUIModel) {\n return;\n }\n const itemInfo = itemUIModel.item;\n itemInfo.checked = detail.checked;\n itemInfo.indeterminate = detail.indeterminate;\n this.emitCheckedItemsChange();\n // Update filters\n if (this.filterType === \"checked\" || this.filterType === \"unchecked\") {\n this.processFilters();\n }\n // Force re-render\n forceUpdate(this);\n }\n loadLazyChildrenHandler(event) {\n if (!this.lazyLoadTreeItemsCallback) {\n return;\n }\n event.stopPropagation();\n const treeItemId = event.detail;\n const promise = this.lazyLoadTreeItemsCallback(treeItemId);\n event.target.downloading = true;\n promise.then(result => {\n this.loadLazyContent(treeItemId, result);\n });\n }\n handleCaptionModification(event) {\n if (!this.modifyItemCaptionCallback) {\n return;\n }\n event.stopPropagation();\n const itemRef = event.target;\n const itemId = event.detail.id;\n const itemUIModel = this.flattenedTreeModel.get(itemId);\n const itemInfo = itemUIModel.item;\n const newCaption = event.detail.caption;\n const oldCaption = itemInfo.caption;\n // Optimistic UI: Update the caption in the UI Model before the change is\n // completed in the server\n itemInfo.caption = newCaption;\n // Due to performance reasons, we don't make a shallow copy of the\n // treeModel to force a re-render\n itemRef.caption = newCaption;\n const promise = this.modifyItemCaptionCallback(itemId, newCaption);\n promise.then(status => {\n if (status.success) {\n this.sortItems(itemUIModel.parentItem.items);\n // Update filters\n this.processFilters();\n // Force re-render\n forceUpdate(this);\n }\n else {\n itemRef.caption = oldCaption;\n itemInfo.caption = oldCaption;\n // Do something with the error message\n }\n });\n }\n handleOpenReference(event) {\n event.stopPropagation();\n this.itemOpenReference.emit(event.detail);\n }\n handleDroppableZoneEnter = (event) => {\n if (!this.checkDroppableZoneCallback) {\n return;\n }\n event.stopPropagation();\n // Suppose the request is made immediately by executing the callback\n const requestTimestamp = new Date().getTime();\n const dropInformation = event.detail;\n const promise = this.checkDroppableZoneCallback(dropInformation);\n promise.then(validDrop => {\n this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);\n });\n };\n handleSelectedItemsChange = (event) => {\n event.stopPropagation();\n const itemsToProcess = new Map(event.detail);\n // Remove no longer selected items\n this.selectedItems.forEach(selectedItemId => {\n const itemUIModel = this.flattenedTreeModel.get(selectedItemId).item;\n const itemIsStillSelected = itemsToProcess.get(selectedItemId);\n // The item does not need to be added. Remove it from the processed list\n if (itemIsStillSelected) {\n itemUIModel.expanded = itemIsStillSelected.expanded; // Update expanded state\n itemsToProcess.delete(selectedItemId);\n }\n // The item must be un-selected in the UI Model\n else {\n itemUIModel.selected = false;\n this.selectedItems.delete(selectedItemId);\n }\n });\n // Add new selected items\n itemsToProcess.forEach((newSelectedItemInfo, itemId) => {\n const newSelectedItem = this.flattenedTreeModel.get(itemId).item;\n newSelectedItem.selected = true;\n newSelectedItem.expanded = newSelectedItemInfo.expanded;\n this.selectedItems.add(itemId);\n });\n // Update selected items\n this.emitSelectedItemsChange([...event.detail.keys()]);\n };\n handleExpandedItemChange = (event) => {\n const detail = event.detail;\n const itemInfo = this.flattenedTreeModel.get(detail.id).item;\n itemInfo.expanded = detail.expanded;\n };\n handleItemContextmenu = (event) => {\n event.stopPropagation();\n this.itemContextmenu.emit(event.detail);\n };\n handleItemsDropped = (event) => {\n const dataTransferInfo = event.detail;\n const newContainer = dataTransferInfo.newContainer;\n const newParentId = newContainer.id;\n // Check if the parent exists in the UI Model\n if (!this.flattenedTreeModel.get(newParentId)) {\n return;\n }\n const draggedItems = dataTransferInfo.draggedItems;\n if (draggedItems.length === 0 || !this.dropItemsCallback) {\n return;\n }\n event.stopPropagation();\n const promise = this.dropItemsCallback(dataTransferInfo);\n this.waitDropProcessing = true;\n promise.then(async (response) => {\n this.dropItems(response.acceptDrop, dataTransferInfo, response.items);\n this.waitDropProcessing = false;\n });\n };\n moveItemToNewParent = (newParentUIModel) => (dataTransferInfo) => {\n const itemUIModelExtended = this.flattenedTreeModel.get(dataTransferInfo.id);\n const item = itemUIModelExtended.item;\n const oldParentItem = itemUIModelExtended.parentItem;\n // Remove the UI model from the previous parent. The equality function\n // must be by index, not by object reference\n oldParentItem.items.splice(oldParentItem.items.findIndex(el => el.id === item.id), 1);\n // Add the UI Model to the new parent\n newParentUIModel.items.push(item);\n // Reference the new parent in the item\n itemUIModelExtended.parentItem = newParentUIModel;\n };\n flattenSubModel(model) {\n const items = model.items;\n if (!items) {\n // Make sure that subtrees don't have an undefined array\n if (model.leaf !== true) {\n model.items = [];\n }\n return;\n }\n this.sortItems(items);\n items.forEach(this.flattenItemUIModel(model));\n }\n flattenItemUIModel = (parentModel) => (item) => {\n this.flattenedTreeModel.set(item.id, {\n parentItem: parentModel,\n item: item\n });\n // Add the items that have a checkbox in a separate Map\n if (item.checkbox ?? this.checkbox) {\n this.flattenedCheckboxTreeModel.set(item.id, {\n parentItem: parentModel,\n item: item\n });\n }\n // Make sure the properties are with their default values to avoid issues\n // when reusing DOM nodes\n item.class ||= DEFAULT_CLASS_VALUE;\n item.expanded ??= DEFAULT_EXPANDED_VALUE;\n item.indeterminate ??= DEFAULT_INDETERMINATE_VALUE;\n item.lazy ??= DEFAULT_LAZY_VALUE;\n item.order ??= DEFAULT_ORDER_VALUE;\n item.selected ??= DEFAULT_SELECTED_VALUE;\n if (item.selected) {\n this.selectedItems.add(item.id);\n }\n this.flattenSubModel(item);\n };\n sortItems(items) {\n // Ensure that items are sorted\n if (this.sortItemsCallback) {\n this.sortItemsCallback(items);\n }\n }\n flattenModel() {\n this.flattenedTreeModel.clear();\n this.flattenedCheckboxTreeModel.clear();\n this.selectedItems.clear();\n // The model was updated at runtime, so we need to clear the references\n if (this.treeRef) {\n this.treeRef.clearSelectedItemsInfo();\n }\n this.rootNode = { id: null, caption: null, items: this.treeModel };\n this.flattenSubModel(this.rootNode);\n // Re-sync checked items\n this.emitCheckedItemsChange();\n }\n filterSubModel(item, filterInfo) {\n let aSubItemIsRendered = false;\n // Check if a subitem is rendered\n if (item.leaf !== true && item.items != null) {\n let lastItemId = undefined;\n item.items.forEach(subItem => {\n const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);\n aSubItemIsRendered ||= itemSatisfiesFilter;\n if (itemSatisfiesFilter) {\n lastItemId = subItem.id;\n }\n });\n item.lastItemId = lastItemId;\n }\n // The current item is rendered if it satisfies the filter condition or a\n // subitem exists that needs to be rendered\n const satisfiesFilter = aSubItemIsRendered || computeFilter(this.filterType, item, filterInfo);\n item.render = satisfiesFilter; // Update item render\n // Update selected and checkbox items\n if (satisfiesFilter) {\n if (item.selected) {\n this.selectedItemsFilter.add(item.id);\n }\n if (item.checkbox ?? this.checkbox) {\n const itemUIModel = this.flattenedCheckboxTreeModel.get(item.id);\n this.flattenedCheckboxTreeModelFilter.set(item.id, itemUIModel);\n }\n }\n return satisfiesFilter;\n }\n emitCheckedItemsChange() {\n this.emitCheckedChange = true;\n }\n emitSelectedItemsChange(selectedItems) {\n const selectedItemsInfo = this._getItemsInfo(selectedItems);\n this.selectedItemsChange.emit(selectedItemsInfo);\n }\n updateCheckedItems() {\n const checkedItemsMap = treeViewHasFilters(this.filterType, this.filter)\n ? this.flattenedCheckboxTreeModelFilter\n : this.flattenedCheckboxTreeModel;\n // New copy of the checked items\n const allItemsWithCheckbox = new Map(checkedItemsMap);\n // Update the checked value if not defined\n allItemsWithCheckbox.forEach(itemUIModel => {\n itemUIModel.item.checked ??= this.checked;\n });\n this.checkedItemsChange.emit(allItemsWithCheckbox);\n }\n processFilters(immediateFilter) {\n this.applyFilters = true;\n if (immediateFilter !== undefined) {\n this.immediateFilter ??= immediateFilter;\n }\n }\n updateFilters() {\n if (this.filterType === \"none\") {\n // Remove memory allocation\n this.flattenedCheckboxTreeModelFilter = undefined;\n this.selectedItemsFilter = undefined;\n return;\n }\n // Remove queued filter processing\n clearTimeout(this.filterTimeout);\n const processWithDebounce = this.filterDebounce > 0 &&\n (this.filterType === \"caption\" || this.filterType === \"metadata\");\n const filterFunction = () => {\n // Allocate Map and Set\n this.flattenedCheckboxTreeModelFilter = new Map();\n this.selectedItemsFilter = new Set();\n this.filterSubModel({\n id: null,\n caption: null,\n items: this.treeModel\n }, {\n defaultCheckbox: this.checkbox,\n defaultChecked: this.checked,\n filter: this.filter,\n filterOptions: this.filterOptions,\n filterSet: this.filterListAsSet\n });\n // Emit that selected and checked items have changed, regardless of\n // whether is true or not\n // TODO: Check with the last filter if we must emit the event\n this.updateCheckedItems();\n this.emitSelectedItemsChange([...this.selectedItemsFilter.keys()]);\n };\n // Check if should filter with debounce\n if (processWithDebounce && this.immediateFilter !== \"immediate\") {\n this.filterTimeout = setTimeout(() => {\n this.immediateFilter = undefined;\n filterFunction();\n forceUpdate(this); // After the filter processing is completed, force a re-render\n }, this.filterDebounce);\n }\n // No debounce\n else {\n this.immediateFilter = undefined;\n filterFunction();\n }\n }\n componentWillLoad() {\n if (this.useGxRender) {\n this.renderItem = GXRenderItem;\n }\n this.flattenModel();\n this.updateCheckedItems();\n this.updateFilters();\n }\n componentWillUpdate() {\n if (this.emitCheckedChange) {\n this.updateCheckedItems();\n this.emitCheckedChange = false;\n }\n if (this.applyFilters) {\n this.updateFilters();\n this.applyFilters = false;\n }\n }\n render() {\n 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, treeViewHasFilters(this.filterType, this.filter), this.showLines !== \"none\" && index === this.treeModel.length - 1, 0))));\n }\n static get is() { return \"ch-tree-view-render\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view-render.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view-render.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDropCheckInfo\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDataTransferInfo\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"250\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewFilterOptions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewFilterType\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"gxImageConstructor\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(name: string) => any\",\n \"resolved\": \"(name: string) => any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n }\n },\n \"gxSettings\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n },\n \"attribute\": \"gx-settings\",\n \"reflect\": false\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LazyLoadTreeItemsCallback\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"LazyLoadTreeItemsCallback\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::LazyLoadTreeItemsCallback\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewOperationStatusModifyCaption\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel | any,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number\\n ) => any\",\n \"resolved\": \"(itemModel: any, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"global\",\n \"id\": \"global::ChTreeViewRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewLines\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n },\n \"defaultValue\": \"defaultSortItemsCallback\"\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-view-render control.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"useGxRender\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n },\n \"attribute\": \"use-gx-render\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"waitDropProcessing\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does not take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemContextMenu\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemOpenReferenceInfo\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"dropItems\": {\n \"complexType\": {\n \"signature\": \"(acceptDrop: boolean, dataTransferInfo: TreeViewDataTransferInfo, items?: TreeViewItemModel[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"acceptDrop\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"dataTransferInfo\",\n \"type\": \"{ newContainer: GxDataTransferInfo; draggedItems: GxDataTransferInfo[]; draggingSelectedItems: boolean; dropInTheSameTree: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDataTransferInfo\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the drop accepting, the data transfer info and the external items,\\nit process the drops of the items in the tree.\",\n \"tags\": []\n }\n },\n \"getItemsInfo\": {\n \"complexType\": {\n \"signature\": \"(itemsId: string[]) => Promise<TreeViewItemModelExtended[]>\",\n \"parameters\": [{\n \"name\": \"itemsId\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n },\n \"return\": \"Promise<TreeViewItemModelExtended[]>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, it returns an array of the items that exists in the\\ngiven list.\",\n \"tags\": []\n }\n },\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewRemoveItemsResult\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewRemoveItemsResult\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemExpandedInfo\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::GxDataTransferInfo\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }]\n }\n }\n };\n }\n static get watchers() {\n return [{\n \"propName\": \"filter\",\n \"methodName\": \"handleFilterChange\"\n }, {\n \"propName\": \"filterDebounce\",\n \"methodName\": \"handleFilterDebounceChange\"\n }, {\n \"propName\": \"filterList\",\n \"methodName\": \"handleFilterListChange\"\n }, {\n \"propName\": \"filterOptions\",\n \"methodName\": \"handleFilterOptionsChange\"\n }, {\n \"propName\": \"filterType\",\n \"methodName\": \"handleFilterTypeChange\"\n }, {\n \"propName\": \"treeModel\",\n \"methodName\": \"handleTreeModelChange\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"checkboxChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"checkboxToggleChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"loadLazyContent\",\n \"method\": \"loadLazyChildrenHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"modifyCaption\",\n \"method\": \"handleCaptionModification\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"openReference\",\n \"method\": \"handleOpenReference\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tree-view-render.js.map\n","export const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;\n//# sourceMappingURL=helpers.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n}\n\n.gxg-title-02--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-xs);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n}\n\n.gxg-title-03--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-xs);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n.gxg-title-04--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.556em;\n}\n\n.gxg-title-05--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n.gxg-text--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n.gxg-text--gray {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--gray-05);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--color-on-primary);\n}\n\n/*Link*/\n.gxg-link {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--color-primary-hover);\n}\n.gxg-link:active {\n color: var(--color-primary-active);\n}\n\n.gxg-link-gray {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--gray-04);\n}\n.gxg-link-gray:hover {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--gray-04);\n color: var(--gray-06);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-error-dark);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-warning-dark);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-success-dark);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--font-family-primary) !important;\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm) !important;\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-primary-enabled);\n text-align: center;\n line-height: 1.455em;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n.gxg-button-styles {\n font-family: var(--font-family-primary) !important;\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm) !important;\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-primary-enabled);\n text-align: center;\n line-height: 1.455em;\n}\n\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n cursor: initial;\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width, 6px);\n height: var(--gxg-scrollbar-width, 6px);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background, --gray-02);\n border-radius: var(--gxg-scrollbar-track-border-radius, 10px);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background, --gray-05);\n border-radius: var(--gxg-scrollbar-track-thumb-radius, 10px);\n border: var(--gxg-scrollbar-track-thumb-border);\n background-clip: padding-box;\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);\n}\n\n/*---------------------------\ngxg-tree-view\n---------------------------*/\ngxg-tree-view {\n --gxg-tree-view-icon-size: var(--spacing-comp-04);\n font-family: var(--font-family-primary);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-regular);\n color: var(--color-on-background);\n display: contents;\n}\n\n/*---------------------------\n.tree-view\n---------------------------*/\n.tree-view {\n /* Track */\n /* Handle */\n /* Handle on hover */\n cursor: initial;\n}\n.tree-view::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width, 6px);\n height: var(--gxg-scrollbar-width, 6px);\n}\n.tree-view::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background, --gray-02);\n border-radius: var(--gxg-scrollbar-track-border-radius, 10px);\n}\n.tree-view::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background, --gray-05);\n border-radius: var(--gxg-scrollbar-track-thumb-radius, 10px);\n border: var(--gxg-scrollbar-track-thumb-border);\n background-clip: padding-box;\n}\n.tree-view::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);\n}\n.tree-view .ch-tree-view-container {\n padding: 7px;\n /*although this value does not exists in gemini ds space tokens, it is the value that works best with gx-ide*/\n}\n\n/*---------------------------\n.tree-view-item\n---------------------------*/\n.tree-view-item {\n /*-- Custom vars ---*/\n --ch-tree-view-view__checkbox-size: var(--gxg-checkbox-size);\n --ch-tree-view-view__expandable-button-width: var(--gxg-tree-view-icon-size);\n --ch-tree-view-item-gap: var(--spacing-comp-02);\n --ch-tree-view-item-custom-padding-inline-start: var(--spacing-comp-01);\n --ch-tree-view-item-custom-padding-inline-end: var(--spacing-comp-01);\n /*-- Parts ---*/\n /*-- Parts for checkbox ---*/\n /*checked*/\n /*indeterminate*/\n /*-- Dynamic Icons ---*/\n /*-- Other ---*/\n}\n.tree-view-item::part(dashed-line) {\n border-color: var(--gray-02);\n}\n.tree-view-item::part(header) {\n min-height: var(--spacing-comp-05);\n padding-top: var(--spacing-comp-00);\n padding-bottom: var(--spacing-comp-00);\n padding-inline-end: var(--spacing-comp-02);\n}\n.tree-view-item::part(header):before {\n content: \"\";\n display: block;\n}\n.tree-view-item::part(header):hover {\n background-color: var(--gxg-background-color--hover);\n color: var(--gxg-color--hover);\n}\n.tree-view-item::part(header):focus {\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: -2px;\n}\n.tree-view-item[selected]::part(header) {\n background-color: var(--gxg-background-color--selected);\n}\n.tree-view-item[selected]::part(header):hover {\n background-color: var(--gxg-background-color--selected-hover);\n}\n.tree-view-item::part(expandable-button) {\n background-color: var(--gray-00);\n}\n.tree-view-item::part(expandable-button)::before {\n background-color: var(--gray-04);\n -webkit-mask-position: center;\n -webkit-mask-repeat: no-repeat;\n}\n.tree-view-item::part(expandable-button):hover {\n background-color: var(--color-background);\n}\n.tree-view-item::part(expandable-button):focus {\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: 0;\n}\n.tree-view-item::part(left-img) {\n width: var(--spacing-comp-04);\n height: var(--spacing-comp-04);\n}\n.tree-view-item::part(downloading) {\n width: var(--spacing-comp-03);\n height: var(--spacing-comp-03);\n border: var(--border-width-md) solid var(--color-primary-enabled);\n border-inline-start-color: transparent;\n}\n.tree-view-item::part(checkbox__container) {\n border-color: var(--gray-04);\n background-color: var(--color-background);\n}\n.tree-view-item::part(checkbox__container):after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.tree-view-item::part(checkbox__container):focus-within {\n box-shadow: none;\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: -2px;\n}\n.tree-view-item::part(checkbox__option) {\n display: none;\n}\n.tree-view-item::part(checkbox__container checkbox__checked):after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--color-primary-active);\n transition-property: border-color;\n transition-duration: var(--ui-animaton-speed);\n transition-timing-function: ease;\n}\n.tree-view-item::part(checkbox__container checkbox__indeterminate):after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--color-primary-active);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.tree-view-item::part(checkbox__input) {\n position: relative;\n z-index: 1;\n}\n.tree-view-item--folder::part(action)::before, .tree-view-item--module::part(action)::before {\n grid-area: left-img;\n content: \"\";\n width: var(--gxg-tree-view-icon-size);\n height: var(--gxg-tree-view-icon-size);\n margin-inline-end: var(--ch-tree-view-item-gap);\n background-repeat: no-repeat;\n}\n.tree-view-item--folder::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/folder.svg\");\n}\n.tree-view-item--folder::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/folder-open.svg\");\n}\n.tree-view-item--module::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/module.svg\");\n}\n.tree-view-item--module::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/module-open.svg\");\n}\n.tree-view-item--pending-commit::part(action)::before {\n content: \"\";\n position: relative;\n z-index: 1;\n grid-area: left-img;\n width: 5px;\n height: 5px;\n align-self: end;\n margin-block-end: 3px;\n margin-inline-start: 1px;\n background-color: var(--color-primary-enabled);\n border-radius: 50%;\n}\n\n/*-- Other Selectors (these depend on the tag class name)---*/\n.tree-view-item--editing::part(header) {\n border: 2px solid transparent;\n}\n/*--- Revisar ---*/\n.tree-view .ch-tree-view-drag-info {\n padding-inline: 6px;\n padding-block: 2px;\n background-color: #cfdee6;\n border: 1px solid #0266a0;\n border-radius: 10px;\n font-size: 8px;\n}","import { h, getAssetPath, } from \"@stencil/core\";\nimport { resolveImgPath } from \"./helpers\";\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst iconAssetsPath = getAssetPath(`./icon-assets`);\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: itemModel.dropDisabled ?? treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc\n ? resolveImgPath(iconAssetsPath, itemModel.leftImgSrc)\n : null, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== \"\"\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nexport class ChTreeViewRenderWrapper {\n constructor() {\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.filter = undefined;\n this.filterDebounce = 0;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"all\";\n this.sortItemsCallback = undefined;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n }\n // Refs\n treeRef;\n /**\n * Fired when the checked items change.\n * This event does not take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n */\n selectedItemsChange;\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n this.treeRef.loadLazyContent(itemId, items, downloading, lazy);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n this.treeRef.removeItems(items);\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n this.treeRef.reloadItems(itemId, beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n */\n async scrollIntoVisible(path, afterProperties) {\n this.treeRef.scrollIntoVisible(path, afterProperties);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n return this.treeRef.toggleItems(treeItemIds, expand);\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n this.treeRef.updateAllItemsProperties(properties);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n this.treeRef.updateItemsProperties(items, properties);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {\n this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);\n }\n render() {\n return (h(\"ch-tree-view-render\", { checkbox: this.checkbox, checked: this.checked, checkDroppableZoneCallback: this.checkDroppableZoneCallback, cssClass: this.cssClass, dragDisabled: this.dragDisabled, dropDisabled: this.dropDisabled, dropItemsCallback: this.dropItemsCallback, editableItems: this.editableItems, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, filterType: this.filterType, lazyLoadTreeItemsCallback: this.lazyLoadTreeItemsCallback, modifyItemCaptionCallback: this.modifyItemCaptionCallback, multiSelection: this.multiSelection, renderItem: this.renderItem, showLines: this.showLines, sortItemsCallback: this.sortItemsCallback, toggleCheckboxes: this.toggleCheckboxes, treeModel: this.treeModel, ref: (el) => (this.treeRef = el) }));\n }\n static get is() { return \"gxg-tree-view\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"id-list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string\\n ) => Promise<TreeViewItemModel[]>\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number\\n ) => any\",\n \"resolved\": \"(itemModel: TreeViewItemModel, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/tree-view-render\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"all\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n }\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-x control.\"\n },\n \"defaultValue\": \"[]\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does not take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: TreeViewItemModel) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id: string; caption: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; showExpandableButton?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/common/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }]\n }\n }\n };\n }\n}\n//# sourceMappingURL=tree-view.js.map\n"],"version":3}
|
|
1
|
+
{"file":"ch-tree-view-render.gxg-tree-view.entry.js","mappings":"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","names":["DEFAULT_DRAG_DISABLED_VALUE","DEFAULT_DROP_DISABLED_VALUE","DEFAULT_EDITABLE_ITEMS_VALUE","defaultRenderItem"],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/helpers.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/utils.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/reload-items.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/update-item-property.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css?tag=ch-tree-view-render","node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/helpers.js","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css?tag=gxg-tree-view","node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.js"],"sourcesContent":["export const itemHasCheckbox = (item, defaultCheckbox) => item.checkbox ?? defaultCheckbox;\nconst filterWithCase = (stringToFilter, filter, matchCase) => matchCase\n ? stringToFilter.includes(filter)\n : stringToFilter.toLowerCase().includes(filter.toLowerCase());\nconst filterWithString = (stringToFilter, filter, filterOptions) => filterOptions?.regularExpression\n ? stringToFilter.match(filter) !== null\n : filterWithCase(stringToFilter, filter, filterOptions?.matchCase);\nconst filterDictionary = {\n caption: (item, filterInfo) => filterInfo.filter\n ? filterWithString(item.caption ?? \"\", filterInfo.filter, filterInfo.filterOptions)\n : true,\n checked: (item, filterInfo) => itemHasCheckbox(item, filterInfo.defaultCheckbox) &&\n !item.indeterminate &&\n (item.checked ?? filterInfo.defaultChecked),\n list: (item, filterInfo) => filterInfo.filterSet.has(item.id),\n metadata: (item, filterInfo) => filterInfo.filter\n ? filterWithString(item.metadata ?? \"\", filterInfo.filter, filterInfo.filterOptions)\n : true,\n none: () => true,\n unchecked: (item, filterInfo) => itemHasCheckbox(item, filterInfo.defaultCheckbox) &&\n !item.indeterminate &&\n !(item.checked ?? filterInfo.defaultChecked)\n};\nexport const computeFilter = (filterType, item, filterInfo) => filterInfo.filterOptions?.hideMatchesAndShowNonMatches === true\n ? !filterDictionary[filterType](item, filterInfo)\n : filterDictionary[filterType](item, filterInfo);\nexport function simplifyModel(model) {\n const items = model.items;\n if (!items) {\n return [];\n }\n const simplifiedModel = items.map(item => ({\n id: item.id,\n items: simplifyModel(item)\n }));\n return simplifiedModel;\n}\nexport const prettyPrint = (value) => JSON.stringify(value, undefined, 2);\n//# sourceMappingURL=helpers.js.map\n","import { removeElement } from \"../../../common/array\";\nexport const removeTreeViewItems = (items, flattenedTreeModel, flattenedCheckboxTreeModel, selectedItems) => {\n let atLeastOneElement = false;\n let atLeastOneCheckbox = false;\n let atLeastOneSelected = false;\n items.forEach(itemId => {\n const itemUIModel = flattenedTreeModel.get(itemId);\n if (itemUIModel) {\n const itemInfo = itemUIModel.item;\n const parentArray = itemUIModel.parentItem.items;\n // Remove subitems\n if (itemInfo.leaf !== true && itemInfo.items?.length > 0) {\n const subItemsId = itemInfo.items.map(item => item.id);\n removeTreeViewItems(subItemsId, flattenedTreeModel, flattenedCheckboxTreeModel, selectedItems);\n }\n // Remove item\n atLeastOneElement ||= flattenedTreeModel.delete(itemId);\n atLeastOneCheckbox ||= flattenedCheckboxTreeModel.delete(itemId);\n atLeastOneSelected ||= selectedItems.delete(itemId);\n removeElement(parentArray, parentArray.findIndex(element => element.id === itemId));\n }\n });\n return {\n atLeastOneElement: atLeastOneElement,\n atLeastOneCheckbox: atLeastOneCheckbox,\n atLeastOneSelected: atLeastOneSelected\n };\n};\nconst resolveNewPromise = (value) => new Promise(resolve => resolve(value));\n/**\n * Given an item id, it displays and scrolls into the item view.\n *\n * @returns If the operation was completed successfully.\n */\nexport const scrollIntoVisibleId = (path, flattenedTreeModel) => {\n const itemUIModel = flattenedTreeModel.get(path);\n if (!itemUIModel) {\n return resolveNewPromise(false);\n }\n let visitedNode = itemUIModel.parentItem;\n // While the parent is not the root, update the UI Models\n while (visitedNode && visitedNode.id != null) {\n // Expand the item\n visitedNode.expanded = true;\n const visitedNodeUIModel = flattenedTreeModel.get(visitedNode.id);\n visitedNode = visitedNodeUIModel.parentItem;\n }\n return resolveNewPromise(true);\n};\n/**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item), it displays and scrolls into the item view.\n *\n * @returns If the operation was completed successfully.\n */\nexport const scrollIntoVisiblePath = (path, flattenedTreeModel, rootNode, lazyLoadTreeItemsCallback) => {\n let lastRenderedItemInPath = path.length - 1;\n // Initialize item\n let itemUIModel = flattenedTreeModel.get(path[lastRenderedItemInPath]);\n // Find the last item that is rendered\n while (itemUIModel === undefined && lastRenderedItemInPath > 0) {\n lastRenderedItemInPath--;\n itemUIModel = flattenedTreeModel.get(path[lastRenderedItemInPath]);\n }\n if (!itemUIModel) {\n return resolveNewPromise(false);\n }\n const indexOfLastRenderItem = lastRenderedItemInPath;\n // Check if the rest of the path up to the root is valid\n while (lastRenderedItemInPath >= 0) {\n if (flattenedTreeModel.get(path[lastRenderedItemInPath]) === undefined) {\n return resolveNewPromise(false);\n }\n lastRenderedItemInPath--;\n }\n // Check if the first item in the path is the root, to completely validate\n // the path\n if (flattenedTreeModel.get(path[0]).parentItem !== rootNode) {\n return resolveNewPromise(false);\n }\n // - - - - - - - - - - - - - - - - - -\n // At this point, we now that the path starts from the root and is valid up to\n // the last rendered item\n // - - - - - - - - - - - - - - - - - -\n const canNotLazyLoadRemainingPath = indexOfLastRenderItem !== path.length - 1 && !lazyLoadTreeItemsCallback;\n if (canNotLazyLoadRemainingPath) {\n return resolveNewPromise(false);\n }\n // USE RELOAD ITEMS FOR THE NEXT PART\n // let visitedNode = itemUIModel.parentItem as TreeViewItemModel;\n // // While the parent is not the root, update the UI Models\n // while (visitedNode && visitedNode.id != null) {\n // // Expand the item\n // visitedNode.expanded = true;\n // const visitedNodeUIModel = flattenedTreeModel.get(visitedNode.id);\n // visitedNode = visitedNodeUIModel.parentItem as TreeViewItemModel;\n // }\n return resolveNewPromise(true);\n};\n//# sourceMappingURL=utils.js.map\n","export const reloadItems = (elementRef, itemId, flattenedTreeModel, lazyLoadTreeItemsCallback, loadLazyContent, removeItems, beforeProperties, afterProperties) => {\n const itemToReloadUIModel = flattenedTreeModel.get(itemId);\n if (!lazyLoadTreeItemsCallback ||\n !itemToReloadUIModel ||\n itemToReloadUIModel.item.leaf === true) {\n return;\n }\n const noProperties = !beforeProperties && !afterProperties;\n if (noProperties) {\n beforeProperties = { downloading: true };\n afterProperties = { downloading: false };\n }\n if (beforeProperties) {\n elementRef.updateItemsProperties([itemId], beforeProperties);\n }\n const promise = lazyLoadTreeItemsCallback(itemId);\n promise.then(async (newItems) => {\n // Store previous ids in a Set for efficient access\n const oldItemsSet = new Set(itemToReloadUIModel.item.items.map(item => item.id));\n const reloadNewItemsQueue = [];\n // Reconcile the state of old items to new ones\n newItems.forEach(newItem => {\n const newItemOldUIModel = flattenedTreeModel.get(newItem.id);\n // If the item previously existed in the client\n if (newItemOldUIModel && oldItemsSet.has(newItem.id)) {\n const newItemOldInfo = newItemOldUIModel.item;\n // Reconciliate the state\n newItem.checked = newItemOldInfo.checked;\n newItem.expanded = newItemOldInfo.expanded;\n newItem.indeterminate = newItemOldInfo.indeterminate;\n newItem.selected = newItemOldInfo.selected;\n const newItemWasLazyLoaded = newItem.lazy && newItemOldInfo.lazy === false;\n if (newItemWasLazyLoaded) {\n newItem.lazy = false;\n // Don't remove items until the child item is reloaded\n newItem.items = newItemOldInfo.items;\n // Add the item to be reloaded after its parent has finished its reload\n reloadNewItemsQueue.push(newItem.id);\n }\n // Remove the item from the set to properly count items that no longer\n // exist in the node\n oldItemsSet.delete(newItem.id);\n }\n });\n // Remove all the items that no longer exists in the node\n if (oldItemsSet.size > 0) {\n removeItems([...oldItemsSet.keys()]);\n }\n // Update the items of the reloaded node\n await loadLazyContent(itemId, newItems);\n if (afterProperties) {\n elementRef.updateItemsProperties([itemId], afterProperties);\n }\n // Reload child items that were lazy loaded\n reloadNewItemsQueue.forEach(itemToReload => reloadItems(elementRef, itemToReload, flattenedTreeModel, lazyLoadTreeItemsCallback, loadLazyContent, removeItems));\n });\n};\n//# sourceMappingURL=reload-items.js.map\n","import { itemHasCheckbox } from \"./helpers\";\nexport const updateItemProperty = (itemId, properties, flattenedTreeModel, newSelectedItems, newCheckboxItems, defaultCheckbox) => {\n const itemUIModel = flattenedTreeModel.get(itemId);\n if (!itemUIModel) {\n return;\n }\n const itemInfo = itemUIModel.item;\n Object.keys(properties).forEach(propertyName => {\n if (properties[propertyName] !== undefined) {\n itemInfo[propertyName] = properties[propertyName];\n }\n });\n // Accumulate selection/deselection\n if (properties.selected) {\n newSelectedItems.add(itemId);\n }\n else if (properties.selected === false) {\n newSelectedItems.delete(itemId);\n }\n // Accumulate/remove items with checkbox\n if (itemHasCheckbox(itemInfo, defaultCheckbox)) {\n newCheckboxItems.set(itemId, itemUIModel);\n }\n else {\n newCheckboxItems.delete(itemId);\n }\n};\n//# sourceMappingURL=update-item-property.js.map\n","ch-tree-view-render {\n display: contents;\n}","import { h, forceUpdate } from \"@stencil/core\";\nimport { computeFilter, itemHasCheckbox } from \"./helpers\";\nimport { fromGxImageToURL } from \"./genexus-implementation\";\nimport { removeTreeViewItems, scrollIntoVisibleId, scrollIntoVisiblePath } from \"./utils\";\nimport { reloadItems } from \"./reload-items\";\nimport { updateItemProperty } from \"./update-item-property\";\nconst ROOT_ID = null;\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_CLASS_VALUE = \"tree-view-item\";\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst DEFAULT_EXPANDED_VALUE = false;\nconst DEFAULT_INDETERMINATE_VALUE = false;\nconst DEFAULT_LAZY_VALUE = false;\nconst DEFAULT_ORDER_VALUE = 0;\nconst DEFAULT_SELECTED_VALUE = false;\n// There are a filter applied and, if the type is \"caption\" or\n// \"metadata\", the filter property must be set\nconst treeViewHasFilters = (filterType, filter) => filterType !== \"none\" &&\n ((filterType !== \"caption\" && filterType !== \"metadata\") ||\n (filter != null && filter.trim() !== \"\"));\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: itemModel.dropDisabled ?? treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, expandableButton: itemModel.expandableButton ?? treeState.expandableButton, expandOnClick: treeState.expandOnClick, 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, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== undefined\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nconst GXRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, downloading: itemModel.downloading, dragDisabled: itemModel.dragEnabled != null\n ? !itemModel.dragEnabled\n : treeState.dragDisabled, dropDisabled: itemModel.dropEnabled != null\n ? !itemModel.dropEnabled\n : treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: fromGxImageToURL(itemModel.leftImage, treeState.gxSettings, treeState.gxImageConstructor), level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => GXRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== undefined\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nconst defaultSortItemsCallback = (subModel) => {\n subModel.sort((a, b) => {\n if (a.order < b.order) {\n return -1;\n }\n if (a.order > b.order) {\n return 0;\n }\n return a.caption <= b.caption ? -1 : 0;\n });\n};\nexport class ChTreeViewRender {\n constructor() {\n this.waitDropProcessing = false;\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.filter = undefined;\n this.filterDebounce = 250;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.gxImageConstructor = undefined;\n this.gxSettings = undefined;\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"none\";\n this.sortItemsCallback = defaultSortItemsCallback;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n this.useGxRender = false;\n }\n // UI Models\n #flattenedTreeModel = new Map();\n #flattenedCheckboxTreeModel = new Map();\n #selectedItems = new Set();\n #selectedChangeScheduled = false;\n #checkedChangeScheduled = false;\n #rootNode;\n // Filters info\n #applyFilters = false;\n #immediateFilter;\n #filterTimeout;\n #filterListAsSet;\n // Refs\n #treeRef;\n el;\n handleFilterChange() {\n if (this.filterType === \"caption\" || this.filterType === \"metadata\") {\n this.#scheduleFilterProcessing();\n }\n }\n handleFilterDebounceChange() {\n if (this.filterType === \"caption\" || this.filterType === \"metadata\") {\n this.#scheduleFilterProcessing();\n }\n }\n handleFilterListChange() {\n // Use a Set to efficiently check for ids\n this.#filterListAsSet = new Set(this.filterList);\n if (this.filterType === \"list\") {\n this.#scheduleFilterProcessing();\n }\n }\n handleFilterOptionsChange() {\n this.#scheduleFilterProcessing();\n }\n handleFilterTypeChange() {\n this.#scheduleFilterProcessing();\n }\n handleMultiSelectionChange(newMultiSelection) {\n // MultiSelection is disabled. We must select the last updated item\n if (!newMultiSelection) {\n this.#removeAllSelectedItemsExceptForTheLast(this.#selectedItems);\n }\n }\n handleTreeModelChange() {\n this.#flattenModel();\n }\n /**\n * Fired when the checked items change.\n * This event does take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n * This event can be fired by the following conditions:\n * 1. A user changes the selected items interacting with the Tree View.\n *\n * 2. The `multiSelection` value is changed from `true` to `false`.\n *\n * 3. A selected item is no longer rendered because it does not satisfies a\n * filter condition.\n *\n * 4. TODO: The `treeModel` property is updated and contains different selected\n * items. Even if it does not contains different selected items, this\n * event is fired because the selected items can have a different path\n * than before the `treeModel` update.\n *\n * 5.The `updateItemsProperties` method is executed, changing the item\n * selection.\n *\n * 6. A selected item is removed.\n *\n * 7. TODO: A selected item is moved into a new parent with drag and drop.\n * In this case, since the detail of the event contains the information\n * of the parent, this event must be fired to update the information.\n *\n * 8. Executing `scrollIntoVisible` method and updating the selected value\n * of the scrolled item.\n *\n * 9. TODO: An external item is dropped into the Tree View and the item is\n * selected.\n *\n * 10. TODO: Lazy loading content that has selected items?\n *\n * Thing that does not fire this event:\n * - TODO: Renaming a selected item.\n *\n * - TODO: Applying a filter that keeps all selected items rendered.\n */\n selectedItemsChange;\n /**\n * Given the drop accepting, the data transfer info and the external items,\n * it process the drops of the items in the tree.\n */\n async dropItems(acceptDrop, dataTransferInfo, items) {\n if (!acceptDrop) {\n return;\n }\n const newParentId = dataTransferInfo.newContainer.id;\n const newParentUIModel = this.#flattenedTreeModel.get(newParentId).item;\n // Only move the items to the new parent, keeping the state\n if (dataTransferInfo.dropInTheSameTree) {\n // Add the UI models to the new container and remove the UI models from\n // the old containers\n dataTransferInfo.draggedItems.forEach(this.#moveItemToNewParent(newParentUIModel));\n // When the selected items are moved, the tree must update its internal\n // state to not have undefined references\n if (dataTransferInfo.draggingSelectedItems) {\n this.#scheduleSelectedItemsChange();\n }\n }\n // Add the new items\n else {\n if (items == null) {\n return;\n }\n // Add new items to the parent\n newParentUIModel.items.push(...items);\n // Flatten the new UI models\n items.forEach(this.#flattenItemUIModel(newParentUIModel));\n }\n this.#sortItems(newParentUIModel.items);\n // Open the item to visualize the new subitems\n newParentUIModel.expanded = true;\n // Re-sync checked items\n this.#scheduleCheckedItemsChange();\n // Update filters\n this.#scheduleFilterProcessing();\n // Force re-render\n forceUpdate(this);\n }\n /**\n * Given a list of ids, it returns an array of the items that exists in the\n * given list.\n */\n async getItemsInfo(itemsId) {\n return this.#getItemsInfo(itemsId);\n }\n #getItemsInfo = (itemsId) => {\n const treeViewItemsInfo = [];\n itemsId.forEach(itemId => {\n const itemUIModel = this.#flattenedTreeModel.get(itemId);\n if (itemUIModel) {\n treeViewItemsInfo.push(itemUIModel);\n }\n });\n return treeViewItemsInfo;\n };\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n const itemToLazyLoadContent = this.#flattenedTreeModel.get(itemId).item;\n // Establish that the content was lazy loaded\n itemToLazyLoadContent.downloading = downloading;\n itemToLazyLoadContent.lazy = lazy;\n // Check if there is items to add\n if (items == null) {\n return;\n }\n // @todo What happens in the server when dropping items on a lazy node?\n itemToLazyLoadContent.items = items;\n this.#sortItems(itemToLazyLoadContent.items);\n this.#flattenSubModel(itemToLazyLoadContent);\n // Re-sync checked items\n this.#scheduleCheckedItemsChange();\n // Update filters\n this.#scheduleFilterProcessing();\n // Force re-render\n forceUpdate(this);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n const removeItemsResult = removeTreeViewItems(items, this.#flattenedTreeModel, this.#flattenedCheckboxTreeModel, this.#selectedItems);\n if (!this.#treeHasFilters()) {\n // Update selected items\n if (removeItemsResult.atLeastOneSelected) {\n this.#updateSelectedItems();\n }\n // Re-sync checked items\n if (removeItemsResult.atLeastOneCheckbox) {\n this.#scheduleCheckedItemsChange();\n }\n }\n // Force re-render\n if (removeItemsResult.atLeastOneElement) {\n forceUpdate(this);\n // Update filters\n this.#scheduleFilterProcessing(\"immediate\");\n }\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n reloadItems(this.el, itemId, this.#flattenedTreeModel, this.lazyLoadTreeItemsCallback, (itemId, items) => this.loadLazyContent(itemId, items), (items) => this.removeItems(items), beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n */\n async scrollIntoVisible(path, afterProperties) {\n const hasOnlyTheItemId = typeof path === \"string\";\n const success = await (hasOnlyTheItemId\n ? scrollIntoVisibleId(path, this.#flattenedTreeModel)\n : scrollIntoVisiblePath(path, this.#flattenedTreeModel, this.#rootNode, this.lazyLoadTreeItemsCallback));\n if (!success) {\n return;\n }\n const itemId = hasOnlyTheItemId ? path : path[path.length - 1];\n if (afterProperties) {\n this.updateItemsProperties([itemId], afterProperties);\n }\n forceUpdate(this);\n // @todo For some reason, when the model is created using the \"big model\" option,\n // this implementation does not work when only the UI Model is updated. So, to\n // expand the items, we have to delegate the responsibility to the tree-view\n this.#treeRef.scrollIntoVisible(itemId);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n if (!treeItemIds) {\n return [];\n }\n const modifiedTreeItems = [];\n treeItemIds.forEach(treeItemId => {\n const itemInfo = this.#flattenedTreeModel.get(treeItemId).item;\n if (itemInfo) {\n itemInfo.expanded = expand ?? !itemInfo.expanded;\n modifiedTreeItems.push({\n id: itemInfo.id,\n expanded: itemInfo.expanded\n });\n }\n });\n // Force re-render\n forceUpdate(this);\n return modifiedTreeItems;\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n [...this.#flattenedTreeModel.values()].forEach(itemUIModel => {\n if (properties.expanded != null) {\n itemUIModel.item.expanded = properties.expanded;\n }\n if (properties.checked != null) {\n itemUIModel.item.checked = properties.checked;\n itemUIModel.item.indeterminate = false;\n }\n });\n // Update filters\n if (properties.checked != null) {\n this.#scheduleFilterProcessing();\n }\n forceUpdate(this);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n // Set to check if there are new selected items\n const newSelectedItems = new Set(this.#selectedItems);\n // Map to check if there are new items with checkbox\n const newCheckboxItems = new Map(this.#flattenedCheckboxTreeModel);\n items.forEach(itemId => {\n updateItemProperty(itemId, properties, this.#flattenedTreeModel, newSelectedItems, newCheckboxItems, this.checkbox);\n });\n // MultiSelection is disabled. We must select the last updated item\n if (!this.multiSelection) {\n this.#removeAllSelectedItemsExceptForTheLast(newSelectedItems);\n }\n // Update filters if necessary\n if (this.#treeHasFilters()) {\n this.#scheduleFilterProcessing();\n }\n else {\n this.#checkIfThereAreDifferentItemsWithCheckbox(newCheckboxItems);\n this.#checkIfThereAreDifferentSelectedItems(newSelectedItems);\n }\n forceUpdate(this);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {\n this.#treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);\n }\n updateCheckboxValue(event) {\n event.stopPropagation();\n const detail = event.detail;\n const treeItemId = detail.id;\n const itemUIModel = this.#flattenedCheckboxTreeModel.get(treeItemId);\n // In some cases, when the `treeModel` and `checked` properties are updated\n // outside of the tree control, some events are fired with undefined references\n if (!itemUIModel) {\n return;\n }\n const itemInfo = itemUIModel.item;\n itemInfo.checked = detail.checked;\n itemInfo.indeterminate = detail.indeterminate;\n this.#scheduleCheckedItemsChange();\n // Update filters\n if (this.filterType === \"checked\" || this.filterType === \"unchecked\") {\n this.#scheduleFilterProcessing();\n }\n // Force re-render\n forceUpdate(this);\n }\n loadLazyChildrenHandler(event) {\n if (!this.lazyLoadTreeItemsCallback) {\n return;\n }\n event.stopPropagation();\n const treeItemId = event.detail;\n const promise = this.lazyLoadTreeItemsCallback(treeItemId);\n event.target.downloading = true;\n promise.then(result => {\n this.loadLazyContent(treeItemId, result);\n });\n }\n handleCaptionModification(event) {\n if (!this.modifyItemCaptionCallback) {\n return;\n }\n event.stopPropagation();\n const itemRef = event.target;\n const itemId = event.detail.id;\n const itemUIModel = this.#flattenedTreeModel.get(itemId);\n const itemInfo = itemUIModel.item;\n const newCaption = event.detail.caption;\n const oldCaption = itemInfo.caption;\n // Optimistic UI: Update the caption in the UI Model before the change is\n // completed in the server\n itemInfo.caption = newCaption;\n // Due to performance reasons, we don't make a shallow copy of the\n // treeModel to force a re-render\n itemRef.caption = newCaption;\n const promise = this.modifyItemCaptionCallback(itemId, newCaption);\n promise.then(status => {\n if (status.success) {\n this.#sortItems(itemUIModel.parentItem.items);\n // Update filters\n this.#scheduleFilterProcessing();\n // Force re-render\n forceUpdate(this);\n }\n else {\n itemRef.caption = oldCaption;\n itemInfo.caption = oldCaption;\n // Do something with the error message\n }\n });\n }\n handleOpenReference(event) {\n event.stopPropagation();\n this.itemOpenReference.emit(event.detail);\n }\n #handleDroppableZoneEnter = (event) => {\n if (!this.checkDroppableZoneCallback) {\n return;\n }\n event.stopPropagation();\n // Suppose the request is made immediately by executing the callback\n const requestTimestamp = new Date().getTime();\n const dropInformation = event.detail;\n const promise = this.checkDroppableZoneCallback(dropInformation);\n promise.then(validDrop => {\n this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);\n });\n };\n #handleSelectedItemsChange = (event) => {\n event.stopPropagation();\n const itemsToProcess = new Map(event.detail);\n const previousSelectedItems = this.#selectedItems;\n // Remove no longer selected items\n previousSelectedItems.forEach(selectedItemId => {\n const itemUIModel = this.#flattenedTreeModel.get(selectedItemId).item;\n const itemIsStillSelected = itemsToProcess.get(selectedItemId);\n // The item does not need to be added. Remove it from the processed list\n if (itemIsStillSelected) {\n itemUIModel.expanded = itemIsStillSelected.expanded; // Update expanded state\n itemsToProcess.delete(selectedItemId);\n }\n // The item must be un-selected in the UI Model\n else {\n itemUIModel.selected = false;\n previousSelectedItems.delete(selectedItemId);\n }\n });\n // Add new selected items\n itemsToProcess.forEach((newSelectedItemInfo, itemId) => {\n const newSelectedItem = this.#flattenedTreeModel.get(itemId).item;\n newSelectedItem.selected = true;\n newSelectedItem.expanded = newSelectedItemInfo.expanded;\n previousSelectedItems.add(itemId);\n });\n // Queue re-render to avoid issues about synchronization the Virtual DOM\n // with the real DOM\n forceUpdate(this);\n this.#updateSelectedItems();\n };\n #handleExpandedItemChange = (event) => {\n const detail = event.detail;\n const itemInfo = this.#flattenedTreeModel.get(detail.id).item;\n itemInfo.expanded = detail.expanded;\n };\n #handleItemContextmenu = (event) => {\n event.stopPropagation();\n this.itemContextmenu.emit(event.detail);\n };\n #handleItemsDropped = (event) => {\n const dataTransferInfo = event.detail;\n const newContainer = dataTransferInfo.newContainer;\n const newParentId = newContainer.id;\n // Check if the parent exists in the UI Model\n if (!this.#flattenedTreeModel.get(newParentId)) {\n return;\n }\n const draggedItems = dataTransferInfo.draggedItems;\n if (draggedItems.length === 0 || !this.dropItemsCallback) {\n return;\n }\n event.stopPropagation();\n const promise = this.dropItemsCallback(dataTransferInfo);\n this.waitDropProcessing = true;\n promise.then(async (response) => {\n this.dropItems(response.acceptDrop, dataTransferInfo, response.items);\n this.waitDropProcessing = false;\n });\n };\n #removeAllSelectedItemsExceptForTheLast = (currentSelectedItems) => {\n if (currentSelectedItems.size > 1) {\n const selectedItemsArray = [...currentSelectedItems.values()];\n const lastItemIndex = currentSelectedItems.size - 1;\n // Deselect all items except the last\n for (let index = 0; index < lastItemIndex; index++) {\n const itemId = selectedItemsArray[index];\n this.#flattenedTreeModel.get(itemId).item.selected = false;\n }\n // Create a new Set with only the last item\n currentSelectedItems.clear();\n currentSelectedItems.add(selectedItemsArray[lastItemIndex]);\n this.#scheduleSelectedItemsChange();\n }\n };\n #moveItemToNewParent = (newParentUIModel) => (dataTransferInfo) => {\n const itemUIModelExtended = this.#flattenedTreeModel.get(dataTransferInfo.id);\n const item = itemUIModelExtended.item;\n const oldParentItem = itemUIModelExtended.parentItem;\n // Remove the UI model from the previous parent. The equality function\n // must be by index, not by object reference\n oldParentItem.items.splice(oldParentItem.items.findIndex(el => el.id === item.id), 1);\n // Add the UI Model to the new parent\n newParentUIModel.items.push(item);\n // Reference the new parent in the item\n itemUIModelExtended.parentItem = newParentUIModel;\n };\n #flattenSubModel = (model) => {\n const items = model.items;\n if (!items) {\n // Make sure that subtrees don't have an undefined array\n if (model.leaf !== true) {\n model.items = [];\n }\n return;\n }\n this.#sortItems(items);\n items.forEach(this.#flattenItemUIModel(model));\n };\n #flattenItemUIModel = (parentModel) => (item) => {\n this.#flattenedTreeModel.set(item.id, {\n parentItem: parentModel,\n item: item\n });\n // Add the items that have a checkbox in a separate Map\n if (this.#itemHasCheckbox(item)) {\n this.#flattenedCheckboxTreeModel.set(item.id, {\n parentItem: parentModel,\n item: item\n });\n }\n // Make sure the properties are with their default values to avoid issues\n // when reusing DOM nodes\n item.class ||= DEFAULT_CLASS_VALUE;\n item.expanded ??= DEFAULT_EXPANDED_VALUE;\n item.indeterminate ??= DEFAULT_INDETERMINATE_VALUE;\n item.lazy ??= DEFAULT_LAZY_VALUE;\n item.order ??= DEFAULT_ORDER_VALUE;\n item.selected ??= DEFAULT_SELECTED_VALUE;\n if (item.selected) {\n this.#selectedItems.add(item.id);\n }\n this.#flattenSubModel(item);\n };\n #itemHasCheckbox = (item) => itemHasCheckbox(item, this.checkbox);\n #treeHasFilters = () => treeViewHasFilters(this.filterType, this.filter);\n #sortItems = (items) => {\n // Ensure that items are sorted\n if (this.sortItemsCallback) {\n this.sortItemsCallback(items);\n }\n };\n #flattenModel = () => {\n this.#flattenedTreeModel.clear();\n this.#flattenedCheckboxTreeModel.clear();\n this.#selectedItems.clear();\n this.#rootNode = { id: ROOT_ID, caption: ROOT_ID, items: this.treeModel };\n this.#flattenSubModel(this.#rootNode);\n // Re-sync filters\n this.#scheduleFilterProcessing();\n // The model was updated at runtime, so we need to update the references\n // Re-sync selected items\n this.#scheduleSelectedItemsChange();\n // Re-sync checked items\n this.#scheduleCheckedItemsChange();\n };\n #filterSubModel = (item, filterInfo, currentSelectedItems, currentCheckboxItems) => {\n let aSubItemIsRendered = false;\n // Check if a subitem is rendered\n if (item.leaf !== true && item.items != null) {\n let lastItemId = undefined;\n item.items.forEach(subItem => {\n const itemSatisfiesFilter = this.#filterSubModel(subItem, filterInfo, currentSelectedItems, currentCheckboxItems);\n aSubItemIsRendered ||= itemSatisfiesFilter;\n if (itemSatisfiesFilter) {\n lastItemId = subItem.id;\n }\n });\n item.lastItemId = lastItemId;\n }\n // The current item is rendered if it satisfies the filter condition or a\n // subitem exists that needs to be rendered\n const satisfiesFilter = aSubItemIsRendered || computeFilter(this.filterType, item, filterInfo);\n item.render = satisfiesFilter; // Update item render\n // Update selected and checkbox items\n if (satisfiesFilter && item.id !== ROOT_ID) {\n if (item.selected) {\n currentSelectedItems.add(item.id);\n }\n if (this.#itemHasCheckbox(item)) {\n const itemUIModel = this.#flattenedTreeModel.get(item.id);\n currentCheckboxItems.set(item.id, itemUIModel);\n }\n }\n return satisfiesFilter;\n };\n #scheduleCheckedItemsChange = () => {\n this.#checkedChangeScheduled = true;\n };\n #scheduleSelectedItemsChange = () => {\n this.#selectedChangeScheduled = true;\n };\n #updateSelectedItems = () => {\n const selectedItemsInfo = this.#getItemsInfo([\n ...this.#selectedItems.keys()\n ]);\n this.selectedItemsChange.emit(selectedItemsInfo);\n };\n #updateCheckedItems = () => {\n // New copy of the checked items\n const allItemsWithCheckbox = new Map(this.#flattenedCheckboxTreeModel);\n // Update the checked value if not defined\n allItemsWithCheckbox.forEach(itemUIModel => {\n itemUIModel.item.checked ??= this.checked;\n });\n this.checkedItemsChange.emit(allItemsWithCheckbox);\n };\n #scheduleFilterProcessing = (immediateFilter) => {\n this.#applyFilters = true;\n if (immediateFilter !== undefined) {\n this.#immediateFilter ??= immediateFilter;\n }\n };\n #checkIfThereAreDifferentItemsWithCheckbox = (newCheckboxItems) => {\n if (newCheckboxItems.size !== this.#flattenedCheckboxTreeModel.size) {\n this.#checkedChangeScheduled = true;\n }\n // Check if the items in each Map have the same id\n else {\n this.#flattenedCheckboxTreeModel.forEach((_, itemId) => {\n // Found a value that don't belong to the checkboxItems with filters,\n // schedule checkedItemsChange\n if (!newCheckboxItems.has(itemId)) {\n // Schedule checkedItemsChange\n this.#checkedChangeScheduled = true;\n }\n });\n }\n // The previous checkbox items will now be the selected items with filter\n this.#flattenedCheckboxTreeModel = newCheckboxItems;\n };\n #checkIfThereAreDifferentSelectedItems = (newSelectedItems) => {\n if (newSelectedItems.size !== this.#selectedItems.size) {\n this.#selectedChangeScheduled = true;\n }\n // Check if the items in each Set have the same id\n else {\n this.#selectedItems.forEach(itemId => {\n // Found a value that don't belong to the selectedItems with filters,\n // deselect the item\n if (!newSelectedItems.has(itemId)) {\n this.#flattenedTreeModel.get(itemId).item.selected = false;\n // Schedule selectedItemsChange\n this.#selectedChangeScheduled = true;\n }\n });\n }\n // The previous selected items will now be the selected items with filter\n this.#selectedItems = newSelectedItems;\n };\n #updateFilters = () => {\n if (this.filterType === \"none\") {\n // Check if there are more items with checkbox\n const itemsWithCheckbox = new Map();\n this.#flattenedTreeModel.forEach((itemUIModel, itemId) => {\n if (this.#itemHasCheckbox(itemUIModel.item)) {\n itemsWithCheckbox.set(itemId, itemUIModel);\n }\n });\n this.#checkIfThereAreDifferentItemsWithCheckbox(itemsWithCheckbox);\n this.#validateCheckedAndSelectedItems();\n return;\n }\n // Remove queued filter processing\n clearTimeout(this.#filterTimeout);\n const processWithDebounce = this.filterDebounce > 0 &&\n (this.filterType === \"caption\" || this.filterType === \"metadata\");\n const filterFunction = () => {\n const currentSelectedItems = new Set();\n const currentCheckedItems = new Map();\n this.#filterSubModel({\n id: ROOT_ID,\n caption: ROOT_ID,\n items: this.treeModel\n }, {\n defaultCheckbox: this.checkbox,\n defaultChecked: this.checked,\n filter: this.filter,\n filterOptions: this.filterOptions,\n filterSet: this.#filterListAsSet\n }, currentSelectedItems, currentCheckedItems);\n // It validates if there are differences between the items with checkbox\n // and the selected items. If there are, emit the corresponding updates.\n this.#checkIfThereAreDifferentSelectedItems(currentSelectedItems);\n this.#checkIfThereAreDifferentItemsWithCheckbox(currentCheckedItems);\n this.#validateCheckedAndSelectedItems();\n };\n // Check if should filter with debounce\n if (processWithDebounce && this.#immediateFilter !== \"immediate\") {\n this.#filterTimeout = setTimeout(() => {\n this.#immediateFilter = undefined;\n filterFunction();\n forceUpdate(this); // After the filter processing is completed, force a re-render\n }, this.filterDebounce);\n }\n // No debounce\n else {\n this.#immediateFilter = undefined;\n filterFunction();\n }\n };\n #validateCheckedAndSelectedItems = () => {\n if (this.#checkedChangeScheduled) {\n this.#updateCheckedItems();\n this.#checkedChangeScheduled = false;\n }\n if (this.#selectedChangeScheduled) {\n this.#selectedChangeScheduled = false;\n // Update the selected items in the ch-tree-view control\n this.#updateSelectedItems();\n }\n };\n #getSelectedItemsCallback = () => {\n const selectedItemsInfo = new Map();\n this.#selectedItems.forEach(itemId => {\n const itemUIModel = this.#flattenedTreeModel.get(itemId);\n const itemInfo = itemUIModel.item;\n selectedItemsInfo.set(itemId, {\n id: itemInfo.id,\n expanded: itemInfo.expanded,\n metadata: itemInfo.metadata,\n parentId: itemUIModel.parentItem.id\n });\n });\n return selectedItemsInfo;\n };\n componentWillLoad() {\n if (this.useGxRender) {\n this.renderItem = GXRenderItem;\n }\n this.#flattenModel();\n }\n componentWillRender() {\n if (!this.#selectedChangeScheduled &&\n !this.#checkedChangeScheduled &&\n !this.#applyFilters) {\n return;\n }\n // If the filters must be applied, we must let the filters decided which\n // are the selected and checked items\n if (this.#applyFilters) {\n this.#updateFilters();\n this.#applyFilters = false;\n return;\n }\n this.#validateCheckedAndSelectedItems();\n }\n render() {\n return (h(\"ch-tree-view\", { class: this.cssClass || null, multiSelection: this.multiSelection, selectedItemsCallback: this.#getSelectedItemsCallback, 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.#treeHasFilters(), this.showLines !== \"none\" && index === this.treeModel.length - 1, 0))));\n }\n static get is() { return \"ch-tree-view-render\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view-render.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view-render.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDropCheckInfo\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDataTransferInfo\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed in the items by\\ndefault.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies if a tree-view-item is expanded on click interaction. If `true`\\nthe tree-view-item is expanded on click interaction. If `false`, with\\nmouse interaction the tree-view-item will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"250\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewFilterOptions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewFilterType\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"gxImageConstructor\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(name: string) => any\",\n \"resolved\": \"(name: string) => any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n }\n },\n \"gxSettings\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n },\n \"attribute\": \"gx-settings\",\n \"reflect\": false\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LazyLoadTreeItemsCallback\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"LazyLoadTreeItemsCallback\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::LazyLoadTreeItemsCallback\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewOperationStatusModifyCaption\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel | any,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number\\n ) => any\",\n \"resolved\": \"(itemModel: any, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"global\",\n \"id\": \"global::ChTreeViewRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewLines\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n },\n \"defaultValue\": \"defaultSortItemsCallback\"\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-view-render control.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"useGxRender\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property is a WA to implement the Tree View as a UC 2.0 in GeneXus.\"\n },\n \"attribute\": \"use-gx-render\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"waitDropProcessing\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemContextMenu\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemOpenReferenceInfo\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\\nThis event can be fired by the following conditions:\\n 1. A user changes the selected items interacting with the Tree View.\\n\\n 2. The `multiSelection` value is changed from `true` to `false`.\\n\\n 3. A selected item is no longer rendered because it does not satisfies a\\n filter condition.\\n\\n 4. TODO: The `treeModel` property is updated and contains different selected\\n items. Even if it does not contains different selected items, this\\n event is fired because the selected items can have a different path\\n than before the `treeModel` update.\\n\\n 5.The `updateItemsProperties` method is executed, changing the item\\n selection.\\n\\n 6. A selected item is removed.\\n\\n 7. TODO: A selected item is moved into a new parent with drag and drop.\\n In this case, since the detail of the event contains the information\\n of the parent, this event must be fired to update the information.\\n\\n 8. Executing `scrollIntoVisible` method and updating the selected value\\n of the scrolled item.\\n\\n 9. TODO: An external item is dropped into the Tree View and the item is\\n selected.\\n\\n 10. TODO: Lazy loading content that has selected items?\\n\\nThing that does not fire this event:\\n - TODO: Renaming a selected item.\\n\\n - TODO: Applying a filter that keeps all selected items rendered.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"dropItems\": {\n \"complexType\": {\n \"signature\": \"(acceptDrop: boolean, dataTransferInfo: TreeViewDataTransferInfo, items?: TreeViewItemModel[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"acceptDrop\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"dataTransferInfo\",\n \"type\": \"{ newContainer: GxDataTransferInfo; draggedItems: GxDataTransferInfo[]; draggingSelectedItems: boolean; dropInTheSameTree: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewDataTransferInfo\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the drop accepting, the data transfer info and the external items,\\nit process the drops of the items in the tree.\",\n \"tags\": []\n }\n },\n \"getItemsInfo\": {\n \"complexType\": {\n \"signature\": \"(itemsId: string[]) => Promise<TreeViewItemModelExtended[]>\",\n \"parameters\": [{\n \"name\": \"itemsId\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n },\n \"return\": \"Promise<TreeViewItemModelExtended[]>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, it returns an array of the items that exists in the\\ngiven list.\",\n \"tags\": []\n }\n },\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewRemoveItemsResult\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewRemoveItemsResult\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemExpandedInfo\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"../../tree-view/tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemModel\"\n },\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"./types\",\n \"id\": \"src/components/renders/tree-view/types.ts::TreeViewItemModelExtended\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::GxDataTransferInfo\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"filter\",\n \"methodName\": \"handleFilterChange\"\n }, {\n \"propName\": \"filterDebounce\",\n \"methodName\": \"handleFilterDebounceChange\"\n }, {\n \"propName\": \"filterList\",\n \"methodName\": \"handleFilterListChange\"\n }, {\n \"propName\": \"filterOptions\",\n \"methodName\": \"handleFilterOptionsChange\"\n }, {\n \"propName\": \"filterType\",\n \"methodName\": \"handleFilterTypeChange\"\n }, {\n \"propName\": \"multiSelection\",\n \"methodName\": \"handleMultiSelectionChange\"\n }, {\n \"propName\": \"treeModel\",\n \"methodName\": \"handleTreeModelChange\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"checkboxChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"checkboxToggleChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"loadLazyContent\",\n \"method\": \"loadLazyChildrenHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"modifyCaption\",\n \"method\": \"handleCaptionModification\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"openReference\",\n \"method\": \"handleOpenReference\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tree-view-render.js.map\n","export const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;\n//# sourceMappingURL=helpers.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n}\n\n.gxg-title-02--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-xs);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n}\n\n.gxg-title-03--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-xs);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n text-transform: uppercase;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n.gxg-title-04--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-md);\n letter-spacing: var(--letter-spacing-md);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.556em;\n}\n\n.gxg-title-05--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-sm);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.556em;\n color: var(--color-on-primary);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n}\n\n.gxg-text--negative {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-on-primary);\n}\n\n.gxg-text--gray {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--gray-05);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--color-on-primary);\n}\n\n/*Link*/\n.gxg-link {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--color-primary-hover);\n}\n.gxg-link:active {\n color: var(--color-primary-active);\n}\n\n.gxg-link-gray {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--gray-04);\n}\n.gxg-link-gray:hover {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-primary);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--gray-04);\n color: var(--gray-06);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-error-dark);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-warning-dark);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--font-family-primary);\n font-weight: var(--font-weight-regular);\n font-size: var(--font-size-sm);\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-on-background);\n text-align: start;\n line-height: 1.455em;\n color: var(--color-success-dark);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--font-family-primary) !important;\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm) !important;\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-primary-enabled);\n text-align: center;\n line-height: 1.455em;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n.gxg-button-styles {\n font-family: var(--font-family-primary) !important;\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm) !important;\n letter-spacing: var(--letter-spacing-xs);\n color: var(--color-primary-enabled);\n text-align: center;\n line-height: 1.455em;\n}\n\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n cursor: initial;\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width, 6px);\n height: var(--gxg-scrollbar-width, 6px);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background, --gray-02);\n border-radius: var(--gxg-scrollbar-track-border-radius, 10px);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background, --gray-05);\n border-radius: var(--gxg-scrollbar-track-thumb-radius, 10px);\n border: var(--gxg-scrollbar-track-thumb-border);\n background-clip: padding-box;\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);\n}\n\n/*---------------------------\ngxg-tree-view\n---------------------------*/\ngxg-tree-view {\n --gxg-tree-view-icon-size: var(--spacing-comp-03);\n display: contents;\n color: var(--color-on-background);\n font-family: var(--font-family-primary);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-regular);\n}\n\n/*---------------------------\n.tree-view\n---------------------------*/\n.tree-view {\n /* Track */\n /* Handle */\n /* Handle on hover */\n cursor: initial;\n}\n.tree-view::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width, 6px);\n height: var(--gxg-scrollbar-width, 6px);\n}\n.tree-view::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background, --gray-02);\n border-radius: var(--gxg-scrollbar-track-border-radius, 10px);\n}\n.tree-view::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background, --gray-05);\n border-radius: var(--gxg-scrollbar-track-thumb-radius, 10px);\n border: var(--gxg-scrollbar-track-thumb-border);\n background-clip: padding-box;\n}\n.tree-view::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);\n}\n.tree-view .ch-tree-view-container {\n padding: 7px;\n /*although this value does not exists in gemini ds space tokens, it is the value that works best with gx-ide*/\n}\n\n/*---------------------------\n.tree-view-item\n---------------------------*/\n.tree-view-item {\n /*-- Custom vars ---*/\n --ch-tree-view-view__checkbox-size: var(--gxg-checkbox-size);\n --ch-tree-view-view__expandable-button-width: var(--gxg-tree-view-icon-size);\n --ch-tree-view-item-gap: var(--spacing-comp-02);\n --ch-tree-view-item-custom-padding-inline-start: var(--spacing-comp-01);\n --ch-tree-view-item-custom-padding-inline-end: var(--spacing-comp-01);\n /*-- Parts ---*/\n /*-- Parts for checkbox ---*/\n /*checked*/\n /*indeterminate*/\n /*-- Dynamic Icons ---*/\n /*-- Other ---*/\n}\n.tree-view-item::part(dashed-line) {\n border-color: var(--gray-02);\n}\n.tree-view-item::part(header) {\n min-height: var(--spacing-comp-05);\n padding-top: var(--spacing-comp-00);\n padding-bottom: var(--spacing-comp-00);\n padding-inline-end: var(--spacing-comp-02);\n}\n.tree-view-item::part(header):hover {\n background-color: var(--gxg-background-color--hover);\n color: var(--gxg-color--hover);\n}\n.tree-view-item::part(header):focus {\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: -2px;\n}\n.tree-view-item[selected]::part(header) {\n background-color: var(--gxg-background-color--selected);\n}\n.tree-view-item[selected]::part(header):hover {\n background-color: var(--gxg-background-color--selected-hover);\n}\n.tree-view-item::part(expandable-button) {\n background-color: var(--gray-00);\n}\n.tree-view-item::part(expandable-button)::before {\n background-color: var(--gray-04);\n -webkit-mask-position: center;\n -webkit-mask-repeat: no-repeat;\n}\n.tree-view-item::part(expandable-button):hover {\n background-color: var(--color-background);\n}\n.tree-view-item::part(expandable-button):focus {\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: 0;\n}\n.tree-view-item::part(left-img) {\n width: var(--spacing-comp-04);\n height: var(--spacing-comp-04);\n}\n.tree-view-item::part(downloading) {\n width: var(--spacing-comp-03);\n height: var(--spacing-comp-03);\n border: var(--border-width-md) solid var(--color-primary-enabled);\n border-inline-start-color: transparent;\n}\n.tree-view-item::part(checkbox__container) {\n border-color: var(--gray-04);\n background-color: var(--color-background);\n}\n.tree-view-item::part(checkbox__container):after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.tree-view-item::part(checkbox__container):focus-within {\n box-shadow: none;\n outline: var(--border-width-md) solid var(--gxg-border-color--focused);\n outline-offset: -2px;\n}\n.tree-view-item::part(checkbox__option) {\n display: none;\n}\n.tree-view-item::part(checkbox__container checkbox__checked):after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--color-primary-active);\n transition-property: border-color;\n transition-duration: var(--ui-animaton-speed);\n transition-timing-function: ease;\n}\n.tree-view-item::part(checkbox__container checkbox__indeterminate):after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--color-primary-active);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.tree-view-item::part(checkbox__input) {\n position: relative;\n z-index: 1;\n}\n.tree-view-item--folder::part(action)::before, .tree-view-item--module::part(action)::before {\n grid-area: left-img;\n content: \"\";\n width: var(--gxg-tree-view-icon-size);\n height: var(--gxg-tree-view-icon-size);\n margin-inline-end: var(--ch-tree-view-item-gap);\n background-repeat: no-repeat;\n}\n.tree-view-item--folder::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/folder.svg\");\n}\n.tree-view-item--folder::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/folder-open.svg\");\n}\n.tree-view-item--module::part(action)::before {\n background-image: url(\"/build/icon-assets/objects/module.svg\");\n}\n.tree-view-item--module::part(action expanded)::before {\n background-image: url(\"/build/icon-assets/objects/module-open.svg\");\n}\n.tree-view-item--pending-commit::part(action)::before {\n content: \"\";\n position: relative;\n z-index: 1;\n grid-area: left-img;\n width: 5px;\n height: 5px;\n align-self: end;\n margin-block-end: 3px;\n margin-inline-start: 1px;\n background-color: var(--color-primary-enabled);\n border-radius: 50%;\n}\n\n/*-- Other Selectors (these depend on the tag class name)---*/\n.tree-view-item--editing::part(header) {\n border: 2px solid transparent;\n}\n/*--- Revisar ---*/\n.tree-view .ch-tree-view-drag-info {\n padding-inline: 6px;\n padding-block: 2px;\n background-color: #cfdee6;\n border: 1px solid #0266a0;\n border-radius: 10px;\n font-size: 8px;\n}","import { h, getAssetPath, } from \"@stencil/core\";\nimport { resolveImgPath } from \"./helpers\";\nconst DEFAULT_DRAG_DISABLED_VALUE = false;\nconst DEFAULT_DROP_DISABLED_VALUE = false;\nconst DEFAULT_EDITABLE_ITEMS_VALUE = true;\nconst iconAssetsPath = getAssetPath(`./icon-assets`);\nconst defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => (treeState.filterType === \"none\" || itemModel.render !== false) && (h(\"ch-tree-view-item\", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: itemModel.checkbox ?? treeState.checkbox, checked: itemModel.checked ?? treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: itemModel.dragDisabled ?? treeState.dragDisabled, dropDisabled: itemModel.dropDisabled ?? treeState.dropDisabled, editable: itemModel.editable ?? treeState.editableItems, expanded: itemModel.expanded, expandableButton: itemModel.expandableButton ?? treeState.expandableButton, expandOnClick: treeState.expandOnClick, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc\n ? resolveImgPath(iconAssetsPath, itemModel.leftImgSrc)\n : null, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: itemModel.toggleCheckboxes ?? treeState.toggleCheckboxes }, !itemModel.leaf &&\n itemModel.items != null &&\n itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== \"none\" &&\n // If there is a filter applied in the current list, use the\n // lastItemId value to calculate the last item\n (treeHasFilter && itemModel.lastItemId !== \"\"\n ? subModel.id === itemModel.lastItemId\n : index === itemModel.items.length - 1), level + 1))));\nexport class ChTreeViewRenderWrapper {\n constructor() {\n this.checkbox = false;\n this.checked = false;\n this.checkDroppableZoneCallback = undefined;\n this.cssClass = \"tree-view\";\n this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;\n this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;\n this.dropItemsCallback = undefined;\n this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.filter = undefined;\n this.filterDebounce = 0;\n this.filterList = [];\n this.filterOptions = {};\n this.filterType = \"none\";\n this.lazyLoadTreeItemsCallback = undefined;\n this.modifyItemCaptionCallback = undefined;\n this.multiSelection = false;\n this.renderItem = defaultRenderItem;\n this.showLines = \"all\";\n this.sortItemsCallback = undefined;\n this.toggleCheckboxes = false;\n this.treeModel = [];\n }\n // Refs\n treeRef;\n /**\n * Fired when the checked items change.\n * This event does take into account the currently filtered items.\n */\n checkedItemsChange;\n /**\n * Fired when an element displays its contextmenu.\n */\n itemContextmenu;\n /**\n * Fired when the user interacts with an item in a way that its reference\n * must be opened.\n */\n itemOpenReference;\n /**\n * Fired when the selected items change.\n * This event can be fired by the following conditions:\n * 1. A user changes the selected items interacting with the Tree View.\n *\n * 2. The `multiSelection` value is changed from `true` to `false`.\n *\n * 3. A selected item is no longer rendered because it does not satisfies a\n * filter condition.\n *\n * 4. TODO: The `treeModel` property is updated and contains different selected\n * items. Even if it does not contains different selected items, this\n * event is fired because the selected items can have a different path\n * than before the `treeModel` update.\n *\n * 5. The `updateItemsProperties` method is executed, changing the item\n * selection.\n *\n * 6. A selected item is removed.\n *\n * 7. TODO: A selected item is moved into a new parent with drag and drop.\n * In this case, since the detail of the event contains the information\n * of the parent, this event must be fired to update the information.\n *\n * 8. Executing `scrollIntoVisible` method and updating the selected value\n * of the scrolled item.\n *\n * 9. TODO: An external item is dropped into the Tree View and the item is\n * selected.\n *\n * 10. TODO: Lazy loading content that has selected items?\n *\n * Thing that does not fire this event:\n * - TODO: Renaming a selected item.\n *\n * - TODO: Applying a filter that keeps all selected items rendered.\n */\n selectedItemsChange;\n /**\n * Given an item id, an array of items to add, the download status and the\n * lazy state, updates the item's UI Model.\n */\n async loadLazyContent(itemId, items, downloading = false, lazy = false) {\n this.treeRef.loadLazyContent(itemId, items, downloading, lazy);\n }\n /**\n * Given a list of ids, removes the items and their children in the tree.\n */\n async removeItems(items) {\n this.treeRef.removeItems(items);\n }\n /**\n * Given an item id and the additional properties to update before and after\n * reload, it reloads the items of the `itemId` node by using the\n * `lazyLoadTreeItemsCallback` property.\n */\n async reloadItems(itemId, beforeProperties, afterProperties) {\n this.treeRef.reloadItems(itemId, beforeProperties, afterProperties);\n }\n /**\n * Given the path of the item (represent by a sorted array containing all ids\n * from the root to the item) and the additional properties to update after,\n * it displays and scrolls into the item view.\n * The path can also be a string representing the id of the item to scroll\n * into.\n */\n async scrollIntoVisible(path, afterProperties) {\n this.treeRef.scrollIntoVisible(path, afterProperties);\n }\n /**\n * This method is used to toggle a tree item by the tree item id/ids.\n *\n * @param treeItemIds An array id the tree items to be toggled.\n * @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\n * @returns The modified items after the method was called.\n */\n async toggleItems(treeItemIds, expand) {\n return this.treeRef.toggleItems(treeItemIds, expand);\n }\n /**\n * Given a subset of item's properties, it updates all item UI models.\n */\n async updateAllItemsProperties(properties) {\n this.treeRef.updateAllItemsProperties(properties);\n }\n /**\n * Given a item list and the properties to update, it updates the properties\n * of the items in the list.\n */\n async updateItemsProperties(items, properties) {\n this.treeRef.updateItemsProperties(items, properties);\n }\n /**\n * Update the information about the valid droppable zones.\n * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\n * @param newContainerId ID of the container where the drag is trying to be made.\n * @param draggedItems Information about the dragged items.\n * @param validDrop Current state of the droppable zone.\n */\n async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {\n this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);\n }\n render() {\n return (h(\"ch-tree-view-render\", { checkbox: this.checkbox, checked: this.checked, checkDroppableZoneCallback: this.checkDroppableZoneCallback, cssClass: this.cssClass, dragDisabled: this.dragDisabled, dropDisabled: this.dropDisabled, dropItemsCallback: this.dropItemsCallback, editableItems: this.editableItems, expandOnClick: this.expandOnClick, filter: this.filter, filterList: this.filterList, filterOptions: this.filterOptions, filterDebounce: this.filterDebounce, filterType: this.filterType, lazyLoadTreeItemsCallback: this.lazyLoadTreeItemsCallback, modifyItemCaptionCallback: this.modifyItemCaptionCallback, multiSelection: this.multiSelection, renderItem: this.renderItem, showLines: this.showLines, sortItemsCallback: this.sortItemsCallback, toggleCheckboxes: this.toggleCheckboxes, treeModel: this.treeModel, ref: (el) => (this.treeRef = el) }));\n }\n static get is() { return \"gxg-tree-view\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view.css\"]\n };\n }\n static get properties() {\n return {\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in all items by default.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked in all items by\\ndefault.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checkDroppableZoneCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dropInformation: TreeViewDropCheckInfo\\n ) => Promise<boolean>\",\n \"resolved\": \"(dropInformation: TreeViewDropCheckInfo) => Promise<boolean>\",\n \"references\": {\n \"TreeViewDropCheckInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when an element tries to drop in another item of\\nthe tree. Returns whether the drop is valid.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A CSS class to set as the `ch-tree-view` element class.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"tree-view\\\"\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in all\\nitems by default. If `true`, the items can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DRAG_DISABLED_VALUE\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in all\\nitems by default. If `true`, the items won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_DROP_DISABLED_VALUE\"\n },\n \"dropItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n dataTransferInfo: TreeViewDataTransferInfo\\n ) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[] }>\",\n \"resolved\": \"(dataTransferInfo: TreeViewDataTransferInfo) => Promise<{ acceptDrop: boolean; items?: TreeViewItemModel[]; }>\",\n \"references\": {\n \"TreeViewDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a list of items request to be dropped into\\nanother item.\"\n }\n },\n \"editableItems\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in all\\nitems by default. If `true`, the items can edit its caption in place.\"\n },\n \"attribute\": \"editable-items\",\n \"reflect\": false,\n \"defaultValue\": \"DEFAULT_EDITABLE_ITEMS_VALUE\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed in the items by\\ndefault.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies if a tree-view-item is expanded on click interaction. If `true`\\nthe tree-view-item is expanded on click interaction. If `false`, with\\nmouse interaction the tree-view-item will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"filter\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the expression that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter\",\n \"reflect\": false\n },\n \"filterDebounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the debounce time (in ms) that the\\ncontrol waits until it processes the changes to the filter property.\\nConsecutive changes to the `filter` property between this range, reset the\\ntimeout to process the filter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"attribute\": \"filter-debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"filterList\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string[]\",\n \"resolved\": \"string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the list of items that will be filtered.\\nOnly works if `filterType = \\\"id-list\\\"`.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"filterOptions\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterOptions\",\n \"resolved\": \"{ autoExpand?: boolean; hideMatchesAndShowNonMatches?: boolean; highlightMatchedItems?: boolean; matchCase?: boolean; regularExpression?: boolean; }\",\n \"references\": {\n \"TreeViewFilterOptions\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you determine the options that will be applied to the\\nfilter.\\nOnly works if `filterType = \\\"caption\\\" | \\\"metadata\\\"`.\"\n },\n \"defaultValue\": \"{}\"\n },\n \"filterType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewFilterType\",\n \"resolved\": \"\\\"caption\\\" | \\\"checked\\\" | \\\"list\\\" | \\\"metadata\\\" | \\\"none\\\" | \\\"unchecked\\\"\",\n \"references\": {\n \"TreeViewFilterType\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you define what kind of filter is applied to items.\\nOnly items that satisfy the filter predicate will be displayed.\\n\\n| Value | Details |\\n| ----------- | ---------------------------------------------------------------------------------------------- |\\n| `checked` | Show only the items that have a checkbox and are checked. |\\n| `unchecked` | Show only the items that have a checkbox and are not checked. |\\n| `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |\\n| `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |\\n| `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |\\n| `none` | Show all items. |\"\n },\n \"attribute\": \"filter-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"lazyLoadTreeItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string\\n ) => Promise<TreeViewItemModel[]>\",\n \"resolved\": \"(treeItemId: string) => Promise<TreeViewItemModel[]>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to load its subitems.\"\n }\n },\n \"modifyItemCaptionCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n treeItemId: string,\\n newCaption: string\\n ) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"resolved\": \"(treeItemId: string, newCaption: string) => Promise<TreeViewOperationStatusModifyCaption>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewOperationStatusModifyCaption\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when a item request to modify its caption.\"\n }\n },\n \"multiSelection\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to allow multi selection of the items.\"\n },\n \"attribute\": \"multi-selection\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"renderItem\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(\\n itemModel: TreeViewItemModel,\\n treeState: ChTreeViewRender,\\n treeHasFilter: boolean,\\n lastItem: boolean,\\n level: number\\n ) => any\",\n \"resolved\": \"(itemModel: TreeViewItemModel, treeState: ChTreeViewRender, treeHasFilter: boolean, lastItem: boolean, level: number) => any\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n },\n \"ChTreeViewRender\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/tree-view-render\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows us to implement custom rendering of tree items.\"\n },\n \"defaultValue\": \"defaultRenderItem\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"all\\\"\"\n },\n \"sortItemsCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(subModel: TreeViewItemModel[]) => void\",\n \"resolved\": \"(subModel: TreeViewItemModel[]) => void\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Callback that is executed when the treeModel is changed to order its items.\"\n }\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\\nThis attribute will be used in all items by default.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"treeModel\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewItemModel[]\",\n \"resolved\": \"TreeViewItemModel[]\",\n \"references\": {\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the model of the ch-tree-x control.\"\n },\n \"defaultValue\": \"[]\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkedItemsChange\",\n \"name\": \"checkedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checked items change.\\nThis event does take into account the currently filtered items.\"\n },\n \"complexType\": {\n \"original\": \"Map<string, TreeViewItemModelExtended>\",\n \"resolved\": \"Map<string, TreeViewItemModelExtended>\",\n \"references\": {\n \"Map\": {\n \"location\": \"global\",\n \"id\": \"global::Map\"\n },\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemContextmenu\",\n \"name\": \"itemContextmenu\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when an element displays its contextmenu.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemContextMenu\",\n \"resolved\": \"{ id: string; itemRef: HTMLChTreeViewItemElement; metadata: string; contextmenuEvent: PointerEvent; }\",\n \"references\": {\n \"TreeViewItemContextMenu\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"itemOpenReference\",\n \"name\": \"itemOpenReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with an item in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemsChange\",\n \"name\": \"selectedItemsChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected items change.\\nThis event can be fired by the following conditions:\\n 1. A user changes the selected items interacting with the Tree View.\\n\\n 2. The `multiSelection` value is changed from `true` to `false`.\\n\\n 3. A selected item is no longer rendered because it does not satisfies a\\n filter condition.\\n\\n 4. TODO: The `treeModel` property is updated and contains different selected\\n items. Even if it does not contains different selected items, this\\n event is fired because the selected items can have a different path\\n than before the `treeModel` update.\\n\\n 5. The `updateItemsProperties` method is executed, changing the item\\n selection.\\n\\n 6. A selected item is removed.\\n\\n 7. TODO: A selected item is moved into a new parent with drag and drop.\\n In this case, since the detail of the event contains the information\\n of the parent, this event must be fired to update the information.\\n\\n 8. Executing `scrollIntoVisible` method and updating the selected value\\n of the scrolled item.\\n\\n 9. TODO: An external item is dropped into the Tree View and the item is\\n selected.\\n\\n 10. TODO: Lazy loading content that has selected items?\\n\\nThing that does not fire this event:\\n - TODO: Renaming a selected item.\\n\\n - TODO: Applying a filter that keeps all selected items rendered.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemModelExtended[]\",\n \"resolved\": \"TreeViewItemModelExtended[]\",\n \"references\": {\n \"TreeViewItemModelExtended\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\",\n \"id\": \"\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"loadLazyContent\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, items?: TreeViewItemModel[], downloading?: boolean, lazy?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"items\",\n \"type\": \"TreeViewItemModel[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"downloading\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"lazy\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id, an array of items to add, the download status and the\\nlazy state, updates the item's UI Model.\",\n \"tags\": []\n }\n },\n \"removeItems\": {\n \"complexType\": {\n \"signature\": \"(items: string[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a list of ids, removes the items and their children in the tree.\",\n \"tags\": []\n }\n },\n \"reloadItems\": {\n \"complexType\": {\n \"signature\": \"(itemId: string, beforeProperties?: Partial<TreeViewItemModel>, afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemId\",\n \"type\": \"string\",\n \"docs\": \"\"\n }, {\n \"name\": \"beforeProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given an item id and the additional properties to update before and after\\nreload, it reloads the items of the `itemId` node by using the\\n`lazyLoadTreeItemsCallback` property.\",\n \"tags\": []\n }\n },\n \"scrollIntoVisible\": {\n \"complexType\": {\n \"signature\": \"(path: string | string[], afterProperties?: Partial<TreeViewItemModel>) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"path\",\n \"type\": \"string | string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"afterProperties\",\n \"type\": \"{ id?: string; caption?: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given the path of the item (represent by a sorted array containing all ids\\nfrom the root to the item) and the additional properties to update after,\\nit displays and scrolls into the item view.\\nThe path can also be a string representing the id of the item to scroll\\ninto.\",\n \"tags\": []\n }\n },\n \"toggleItems\": {\n \"complexType\": {\n \"signature\": \"(treeItemIds: string[], expand?: boolean) => Promise<TreeViewItemExpandedInfo[]>\",\n \"parameters\": [{\n \"name\": \"treeItemIds\",\n \"type\": \"string[]\",\n \"docs\": \"An array id the tree items to be toggled.\"\n }, {\n \"name\": \"expand\",\n \"type\": \"boolean\",\n \"docs\": \"A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemExpandedInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<TreeViewItemExpandedInfo[]>\"\n },\n \"docs\": {\n \"text\": \"This method is used to toggle a tree item by the tree item id/ids.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"treeItemIds An array id the tree items to be toggled.\"\n }, {\n \"name\": \"param\",\n \"text\": \"expand A boolean indicating that the tree item should be expanded or collapsed. (optional)\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The modified items after the method was called.\"\n }]\n }\n },\n \"updateAllItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(properties: { expanded?: boolean; checked?: boolean; }) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"properties\",\n \"type\": \"{ expanded?: boolean; checked?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a subset of item's properties, it updates all item UI models.\",\n \"tags\": []\n }\n },\n \"updateItemsProperties\": {\n \"complexType\": {\n \"signature\": \"(items: string[], properties: TreeViewItemModel) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"items\",\n \"type\": \"string[]\",\n \"docs\": \"\"\n }, {\n \"name\": \"properties\",\n \"type\": \"{ id: string; caption: string; checkbox?: boolean; checked?: boolean; class?: string; disabled?: boolean; downloading?: boolean; dragDisabled?: boolean; dropDisabled?: boolean; editable?: boolean; expanded?: boolean; expandableButton?: \\\"action\\\" | \\\"no\\\" | \\\"decorative\\\"; lastItemId?: string; lazy?: boolean; leaf?: boolean; leftImgSrc?: string; indeterminate?: boolean; items?: TreeViewItemModel[]; metadata?: string; order?: number; render?: boolean; rightImgSrc?: string; selected?: boolean; toggleCheckboxes?: boolean; }\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"TreeViewItemModel\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Given a item list and the properties to update, it updates the properties\\nof the items in the list.\",\n \"tags\": []\n }\n },\n \"updateValidDropZone\": {\n \"complexType\": {\n \"signature\": \"(requestTimestamp: number, newContainerId: string, draggedItems: GxDataTransferInfo[], validDrop: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"requestTimestamp\",\n \"type\": \"number\",\n \"docs\": \"Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"newContainerId\",\n \"type\": \"string\",\n \"docs\": \"ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"draggedItems\",\n \"type\": \"GxDataTransferInfo[]\",\n \"docs\": \"Information about the dragged items.\"\n }, {\n \"name\": \"validDrop\",\n \"type\": \"boolean\",\n \"docs\": \"Current state of the droppable zone.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"GxDataTransferInfo\": {\n \"location\": \"import\",\n \"path\": \"@genexus/chameleon-controls-library/dist/types/common/types\",\n \"id\": \"\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update the information about the valid droppable zones.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"requestTimestamp Time where the request to the server was made. Useful to avoid having old information.\"\n }, {\n \"name\": \"param\",\n \"text\": \"newContainerId ID of the container where the drag is trying to be made.\"\n }, {\n \"name\": \"param\",\n \"text\": \"draggedItems Information about the dragged items.\"\n }, {\n \"name\": \"param\",\n \"text\": \"validDrop Current state of the droppable zone.\"\n }]\n }\n }\n };\n }\n}\n//# sourceMappingURL=tree-view.js.map\n"],"version":3}
|