@genexus/genexus-ide-ui 0.0.108 → 0.0.109
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-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/ch-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-grid_8.cjs.entry.js +339 -321
- package/dist/cjs/ch-grid_8.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-icon_5.cjs.entry.js +3 -1
- package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
- package/dist/cjs/ch-suggest_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ch-tree-view_5.cjs.entry.js +41 -20
- package/dist/cjs/ch-tree-view_5.cjs.entry.js.map +1 -1
- package/dist/cjs/{common-103f62f6.js → common-2e355c7d.js} +31 -1
- package/dist/cjs/common-2e355c7d.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-add-module-servers.cjs.entry.js +98 -0
- package/dist/cjs/gx-ide-add-module-servers.cjs.entry.js.map +1 -0
- package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +47 -4
- package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +98 -0
- package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +232 -0
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +81 -0
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +184 -0
- package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/common/common.js +21 -0
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/components/_helpers/container/container.css +6 -0
- package/dist/collection/components/_helpers/container/container.js +40 -0
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- 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/create-kb-from-server/create-kb-from-server.js +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/modules/add-module-servers/add-module-servers.css +560 -0
- package/dist/collection/components/modules/add-module-servers/add-module-servers.js +251 -0
- package/dist/collection/components/modules/add-module-servers/add-module-servers.js.map +1 -0
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +11 -0
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +3 -0
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +3 -0
- package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +560 -0
- package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js +251 -0
- package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +1 -0
- package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
- package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
- package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +29 -0
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +723 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +397 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -0
- package/dist/collection/components/modules/types.js +2 -0
- package/dist/collection/components/modules/types.js.map +1 -0
- package/dist/collection/pages/assets/common.js +7 -0
- package/dist/components/buttons-container.js +8 -3
- package/dist/components/buttons-container.js.map +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/ch-grid-column2.js +4 -1
- package/dist/components/ch-grid-column2.js.map +1 -1
- package/dist/components/ch-grid2.js +342 -322
- package/dist/components/ch-grid2.js.map +1 -1
- package/dist/components/combo-box.js +1 -1
- package/dist/components/common.js +30 -1
- package/dist/components/common.js.map +1 -1
- package/dist/components/container.js +9 -3
- package/dist/components/container.js.map +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-radio-group.js +1 -1
- package/dist/components/form-text.js +1 -1
- package/dist/components/form-textarea.js +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/gx-ide-add-module-servers.d.ts +11 -0
- package/dist/components/gx-ide-add-module-servers.js +186 -0
- package/dist/components/gx-ide-add-module-servers.js.map +1 -0
- package/dist/components/gx-ide-ai-assistant.js +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +2 -2
- package/dist/components/gx-ide-create-kb-from-server.js +3 -3
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +2 -2
- package/dist/components/gx-ide-data-selector.js +2 -2
- package/dist/components/gx-ide-edit-module-servers.d.ts +11 -0
- package/dist/components/gx-ide-edit-module-servers.js +186 -0
- package/dist/components/gx-ide-edit-module-servers.js.map +1 -0
- package/dist/components/gx-ide-empty-state2.js +2 -2
- package/dist/components/gx-ide-import-from-design.js +2 -2
- package/dist/components/gx-ide-kb-manager-export.js +2 -2
- package/dist/components/gx-ide-kb-manager-import.js +2 -2
- package/dist/components/gx-ide-manage-module-references.d.ts +11 -0
- package/dist/components/gx-ide-manage-module-references.js +432 -0
- package/dist/components/gx-ide-manage-module-references.js.map +1 -0
- package/dist/components/gx-ide-new-environment.js +2 -2
- package/dist/components/gx-ide-new-kb.js +2 -2
- package/dist/components/gx-ide-new-object.js +2 -2
- package/dist/components/gx-ide-object-selector.js +2 -2
- package/dist/components/gx-ide-references.js +2 -2
- package/dist/components/gx-ide-share-kb.js +2 -2
- package/dist/components/gx-ide-start-page.js +2 -2
- package/dist/components/gx-ide-status-buttons2.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +2 -2
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +2 -2
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
- package/dist/components/gx-ide-team-dev-update-to-revision.js +2 -2
- package/dist/components/gx-ide-team-dev-update.js +2 -2
- package/dist/components/gx-ide-template.js +2 -2
- package/dist/components/gx-ide-title.js +1 -1
- package/dist/components/gx-ide-top-bar.js +1 -1
- package/dist/components/gx-ide-ww-images.js +2 -2
- package/dist/components/gxg-container.js +1 -1
- package/dist/components/gxg-form-checkbox-group2.js +1 -1
- package/dist/components/gxg-menu-slim-list.js +1 -1
- package/dist/components/gxg-title.js +1 -1
- package/dist/components/gxg-top-state-bar2.js +17 -8
- package/dist/components/gxg-top-state-bar2.js.map +1 -1
- package/dist/components/icon2.js +3 -1
- package/dist/components/icon2.js.map +1 -1
- package/dist/components/ide-loader.js +1 -1
- package/dist/components/list-box.js +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/recent-news.js +2 -2
- package/dist/components/suggest.js +2 -2
- package/dist/components/suggest.js.map +1 -1
- package/dist/components/title-editable.js +1 -1
- package/dist/components/title.js +32 -31
- package/dist/components/title.js.map +1 -1
- package/dist/components/title2.js +31 -32
- package/dist/components/title2.js.map +1 -1
- package/dist/components/tree-view-item.js +8 -2
- package/dist/components/tree-view-item.js.map +1 -1
- package/dist/components/tree-view2.js +32 -15
- package/dist/components/tree-view2.js.map +1 -1
- package/dist/esm/ch-dropdown_2.entry.js +1 -1
- package/dist/esm/ch-dropdown_2.entry.js.map +1 -1
- package/dist/esm/ch-grid_8.entry.js +339 -321
- package/dist/esm/ch-grid_8.entry.js.map +1 -1
- package/dist/esm/ch-icon_5.entry.js +3 -1
- package/dist/esm/ch-icon_5.entry.js.map +1 -1
- package/dist/esm/ch-suggest_4.entry.js +1 -1
- package/dist/esm/ch-suggest_4.entry.js.map +1 -1
- package/dist/esm/ch-tree-view_5.entry.js +41 -20
- package/dist/esm/ch-tree-view_5.entry.js.map +1 -1
- package/dist/esm/{common-f2983db2.js → common-aaad5759.js} +31 -2
- package/dist/esm/common-aaad5759.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-add-module-servers.entry.js +94 -0
- package/dist/esm/gx-ide-add-module-servers.entry.js.map +1 -0
- package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +47 -5
- package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-servers.entry.js +94 -0
- package/dist/esm/gx-ide-edit-module-servers.entry.js.map +1 -0
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +228 -0
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -0
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +77 -0
- package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -0
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gxg-buttons-container_2.entry.js +179 -0
- package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +5 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +29 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/{p-2c1f414f.entry.js → p-0c0c3f1d.entry.js} +53 -53
- package/dist/genexus-ide-ui/{p-2c1f414f.entry.js.map → p-0c0c3f1d.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-b571e9c0.entry.js → p-0df39b62.entry.js} +5 -2
- package/dist/genexus-ide-ui/{p-b571e9c0.entry.js.map → p-0df39b62.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-419b2877.entry.js → p-1cb2d0df.entry.js} +80 -47
- package/dist/genexus-ide-ui/p-1cb2d0df.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-350f49ac.js +101 -0
- package/dist/genexus-ide-ui/p-350f49ac.js.map +1 -0
- package/dist/genexus-ide-ui/p-36544e00.entry.js +138 -0
- package/dist/genexus-ide-ui/p-36544e00.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ca7233a5.entry.js → p-39337325.entry.js} +81 -10
- package/dist/genexus-ide-ui/p-39337325.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-40121554.entry.js.map +1 -1
- package/dist/genexus-ide-ui/p-41ac8e60.entry.js +211 -0
- package/dist/genexus-ide-ui/p-41ac8e60.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-001e085a.entry.js → p-51e86542.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d14b5546.entry.js → p-6f5b13a7.entry.js} +4 -2
- package/dist/genexus-ide-ui/{p-d14b5546.entry.js.map → p-6f5b13a7.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-94015503.entry.js → p-786e5448.entry.js} +374 -380
- package/dist/genexus-ide-ui/p-786e5448.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-a46794f4.entry.js +138 -0
- package/dist/genexus-ide-ui/p-a46794f4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-adaf7aff.entry.js +365 -0
- package/dist/genexus-ide-ui/p-adaf7aff.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-afce38d4.entry.js → p-b2099890.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-513ec2ad.entry.js → p-b4e526d6.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-b7d0697f.entry.js +138 -0
- package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8e8bb528.entry.js → p-c14b6b77.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8e8bb528.entry.js.map → p-c14b6b77.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-2c733995.entry.js → p-d5903356.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-05102700.entry.js → p-df72101e.entry.js} +2 -2
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/dropdown/dropdown.css +28 -28
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -2
- package/dist/node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css +11 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +32 -41
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +37 -54
- package/dist/types/common/common.d.ts +2 -0
- package/dist/types/components/_helpers/container/container.d.ts +8 -0
- package/dist/types/components/modules/add-module-servers/add-module-servers.d.ts +60 -0
- package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +60 -0
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +98 -0
- package/dist/types/components/modules/types.d.ts +40 -0
- package/dist/types/components.d.ts +312 -52
- package/package.json +3 -3
- package/dist/cjs/common-103f62f6.js.map +0 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +0 -187
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gxg-buttons-container.cjs.entry.js +0 -65
- package/dist/cjs/gxg-buttons-container.cjs.entry.js.map +0 -1
- package/dist/cjs/gxg-title.cjs.entry.js +0 -47
- package/dist/cjs/gxg-title.cjs.entry.js.map +0 -1
- package/dist/esm/common-f2983db2.js.map +0 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
- package/dist/esm/gx-ide-status-buttons_2.entry.js +0 -182
- package/dist/esm/gx-ide-status-buttons_2.entry.js.map +0 -1
- package/dist/esm/gxg-buttons-container.entry.js +0 -61
- package/dist/esm/gxg-buttons-container.entry.js.map +0 -1
- package/dist/esm/gxg-title.entry.js +0 -43
- package/dist/esm/gxg-title.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-419b2877.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-67406b36.entry.js +0 -71
- package/dist/genexus-ide-ui/p-67406b36.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-67ea84e8.js +0 -74
- package/dist/genexus-ide-ui/p-67ea84e8.js.map +0 -1
- package/dist/genexus-ide-ui/p-94015503.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ca7233a5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-cf5c3c10.entry.js +0 -270
- package/dist/genexus-ide-ui/p-cf5c3c10.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d50b5b9a.entry.js +0 -67
- package/dist/genexus-ide-ui/p-d50b5b9a.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-001e085a.entry.js.map → p-51e86542.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-afce38d4.entry.js.map → p-b2099890.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-513ec2ad.entry.js.map → p-b4e526d6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2c733995.entry.js.map → p-d5903356.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-05102700.entry.js.map → p-df72101e.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"tree-view-item.js","mappings":"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","names":[],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css?tag=ch-tree-view-item&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.js"],"sourcesContent":["*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:where(button) {\n all: unset;\n display: flex;\n user-select: none;\n touch-action: manipulation;\n -webkit-user-drag: element;\n}\n\n:host {\n display: grid;\n grid-template-rows: min-content;\n}\n\n.header {\n display: flex;\n gap: var(--ch-tree-view-item-gap);\n align-items: center;\n min-block-size: calc(1em + 6px);\n}\n.header--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.dashed-line {\n --inset-inline-start: calc(var(--ch-tree-tab-size) * (var(--level) - 1) - var(--parent-offset, 0px) + var(--ch-tree-view-item-custom-padding-inline-start) + var(--ch-tree-view-item__expandable-button-size) * 0.5 + var(--ch-tree-view-item__dashed-line--inset-inline-start));\n position: absolute;\n inset-inline-start: var(--inset-inline-start);\n inline-size: calc(var(--ch-tree-view-item-indentation) - var(--inset-inline-start) - var(--ch-tree-view-item__dashed-line--inset-inline-end));\n block-size: 1px;\n border: 0 dashed color-mix(in srgb, currentColor 65%, transparent);\n border-block-end-width: 1px;\n pointer-events: none;\n content-visibility: hidden;\n z-index: 1;\n}\n\n.last-all-line {\n inset-block-start: 0;\n height: calc(100% - var(--ch-tree-view-item-distance-to-checkbox));\n border-inline-start-width: 1px;\n border-end-start-radius: 2px;\n}\n\n.last-line {\n inset-block-start: 0;\n height: 100%;\n border-inline-start-width: 1px;\n border-style: solid;\n border-block-end: unset;\n}\n\n.expandable-button,\n.expandable-button-decorative::before {\n display: grid;\n place-items: center;\n inline-size: var(--ch-tree-view-item__expandable-button-size);\n block-size: var(--ch-tree-view-item__expandable-button-size);\n z-index: 1;\n cursor: pointer;\n content-visibility: auto;\n contain-intrinsic-size: auto var(--ch-tree-view-item__expandable-button-size);\n}\n\n.expandable-button-decorative::before {\n content: \"\";\n background-color: currentColor;\n -webkit-mask: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M16.5 5L8.7 12.7L1 5\" stroke=\"%23000\" stroke-width=\"1.2\" stroke-linecap=\"round\"/></svg>') 50% 50%/calc(100% - 4px) calc(100% - 4px) no-repeat;\n cursor: unset;\n}\n.expandable-button-decorative--collapsed::before {\n transform: rotate(-90deg);\n}\n.expandable-button::before {\n content: \"\";\n inline-size: calc(100% - 4px);\n block-size: calc(100% - 4px);\n background-color: currentColor;\n -webkit-mask-size: calc(var(--ch-tree-view-item__expandable-button-size) - 4px);\n}\n.expandable-button--collapsed::before {\n -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>');\n}\n.expandable-button--expanded::before {\n -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>');\n}\n.expandable-button:focus-visible {\n outline: 1px solid currentColor;\n}\n\n.checkbox {\n inline-size: var(--ch-tree-view-item__checkbox-size);\n}\n.checkbox::part(container) {\n inline-size: var(--ch-tree-view-item__checkbox-size);\n block-size: var(--ch-tree-view-item__checkbox-size);\n}\n\n.action {\n display: grid;\n grid-template: \"start-img text\"/max-content 1fr;\n gap: var(--ch-tree-view-item-gap);\n align-items: center;\n block-size: 100%;\n flex: 1;\n cursor: pointer;\n}\n.action--end-img {\n grid-template: \"start-img text end-img\"/max-content 1fr max-content;\n}\n\n.readonly-mode {\n padding-block: 0.75px;\n}\n\n.edit-name {\n grid-area: text;\n inline-size: 100%;\n block-size: 100%;\n padding: 0;\n margin: 0;\n background-color: unset;\n border: unset;\n color: unset;\n font: unset;\n outline: unset;\n}\n\n.pseudo-img--start::before,\n.pseudo-img--end::after,\n.img {\n display: block;\n inline-size: var(--ch-tree-view-item__image-size);\n block-size: var(--ch-tree-view-item__image-size);\n content-visibility: auto;\n contain-intrinsic-size: auto var(--ch-tree-view-item__image-size);\n}\n\n.pseudo-img--start::before,\n.start-img {\n content: \"\";\n grid-area: start-img;\n}\n\n.pseudo-img--end::after,\n.end-img {\n content: \"\";\n grid-area: end-img;\n}\n\n.start-img-type--background::before {\n background: no-repeat center/100% var(--ch-start-img);\n}\n\n.end-img-type--background::after {\n background: no-repeat center/100% var(--ch-end-img);\n}\n\n.start-img-type--mask::before {\n -webkit-mask: var(--ch-start-img) 50% 50%/100% 100% no-repeat;\n background-color: currentColor;\n}\n\n.end-img-type--mask::after {\n -webkit-mask: var(--ch-end-img) 50% 50%/100% 100% no-repeat;\n background-color: currentColor;\n}\n\n.downloading {\n inline-size: 0.75em;\n block-size: 0.75em;\n margin-inline: 8px 2px;\n border: 2px solid currentColor;\n border-inline-start-color: transparent;\n border-radius: 50%;\n opacity: 0.75;\n animation: spin 1s linear infinite, avoid-flickering 75ms;\n}\n\n@keyframes avoid-flickering {\n 0%, 100% {\n display: none;\n }\n}\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.expandable {\n display: grid;\n grid-auto-rows: min-content;\n position: relative;\n}\n.expandable--lazy-loaded {\n content-visibility: auto;\n contain-intrinsic-size: auto 100px;\n}\n\n.expandable--collapsed {\n display: none;\n overflow: hidden;\n}","import { Host, h, writeTask } from \"@stencil/core\";\nimport { mouseEventModifierKey } from \"../../common/helpers\";\nimport { isPseudoElementImg, removeDragImage, tokenMap } from \"../../../common/utils\";\nimport { INITIAL_LEVEL, getTreeItemLevelPart } from \"../../renders/tree-view/utils\";\nconst DISTANCE_TO_CHECKBOX_CUSTOM_VAR = \"--ch-tree-view-item-distance-to-checkbox\";\n// Selectors\nconst TREE_ITEM_TAG_NAME = \"ch-tree-view-item\";\nconst DIRECT_TREE_ITEM_CHILDREN = `:scope>${TREE_ITEM_TAG_NAME}`;\nconst FIRST_ENABLED_SUB_ITEM = `${TREE_ITEM_TAG_NAME}:not([disabled])`;\nconst LAST_SUB_ITEM = `:scope>${TREE_ITEM_TAG_NAME}:last-child`;\n// Custom classes\nconst DOWNLOADING_CLASS = TREE_ITEM_TAG_NAME + \"--downloading\";\nconst EDITING_CLASS = TREE_ITEM_TAG_NAME + \"--editing\";\nconst NOT_EDITING_CLASS = TREE_ITEM_TAG_NAME + \"--not-editing\";\nconst DRAG_ENTER_CLASS = TREE_ITEM_TAG_NAME + \"--drag-enter\";\nconst DENY_DROP_CLASS = TREE_ITEM_TAG_NAME + \"--deny-drop\";\n// Keys\nconst EXPANDABLE_ID = \"expandable\";\nconst ENTER_KEY = \"Enter\";\nconst ESCAPE_KEY = \"Escape\";\n// Export Parts\nconst getCheckboxExportPart = (part) => `${part}:checkbox__${part}`;\nconst CHECKBOX_EXPORT_PARTS = [\n \"container\",\n \"input\",\n \"option\",\n \"checked\",\n \"indeterminate\"\n]\n .map(getCheckboxExportPart)\n .join(\",\");\nexport class ChTreeViewItem {\n constructor() {\n this.caption = undefined;\n this.checkbox = false;\n this.checked = false;\n this.customRender = false;\n this.disabled = false;\n this.dragDisabled = false;\n this.dropDisabled = false;\n this.dragState = \"none\";\n this.downloading = false;\n this.editable = undefined;\n this.editing = false;\n this.endImgSrc = undefined;\n this.endImgType = \"background\";\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.expanded = false;\n this.lastItem = false;\n this.lazyLoad = false;\n this.leaf = false;\n this.level = INITIAL_LEVEL;\n this.indeterminate = false;\n this.metadata = undefined;\n this.selected = false;\n this.showDownloadingSpinner = true;\n this.showLines = \"none\";\n this.startImgSrc = undefined;\n this.startImgType = \"background\";\n this.toggleCheckboxes = false;\n }\n #watcher;\n /**\n * Useful to ignore the checkbox change when it was committed from a children.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #ignoreCheckboxChange = false;\n // Refs\n #headerRef;\n #inputRef;\n el;\n updateChildrenCheckedValue(newValue) {\n if (!this.toggleCheckboxes || this.leaf || this.#ignoreCheckboxChange) {\n this.#ignoreCheckboxChange = false;\n return;\n }\n const treeItems = this.#getDirectTreeItems();\n treeItems.forEach(treeItem => {\n if (treeItem.checked !== newValue || treeItem.indeterminate !== false) {\n treeItem.updateChecked(newValue, false);\n }\n });\n }\n editingChanged(isEditing) {\n if (!isEditing) {\n return;\n }\n document.addEventListener(\"click\", this.#removeEditModeOnClick, {\n capture: true\n });\n // Wait until the input is rendered to focus it\n writeTask(() => {\n requestAnimationFrame(() => {\n if (this.#inputRef) {\n this.#inputRef.focus();\n }\n });\n });\n }\n expandedChanged(isExpanded) {\n // Wait until all properties are updated before lazy loading. Otherwise, the\n // lazyLoad property could be updated just after the executing of the function\n setTimeout(() => {\n this.#lazyLoadItems(isExpanded);\n });\n }\n lastItemChanged(isLastItem) {\n if (isLastItem && this.showLines) {\n // Use RAF to set the observer after the render method has completed\n requestAnimationFrame(() => {\n this.#setResizeObserver();\n });\n }\n else {\n this.#disconnectObserver();\n }\n }\n showLinesChanged(newShowLines) {\n if (newShowLines && this.lastItem) {\n this.#setResizeObserver();\n }\n else {\n this.#disconnectObserver();\n }\n }\n /**\n * Fired when the checkbox value of the control is changed.\n */\n checkboxChange;\n /**\n * Fired when the checkbox value of the control is changed. This event only\n * applies when the control has `toggleCheckboxes = true`\n */\n checkboxToggleChange;\n /**\n * Fired when the item is being dragged.\n */\n itemDragStart;\n /**\n * Fired when the item is no longer being dragged.\n */\n itemDragEnd;\n /**\n * Fired when the lazy control is expanded an its content must be loaded.\n */\n loadLazyContent;\n /**\n * Fired when the item is asking to modify its caption.\n */\n modifyCaption;\n /**\n * Fired when the user interacts with the control in a way that its reference\n * must be opened.\n */\n openReference;\n /**\n * Fired when the selected state is updated by user interaction on the\n * control.\n */\n selectedItemChange;\n updateCheckboxValue(event) {\n // No need to update the checkbox value based on the children checkbox\n if (!this.toggleCheckboxes || this.el === event.target) {\n return;\n }\n const updatedCheck = event.detail.checked;\n const treeItems = this.#getDirectTreeItems();\n // Check if all the items have the same value as the updated item\n const allItemsHaveTheSameCheckedValue = treeItems.every(treeItem => treeItem.checked === updatedCheck);\n const eventMustBeEmitted = this.checked !== updatedCheck ||\n this.indeterminate !== !allItemsHaveTheSameCheckedValue;\n this.#ignoreCheckboxChange = this.checked !== updatedCheck;\n this.checked = updatedCheck;\n this.indeterminate = !allItemsHaveTheSameCheckedValue;\n // Sync with the UI Model\n if (eventMustBeEmitted) {\n this.checkboxToggleChange.emit({\n id: this.el.id,\n checked: updatedCheck,\n indeterminate: !allItemsHaveTheSameCheckedValue\n });\n }\n }\n /**\n * Focus the next item in the tree. If the control is expanded, it focuses\n * the first subitem in its tree.\n */\n async focusNextItem(ctrlKeyPressed) {\n // Focus the first subitem if expanded\n if (!this.leaf && this.expanded) {\n const subItem = this.el.querySelector(FIRST_ENABLED_SUB_ITEM);\n // The tree item could be empty or downloading subitem, so it is uncertain\n // if the query won't fail\n if (subItem) {\n subItem.setFocus(ctrlKeyPressed);\n return;\n }\n }\n // Otherwise, focus the next sibling\n this.focusNextSibling(ctrlKeyPressed);\n }\n /**\n * Focus the next sibling item in the tree.\n */\n async focusNextSibling(ctrlKeyPressed) {\n const nextSiblingItem = this.el\n .nextElementSibling;\n // Focus the next sibling, if exists\n if (nextSiblingItem) {\n // If the next sibling is disabled, ask for its next sibling\n if (nextSiblingItem.disabled) {\n nextSiblingItem.focusNextItem(ctrlKeyPressed);\n }\n else {\n nextSiblingItem.setFocus(ctrlKeyPressed);\n }\n return;\n }\n // The item is the last one of the tree at the first level\n if (this.level === INITIAL_LEVEL) {\n return;\n }\n // Otherwise, ask the parent to focus the next sibling\n const parentItem = this.el.parentElement;\n parentItem.focusNextSibling(ctrlKeyPressed);\n }\n /**\n * Focus the previous item in the tree. If the previous item is expanded, it focuses\n * the last subitem in its tree.\n */\n async focusPreviousItem(ctrlKeyPressed) {\n const previousSiblingItem = this.el\n .previousElementSibling;\n // Focus last item of the previous sibling\n if (previousSiblingItem) {\n previousSiblingItem.focusLastItem(ctrlKeyPressed);\n return;\n }\n // The item is the first one of the tree at the first level\n if (this.level === INITIAL_LEVEL) {\n return;\n }\n // Otherwise, set focus in the parent element\n const parentItem = this.el.parentElement;\n // Check if the parent is not disabled\n if (parentItem.disabled) {\n parentItem.focusPreviousItem(ctrlKeyPressed);\n return;\n }\n parentItem.setFocus(ctrlKeyPressed);\n }\n /**\n * Focus the last item in its subtree. If the control is not expanded, it\n * focus the control.\n */\n async focusLastItem(ctrlKeyPressed) {\n // Focus the last subitem if expanded and not lazy loading\n if (!this.leaf && this.expanded) {\n const lastSubItem = this.el.querySelector(LAST_SUB_ITEM);\n // The tree item could be empty or downloading subitem, so it is uncertain\n // if the query won't fail\n if (lastSubItem) {\n lastSubItem.focusLastItem(ctrlKeyPressed);\n return;\n }\n }\n // If the last item is disabled, try to focus the previous sibling\n if (this.disabled) {\n this.focusPreviousItem(ctrlKeyPressed);\n return;\n }\n // Otherwise, it focuses the control\n this.setFocus(ctrlKeyPressed);\n }\n /**\n * Set focus in the control.\n */\n async setFocus(ctrlKeyPressed) {\n this.#headerRef.focus();\n // Normal navigation auto selects the item.\n if (!ctrlKeyPressed) {\n this.#setSelected();\n }\n }\n /**\n * Update `checked` and `indeterminate` properties.\n */\n async updateChecked(newChecked, newIndeterminate) {\n this.checked = newChecked;\n this.indeterminate = newIndeterminate;\n // Emit the event to sync with the UI model, even if the item does not\n // have toggleCheckboxes property\n this.checkboxToggleChange.emit({\n id: this.el.id,\n checked: newChecked,\n indeterminate: newIndeterminate\n });\n }\n #getDirectTreeItems = () => Array.from(this.el.querySelectorAll(DIRECT_TREE_ITEM_CHILDREN));\n #setResizeObserver = () => {\n this.#watcher = new ResizeObserver(() => {\n const distanceToCheckbox = this.el.getBoundingClientRect().height -\n this.#headerRef.getBoundingClientRect().height / 2;\n this.el.style.setProperty(DISTANCE_TO_CHECKBOX_CUSTOM_VAR, distanceToCheckbox + \"px\");\n });\n this.#watcher.observe(this.el);\n this.#watcher.observe(this.#headerRef);\n };\n #disconnectObserver = () => {\n if (!this.#watcher) {\n return;\n }\n this.#watcher.disconnect();\n this.#watcher = null;\n };\n #checkIfShouldRemoveEditMode = (event) => {\n event.stopPropagation();\n if (event.code !== ENTER_KEY && event.code !== ESCAPE_KEY) {\n return;\n }\n event.preventDefault();\n const commitEdition = event.code === ENTER_KEY;\n this.#removeEditMode(true, commitEdition)();\n };\n #removeEditModeOnClick = (event) => {\n // The click is executed outside the input and the pointer type is defined,\n // meaning that the button click was not triggered by the Enter or Space keys\n if (!event.composedPath().includes(this.#inputRef) && event.pointerType) {\n this.#removeEditMode(false)();\n }\n };\n #removeEditMode = (shouldFocusHeader, commitEdition = false) => () => {\n // When pressing the enter key in the input, the removeEditMode event is\n // triggered twice (due to the headerRef.focus() triggering the onBlur\n // event in the input), so we need to check if the edit mode was disabled\n if (!this.editing) {\n return;\n }\n this.editing = false;\n document.removeEventListener(\"click\", this.#removeEditModeOnClick, {\n capture: true\n });\n const newCaption = this.#inputRef.value;\n if (commitEdition && newCaption.trim() !== \"\") {\n this.modifyCaption.emit({\n id: this.el.id,\n caption: newCaption\n });\n }\n if (shouldFocusHeader) {\n this.#headerRef.focus();\n }\n };\n #toggleExpand = (event) => {\n event.stopPropagation();\n if (!this.leaf) {\n this.expanded = !this.expanded;\n }\n this.selected = true;\n this.selectedItemChange.emit(this.#getSelectedInfo(mouseEventModifierKey(event), true));\n };\n #lazyLoadItems = (expanded) => {\n if (!this.lazyLoad || !expanded) {\n return;\n }\n // Load items\n this.lazyLoad = false;\n this.downloading = true;\n this.loadLazyContent.emit(this.el.id);\n };\n #toggleSelected = () => {\n const selected = !this.selected;\n this.selected = selected;\n this.selectedItemChange.emit(this.#getSelectedInfo(true, selected));\n };\n #setSelected = () => {\n this.selected = true;\n this.selectedItemChange.emit(this.#getSelectedInfo(false, true));\n };\n #toggleOrSelect = (event) => {\n // Ctrl key\n if (mouseEventModifierKey(event)) {\n this.#toggleSelected();\n }\n // Expand on click interaction\n else if (this.expandOnClick) {\n this.#toggleExpand(event);\n }\n // Click only selects the item\n else {\n this.#setSelected();\n }\n };\n #getSelectedInfo = (ctrlKeyPressed, selected) => ({\n ctrlKeyPressed: ctrlKeyPressed,\n expanded: this.expanded,\n id: this.el.id,\n metadata: this.metadata,\n parentId: this.el.parentElement?.id,\n selected: selected\n });\n #handleActionDblClick = (event) => {\n event.stopPropagation();\n if (mouseEventModifierKey(event)) {\n this.#toggleSelected();\n return;\n }\n this.#emitOpenReference();\n // The Control key is not pressed, so the control can be expanded if double\n // click expands the item\n if (!this.leaf && !this.expandOnClick) {\n this.#toggleExpand(event);\n }\n };\n /**\n * Event triggered by the following actions on the main button:\n * - Click\n * - Enter keydown\n * - Space keydown and keyup\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #handleActionClick = (event) => {\n event.stopPropagation();\n // Don't perform actions when editing\n if (this.editing) {\n return;\n }\n event.preventDefault();\n // Click event\n if (event.pointerType) {\n this.#toggleOrSelect(event);\n return;\n }\n this.#emitOpenReference();\n // Enter or space\n this.#toggleExpand(event);\n };\n /**\n * Event triggered by key events on the main button.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #handleActionKeyDown = (event) => {\n // Only toggle if the Enter key was pressed with the Ctrl key\n if (mouseEventModifierKey(event) && event.code === ENTER_KEY) {\n event.stopPropagation();\n this.#toggleSelected();\n }\n };\n #emitOpenReference = () => {\n this.openReference.emit({\n id: this.el.id,\n leaf: this.leaf,\n metadata: this.metadata\n });\n };\n #handleCheckedChange = (event) => {\n event.stopPropagation();\n const checked = event.target.checked;\n this.checked = checked;\n this.indeterminate = false; // Changing the checked value makes it no longer indeterminate\n this.checkboxChange.emit({\n id: this.el.id,\n checked: this.checked,\n indeterminate: false\n });\n };\n #renderImg = (cssClass, src, imageType) => imageType === \"img\" &&\n src && (h(\"img\", { \"aria-hidden\": \"true\", class: cssClass, part: cssClass, alt: \"\", src: src, loading: \"lazy\" }));\n #handleDragStart = (event) => {\n // Disallow drag when editing the caption\n if (this.editing) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n removeDragImage(event);\n event.dataTransfer.effectAllowed = \"move\";\n this.dragState = \"start\";\n this.itemDragStart.emit({\n elem: this.el,\n dragEvent: event\n });\n };\n #handleDragEnd = () => {\n // event.preventDefault();\n // this.el.style.cursor = null;\n this.dragState = \"none\";\n this.itemDragEnd.emit();\n };\n componentWillLoad() {\n // Check if must lazy load\n this.#lazyLoadItems(this.expanded);\n }\n componentDidLoad() {\n if (this.lastItem && this.showLines) {\n this.#setResizeObserver();\n }\n }\n disconnectedCallback() {\n // If it was disconnected on edit mode, remove the body event handler\n if (this.editing) {\n this.#removeEditMode(false);\n }\n this.#disconnectObserver();\n }\n render() {\n const evenLevel = this.level % 2 === 0;\n const hasContent = !this.leaf && !this.lazyLoad;\n const canShowLines = this.level !== INITIAL_LEVEL;\n const showAllLines = this.showLines === \"all\" && canShowLines;\n const showLastLine = this.showLines === \"last\" && canShowLines && this.lastItem;\n const levelPart = getTreeItemLevelPart(evenLevel);\n const pseudoStartImage = isPseudoElementImg(this.startImgSrc, this.startImgType);\n const pseudoEndImage = isPseudoElementImg(this.endImgSrc, this.endImgType);\n return (h(Host, { role: \"treeitem\", \"aria-level\": this.level + 1, \"aria-selected\": this.selected ? \"true\" : null, class: {\n [DOWNLOADING_CLASS]: this.downloading,\n [EDITING_CLASS]: this.editing,\n [NOT_EDITING_CLASS]: !this.editing,\n [DRAG_ENTER_CLASS]: this.dragState === \"enter\",\n [DENY_DROP_CLASS]: this.leaf\n }, style: { \"--level\": `${this.level}` } }, h(\"button\", { \"aria-controls\": hasContent ? EXPANDABLE_ID : null, \"aria-expanded\": hasContent ? this.expanded.toString() : null, class: {\n header: true,\n \"header--selected\": this.selected,\n \"header--disabled\": this.disabled,\n \"expandable-button-decorative\": !this.leaf && this.expandableButton === \"decorative\",\n \"expandable-button-decorative--collapsed\": !this.leaf &&\n this.expandableButton === \"decorative\" &&\n !this.expanded\n }, part: tokenMap({\n header: true,\n disabled: this.disabled,\n selected: this.selected,\n [levelPart]: canShowLines,\n \"expand-button\": canShowLines && !this.leaf && this.expandableButton !== \"no\"\n }), type: \"button\", disabled: this.disabled, onClick: this.#handleActionClick, onKeyDown: !this.editing ? this.#handleActionKeyDown : null,\n // Drag and drop\n draggable: !this.dragDisabled, onDragStart: this.#handleDragStart, onDragEnd: !this.dragDisabled ? this.#handleDragEnd : null, ref: el => (this.#headerRef = el) }, !this.leaf && this.expandableButton === \"action\" && (h(\"button\", { type: \"button\", class: {\n \"expandable-button\": true,\n \"expandable-button--expanded\": this.expanded,\n \"expandable-button--collapsed\": !this.expanded\n }, part: `expandable-button${this.disabled ? \" disabled\" : \"\"}${this.expanded ? \" expanded\" : \" collapsed\"}`, disabled: this.disabled, onClick: this.#toggleExpand })), this.checkbox && (h(\"ch-checkbox\", { accessibleName: this.caption, class: \"checkbox\", exportparts: CHECKBOX_EXPORT_PARTS, part: `checkbox${this.disabled ? \" disabled\" : \"\"}${this.checked ? \" checked\" : \"\"}${this.indeterminate ? \" indeterminate\" : \"\"}`, checkedValue: \"true\", disabled: this.disabled, indeterminate: this.indeterminate, unCheckedValue: \"false\", value: `${this.checked}`, onInput: this.#handleCheckedChange })), this.customRender ? (h(\"slot\", { name: \"custom-content\" })) : ([\n h(\"div\", { class: {\n action: true,\n \"action--end-img\": !!this.endImgSrc,\n [`start-img-type--${this.startImgType} pseudo-img--start`]: pseudoStartImage,\n [`end-img-type--${this.endImgType} pseudo-img--end`]: pseudoEndImage,\n \"readonly-mode\": !this.editing\n }, part: `action${!this.editing ? \" readonly-mode\" : \"\"}${!this.leaf && this.expanded ? \" expanded\" : \"\"}`, style: {\n \"--ch-start-img\": pseudoStartImage\n ? `url(\"${this.startImgSrc}\")`\n : null,\n \"--ch-end-img\": pseudoEndImage\n ? `url(\"${this.endImgSrc}\")`\n : null\n }, onDblClick: !this.editing ? this.#handleActionDblClick : null }, this.#renderImg(\"img start-img\", this.startImgSrc, this.startImgType), this.editable && this.editing ? (h(\"input\", { class: \"edit-name\", part: \"edit-name\", disabled: this.disabled, type: \"text\", value: this.caption, onBlur: this.#removeEditMode(false), onKeyDown: this.#checkIfShouldRemoveEditMode, ref: el => (this.#inputRef = el) })) : (this.caption), this.#renderImg(\"img end-img\", this.endImgSrc, this.endImgType)),\n this.showDownloadingSpinner && !this.leaf && this.downloading && (h(\"div\", { class: \"downloading\", part: \"downloading\" }))\n ]), (showAllLines || showLastLine) && (h(\"div\", { class: {\n \"dashed-line\": true,\n \"last-all-line\": showAllLines && this.lastItem,\n \"last-line\": showLastLine\n }, 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: {\n expandable: true,\n \"expandable--collapsed\": !this.expanded,\n \"expandable--lazy-loaded\": !this.downloading,\n \"expandable--even\": canShowLines && evenLevel,\n \"expandable--odd\": canShowLines && !evenLevel\n }, part: tokenMap({\n [EXPANDABLE_ID]: true,\n [this.expanded ? \"expanded\" : \"collapsed\"]: true,\n \"lazy-loaded\": !this.downloading,\n [levelPart]: canShowLines\n }) }, h(\"slot\", null)))));\n }\n static get is() { return \"ch-tree-view-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view-item.css\"]\n };\n }\n static get properties() {\n return {\n \"caption\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attributes specifies the caption of the control\"\n },\n \"attribute\": \"caption\",\n \"reflect\": false\n },\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in the control.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked by default.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"customRender\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to set a custom render for the control, by\\npassing a slot.\"\n },\n \"attribute\": \"custom-render\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the element is disabled.\\nIf disabled, it will not fire any user interaction related event\\n(for example, click event).\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in the\\ncontrol. If `true`, the control can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in the\\ncontrol. If `true`, the control won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dragState\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"DragState\",\n \"resolved\": \"\\\"enter\\\" | \\\"none\\\" | \\\"start\\\"\",\n \"references\": {\n \"DragState\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/tree-view/tree-view-item/tree-view-item.tsx\",\n \"id\": \"src/components/tree-view/tree-view-item/tree-view-item.tsx::DragState\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the current state of the item when it's\\nbeing dragged.\"\n },\n \"attribute\": \"drag-state\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"downloading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify when items are being lazy loaded in the\\ncontrol.\"\n },\n \"attribute\": \"downloading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"editable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in the\\ncontrol. If `true`, the control can edit its caption in place.\"\n },\n \"attribute\": \"editable\",\n \"reflect\": false\n },\n \"editing\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute when the item is in edit mode\"\n },\n \"attribute\": \"editing\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"endImgSrc\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the src of the end image.\"\n },\n \"attribute\": \"end-img-src\",\n \"reflect\": false\n },\n \"endImgType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ImageRender\",\n \"resolved\": \"\\\"background\\\" | \\\"img\\\" | \\\"mask\\\"\",\n \"references\": {\n \"ImageRender\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::ImageRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies how the end image will be rendered.\"\n },\n \"attribute\": \"end-img-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"background\\\"\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed.\\nOnly works if `leaf === false`.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to expand the control on click interaction. If `false`, with mouse\\ninteraction the control will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If the item has a sub-tree, this attribute determines if the subtree is\\ndisplayed.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"lastItem\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies if the control is the last items in its subtree\"\n },\n \"attribute\": \"last-item\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"lazyLoad\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determine if the items are lazy loaded when opening the first time the\\ncontrol.\"\n },\n \"attribute\": \"lazy-load\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"leaf\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute determine whether the item contains a\\nsubtree. `true` if the item does not have a subtree.\"\n },\n \"attribute\": \"leaf\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"level\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Level in the tree at which the item is placed.\"\n },\n \"attribute\": \"level\",\n \"reflect\": false,\n \"defaultValue\": \"INITIAL_LEVEL\"\n },\n \"indeterminate\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` if the checkbox's value is indeterminate.\"\n },\n \"attribute\": \"indeterminate\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"metadata\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute represents additional info for the control that is included\\nwhen dragging the item.\"\n },\n \"attribute\": \"metadata\",\n \"reflect\": false\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the item is selected\"\n },\n \"attribute\": \"selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"showDownloadingSpinner\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to show the downloading spinner when lazy loading the sub items of\\nthe control.\"\n },\n \"attribute\": \"show-downloading-spinner\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewLines\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"startImgSrc\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the src of the start image.\"\n },\n \"attribute\": \"start-img-src\",\n \"reflect\": false\n },\n \"startImgType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ImageRender\",\n \"resolved\": \"\\\"background\\\" | \\\"img\\\" | \\\"mask\\\"\",\n \"references\": {\n \"ImageRender\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::ImageRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies how the start image will be rendered.\"\n },\n \"attribute\": \"start-img-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"background\\\"\"\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkboxChange\",\n \"name\": \"checkboxChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checkbox value of the control is changed.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemCheckedInfo\",\n \"resolved\": \"{ id: string; checked: boolean; indeterminate: boolean; }\",\n \"references\": {\n \"TreeViewItemCheckedInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemCheckedInfo\"\n }\n }\n }\n }, {\n \"method\": \"checkboxToggleChange\",\n \"name\": \"checkboxToggleChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checkbox value of the control is changed. This event only\\napplies when the control has `toggleCheckboxes = true`\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemCheckedInfo\",\n \"resolved\": \"{ id: string; checked: boolean; indeterminate: boolean; }\",\n \"references\": {\n \"TreeViewItemCheckedInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemCheckedInfo\"\n }\n }\n }\n }, {\n \"method\": \"itemDragStart\",\n \"name\": \"itemDragStart\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is being dragged.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemDragStartInfo\",\n \"resolved\": \"{ elem: HTMLChTreeViewItemElement; dragEvent: DragEvent; }\",\n \"references\": {\n \"TreeViewItemDragStartInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemDragStartInfo\"\n }\n }\n }\n }, {\n \"method\": \"itemDragEnd\",\n \"name\": \"itemDragEnd\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is no longer being dragged.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"loadLazyContent\",\n \"name\": \"loadLazyContent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the lazy control is expanded an its content must be loaded.\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }, {\n \"method\": \"modifyCaption\",\n \"name\": \"modifyCaption\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is asking to modify its caption.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemNewCaption\",\n \"resolved\": \"{ id: string; caption: string; }\",\n \"references\": {\n \"TreeViewItemNewCaption\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemNewCaption\"\n }\n }\n }\n }, {\n \"method\": \"openReference\",\n \"name\": \"openReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with the control in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemOpenReferenceInfo\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemChange\",\n \"name\": \"selectedItemChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected state is updated by user interaction on the\\ncontrol.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemSelected\",\n \"resolved\": \"{ ctrlKeyPressed: boolean; expanded: boolean; id: string; metadata: string; parentId: string; selected: boolean; }\",\n \"references\": {\n \"TreeViewItemSelected\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemSelected\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"focusNextItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the next item in the tree. If the control is expanded, it focuses\\nthe first subitem in its tree.\",\n \"tags\": []\n }\n },\n \"focusNextSibling\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the next sibling item in the tree.\",\n \"tags\": []\n }\n },\n \"focusPreviousItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the previous item in the tree. If the previous item is expanded, it focuses\\nthe last subitem in its tree.\",\n \"tags\": []\n }\n },\n \"focusLastItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the last item in its subtree. If the control is not expanded, it\\nfocus the control.\",\n \"tags\": []\n }\n },\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Set focus in the control.\",\n \"tags\": []\n }\n },\n \"updateChecked\": {\n \"complexType\": {\n \"signature\": \"(newChecked: boolean, newIndeterminate: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"newChecked\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"newIndeterminate\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update `checked` and `indeterminate` properties.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"checked\",\n \"methodName\": \"updateChildrenCheckedValue\"\n }, {\n \"propName\": \"editing\",\n \"methodName\": \"editingChanged\"\n }, {\n \"propName\": \"expanded\",\n \"methodName\": \"expandedChanged\"\n }, {\n \"propName\": \"lastItem\",\n \"methodName\": \"lastItemChanged\"\n }, {\n \"propName\": \"showLines\",\n \"methodName\": \"showLinesChanged\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"checkboxChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tree-view-item.js.map\n"],"version":3}
|
|
1
|
+
{"file":"tree-view-item.js","mappings":"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","names":[],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css?tag=ch-tree-view-item&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.js"],"sourcesContent":["*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:where(button) {\n all: unset;\n display: flex;\n user-select: none;\n touch-action: manipulation;\n -webkit-user-drag: element;\n}\n\n:host {\n display: grid;\n grid-template-rows: min-content;\n}\n\n.header {\n display: flex;\n gap: var(--ch-tree-view-item-gap);\n align-items: center;\n min-block-size: calc(1em + 6px);\n}\n.header--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.dashed-line {\n --inset-inline-start: calc(var(--ch-tree-tab-size) * (var(--level) - 1) - var(--parent-offset, 0px) + var(--ch-tree-view-item-custom-padding-inline-start) + var(--ch-tree-view-item__expandable-button-size) * 0.5 + var(--ch-tree-view-item__dashed-line--inset-inline-start));\n position: absolute;\n inset-inline-start: var(--inset-inline-start);\n inline-size: calc(var(--ch-tree-view-item-indentation) - var(--inset-inline-start) - var(--ch-tree-view-item__dashed-line--inset-inline-end));\n block-size: 1px;\n border: 0 dashed color-mix(in srgb, currentColor 65%, transparent);\n border-block-end-width: 1px;\n pointer-events: none;\n content-visibility: hidden;\n z-index: 1;\n}\n\n.last-all-line {\n inset-block-start: 0;\n height: calc(100% - var(--ch-tree-view-item-distance-to-checkbox));\n border-inline-start-width: 1px;\n border-end-start-radius: 2px;\n}\n\n.last-line {\n inset-block-start: 0;\n height: 100%;\n border-inline-start-width: 1px;\n border-style: solid;\n border-block-end: unset;\n}\n\n.expandable-button,\n.expandable-button-decorative::before {\n display: grid;\n place-items: center;\n inline-size: var(--ch-tree-view-item__expandable-button-size);\n block-size: var(--ch-tree-view-item__expandable-button-size);\n z-index: 1;\n cursor: pointer;\n}\n\n.expandable-button-decorative::before {\n content: \"\";\n background-color: currentColor;\n -webkit-mask: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M16.5 5L8.7 12.7L1 5\" stroke=\"%23000\" stroke-width=\"1.2\" stroke-linecap=\"round\"/></svg>') 50% 50%/calc(100% - 4px) calc(100% - 4px) no-repeat;\n cursor: unset;\n}\n.expandable-button-decorative--collapsed::before {\n transform: rotate(-90deg);\n}\n.expandable-button::before {\n content: \"\";\n inline-size: calc(100% - 4px);\n block-size: calc(100% - 4px);\n background-color: currentColor;\n -webkit-mask-size: calc(var(--ch-tree-view-item__expandable-button-size) - 4px);\n}\n.expandable-button--collapsed::before {\n -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>');\n}\n.expandable-button--expanded::before {\n -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>');\n}\n.expandable-button:focus-visible {\n outline: 1px solid currentColor;\n}\n\n.checkbox {\n inline-size: var(--ch-tree-view-item__checkbox-size);\n}\n.checkbox::part(container) {\n inline-size: var(--ch-tree-view-item__checkbox-size);\n block-size: var(--ch-tree-view-item__checkbox-size);\n}\n\n.action {\n display: grid;\n grid-template: \"start-img text\"/max-content 1fr;\n gap: var(--ch-tree-view-item-gap);\n align-items: center;\n block-size: 100%;\n flex: 1;\n cursor: pointer;\n}\n.action--end-img {\n grid-template: \"start-img text end-img\"/max-content 1fr max-content;\n}\n\n.readonly-mode {\n padding-block: 0.75px;\n}\n\n.edit-name {\n grid-area: text;\n inline-size: 100%;\n block-size: 100%;\n padding: 0;\n margin: 0;\n background-color: unset;\n border: unset;\n color: unset;\n font: unset;\n outline: unset;\n}\n\n.pseudo-img--start::before,\n.pseudo-img--end::after,\n.img {\n display: block;\n inline-size: var(--ch-tree-view-item__image-size);\n block-size: var(--ch-tree-view-item__image-size);\n content-visibility: auto;\n contain-intrinsic-size: auto var(--ch-tree-view-item__image-size);\n}\n\n.pseudo-img--start::before,\n.start-img {\n content: \"\";\n grid-area: start-img;\n}\n\n.pseudo-img--end::after,\n.end-img {\n content: \"\";\n grid-area: end-img;\n}\n\n.start-img-type--background::before {\n background: no-repeat center/100% var(--ch-start-img);\n}\n\n.end-img-type--background::after {\n background: no-repeat center/100% var(--ch-end-img);\n}\n\n.start-img-type--mask::before {\n -webkit-mask: var(--ch-start-img) 50% 50%/100% 100% no-repeat;\n background-color: currentColor;\n}\n\n.end-img-type--mask::after {\n -webkit-mask: var(--ch-end-img) 50% 50%/100% 100% no-repeat;\n background-color: currentColor;\n}\n\n.downloading {\n inline-size: 0.75em;\n block-size: 0.75em;\n margin-inline: 8px 2px;\n border: 2px solid currentColor;\n border-inline-start-color: transparent;\n border-radius: 50%;\n opacity: 0.75;\n animation: spin 1s linear infinite, avoid-flickering 75ms;\n}\n\n@keyframes avoid-flickering {\n 0%, 100% {\n display: none;\n }\n}\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.expandable {\n display: grid;\n grid-auto-rows: min-content;\n position: relative;\n}\n.expandable--lazy-loaded {\n content-visibility: auto;\n contain-intrinsic-size: auto 100px;\n}\n\n.expandable--collapsed {\n display: none;\n overflow: hidden;\n}","import { Host, h, writeTask } from \"@stencil/core\";\nimport { mouseEventModifierKey } from \"../../common/helpers\";\nimport { isPseudoElementImg, removeDragImage, tokenMap } from \"../../../common/utils\";\nimport { INITIAL_LEVEL, getTreeItemLevelPart } from \"../../renders/tree-view/utils\";\nconst DISTANCE_TO_CHECKBOX_CUSTOM_VAR = \"--ch-tree-view-item-distance-to-checkbox\";\n// Selectors\nconst TREE_ITEM_TAG_NAME = \"ch-tree-view-item\";\nconst DIRECT_TREE_ITEM_CHILDREN = `:scope>${TREE_ITEM_TAG_NAME}`;\nconst FIRST_ENABLED_SUB_ITEM = `${TREE_ITEM_TAG_NAME}:not([disabled])`;\nconst LAST_SUB_ITEM = `:scope>${TREE_ITEM_TAG_NAME}:last-child`;\n// Custom classes\nconst DOWNLOADING_CLASS = TREE_ITEM_TAG_NAME + \"--downloading\";\nconst EDITING_CLASS = TREE_ITEM_TAG_NAME + \"--editing\";\nconst NOT_EDITING_CLASS = TREE_ITEM_TAG_NAME + \"--not-editing\";\nconst DRAG_ENTER_CLASS = TREE_ITEM_TAG_NAME + \"--drag-enter\";\nconst DENY_DROP_CLASS = TREE_ITEM_TAG_NAME + \"--deny-drop\";\n// Keys\nconst EXPANDABLE_ID = \"expandable\";\nconst ENTER_KEY = \"Enter\";\nconst ESCAPE_KEY = \"Escape\";\n// Export Parts\nconst getCheckboxExportPart = (part) => `${part}:checkbox__${part}`;\nconst CHECKBOX_EXPORT_PARTS = [\n \"container\",\n \"input\",\n \"option\",\n \"checked\",\n \"indeterminate\"\n]\n .map(getCheckboxExportPart)\n .join(\",\");\nexport class ChTreeViewItem {\n constructor() {\n this.caption = undefined;\n this.checkbox = false;\n this.checked = false;\n this.customRender = false;\n this.disabled = false;\n this.dragDisabled = false;\n this.dropDisabled = false;\n this.dragState = \"none\";\n this.downloading = false;\n this.editable = undefined;\n this.editing = false;\n this.endImgSrc = undefined;\n this.endImgType = \"background\";\n this.expandableButton = \"decorative\";\n this.expandOnClick = true;\n this.expanded = false;\n this.lastItem = false;\n this.lazyLoad = false;\n this.leaf = false;\n this.level = INITIAL_LEVEL;\n this.indeterminate = false;\n this.metadata = undefined;\n this.selected = false;\n this.showDownloadingSpinner = true;\n this.showLines = \"none\";\n this.startImgSrc = undefined;\n this.startImgType = \"background\";\n this.toggleCheckboxes = false;\n }\n #watcher;\n /**\n * Useful to ignore the checkbox change when it was committed from a children.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #ignoreCheckboxChange = false;\n // Refs\n #headerRef;\n #inputRef;\n el;\n updateChildrenCheckedValue(newValue) {\n if (!this.toggleCheckboxes || this.leaf || this.#ignoreCheckboxChange) {\n this.#ignoreCheckboxChange = false;\n return;\n }\n const treeItems = this.#getDirectTreeItems();\n treeItems.forEach(treeItem => {\n if (treeItem.checked !== newValue || treeItem.indeterminate !== false) {\n treeItem.updateChecked(newValue, false);\n }\n });\n }\n editingChanged(isEditing) {\n if (!isEditing) {\n return;\n }\n document.addEventListener(\"click\", this.#removeEditModeOnClick, {\n capture: true\n });\n // Wait until the input is rendered to focus it\n writeTask(() => {\n requestAnimationFrame(() => {\n if (this.#inputRef) {\n this.#inputRef.focus();\n }\n });\n });\n }\n expandedChanged(isExpanded) {\n // Wait until all properties are updated before lazy loading. Otherwise, the\n // lazyLoad property could be updated just after the executing of the function\n setTimeout(() => {\n this.#lazyLoadItems(isExpanded);\n });\n }\n lastItemChanged(isLastItem) {\n if (isLastItem && this.showLines) {\n // Use RAF to set the observer after the render method has completed\n requestAnimationFrame(() => {\n this.#setResizeObserver();\n });\n }\n else {\n this.#disconnectObserver();\n }\n }\n showLinesChanged(newShowLines) {\n if (newShowLines && this.lastItem) {\n this.#setResizeObserver();\n }\n else {\n this.#disconnectObserver();\n }\n }\n /**\n * Fired when the checkbox value of the control is changed.\n */\n checkboxChange;\n /**\n * Fired when the checkbox value of the control is changed. This event only\n * applies when the control has `toggleCheckboxes = true`\n */\n checkboxToggleChange;\n /**\n * Fired when the item is being dragged.\n */\n itemDragStart;\n /**\n * Fired when the item is no longer being dragged.\n */\n itemDragEnd;\n /**\n * Fired when the lazy control is expanded an its content must be loaded.\n */\n loadLazyContent;\n /**\n * Fired when the item is asking to modify its caption.\n */\n modifyCaption;\n /**\n * Fired when the user interacts with the control in a way that its reference\n * must be opened.\n */\n openReference;\n /**\n * Fired when the selected state is updated by user interaction on the\n * control.\n */\n selectedItemChange;\n updateCheckboxValue(event) {\n // No need to update the checkbox value based on the children checkbox\n if (!this.toggleCheckboxes || this.el === event.target) {\n return;\n }\n const updatedCheck = event.detail.checked;\n const treeItems = this.#getDirectTreeItems();\n // Check if all the items have the same value as the updated item\n const allItemsHaveTheSameCheckedValue = treeItems.every(treeItem => treeItem.checked === updatedCheck);\n const eventMustBeEmitted = this.checked !== updatedCheck ||\n this.indeterminate !== !allItemsHaveTheSameCheckedValue;\n this.#ignoreCheckboxChange = this.checked !== updatedCheck;\n this.checked = updatedCheck;\n this.indeterminate = !allItemsHaveTheSameCheckedValue;\n // Sync with the UI Model\n if (eventMustBeEmitted) {\n this.checkboxToggleChange.emit({\n id: this.el.id,\n checked: updatedCheck,\n indeterminate: !allItemsHaveTheSameCheckedValue\n });\n }\n }\n /**\n * Focus the next item in the tree. If the control is expanded, it focuses\n * the first subitem in its tree.\n */\n async focusNextItem(ctrlKeyPressed) {\n // Focus the first subitem if expanded\n if (!this.leaf && this.expanded) {\n const subItem = this.el.querySelector(FIRST_ENABLED_SUB_ITEM);\n // The tree item could be empty or downloading subitem, so it is uncertain\n // if the query won't fail\n if (subItem) {\n subItem.setFocus(ctrlKeyPressed);\n return;\n }\n }\n // Otherwise, focus the next sibling\n this.focusNextSibling(ctrlKeyPressed);\n }\n /**\n * Focus the next sibling item in the tree.\n */\n async focusNextSibling(ctrlKeyPressed) {\n const nextSiblingItem = this.el\n .nextElementSibling;\n // Focus the next sibling, if exists\n if (nextSiblingItem) {\n // If the next sibling is disabled, ask for its next sibling\n if (nextSiblingItem.disabled) {\n nextSiblingItem.focusNextItem(ctrlKeyPressed);\n }\n else {\n nextSiblingItem.setFocus(ctrlKeyPressed);\n }\n return;\n }\n // The item is the last one of the tree at the first level\n if (this.level === INITIAL_LEVEL) {\n return;\n }\n // Otherwise, ask the parent to focus the next sibling\n const parentItem = this.el.parentElement;\n parentItem.focusNextSibling(ctrlKeyPressed);\n }\n /**\n * Focus the previous item in the tree. If the previous item is expanded, it focuses\n * the last subitem in its tree.\n */\n async focusPreviousItem(ctrlKeyPressed) {\n const previousSiblingItem = this.el\n .previousElementSibling;\n // Focus last item of the previous sibling\n if (previousSiblingItem) {\n previousSiblingItem.focusLastItem(ctrlKeyPressed);\n return;\n }\n // The item is the first one of the tree at the first level\n if (this.level === INITIAL_LEVEL) {\n return;\n }\n // Otherwise, set focus in the parent element\n const parentItem = this.el.parentElement;\n // Check if the parent is not disabled\n if (parentItem.disabled) {\n parentItem.focusPreviousItem(ctrlKeyPressed);\n return;\n }\n parentItem.setFocus(ctrlKeyPressed);\n }\n /**\n * Focus the last item in its subtree. If the control is not expanded, it\n * focus the control.\n */\n async focusLastItem(ctrlKeyPressed) {\n // Focus the last subitem if expanded and not lazy loading\n if (!this.leaf && this.expanded) {\n const lastSubItem = this.el.querySelector(LAST_SUB_ITEM);\n // The tree item could be empty or downloading subitem, so it is uncertain\n // if the query won't fail\n if (lastSubItem) {\n lastSubItem.focusLastItem(ctrlKeyPressed);\n return;\n }\n }\n // If the last item is disabled, try to focus the previous sibling\n if (this.disabled) {\n this.focusPreviousItem(ctrlKeyPressed);\n return;\n }\n // Otherwise, it focuses the control\n this.setFocus(ctrlKeyPressed);\n }\n /**\n * Set focus in the control.\n */\n async setFocus(ctrlKeyPressed) {\n this.#headerRef.focus();\n // Normal navigation auto selects the item.\n if (!ctrlKeyPressed) {\n this.#setSelected();\n }\n }\n /**\n * Update `checked` and `indeterminate` properties.\n */\n async updateChecked(newChecked, newIndeterminate) {\n this.checked = newChecked;\n this.indeterminate = newIndeterminate;\n // Emit the event to sync with the UI model, even if the item does not\n // have toggleCheckboxes property\n this.checkboxToggleChange.emit({\n id: this.el.id,\n checked: newChecked,\n indeterminate: newIndeterminate\n });\n }\n #getDirectTreeItems = () => Array.from(this.el.querySelectorAll(DIRECT_TREE_ITEM_CHILDREN));\n #setResizeObserver = () => {\n this.#watcher = new ResizeObserver(() => {\n const distanceToCheckbox = this.el.getBoundingClientRect().height -\n this.#headerRef.getBoundingClientRect().height / 2;\n this.el.style.setProperty(DISTANCE_TO_CHECKBOX_CUSTOM_VAR, distanceToCheckbox + \"px\");\n });\n this.#watcher.observe(this.el);\n this.#watcher.observe(this.#headerRef);\n };\n #disconnectObserver = () => {\n if (!this.#watcher) {\n return;\n }\n this.#watcher.disconnect();\n this.#watcher = null;\n };\n #checkIfShouldRemoveEditMode = (event) => {\n event.stopPropagation();\n if (event.code !== ENTER_KEY && event.code !== ESCAPE_KEY) {\n return;\n }\n event.preventDefault();\n const commitEdition = event.code === ENTER_KEY;\n this.#removeEditMode(true, commitEdition)();\n };\n #removeEditModeOnClick = (event) => {\n // The click is executed outside the input and the pointer type is defined,\n // meaning that the button click was not triggered by the Enter or Space keys\n if (!event.composedPath().includes(this.#inputRef) && event.pointerType) {\n this.#removeEditMode(false)();\n }\n };\n #removeEditMode = (shouldFocusHeader, commitEdition = false) => () => {\n // When pressing the enter key in the input, the removeEditMode event is\n // triggered twice (due to the headerRef.focus() triggering the onBlur\n // event in the input), so we need to check if the edit mode was disabled\n if (!this.editing) {\n return;\n }\n this.editing = false;\n document.removeEventListener(\"click\", this.#removeEditModeOnClick, {\n capture: true\n });\n const newCaption = this.#inputRef.value;\n if (commitEdition && newCaption.trim() !== \"\") {\n this.modifyCaption.emit({\n id: this.el.id,\n caption: newCaption\n });\n }\n if (shouldFocusHeader) {\n this.#headerRef.focus();\n }\n };\n #toggleExpand = (event) => {\n event.stopPropagation();\n if (!this.leaf) {\n this.expanded = !this.expanded;\n }\n this.selected = true;\n this.selectedItemChange.emit(this.#getSelectedInfo(mouseEventModifierKey(event), true));\n };\n #lazyLoadItems = (expanded) => {\n if (!this.lazyLoad || !expanded) {\n return;\n }\n // Load items\n this.lazyLoad = false;\n this.downloading = true;\n this.loadLazyContent.emit(this.el.id);\n };\n #toggleSelected = () => {\n const selected = !this.selected;\n this.selected = selected;\n this.selectedItemChange.emit(this.#getSelectedInfo(true, selected));\n };\n #setSelected = () => {\n this.selected = true;\n this.selectedItemChange.emit(this.#getSelectedInfo(false, true));\n };\n #toggleOrSelect = (event) => {\n // Ctrl key\n if (mouseEventModifierKey(event)) {\n this.#toggleSelected();\n return;\n }\n // Double click was triggered, don't update the selection or expand\n if (event.detail >= 2) {\n return;\n }\n // Expand on click interaction\n if (this.expandOnClick) {\n this.#toggleExpand(event);\n }\n // Click only selects the item\n else {\n this.#setSelected();\n }\n };\n #getSelectedInfo = (ctrlKeyPressed, selected) => ({\n ctrlKeyPressed: ctrlKeyPressed,\n expanded: this.expanded,\n id: this.el.id,\n metadata: this.metadata,\n parentId: this.el.parentElement?.id,\n selected: selected\n });\n #handleActionDblClick = (event) => {\n event.stopPropagation();\n if (mouseEventModifierKey(event)) {\n this.#toggleSelected();\n return;\n }\n this.#emitOpenReference();\n // The Control key is not pressed, so the control can be expanded if double\n // click expands the item\n if (!this.leaf && !this.expandOnClick) {\n this.#toggleExpand(event);\n }\n };\n /**\n * Event triggered by the following actions on the main button:\n * - Click\n * - Enter keydown\n * - Space keydown and keyup\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #handleActionClick = (event) => {\n event.stopPropagation();\n // Don't perform actions when editing\n if (this.editing) {\n return;\n }\n event.preventDefault();\n // Click event\n if (event.pointerType) {\n this.#toggleOrSelect(event);\n return;\n }\n // The action was provoked by the keyboard, emit openReference event\n this.#emitOpenReference();\n // Enter or space\n this.#toggleExpand(event);\n };\n /**\n * Event triggered by key events on the main button.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #handleActionKeyDown = (event) => {\n // Only toggle if the Enter key was pressed with the Ctrl key\n if (mouseEventModifierKey(event) && event.code === ENTER_KEY) {\n event.stopPropagation();\n this.#toggleSelected();\n }\n };\n #emitOpenReference = () => {\n this.openReference.emit({\n id: this.el.id,\n leaf: this.leaf,\n metadata: this.metadata\n });\n };\n #handleCheckedChange = (event) => {\n event.stopPropagation();\n const checked = event.target.checked;\n this.checked = checked;\n this.indeterminate = false; // Changing the checked value makes it no longer indeterminate\n this.checkboxChange.emit({\n id: this.el.id,\n checked: this.checked,\n indeterminate: false\n });\n };\n #renderImg = (cssClass, src, imageType) => imageType === \"img\" &&\n src && (h(\"img\", { \"aria-hidden\": \"true\", class: cssClass, part: cssClass, alt: \"\", src: src, loading: \"lazy\" }));\n #handleDragStart = (event) => {\n // Disallow drag when editing the caption\n if (this.editing) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n removeDragImage(event);\n event.dataTransfer.effectAllowed = \"move\";\n this.dragState = \"start\";\n this.itemDragStart.emit({\n elem: this.el,\n dragEvent: event\n });\n };\n #handleDragEnd = () => {\n // event.preventDefault();\n // this.el.style.cursor = null;\n this.dragState = \"none\";\n this.itemDragEnd.emit();\n };\n componentWillLoad() {\n // Check if must lazy load\n this.#lazyLoadItems(this.expanded);\n }\n componentDidLoad() {\n if (this.lastItem && this.showLines) {\n this.#setResizeObserver();\n }\n }\n disconnectedCallback() {\n // If it was disconnected on edit mode, remove the body event handler\n if (this.editing) {\n this.#removeEditMode(false);\n }\n this.#disconnectObserver();\n }\n render() {\n const evenLevel = this.level % 2 === 0;\n const hasContent = !this.leaf && !this.lazyLoad;\n const canShowLines = this.level !== INITIAL_LEVEL;\n const showAllLines = this.showLines === \"all\" && canShowLines;\n const showLastLine = this.showLines === \"last\" && canShowLines && this.lastItem;\n const levelPart = getTreeItemLevelPart(evenLevel);\n const pseudoStartImage = isPseudoElementImg(this.startImgSrc, this.startImgType);\n const pseudoEndImage = isPseudoElementImg(this.endImgSrc, this.endImgType);\n return (h(Host, { role: \"treeitem\", \"aria-level\": this.level + 1, \"aria-selected\": this.selected ? \"true\" : null, class: {\n [DOWNLOADING_CLASS]: this.downloading,\n [EDITING_CLASS]: this.editing,\n [NOT_EDITING_CLASS]: !this.editing,\n [DRAG_ENTER_CLASS]: this.dragState === \"enter\",\n [DENY_DROP_CLASS]: this.leaf\n }, style: { \"--level\": `${this.level}` } }, h(\"button\", { \"aria-controls\": hasContent ? EXPANDABLE_ID : null, \"aria-expanded\": hasContent ? this.expanded.toString() : null, class: {\n header: true,\n \"header--selected\": this.selected,\n \"header--disabled\": this.disabled,\n \"expandable-button-decorative\": !this.leaf && this.expandableButton === \"decorative\",\n \"expandable-button-decorative--collapsed\": !this.leaf &&\n this.expandableButton === \"decorative\" &&\n !this.expanded\n }, part: tokenMap({\n header: true,\n disabled: this.disabled,\n selected: this.selected,\n [levelPart]: canShowLines,\n \"expand-button\": canShowLines && !this.leaf && this.expandableButton !== \"no\"\n }), type: \"button\", disabled: this.disabled, onClick: this.#handleActionClick, onKeyDown: !this.editing ? this.#handleActionKeyDown : null,\n // Drag and drop\n draggable: !this.dragDisabled, onDragStart: this.#handleDragStart, onDragEnd: !this.dragDisabled ? this.#handleDragEnd : null, ref: el => (this.#headerRef = el) }, !this.leaf && this.expandableButton === \"action\" && (h(\"button\", { type: \"button\", class: {\n \"expandable-button\": true,\n \"expandable-button--expanded\": this.expanded,\n \"expandable-button--collapsed\": !this.expanded\n }, part: `expandable-button${this.disabled ? \" disabled\" : \"\"}${this.expanded ? \" expanded\" : \" collapsed\"}`, disabled: this.disabled, onClick: this.#toggleExpand })), this.checkbox && (h(\"ch-checkbox\", { accessibleName: this.caption, class: \"checkbox\", exportparts: CHECKBOX_EXPORT_PARTS, part: `checkbox${this.disabled ? \" disabled\" : \"\"}${this.checked ? \" checked\" : \"\"}${this.indeterminate ? \" indeterminate\" : \"\"}`, checkedValue: \"true\", disabled: this.disabled, indeterminate: this.indeterminate, unCheckedValue: \"false\", value: `${this.checked}`, onInput: this.#handleCheckedChange })), this.customRender ? (h(\"slot\", { name: \"custom-content\" })) : ([\n h(\"div\", { class: {\n action: true,\n \"action--end-img\": !!this.endImgSrc,\n [`start-img-type--${this.startImgType} pseudo-img--start`]: pseudoStartImage,\n [`end-img-type--${this.endImgType} pseudo-img--end`]: pseudoEndImage,\n \"readonly-mode\": !this.editing\n }, part: `action${!this.editing ? \" readonly-mode\" : \"\"}${!this.leaf && this.expanded ? \" expanded\" : \"\"}`, style: {\n \"--ch-start-img\": pseudoStartImage\n ? `url(\"${this.startImgSrc}\")`\n : null,\n \"--ch-end-img\": pseudoEndImage\n ? `url(\"${this.endImgSrc}\")`\n : null\n }, onDblClick: !this.editing ? this.#handleActionDblClick : null }, this.#renderImg(\"img start-img\", this.startImgSrc, this.startImgType), this.editable && this.editing ? (h(\"input\", { class: \"edit-name\", part: \"edit-name\", disabled: this.disabled, type: \"text\", value: this.caption, onBlur: this.#removeEditMode(false), onKeyDown: this.#checkIfShouldRemoveEditMode, ref: el => (this.#inputRef = el) })) : (this.caption), this.#renderImg(\"img end-img\", this.endImgSrc, this.endImgType)),\n this.showDownloadingSpinner && !this.leaf && this.downloading && (h(\"div\", { class: \"downloading\", part: \"downloading\" }))\n ]), (showAllLines || showLastLine) && (h(\"div\", { class: {\n \"dashed-line\": true,\n \"last-all-line\": showAllLines && this.lastItem,\n \"last-line\": showLastLine\n }, 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: {\n expandable: true,\n \"expandable--collapsed\": !this.expanded,\n \"expandable--lazy-loaded\": !this.downloading,\n \"expandable--even\": canShowLines && evenLevel,\n \"expandable--odd\": canShowLines && !evenLevel\n }, part: tokenMap({\n [EXPANDABLE_ID]: true,\n [this.expanded ? \"expanded\" : \"collapsed\"]: true,\n \"lazy-loaded\": !this.downloading,\n [levelPart]: canShowLines\n }) }, h(\"slot\", null)))));\n }\n static get is() { return \"ch-tree-view-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tree-view-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tree-view-item.css\"]\n };\n }\n static get properties() {\n return {\n \"caption\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attributes specifies the caption of the control\"\n },\n \"attribute\": \"caption\",\n \"reflect\": false\n },\n \"checkbox\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want display a checkbox in the control.\"\n },\n \"attribute\": \"checkbox\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want the checkbox to be checked by default.\\nOnly works if `checkbox = true`\"\n },\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"customRender\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want to set a custom render for the control, by\\npassing a slot.\"\n },\n \"attribute\": \"custom-render\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the element is disabled.\\nIf disabled, it will not fire any user interaction related event\\n(for example, click event).\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"dragDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drag operation is disabled in the\\ncontrol. If `true`, the control can't be dragged.\"\n },\n \"attribute\": \"drag-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dropDisabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the drop operation is disabled in the\\ncontrol. If `true`, the control won't accept any drops.\"\n },\n \"attribute\": \"drop-disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dragState\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"DragState\",\n \"resolved\": \"\\\"enter\\\" | \\\"none\\\" | \\\"start\\\"\",\n \"references\": {\n \"DragState\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/tree-view/tree-view-item/tree-view-item.tsx\",\n \"id\": \"src/components/tree-view/tree-view-item/tree-view-item.tsx::DragState\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property lets you define the current state of the item when it's\\nbeing dragged.\"\n },\n \"attribute\": \"drag-state\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"downloading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify when items are being lazy loaded in the\\ncontrol.\"\n },\n \"attribute\": \"downloading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"editable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the edit operation is enabled in the\\ncontrol. If `true`, the control can edit its caption in place.\"\n },\n \"attribute\": \"editable\",\n \"reflect\": false\n },\n \"editing\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute when the item is in edit mode\"\n },\n \"attribute\": \"editing\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"endImgSrc\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the src of the end image.\"\n },\n \"attribute\": \"end-img-src\",\n \"reflect\": false\n },\n \"endImgType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ImageRender\",\n \"resolved\": \"\\\"background\\\" | \\\"img\\\" | \\\"mask\\\"\",\n \"references\": {\n \"ImageRender\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::ImageRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies how the end image will be rendered.\"\n },\n \"attribute\": \"end-img-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"background\\\"\"\n },\n \"expandableButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"resolved\": \"\\\"action\\\" | \\\"decorative\\\" | \\\"no\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies what kind of expandable button is displayed.\\nOnly works if `leaf === false`.\\n - `\\\"expandableButton\\\"`: Expandable button that allows to expand/collapse\\n the items of the control.\\n - `\\\"decorative\\\"`: Only a decorative icon is rendered to display the state\\n of the item.\"\n },\n \"attribute\": \"expandable-button\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"decorative\\\"\"\n },\n \"expandOnClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to expand the control on click interaction. If `false`, with mouse\\ninteraction the control will only be expanded on double click.\"\n },\n \"attribute\": \"expand-on-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If the item has a sub-tree, this attribute determines if the subtree is\\ndisplayed.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"lastItem\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies if the control is the last items in its subtree\"\n },\n \"attribute\": \"last-item\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"lazyLoad\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determine if the items are lazy loaded when opening the first time the\\ncontrol.\"\n },\n \"attribute\": \"lazy-load\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"leaf\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute determine whether the item contains a\\nsubtree. `true` if the item does not have a subtree.\"\n },\n \"attribute\": \"leaf\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"level\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Level in the tree at which the item is placed.\"\n },\n \"attribute\": \"level\",\n \"reflect\": false,\n \"defaultValue\": \"INITIAL_LEVEL\"\n },\n \"indeterminate\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` if the checkbox's value is indeterminate.\"\n },\n \"attribute\": \"indeterminate\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"metadata\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute represents additional info for the control that is included\\nwhen dragging the item.\"\n },\n \"attribute\": \"metadata\",\n \"reflect\": false\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute lets you specify if the item is selected\"\n },\n \"attribute\": \"selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"showDownloadingSpinner\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to show the downloading spinner when lazy loading the sub items of\\nthe control.\"\n },\n \"attribute\": \"show-downloading-spinner\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"showLines\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TreeViewLines\",\n \"resolved\": \"\\\"all\\\" | \\\"last\\\" | \\\"none\\\"\",\n \"references\": {\n \"TreeViewLines\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewLines\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"`true` to display the relation between tree items and tree lists using\\nlines.\"\n },\n \"attribute\": \"show-lines\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"none\\\"\"\n },\n \"startImgSrc\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the src of the start image.\"\n },\n \"attribute\": \"start-img-src\",\n \"reflect\": false\n },\n \"startImgType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ImageRender\",\n \"resolved\": \"\\\"background\\\" | \\\"img\\\" | \\\"mask\\\"\",\n \"references\": {\n \"ImageRender\": {\n \"location\": \"import\",\n \"path\": \"../../../common/types\",\n \"id\": \"src/common/types.ts::ImageRender\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies how the start image will be rendered.\"\n },\n \"attribute\": \"start-img-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"background\\\"\"\n },\n \"toggleCheckboxes\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set this attribute if you want all the children item's checkboxes to be\\nchecked when the parent item checkbox is checked, or to be unchecked when\\nthe parent item checkbox is unchecked.\"\n },\n \"attribute\": \"toggle-checkboxes\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"checkboxChange\",\n \"name\": \"checkboxChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checkbox value of the control is changed.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemCheckedInfo\",\n \"resolved\": \"{ id: string; checked: boolean; indeterminate: boolean; }\",\n \"references\": {\n \"TreeViewItemCheckedInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemCheckedInfo\"\n }\n }\n }\n }, {\n \"method\": \"checkboxToggleChange\",\n \"name\": \"checkboxToggleChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the checkbox value of the control is changed. This event only\\napplies when the control has `toggleCheckboxes = true`\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemCheckedInfo\",\n \"resolved\": \"{ id: string; checked: boolean; indeterminate: boolean; }\",\n \"references\": {\n \"TreeViewItemCheckedInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemCheckedInfo\"\n }\n }\n }\n }, {\n \"method\": \"itemDragStart\",\n \"name\": \"itemDragStart\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is being dragged.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemDragStartInfo\",\n \"resolved\": \"{ elem: HTMLChTreeViewItemElement; dragEvent: DragEvent; }\",\n \"references\": {\n \"TreeViewItemDragStartInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemDragStartInfo\"\n }\n }\n }\n }, {\n \"method\": \"itemDragEnd\",\n \"name\": \"itemDragEnd\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is no longer being dragged.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"loadLazyContent\",\n \"name\": \"loadLazyContent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the lazy control is expanded an its content must be loaded.\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }, {\n \"method\": \"modifyCaption\",\n \"name\": \"modifyCaption\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the item is asking to modify its caption.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemNewCaption\",\n \"resolved\": \"{ id: string; caption: string; }\",\n \"references\": {\n \"TreeViewItemNewCaption\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemNewCaption\"\n }\n }\n }\n }, {\n \"method\": \"openReference\",\n \"name\": \"openReference\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the user interacts with the control in a way that its reference\\nmust be opened.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemOpenReferenceInfo\",\n \"resolved\": \"{ id: string; leaf: boolean; metadata: string; }\",\n \"references\": {\n \"TreeViewItemOpenReferenceInfo\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemOpenReferenceInfo\"\n }\n }\n }\n }, {\n \"method\": \"selectedItemChange\",\n \"name\": \"selectedItemChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Fired when the selected state is updated by user interaction on the\\ncontrol.\"\n },\n \"complexType\": {\n \"original\": \"TreeViewItemSelected\",\n \"resolved\": \"{ ctrlKeyPressed: boolean; expanded: boolean; id: string; metadata: string; parentId: string; selected: boolean; }\",\n \"references\": {\n \"TreeViewItemSelected\": {\n \"location\": \"import\",\n \"path\": \"../tree-view/types\",\n \"id\": \"src/components/tree-view/tree-view/types.ts::TreeViewItemSelected\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"focusNextItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the next item in the tree. If the control is expanded, it focuses\\nthe first subitem in its tree.\",\n \"tags\": []\n }\n },\n \"focusNextSibling\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the next sibling item in the tree.\",\n \"tags\": []\n }\n },\n \"focusPreviousItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the previous item in the tree. If the previous item is expanded, it focuses\\nthe last subitem in its tree.\",\n \"tags\": []\n }\n },\n \"focusLastItem\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLChTreeViewItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLChTreeViewItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Focus the last item in its subtree. If the control is not expanded, it\\nfocus the control.\",\n \"tags\": []\n }\n },\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"(ctrlKeyPressed: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"ctrlKeyPressed\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Set focus in the control.\",\n \"tags\": []\n }\n },\n \"updateChecked\": {\n \"complexType\": {\n \"signature\": \"(newChecked: boolean, newIndeterminate: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"newChecked\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }, {\n \"name\": \"newIndeterminate\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Update `checked` and `indeterminate` properties.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"checked\",\n \"methodName\": \"updateChildrenCheckedValue\"\n }, {\n \"propName\": \"editing\",\n \"methodName\": \"editingChanged\"\n }, {\n \"propName\": \"expanded\",\n \"methodName\": \"expandedChanged\"\n }, {\n \"propName\": \"lastItem\",\n \"methodName\": \"lastItemChanged\"\n }, {\n \"propName\": \"showLines\",\n \"methodName\": \"showLinesChanged\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"checkboxChange\",\n \"method\": \"updateCheckboxValue\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tree-view-item.js.map\n"],"version":3}
|