@genexus/genexus-ide-ui 0.0.63 → 0.0.64
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/ch-accordion.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_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +39 -615
- package/dist/cjs/ch-drag-bar.cjs.entry.js +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.cjs.entry.js +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_2.cjs.entry.js +2 -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-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-action-group.cjs.entry.js +1 -1
- package/dist/cjs/ch-test-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ch-test-suggest.cjs.entry.js +1 -1
- package/dist/cjs/ch-textblock.cjs.entry.js +1 -1
- 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 +6 -3
- package/dist/cjs/ch-tree-view-render_2.cjs.entry.js +822 -0
- 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-5d08e273.js → common-2100f35f.js} +1 -1
- package/dist/cjs/{config-c652329b.js → config-8634e7dd.js} +1 -1
- package/dist/cjs/{form-c75c9ac0.js → form-437d6a38.js} +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-bpm-app-declaration.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-container_4.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +24 -5
- package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-file-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +66 -36
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +7 -4
- 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 +3 -3
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-references.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +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 +2 -2
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/gxg-button.cjs.entry.js +2 -2
- package/dist/cjs/gxg-card.cjs.entry.js +36 -3
- 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 +1 -1
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +3 -3
- package/dist/cjs/gxg-label_2.cjs.entry.js +2 -2
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +3 -3
- 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 +12 -4
- package/dist/cjs/gxg-pills.cjs.entry.js +4 -3
- 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 +14 -7
- package/dist/cjs/gxg-test.cjs.entry.js +1 -1
- package/dist/cjs/gxg-text.cjs.entry.js +8 -4
- package/dist/cjs/gxg-title-editable.cjs.entry.js +2 -3
- 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 +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/{index-3e90909d.js → index-69adec41.js} +1 -1
- package/dist/cjs/{index-5a32426a.js → index-f9bb1815.js} +5 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{render-combo-items-d99a186a.js → render-combo-items-05509216.js} +1 -1
- package/dist/cjs/{render-suggest-c623955f.js → render-suggest-a4363c7b.js} +1 -1
- package/dist/cjs/{store-0866de9f.js → store-5fad773e.js} +2 -1
- package/dist/collection/common/config.js +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +28 -4
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +4 -1
- package/dist/collection/components/kb-manager-export/helpers.js +4 -4
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +0 -20
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +62 -29
- package/dist/collection/components/kb-manager-import/helpers.js +3 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +3 -1
- package/dist/components/button-group.js +1 -1
- package/dist/components/ch-tree-view-render-wrapper.js +5 -2
- package/dist/components/config.js +1 -1
- package/dist/components/directory-selector.js +25 -5
- package/dist/components/form-text.js +1 -0
- package/dist/components/gx-ide-kb-manager-export.js +106 -68
- package/dist/components/gx-ide-kb-manager-import.js +5 -2
- package/dist/components/gxg-card.js +66 -4
- package/dist/components/gxg-pill.js +11 -2
- package/dist/components/gxg-pills.js +3 -2
- package/dist/components/gxg-title-editable.js +1 -151
- package/dist/components/icon2.js +1 -0
- package/dist/components/store.js +1 -0
- package/dist/components/tab-bar.js +3 -1
- package/dist/components/tab-button.js +2 -1
- package/dist/components/tab.js +2 -1
- package/dist/components/tabs.js +8 -2
- package/dist/components/text.js +8 -3
- package/dist/components/title-editable.js +152 -0
- package/dist/components/tree-view-item.js +41 -26
- package/dist/components/tree-view-render.js +81 -18
- package/dist/components/tree-view2.js +9 -4
- package/dist/esm/ch-accordion.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_4.entry.js → ch-checkbox_3.entry.js} +40 -615
- package/dist/esm/ch-drag-bar.entry.js +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.entry.js +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_2.entry.js +2 -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-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-action-group.entry.js +1 -1
- package/dist/esm/ch-test-dropdown.entry.js +1 -1
- package/dist/esm/ch-test-suggest.entry.js +1 -1
- package/dist/esm/ch-textblock.entry.js +1 -1
- 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 +6 -3
- package/dist/esm/ch-tree-view-render_2.entry.js +817 -0
- package/dist/esm/ch-tree.entry.js +1 -1
- package/dist/esm/ch-window_2.entry.js +1 -1
- package/dist/esm/{common-ec35ec2f.js → common-202491f0.js} +1 -1
- package/dist/esm/{config-ee66bdf4.js → config-e6f580c8.js} +1 -1
- package/dist/esm/{form-267b92df.js → form-1e8f483d.js} +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-bpm-app-declaration.entry.js +4 -4
- package/dist/esm/gx-ide-container_4.entry.js +4 -3
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
- package/dist/esm/gx-ide-directory-selector.entry.js +24 -5
- package/dist/esm/gx-ide-entity-selector_2.entry.js +2 -2
- package/dist/esm/gx-ide-file-selector.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +66 -36
- package/dist/esm/gx-ide-kb-manager-import.entry.js +7 -4
- 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 +3 -3
- package/dist/esm/gx-ide-new-object.entry.js +2 -2
- package/dist/esm/gx-ide-object-selector.entry.js +3 -3
- package/dist/esm/gx-ide-references.entry.js +3 -3
- package/dist/esm/gx-ide-share-kb.entry.js +3 -3
- package/dist/esm/gx-ide-status-buttons_2.entry.js +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 +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update.entry.js +3 -3
- package/dist/esm/gx-ide-template.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/gxg-button.entry.js +2 -2
- package/dist/esm/gxg-card.entry.js +36 -3
- 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 +1 -1
- package/dist/esm/gxg-form-textarea.entry.js +3 -3
- package/dist/esm/gxg-label_2.entry.js +2 -2
- package/dist/esm/gxg-list-box_2.entry.js +3 -3
- 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 +12 -4
- package/dist/esm/gxg-pills.entry.js +4 -3
- 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 +14 -7
- package/dist/esm/gxg-test.entry.js +1 -1
- package/dist/esm/gxg-text.entry.js +8 -4
- package/dist/esm/gxg-title-editable.entry.js +2 -3
- 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 +1 -1
- package/dist/esm/gxg-tree.entry.js +1 -1
- package/dist/esm/gxg-window.entry.js +1 -1
- package/dist/esm/{index-0da01575.js → index-0aa3977d.js} +5 -0
- package/dist/esm/{index-ea94e298.js → index-5ae5cf27.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-combo-items-faf78e28.js → render-combo-items-ede5de19.js} +1 -1
- package/dist/esm/{render-suggest-e44dde1b.js → render-suggest-f3af661b.js} +1 -1
- package/dist/esm/{store-c2650ca5.js → store-eca88b9a.js} +2 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +3 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +4 -1
- package/dist/genexus-ide-ui/{p-1fe05a05.entry.js → p-01978a13.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-13177896.entry.js → p-0261c202.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-54f01d52.entry.js → p-0371daa4.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-73cfc07c.entry.js → p-040e960d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-045ddedf.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-cbe42c29.entry.js → p-0495c639.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-b5dc509f.entry.js → p-07c6f7dd.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-0906fb46.js +2 -0
- package/dist/genexus-ide-ui/{p-1294d220.entry.js → p-0cba56a1.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-527ace08.entry.js → p-0cc3af0d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-0d7c0cd1.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-0c360621.entry.js → p-0e29d370.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-fec82adb.entry.js → p-0ff8550a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-eddf8a1e.entry.js → p-10fa87ef.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9aa2dd17.entry.js → p-112dc730.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-bb7ae451.entry.js → p-128c0527.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-db4f2732.entry.js → p-15685d3f.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-df02f70a.entry.js → p-15f4ca7a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-5e40990d.entry.js → p-161969f3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4d506c74.entry.js → p-16aad0e4.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-b9d071f7.entry.js → p-16b0acef.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-fb92083f.entry.js → p-1a8d710a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d9a5b3d6.entry.js → p-1ad41f2e.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-1bf68774.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-81c9847d.entry.js → p-20751bae.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0dee851b.entry.js → p-207c378b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a48badf0.entry.js → p-21a768d0.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-1dece95c.entry.js → p-231244f2.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-e7c46bbe.entry.js → p-2422a593.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-2447a18f.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-8a29aa0e.entry.js → p-2582e3d7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-283afc3b.entry.js → p-2589e00e.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3e3cb535.entry.js → p-264b3088.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-264f77c4.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-c6b514cb.entry.js → p-266539cf.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-bb77cb65.entry.js → p-27d835c0.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a8e97a42.entry.js → p-285f0790.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-42209f9f.entry.js → p-2c5289df.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-aacec189.entry.js → p-34f4deb8.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-117498b7.entry.js → p-383f10ab.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-e8e2f4c1.entry.js → p-39bd6c60.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-df7996d5.entry.js → p-39c03652.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f3837d78.entry.js → p-3b55122b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-eb328b50.entry.js → p-3fbc7703.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-636d02fa.entry.js → p-3fc20855.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f8c8eebd.entry.js → p-42f71c47.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-43386091.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-a2479a2f.entry.js → p-43947003.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-2c17e71d.entry.js → p-439a45c1.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-8243c51d.entry.js → p-46632b39.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-bfb41ce9.js → p-47629213.js} +1 -1
- package/dist/genexus-ide-ui/{p-4f02b7bf.entry.js → p-4a756245.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-718759e7.entry.js → p-4ad2bc69.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-45b17fd8.entry.js → p-4ca8f7d3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9b93752d.entry.js → p-4cb93e1b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-123b8351.entry.js → p-4d42f077.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-984f7626.entry.js → p-4da6f594.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-780caf92.entry.js → p-4f63438d.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-1fc0c236.entry.js → p-53424a7c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-11af125f.js → p-551539eb.js} +1 -1
- package/dist/genexus-ide-ui/{p-7b63be93.entry.js → p-5624cbd0.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-68ec655f.entry.js → p-57327cd3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f69d8c9f.entry.js → p-57972075.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-6b301bbb.entry.js → p-59244df7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9dfc4afa.entry.js → p-5babe487.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-5ec25f04.entry.js → p-61b5f2f2.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-71b14079.entry.js → p-61e5b3a7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d30c5a8e.entry.js → p-6272fb68.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-606d6814.entry.js → p-6811e556.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-34763105.entry.js → p-68626d13.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-689ffafd.entry.js +1 -0
- package/dist/genexus-ide-ui/p-68be9582.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-90416fc8.js → p-698d274a.js} +1 -1
- package/dist/genexus-ide-ui/p-6bb17c51.js +1 -0
- package/dist/genexus-ide-ui/{p-d67c476c.entry.js → p-6cd18b45.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-98b8a4b7.entry.js → p-6dba1f6c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-df744a68.entry.js → p-6fafe9d4.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-8738b63b.entry.js → p-6fb33e4c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-65e532d8.entry.js → p-718dc78b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3485ddda.entry.js → p-73204c8a.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-783a1530.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-e8a21ed7.entry.js → p-7ae11b35.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-ade59c73.entry.js → p-7d1fd88e.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-82ba2bec.entry.js → p-7d327d28.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-fc6b970d.entry.js → p-7fc8f83b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-b8917eee.entry.js → p-832a1eff.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-94d2d18a.entry.js → p-88f896a6.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-8c574452.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-dfac4d3c.entry.js → p-8cf88b58.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-7c44a3c8.entry.js → p-8fddfbd1.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-19e6c2b8.entry.js → p-90b5b7ed.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4a01a404.entry.js → p-91fe1c0d.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-976e8118.entry.js → p-95d1a4e7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3fc9cf29.entry.js → p-97dc4967.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9f4b6230.entry.js → p-98ea872a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-fb368434.entry.js → p-99da5de7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-870c7d8f.entry.js → p-9b29a8e8.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-9d73a85c.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-1ff3cf87.entry.js → p-9df2aae3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a9c8b373.entry.js → p-a0d3d2b0.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-abfc0ad8.entry.js → p-a14dde56.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-c11c96d7.entry.js → p-a214edb5.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a5463fc9.entry.js → p-a2c7dc8a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-46ed607e.entry.js → p-a6f02255.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4e53dfaf.entry.js → p-a7c3a0fc.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-a85038e2.js +1 -0
- package/dist/genexus-ide-ui/{p-566ae3e7.entry.js → p-a96aa03c.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-a99c17b1.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-56935fba.entry.js → p-b0268924.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-52f6ee1e.js → p-b9fca59c.js} +1 -1
- package/dist/genexus-ide-ui/{p-f93e94dc.entry.js → p-ba7c3c18.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0574b321.entry.js → p-bca4d4c1.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-25b333a5.entry.js → p-bce289e6.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-339a8480.entry.js → p-bf93ac90.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9c82381c.entry.js → p-c00aa636.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-1b51da5e.entry.js → p-c0532785.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-8a70239f.entry.js → p-c19354eb.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-aec51bab.entry.js → p-c5e22cd8.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-c74f5d08.entry.js +1 -0
- package/dist/genexus-ide-ui/p-c914cc1f.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-b4b4cbdc.entry.js → p-cb1845a9.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-ad30241e.entry.js → p-cc7d2262.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4cf3c2b9.entry.js → p-ccc9151e.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-72be1b75.entry.js → p-cd2fb5c9.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-7e13efb2.entry.js → p-cd6dafe5.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-5cc7c201.entry.js → p-cdaaf8f9.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-e542c155.entry.js → p-ce76b613.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f7aa606a.entry.js → p-cf421c67.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-cb3a255c.entry.js → p-d080030a.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-d0dbf94f.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-133b562f.entry.js → p-d25da0c9.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-b0cb9690.entry.js → p-d5005f26.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f9f1d95d.entry.js → p-da2dfb82.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-32bade0f.entry.js → p-da5317f5.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-657e57e7.entry.js → p-dc3efe56.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-e45b5686.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-9e428123.entry.js → p-e7c96dec.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0f1388e1.entry.js → p-eb3895cc.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-93ec18f7.entry.js → p-eb49012b.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-7dd9df47.entry.js → p-ed89f1ee.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3c8b9c4b.entry.js → p-efd187d0.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-b900ffbc.entry.js → p-f7fd7fa8.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-6d42b2c4.entry.js → p-f8750a75.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-bacd879c.entry.js → p-f97d7bbe.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-fa4e7177.js +1 -0
- package/dist/genexus-ide-ui/{p-253669d3.entry.js → p-fb2a7e10.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0e28d8f3.entry.js → p-fb921907.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-866f6d39.entry.js → p-fc03bdd3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d7b452ef.entry.js → p-fd73e13a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0ae159de.entry.js → p-fdb7b01c.entry.js} +1 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +58 -36
- package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +4 -5
- package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +96 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +28 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +7 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +6 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +10 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +43 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +12 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +9 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +8 -3
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +16 -24
- package/dist/types/components/_helpers/directory-selector/directory-selector.d.ts +4 -0
- package/dist/types/components/kb-manager-export/helpers.d.ts +2 -0
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +6 -4
- package/dist/types/components/kb-manager-import/helpers.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -165
- package/dist/esm/gxg-tree-view.entry.js +0 -161
- package/dist/genexus-ide-ui/p-00b5896d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-19fef562.entry.js +0 -1
- package/dist/genexus-ide-ui/p-2781b92a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-292fc3f4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-2e0a65a3.entry.js +0 -1
- package/dist/genexus-ide-ui/p-2f3c0023.entry.js +0 -1
- package/dist/genexus-ide-ui/p-38c18db5.js +0 -1
- package/dist/genexus-ide-ui/p-3f0f7f80.entry.js +0 -1
- package/dist/genexus-ide-ui/p-40a57a36.entry.js +0 -1
- package/dist/genexus-ide-ui/p-606fee7b.entry.js +0 -1
- package/dist/genexus-ide-ui/p-6211ca46.entry.js +0 -1
- package/dist/genexus-ide-ui/p-8a7c4561.entry.js +0 -1
- package/dist/genexus-ide-ui/p-9380b713.entry.js +0 -1
- package/dist/genexus-ide-ui/p-976c3a09.js +0 -2
- package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +0 -1
- package/dist/genexus-ide-ui/p-b819706e.entry.js +0 -1
- package/dist/genexus-ide-ui/p-b8d5c561.js +0 -1
- package/dist/genexus-ide-ui/p-e46e26a6.js +0 -1
- package/dist/genexus-ide-ui/p-f6a6d8bb.entry.js +0 -1
- package/dist/genexus-ide-ui/p-fbb1cd20.entry.js +0 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as detectClickOutside } from './detect-click-outside.js';
|
|
3
|
+
import { d as defineCustomElement$3 } from './icon.js';
|
|
4
|
+
import { d as defineCustomElement$2 } from './button.js';
|
|
5
|
+
import { d as defineCustomElement$1 } from './icon2.js';
|
|
6
|
+
|
|
7
|
+
const titleEditableCss = ":host{display:block;color:var(--mc-editable-title-color)}:host .wrapper{font-family:var(--font-family-primary);position:relative;max-width:100%}:host input{font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;color:inherit;background-color:transparent;border:none;padding:0;box-sizing:border-box;flex-grow:1;cursor:auto;border-bottom:2px solid transparent}:host input:focus{outline:none}.wrapper{display:flex;align-items:center;gap:var(--spacing-comp-02)}:host(:not([editing])) input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([click-to-edit]:not([disable-edition])) .wrapper,:host([click-to-edit]:not([disable-edition])) input{cursor:pointer}:host([title-type=h1]) .wrapper{font-size:var(--mc-font-size-lg);font-weight:var(--font-weight-bold);text-transform:capitalize}:host([title-type=h2]) .wrapper{font-size:var(--mc-font-size-sm);font-weight:var(--font-weight-bold)}:host([title-type=h3]) .wrapper{font-size:var(--mc-font-size-xxs);font-weight:var(--font-weight-semibold)}:host([fluid]) .wrapper{display:inline-flex}:host(.focus--text.editing) input{color:var(--gxg-editable-title-focus-color)}:host(.focus--line.editing) input{border-bottom-color:var(--gxg-editable-title-focus-color)}.ghost{font-family:inherit;font-size:inherit;position:fixed;visibility:hidden;height:auto;width:auto;white-space:nowrap;bottom:0;left:0;transform:translate(-100%, -100%)}";
|
|
8
|
+
|
|
9
|
+
const GxgTitleEditable = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.__registerHost();
|
|
13
|
+
this.__attachShadow();
|
|
14
|
+
/*PROPS*/
|
|
15
|
+
/**
|
|
16
|
+
* The title value
|
|
17
|
+
*/
|
|
18
|
+
this.value = undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The title type
|
|
21
|
+
*/
|
|
22
|
+
this.titleType = "h1";
|
|
23
|
+
/**
|
|
24
|
+
* If true, the title will not be editable
|
|
25
|
+
*/
|
|
26
|
+
this.disableEdition = false;
|
|
27
|
+
/**
|
|
28
|
+
* If true, it will allow the title to be edited
|
|
29
|
+
*/
|
|
30
|
+
this.clickToEdit = false;
|
|
31
|
+
/**
|
|
32
|
+
* If true, the width of the title will take only the minimum needed space
|
|
33
|
+
*/
|
|
34
|
+
this.fluid = false;
|
|
35
|
+
/*STATE*/
|
|
36
|
+
this.editing = false;
|
|
37
|
+
/*PRIVATE METHODS*/
|
|
38
|
+
this.edit = () => {
|
|
39
|
+
this.editing = true;
|
|
40
|
+
this.positionCursorAtTheEnd();
|
|
41
|
+
};
|
|
42
|
+
this.wrapperClickedHandler = () => {
|
|
43
|
+
this.editing = true;
|
|
44
|
+
};
|
|
45
|
+
this.positionCursorAtTheEnd = () => {
|
|
46
|
+
this.textInput.selectionStart = this.textInput.selectionEnd = this.textInput.value.length;
|
|
47
|
+
this.textInput.focus();
|
|
48
|
+
};
|
|
49
|
+
this.inputKeyDownHandler = (e) => {
|
|
50
|
+
if (e.key === "Enter" || e.key === "Escape") {
|
|
51
|
+
e.preventDefault();
|
|
52
|
+
this.editing = false;
|
|
53
|
+
this.editButtonEl.focus();
|
|
54
|
+
}
|
|
55
|
+
else if (this.fluid) {
|
|
56
|
+
this.setInputWidth();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
this.detectClickOutsideFunc = (e) => {
|
|
60
|
+
const clickedOutside = detectClickOutside(e, this.wrapperEl);
|
|
61
|
+
if (clickedOutside) {
|
|
62
|
+
this.editing = false;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
this.setInputWidth = () => {
|
|
66
|
+
this.textInput.style.width = this.value.length + 1 + "ch";
|
|
67
|
+
};
|
|
68
|
+
this.inputInputHandler = () => {
|
|
69
|
+
if (this.fluid) {
|
|
70
|
+
this.value = this.textInput.value;
|
|
71
|
+
this.ghostDiv.innerText = this.value;
|
|
72
|
+
this.updateInputWidth();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
this.updateInputWidth = () => {
|
|
76
|
+
if (this.fluid) {
|
|
77
|
+
const ghostDivWidth = this.ghostDiv.getBoundingClientRect().width;
|
|
78
|
+
this.textInput.style.width = `${ghostDivWidth}px`;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
watchEditingHandler(editing) {
|
|
83
|
+
if (editing) {
|
|
84
|
+
document.addEventListener("click", this.detectClickOutsideFunc);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
document.removeEventListener("click", this.detectClickOutsideFunc);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/*COMPONENT LIFECYCLE METHODS*/
|
|
91
|
+
componentDidLoad() {
|
|
92
|
+
if (this.fluid) {
|
|
93
|
+
this.inputInputHandler();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/*RENDER*/
|
|
97
|
+
render() {
|
|
98
|
+
return (h(Host, { class: {
|
|
99
|
+
editing: this.editing,
|
|
100
|
+
"focus--text": this.focusType === "text",
|
|
101
|
+
"focus--line": this.focusType === "line",
|
|
102
|
+
} }, h("div", { onMouseUp: this.clickToEdit &&
|
|
103
|
+
!this.editing &&
|
|
104
|
+
!this.disableEdition &&
|
|
105
|
+
this.wrapperClickedHandler, class: {
|
|
106
|
+
wrapper: true,
|
|
107
|
+
}, ref: (el) => (this.wrapperEl = el) }, this.fluid ? (h("div", { class: "ghost", ref: (el) => (this.ghostDiv = el) })) : null, h("input", { type: "text", value: this.value, readOnly: !this.editing, ref: (el) => (this.textInput = el), onKeyDown: this.inputKeyDownHandler, onInput: this.fluid && this.inputInputHandler, tabIndex: this.editing ? 0 : -1 }), !this.disableEdition ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/edit", onClick: this.edit, ref: (el) => (this.editButtonEl = el) })) : null)));
|
|
108
|
+
}
|
|
109
|
+
get el() { return this; }
|
|
110
|
+
static get watchers() { return {
|
|
111
|
+
"editing": ["watchEditingHandler"]
|
|
112
|
+
}; }
|
|
113
|
+
static get style() { return titleEditableCss; }
|
|
114
|
+
}, [1, "gxg-title-editable", {
|
|
115
|
+
"value": [1],
|
|
116
|
+
"titleType": [513, "title-type"],
|
|
117
|
+
"disableEdition": [516, "disable-edition"],
|
|
118
|
+
"clickToEdit": [516, "click-to-edit"],
|
|
119
|
+
"fluid": [516],
|
|
120
|
+
"focusType": [513, "focus-type"],
|
|
121
|
+
"editing": [32]
|
|
122
|
+
}]);
|
|
123
|
+
function defineCustomElement() {
|
|
124
|
+
if (typeof customElements === "undefined") {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const components = ["gxg-title-editable", "ch-icon", "gxg-button", "gxg-icon"];
|
|
128
|
+
components.forEach(tagName => { switch (tagName) {
|
|
129
|
+
case "gxg-title-editable":
|
|
130
|
+
if (!customElements.get(tagName)) {
|
|
131
|
+
customElements.define(tagName, GxgTitleEditable);
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
case "ch-icon":
|
|
135
|
+
if (!customElements.get(tagName)) {
|
|
136
|
+
defineCustomElement$3();
|
|
137
|
+
}
|
|
138
|
+
break;
|
|
139
|
+
case "gxg-button":
|
|
140
|
+
if (!customElements.get(tagName)) {
|
|
141
|
+
defineCustomElement$2();
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
case "gxg-icon":
|
|
145
|
+
if (!customElements.get(tagName)) {
|
|
146
|
+
defineCustomElement$1();
|
|
147
|
+
}
|
|
148
|
+
break;
|
|
149
|
+
} });
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export { GxgTitleEditable as G, defineCustomElement as d };
|
|
@@ -2,9 +2,10 @@ import { proxyCustomElement, HTMLElement, createEvent, h, writeTask, Host } from
|
|
|
2
2
|
import { m as mouseEventModifierKey } from './helpers.js';
|
|
3
3
|
import { d as defineCustomElement$1 } from './checkbox.js';
|
|
4
4
|
|
|
5
|
-
const treeViewItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--
|
|
5
|
+
const treeViewItemCss = ":where(button){all:unset;display:flex;user-select:none;touch-action:manipulation;-webkit-user-drag:element}*,::before,::after{box-sizing:border-box}:host{--ch-tree-view-view__checkbox-size:1em;--ch-tree-view-view__expandable-button-width:0.75em;--ch-tree-view-item__dashed-line--inset-inline-start:0px;--ch-tree-view-item__dashed-line--inset-inline-end:4px;--ch-tree-view-item-gap:5px;--ch-tree-view-item-custom-padding-inline-start:0px;--ch-tree-tab-width:calc(\n var(--ch-tree-view-view__checkbox-size) +\n var(--ch-tree-view-view__expandable-button-width) +\n (var(--ch-tree-view-item-gap) * 2)\n );display:grid;grid-template-rows:min-content;overflow:hidden}.header{--own-offset:0px;display:flex;align-items:center;min-height:calc(1em + 6px);padding-inline-start:calc( var(--padding-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) )}.header--disabled{opacity:0.5;pointer-events:none}.header--even{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width)\n )}.header--even .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--even-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--even-expandable+.expandable{--parent-padding-inline-start--even:calc(\n var(--parent-padding-inline-start--odd, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width)\n )}.header--odd .dashed-line{--inset-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) +\n var(--parent-checkbox-offset) + var(--parent-expandable-offset)\n )}.header--odd-expandable{--padding-inline-start:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--odd-expandable+.expandable{--parent-padding-inline-start--odd:calc(\n var(--parent-padding-inline-start--even, 0px) + var(--ch-tree-tab-width) -\n calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )\n )}.header--level-0{--padding-inline-start:0px}.header--level-0+.expandable{--parent-padding-inline-start--even:0px}.header--expandable-offset{--own-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) +\n var(--ch-tree-view-item-gap)\n )}.header--expandable-offset+.expandable{--parent-expandable-offset:calc(\n var(--ch-tree-view-view__expandable-button-width) / 2\n )}.header--checkbox-offset+.expandable{--parent-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n );--parent-negative-checkbox-offset:calc(\n var(--ch-tree-view-view__checkbox-size) / 2\n )}.dashed-line{position:absolute;inset-inline-start:calc( var(--inset-inline-start) + var(--ch-tree-view-item__dashed-line--inset-inline-start) + var(--ch-tree-view-item-custom-padding-inline-start) );height:1px;width:calc( var(--ch-tree-tab-width) - var(--parent-checkbox-offset) - var(--parent-expandable-offset) - var(--own-offset) - var(--ch-tree-view-item__dashed-line--inset-inline-start) - var(--ch-tree-view-item__dashed-line--inset-inline-end) );border:0 dashed color-mix(in srgb, currentColor 65%, transparent);border-block-end-width:1px;pointer-events:none;content-visibility:hidden;z-index:1}.last-all-line{inset-block-start:0;height:calc(100% - var(--ch-tree-view-item-distance-to-checkbox));border-inline-start-width:1px;border-end-start-radius:2px}.last-line{inset-block-start:0;height:100%;border-inline-start-width:1px;border-style:solid;border-block-end:unset}.expandable-button{display:grid;place-items:center;width:var(--ch-tree-view-view__expandable-button-width);height:var(--ch-tree-view-view__expandable-button-width);margin-inline-end:var(--ch-tree-view-item-gap);z-index:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto var(--ch-tree-view-view__expandable-button-width)}.expandable-button::before{content:\"\";width:calc(100% - 2px);height:calc(100% - 2px);background-color:currentColor;-webkit-mask-size:calc( var(--ch-tree-view-view__expandable-button-width) - 2px )}.expandable-button--collapsed::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H8.54v5.61h-1V8.5H1.93v-1H7.54V1.89h1V7.5h5.61Z\"/></svg>')}.expandable-button--expanded::before{-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.15,8.5H1.93v-1H14.15Z\"/></svg>')}.expandable-button:focus-visible{outline:1px solid #000}.checkbox{width:var(--ch-tree-view-view__checkbox-size);margin-inline-end:var(--ch-tree-view-item-gap)}.checkbox::part(container){width:var(--ch-tree-view-view__checkbox-size);height:var(--ch-tree-view-view__checkbox-size)}.action{display:grid;grid-template:\"left-img text right-img\"/max-content 1fr max-content;align-items:center;height:100%;flex:1;cursor:pointer}.readonly-mode{padding-block:0.75px}.left-img,.right-img{display:block;width:0.875em;height:0.875em;content-visibility:auto;contain-intrinsic-size:auto 0.875em}.left-img{grid-area:left-img;margin-inline-end:var(--ch-tree-view-item-gap)}.right-img{grid-area:right-img;margin-inline-start:var(--ch-tree-view-item-gap)}.edit-name{grid-area:text;width:100%;height:100%;padding:0;margin:0;background-color:unset;color:unset;border:1px solid currentColor;font:unset;outline:unset}.downloading{width:0.75em;height:0.75em;margin-inline-start:8px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;opacity:0.75;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.expandable{--parent-expandable-offset:0px;--parent-negative-checkbox-offset:0px;--parent-checkbox-offset:0px;display:grid;grid-auto-rows:min-content;position:relative}.expandable--lazy-loaded{content-visibility:auto;contain-intrinsic-size:auto 100px}.expandable--collapsed{display:none;overflow:hidden;content-visibility:hidden}";
|
|
6
6
|
|
|
7
7
|
const resetDragImage = new Image();
|
|
8
|
+
const DISTANCE_TO_CHECKBOX_CUSTOM_VAR = "--ch-tree-view-item-distance-to-checkbox";
|
|
8
9
|
const INITIAL_LEVEL = 0;
|
|
9
10
|
// Selectors
|
|
10
11
|
const TREE_ITEM_TAG_NAME = "ch-tree-view-item";
|
|
@@ -243,10 +244,11 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
243
244
|
event.stopPropagation();
|
|
244
245
|
const checked = event.target.checked;
|
|
245
246
|
this.checked = checked;
|
|
247
|
+
this.indeterminate = false; // Changing the checked value makes it no longer indeterminate
|
|
246
248
|
this.checkboxChange.emit({
|
|
247
249
|
id: this.el.id,
|
|
248
250
|
checked: this.checked,
|
|
249
|
-
indeterminate:
|
|
251
|
+
indeterminate: false
|
|
250
252
|
});
|
|
251
253
|
};
|
|
252
254
|
this.renderImg = (cssClass, src) => (h("img", { "aria-hidden": "true", class: cssClass, part: cssClass, alt: "", src: src, loading: "lazy" }));
|
|
@@ -284,15 +286,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
284
286
|
const treeItems = this.getDirectTreeItems();
|
|
285
287
|
treeItems.forEach(treeItem => {
|
|
286
288
|
if (treeItem.checked !== newValue || treeItem.indeterminate !== false) {
|
|
287
|
-
treeItem.
|
|
288
|
-
treeItem.indeterminate = false;
|
|
289
|
-
// Emit the event to sync with the UI model, even if the item does not
|
|
290
|
-
// have toggleCheckboxes property
|
|
291
|
-
this.checkboxToggleChange.emit({
|
|
292
|
-
id: treeItem.id,
|
|
293
|
-
checked: newValue,
|
|
294
|
-
indeterminate: false
|
|
295
|
-
});
|
|
289
|
+
treeItem.updateChecked(newValue, false);
|
|
296
290
|
}
|
|
297
291
|
});
|
|
298
292
|
}
|
|
@@ -337,22 +331,26 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
337
331
|
}
|
|
338
332
|
updateCheckboxValue(event) {
|
|
339
333
|
// No need to update the checkbox value based on the children checkbox
|
|
340
|
-
if (!this.toggleCheckboxes) {
|
|
334
|
+
if (!this.toggleCheckboxes || this.el === event.target) {
|
|
341
335
|
return;
|
|
342
336
|
}
|
|
343
337
|
const updatedCheck = event.detail.checked;
|
|
344
338
|
const treeItems = this.getDirectTreeItems();
|
|
345
339
|
// Check if all the items have the same value as the updated item
|
|
346
340
|
const allItemsHaveTheSameCheckedValue = treeItems.every(treeItem => treeItem.checked === updatedCheck);
|
|
341
|
+
const eventMustBeEmitted = this.checked !== updatedCheck ||
|
|
342
|
+
this.indeterminate !== !allItemsHaveTheSameCheckedValue;
|
|
347
343
|
this.ignoreCheckboxChange = this.checked !== updatedCheck;
|
|
348
344
|
this.checked = updatedCheck;
|
|
349
345
|
this.indeterminate = !allItemsHaveTheSameCheckedValue;
|
|
350
346
|
// Sync with the UI Model
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
347
|
+
if (eventMustBeEmitted) {
|
|
348
|
+
this.checkboxToggleChange.emit({
|
|
349
|
+
id: this.el.id,
|
|
350
|
+
checked: updatedCheck,
|
|
351
|
+
indeterminate: !allItemsHaveTheSameCheckedValue
|
|
352
|
+
});
|
|
353
|
+
}
|
|
356
354
|
}
|
|
357
355
|
/**
|
|
358
356
|
* Focus the next item in the tree. If the control is expanded, it focuses
|
|
@@ -424,7 +422,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
424
422
|
}
|
|
425
423
|
/**
|
|
426
424
|
* Focus the last item in its subtree. If the control is not expanded, it
|
|
427
|
-
* focus the control
|
|
425
|
+
* focus the control.
|
|
428
426
|
*/
|
|
429
427
|
async focusLastItem(ctrlKeyPressed) {
|
|
430
428
|
// Focus the last subitem if expanded and not lazy loading
|
|
@@ -446,7 +444,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
446
444
|
this.setFocus(ctrlKeyPressed);
|
|
447
445
|
}
|
|
448
446
|
/**
|
|
449
|
-
* Set focus in the control
|
|
447
|
+
* Set focus in the control.
|
|
450
448
|
*/
|
|
451
449
|
async setFocus(ctrlKeyPressed) {
|
|
452
450
|
this.headerRef.focus();
|
|
@@ -455,6 +453,20 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
455
453
|
this.setSelected();
|
|
456
454
|
}
|
|
457
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Update `checked` and `indeterminate` properties.
|
|
458
|
+
*/
|
|
459
|
+
async updateChecked(newChecked, newIndeterminate) {
|
|
460
|
+
this.checked = newChecked;
|
|
461
|
+
this.indeterminate = newIndeterminate;
|
|
462
|
+
// Emit the event to sync with the UI model, even if the item does not
|
|
463
|
+
// have toggleCheckboxes property
|
|
464
|
+
this.checkboxToggleChange.emit({
|
|
465
|
+
id: this.el.id,
|
|
466
|
+
checked: newChecked,
|
|
467
|
+
indeterminate: newIndeterminate
|
|
468
|
+
});
|
|
469
|
+
}
|
|
458
470
|
getDirectTreeItems() {
|
|
459
471
|
return Array.from(this.el.querySelectorAll(DIRECT_TREE_ITEM_CHILDREN));
|
|
460
472
|
}
|
|
@@ -462,7 +474,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
462
474
|
this.watcher = new ResizeObserver(() => {
|
|
463
475
|
const distanceToCheckbox = this.el.getBoundingClientRect().height -
|
|
464
476
|
this.headerRef.getBoundingClientRect().height / 2;
|
|
465
|
-
this.el.style.setProperty(
|
|
477
|
+
this.el.style.setProperty(DISTANCE_TO_CHECKBOX_CUSTOM_VAR, distanceToCheckbox + "px");
|
|
466
478
|
});
|
|
467
479
|
this.watcher.observe(this.el);
|
|
468
480
|
this.watcher.observe(this.headerRef);
|
|
@@ -480,6 +492,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
480
492
|
}
|
|
481
493
|
// Load items
|
|
482
494
|
this.lazyLoad = false;
|
|
495
|
+
this.downloading = true;
|
|
483
496
|
this.loadLazyContent.emit(this.el.id);
|
|
484
497
|
}
|
|
485
498
|
toggleSelected() {
|
|
@@ -555,7 +568,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
555
568
|
"header--even-expandable": evenLevel && expandableButtonVisible,
|
|
556
569
|
"header--odd-expandable": !evenLevel && expandableButtonVisible,
|
|
557
570
|
"header--level-0": this.level === INITIAL_LEVEL
|
|
558
|
-
}, part: `header${this.disabled ? " disabled" : ""}${this.selected ? " selected" : ""}`, type: "button", disabled: this.disabled, onClick: this.handleActionClick, onKeyDown: !this.editing ? this.handleActionKeyDown : null,
|
|
571
|
+
}, part: `header${this.disabled ? " disabled" : ""}${this.selected ? " selected" : ""}${this.level === INITIAL_LEVEL ? " level-0" : ""}`, type: "button", disabled: this.disabled, onClick: this.handleActionClick, onKeyDown: !this.editing ? this.handleActionKeyDown : null,
|
|
559
572
|
// Drag and drop
|
|
560
573
|
draggable: !this.dragDisabled, onDragStart: this.handleDragStart, onDragEnd: !this.dragDisabled ? this.handleDragEnd : null, ref: el => (this.headerRef = el) }, !this.leaf && this.showExpandableButton && (h("button", { type: "button", class: {
|
|
561
574
|
"expandable-button": true,
|
|
@@ -572,10 +585,11 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
572
585
|
"dashed-line": true,
|
|
573
586
|
"last-all-line": showAllLines && this.lastItem,
|
|
574
587
|
"last-line": showLastLine
|
|
575
|
-
}, part: `dashed-line${this.lastItem ? " last-all-line" : ""}` }))), hasContent && (h("div", { role: "group", "aria-busy": this.downloading.toString(), "aria-live": this.downloading ? "polite" : null, id: EXPANDABLE_ID, class: {
|
|
588
|
+
}, part: `dashed-line${this.lastItem ? " last-all-line" : ""}` }))), hasContent && (h("div", { role: "group", "aria-busy": (!!this.downloading).toString(), "aria-live": this.downloading ? "polite" : null, id: EXPANDABLE_ID, class: {
|
|
576
589
|
expandable: true,
|
|
577
|
-
"expandable--collapsed": !this.expanded
|
|
578
|
-
|
|
590
|
+
"expandable--collapsed": !this.expanded,
|
|
591
|
+
"expandable--lazy-loaded": !this.downloading
|
|
592
|
+
}, part: `expandable${this.expanded ? " expanded" : " collapsed"}${!this.downloading ? " lazy-loaded" : ""}` }, h("slot", null)))));
|
|
579
593
|
}
|
|
580
594
|
get el() { return this; }
|
|
581
595
|
static get watchers() { return {
|
|
@@ -596,7 +610,7 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
596
610
|
"dragDisabled": [4, "drag-disabled"],
|
|
597
611
|
"dropDisabled": [4, "drop-disabled"],
|
|
598
612
|
"dragState": [1025, "drag-state"],
|
|
599
|
-
"downloading": [
|
|
613
|
+
"downloading": [1028],
|
|
600
614
|
"editable": [4],
|
|
601
615
|
"editing": [1028],
|
|
602
616
|
"expanded": [1028],
|
|
@@ -617,7 +631,8 @@ const ChTreeViewItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
617
631
|
"focusNextSibling": [64],
|
|
618
632
|
"focusPreviousItem": [64],
|
|
619
633
|
"focusLastItem": [64],
|
|
620
|
-
"setFocus": [64]
|
|
634
|
+
"setFocus": [64],
|
|
635
|
+
"updateChecked": [64]
|
|
621
636
|
}, [[0, "checkboxChange", "updateCheckboxValue"]]]);
|
|
622
637
|
function defineCustomElement() {
|
|
623
638
|
if (typeof customElements === "undefined") {
|
|
@@ -49,11 +49,16 @@ const DEFAULT_INDETERMINATE_VALUE = false;
|
|
|
49
49
|
const DEFAULT_LAZY_VALUE = false;
|
|
50
50
|
const DEFAULT_ORDER_VALUE = 0;
|
|
51
51
|
const DEFAULT_SELECTED_VALUE = false;
|
|
52
|
-
const defaultRenderItem = (itemModel, treeState, lastItem, level) => {
|
|
52
|
+
const defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => {
|
|
53
53
|
var _a, _b, _c, _d, _e, _f;
|
|
54
54
|
return (treeState.filterType === "none" || itemModel.render !== false) && (h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
|
|
55
55
|
itemModel.items != null &&
|
|
56
|
-
itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeState.showLines &&
|
|
56
|
+
itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines &&
|
|
57
|
+
// If there is a filter applied in the current list, use the
|
|
58
|
+
// lastItemId value to calculate the last item
|
|
59
|
+
(treeHasFilter && itemModel.lastItemId !== ""
|
|
60
|
+
? subModel.id === itemModel.lastItemId
|
|
61
|
+
: index === itemModel.items.length - 1), level + 1))));
|
|
57
62
|
};
|
|
58
63
|
const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
59
64
|
constructor() {
|
|
@@ -67,6 +72,8 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
67
72
|
this.flattenedTreeModel = new Map();
|
|
68
73
|
this.flattenedCheckboxTreeModel = new Map();
|
|
69
74
|
this.selectedItems = new Set();
|
|
75
|
+
this.applyFilters = false;
|
|
76
|
+
this.emitCheckedChange = false;
|
|
70
77
|
/**
|
|
71
78
|
* This property lets you specify if the tree is waiting to process the drop
|
|
72
79
|
* of items.
|
|
@@ -82,6 +89,10 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
82
89
|
* Only works if `checkbox = true`
|
|
83
90
|
*/
|
|
84
91
|
this.checked = false;
|
|
92
|
+
/**
|
|
93
|
+
* A CSS class to set as the `ch-tree-view` element class.
|
|
94
|
+
*/
|
|
95
|
+
this.cssClass = "tree-view";
|
|
85
96
|
/**
|
|
86
97
|
* This attribute lets you specify if the drag operation is disabled in all
|
|
87
98
|
* items by default. If `true`, the items can't be dragged.
|
|
@@ -97,6 +108,14 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
97
108
|
* items by default. If `true`, the items can edit its caption in place.
|
|
98
109
|
*/
|
|
99
110
|
this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
|
|
111
|
+
/**
|
|
112
|
+
* This property lets you determine the debounce time (in ms) that the
|
|
113
|
+
* control waits until it processes the changes to the filter property.
|
|
114
|
+
* Consecutive changes to the `filter` property between this range, reset the
|
|
115
|
+
* timeout to process the filter.
|
|
116
|
+
* Only works if `filterType = "caption" | "metadata"`.
|
|
117
|
+
*/
|
|
118
|
+
this.filterDebounce = 250;
|
|
100
119
|
/**
|
|
101
120
|
* This property lets you determine the list of items that will be filtered.
|
|
102
121
|
* Only works if `filterType = "id-list"`.
|
|
@@ -294,6 +313,11 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
294
313
|
this.processFilters();
|
|
295
314
|
}
|
|
296
315
|
}
|
|
316
|
+
handleFilterDebounceChange() {
|
|
317
|
+
if (this.filterType === "caption" || this.filterType === "metadata") {
|
|
318
|
+
this.processFilters();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
297
321
|
handleFilterListChange() {
|
|
298
322
|
if (this.filterType === "id-list") {
|
|
299
323
|
this.processFilters();
|
|
@@ -451,9 +475,9 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
451
475
|
// Update filters
|
|
452
476
|
if (this.filterType === "checked" || this.filterType === "unchecked") {
|
|
453
477
|
this.processFilters();
|
|
454
|
-
// Force re-render
|
|
455
|
-
forceUpdate(this);
|
|
456
478
|
}
|
|
479
|
+
// Force re-render
|
|
480
|
+
forceUpdate(this);
|
|
457
481
|
}
|
|
458
482
|
loadLazyChildrenHandler(event) {
|
|
459
483
|
if (!this.lazyLoadTreeItemsCallback) {
|
|
@@ -504,17 +528,6 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
504
528
|
event.stopPropagation();
|
|
505
529
|
this.itemOpenReference.emit(event.detail);
|
|
506
530
|
}
|
|
507
|
-
emitCheckedItemsChange() {
|
|
508
|
-
// New copy of the checked items
|
|
509
|
-
const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
|
|
510
|
-
// Update the checked value if not defined
|
|
511
|
-
allItemsWithCheckbox.forEach(itemUIModel => {
|
|
512
|
-
var _a;
|
|
513
|
-
var _b;
|
|
514
|
-
(_a = (_b = itemUIModel.item).checked) !== null && _a !== void 0 ? _a : (_b.checked = this.checked);
|
|
515
|
-
});
|
|
516
|
-
this.checkedItemsChange.emit(allItemsWithCheckbox);
|
|
517
|
-
}
|
|
518
531
|
flattenSubModel(model) {
|
|
519
532
|
const items = model.items;
|
|
520
533
|
if (!items) {
|
|
@@ -549,10 +562,15 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
549
562
|
let aSubItemIsRendered = false;
|
|
550
563
|
// Check if a subitem is rendered
|
|
551
564
|
if (item.leaf !== true && item.items != null) {
|
|
565
|
+
let lastItemId = "";
|
|
552
566
|
item.items.forEach(subItem => {
|
|
553
567
|
const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);
|
|
554
568
|
aSubItemIsRendered || (aSubItemIsRendered = itemSatisfiesFilter);
|
|
569
|
+
if (itemSatisfiesFilter) {
|
|
570
|
+
lastItemId = subItem.id;
|
|
571
|
+
}
|
|
555
572
|
});
|
|
573
|
+
item.lastItemId = lastItemId;
|
|
556
574
|
}
|
|
557
575
|
// The current item is rendered if it satisfies the filter condition or a
|
|
558
576
|
// subitem exists that needs to be rendered
|
|
@@ -560,11 +578,32 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
560
578
|
item.render = satisfiesFilter; // Update item render
|
|
561
579
|
return satisfiesFilter;
|
|
562
580
|
}
|
|
581
|
+
emitCheckedItemsChange() {
|
|
582
|
+
this.emitCheckedChange = true;
|
|
583
|
+
}
|
|
584
|
+
updateCheckedItems() {
|
|
585
|
+
// New copy of the checked items
|
|
586
|
+
const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
|
|
587
|
+
// Update the checked value if not defined
|
|
588
|
+
allItemsWithCheckbox.forEach(itemUIModel => {
|
|
589
|
+
var _a;
|
|
590
|
+
var _b;
|
|
591
|
+
(_a = (_b = itemUIModel.item).checked) !== null && _a !== void 0 ? _a : (_b.checked = this.checked);
|
|
592
|
+
});
|
|
593
|
+
this.checkedItemsChange.emit(allItemsWithCheckbox);
|
|
594
|
+
}
|
|
563
595
|
processFilters() {
|
|
596
|
+
this.applyFilters = true;
|
|
597
|
+
}
|
|
598
|
+
updateFilters() {
|
|
564
599
|
if (this.filterType === "none") {
|
|
565
600
|
return;
|
|
566
601
|
}
|
|
567
|
-
|
|
602
|
+
// Remove queued filter processing
|
|
603
|
+
clearTimeout(this.filterTimeout);
|
|
604
|
+
const processWithDebounce = this.filterDebounce > 0 &&
|
|
605
|
+
(this.filterType === "caption" || this.filterType === "metadata");
|
|
606
|
+
const filterFunction = () => this.filterSubModel({
|
|
568
607
|
id: null,
|
|
569
608
|
caption: null,
|
|
570
609
|
items: this.treeModel
|
|
@@ -575,16 +614,39 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
575
614
|
filterList: this.filterList,
|
|
576
615
|
filterOptions: this.filterOptions
|
|
577
616
|
});
|
|
617
|
+
// Check if should filter with debounce
|
|
618
|
+
if (processWithDebounce) {
|
|
619
|
+
this.filterTimeout = setTimeout(() => {
|
|
620
|
+
filterFunction();
|
|
621
|
+
forceUpdate(this); // After the filter processing is completed, force a re-render
|
|
622
|
+
}, this.filterDebounce);
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
filterFunction();
|
|
626
|
+
}
|
|
578
627
|
}
|
|
579
628
|
componentWillLoad() {
|
|
580
629
|
this.flattenModel();
|
|
581
|
-
this.
|
|
630
|
+
this.updateCheckedItems();
|
|
631
|
+
this.updateFilters();
|
|
632
|
+
}
|
|
633
|
+
componentWillUpdate() {
|
|
634
|
+
if (this.emitCheckedChange) {
|
|
635
|
+
this.updateCheckedItems();
|
|
636
|
+
this.emitCheckedChange = false;
|
|
637
|
+
}
|
|
638
|
+
if (this.applyFilters) {
|
|
639
|
+
this.updateFilters();
|
|
640
|
+
this.applyFilters = false;
|
|
641
|
+
}
|
|
582
642
|
}
|
|
583
643
|
render() {
|
|
584
|
-
return (h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, this.
|
|
644
|
+
return (h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, (this.filterType === "caption" || this.filterType === "metadata") &&
|
|
645
|
+
this.filter != null, this.showLines && index === this.treeModel.length - 1, 0))));
|
|
585
646
|
}
|
|
586
647
|
static get watchers() { return {
|
|
587
648
|
"filter": ["handleFilterChange"],
|
|
649
|
+
"filterDebounce": ["handleFilterDebounceChange"],
|
|
588
650
|
"filterList": ["handleFilterListChange"],
|
|
589
651
|
"filterOptions": ["handleFilterOptionsChange"],
|
|
590
652
|
"filterType": ["handleFilterTypeChange"],
|
|
@@ -601,6 +663,7 @@ const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
601
663
|
"dropItemsCallback": [16],
|
|
602
664
|
"editableItems": [4, "editable-items"],
|
|
603
665
|
"filter": [1],
|
|
666
|
+
"filterDebounce": [2, "filter-debounce"],
|
|
604
667
|
"filterList": [16],
|
|
605
668
|
"filterOptions": [16],
|
|
606
669
|
"filterType": [1, "filter-type"],
|
|
@@ -6,19 +6,24 @@ import { d as defineCustomElement$1 } from './tree-view-render.js';
|
|
|
6
6
|
|
|
7
7
|
const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
|
|
8
8
|
|
|
9
|
-
const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}gxg-tree-view{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background);display:contents}.tree-view{}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.tree-view::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.tree-view::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}.tree-view .ch-tree-view-container{padding:var(--spacing-comp-02)}.tree-view-item{--checkbox-size:var(--gxg-checkbox-size);--expandable-button-width:var(--spacing-comp-04);}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}.tree-view-item::part(header){padding-inline-end:calc(var(--spacing-comp-02) * 0.65);height:var(--spacing-comp-05);display:flex;gap:5px}.tree-view-item::part(header):first-child{margin-inline-start:var(--spacing-comp-01)}.tree-view-item::part(header):before{content:\"\";display:block}.tree-view-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}.tree-view-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}.tree-view-item::part(expandable-button){background-color:var(--gray-00);margin-inline-end:0}.tree-view-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.tree-view-item::part(expandable-button):hover{background-color:var(--color-background)}.tree-view-item::part(expandable-button):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}.tree-view-item::part(action){text-transform:capitalize;display:flex;gap:var(--spacing-comp-01)}.tree-view-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04);margin-inline-end:0}.tree-view-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}.tree-view-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}.tree-view-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item::part(checkbox){margin-inline-end:0}.tree-view-item::part(checkbox__option){display:none}.tree-view-item::part(checkbox__container checkbox__checked):after{left:5.5px;top:3px;width:4px;height:7px;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-color:var(--color-primary-active);transition-property:border-color;transition-duration:var(--ui-animaton-speed);transition-timing-function:ease}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--color-primary-active);-webkit-transform:rotate(0) translateY(-50%) translateX(-50%);-ms-transform:rotate(0) translateY(-50%) translateX(-50%);transform:rotate(0) translateY(-50%) translateX(-50%)}.tree-view-item::part(checkbox__input){position:relative;z-index:1}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:14px;height:14px;margin-inline-end:4px;background-repeat:no-repeat}.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}.tree-view-item--pending-commit::part(action)::before{content:\"\";position:relative;z-index:1;grid-area:left-img;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:var(--color-primary-enabled);border-radius:50%}.tree-view-item--editing::part(header){border:2px solid transparent}.tree-view .ch-tree-view-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
|
|
9
|
+
const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}gxg-tree-view{--gxg-tree-view-icon-size:var(--spacing-comp-04);font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background);display:contents}.tree-view{}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.tree-view::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.tree-view::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}.tree-view .ch-tree-view-container{padding:7px;}.tree-view-item{--ch-tree-view-view__checkbox-size:var(--gxg-checkbox-size);--ch-tree-view-view__expandable-button-width:var(--gxg-tree-view-icon-size);--ch-tree-view-item-gap:var(--spacing-comp-02);--ch-tree-view-item-custom-padding-inline-start:var(--spacing-comp-01);--ch-tree-view-item-custom-padding-inline-end:var(--spacing-comp-01);}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}.tree-view-item::part(header){min-height:var(--spacing-comp-05);padding-top:var(--spacing-comp-00);padding-bottom:var(--spacing-comp-00);padding-inline-end:var(--spacing-comp-02)}.tree-view-item::part(header):before{content:\"\";display:block}.tree-view-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}.tree-view-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}.tree-view-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}.tree-view-item::part(expandable-button){background-color:var(--gray-00)}.tree-view-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.tree-view-item::part(expandable-button):hover{background-color:var(--color-background)}.tree-view-item::part(expandable-button):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}.tree-view-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04)}.tree-view-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}.tree-view-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}.tree-view-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}.tree-view-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}.tree-view-item::part(checkbox__option){display:none}.tree-view-item::part(checkbox__container checkbox__checked):after{left:5.5px;top:3px;width:4px;height:7px;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-color:var(--color-primary-active);transition-property:border-color;transition-duration:var(--ui-animaton-speed);transition-timing-function:ease}.tree-view-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--color-primary-active);-webkit-transform:rotate(0) translateY(-50%) translateX(-50%);-ms-transform:rotate(0) translateY(-50%) translateX(-50%);transform:rotate(0) translateY(-50%) translateX(-50%)}.tree-view-item::part(checkbox__input){position:relative;z-index:1}.tree-view-item--folder::part(action)::before,.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:var(--gxg-tree-view-icon-size);height:var(--gxg-tree-view-icon-size);margin-inline-end:var(--ch-tree-view-item-gap);background-repeat:no-repeat}.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}.tree-view-item--pending-commit::part(action)::before{content:\"\";position:relative;z-index:1;grid-area:left-img;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:var(--color-primary-enabled);border-radius:50%}.tree-view-item--editing::part(header){border:2px solid transparent}.tree-view .ch-tree-view-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
|
|
10
10
|
|
|
11
11
|
const DEFAULT_DRAG_DISABLED_VALUE = false;
|
|
12
12
|
const DEFAULT_DROP_DISABLED_VALUE = false;
|
|
13
13
|
const DEFAULT_EDITABLE_ITEMS_VALUE = true;
|
|
14
14
|
const iconAssetsPath = getAssetPath(`./icon-assets`);
|
|
15
|
-
const defaultRenderItem = (itemModel, treeState, lastItem, level) => {
|
|
15
|
+
const defaultRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => {
|
|
16
16
|
var _a, _b, _c, _d, _e, _f;
|
|
17
17
|
return (treeState.filterType === "none" || itemModel.render !== false) && (h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc
|
|
18
18
|
? resolveImgPath(iconAssetsPath, itemModel.leftImgSrc)
|
|
19
19
|
: null, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
|
|
20
20
|
itemModel.items != null &&
|
|
21
|
-
itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeState.showLines
|
|
21
|
+
itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
|
|
22
|
+
// If there is a filter applied in the current list, use the
|
|
23
|
+
// lastItemId value to calculate the last item
|
|
24
|
+
(treeHasFilter && itemModel.lastItemId !== ""
|
|
25
|
+
? subModel.id === itemModel.lastItemId
|
|
26
|
+
: index === itemModel.items.length - 1), level + 1))));
|
|
22
27
|
};
|
|
23
28
|
const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
24
29
|
constructor() {
|
|
@@ -94,7 +99,7 @@ const ChTreeViewRenderWrapper = /*@__PURE__*/ proxyCustomElement(class extends H
|
|
|
94
99
|
* `true` to display the relation between tree items and tree lists using
|
|
95
100
|
* lines.
|
|
96
101
|
*/
|
|
97
|
-
this.showLines = "
|
|
102
|
+
this.showLines = "all";
|
|
98
103
|
/**
|
|
99
104
|
* Set this attribute if you want all the children item's checkboxes to be
|
|
100
105
|
* checked when the parent item checkbox is checked, or to be unchecked when
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-0aa3977d.js';
|
|
2
2
|
|
|
3
3
|
const accordionCss = ":where(button){all:unset}*,::before,::after{box-sizing:border-box}:host{--chevron:url('data:image/svg+xml,<svg width=\"14\" height=\"8\" viewBox=\"0 0 14 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.645 0.5L7 4.83019L12.355 0.5L14 1.83962L7 7.5L0 1.83962L1.645 0.5Z\" fill=\"%23000\"/></svg>');display:grid;grid-template-rows:min-content min-content;width:100%;height:100%;text-align:start}.header{display:grid;grid-template-columns:1fr min-content;grid-template-rows:1fr;text-align:start;cursor:pointer}.chevron{align-self:center;width:14px;height:8px;-webkit-mask:var(--chevron);background-color:#000;transition:transform 250ms}.chevron--expanded{transform:rotate(180deg)}.expandable{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 250ms}.expanded{visibility:visible;grid-template-rows:1fr}.expandable ::slotted(*){height:100%;overflow:hidden}";
|
|
4
4
|
|