@genexus/genexus-ide-ui 1.1.3 → 1.1.5
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/MERCURY_ASSETS-972bf7f4.js +9 -0
- package/dist/cjs/MERCURY_ASSETS-972bf7f4.js.map +1 -0
- package/dist/cjs/code-render-0e9837c4.js +86 -0
- package/dist/cjs/code-render-0e9837c4.js.map +1 -0
- package/dist/cjs/{common-72f91a78.js → common-090e6d3a.js} +28 -12
- package/dist/cjs/common-090e6d3a.js.map +1 -0
- package/dist/cjs/{form-validation-178cf461.js → form-validation-ffe2b957.js} +7 -3
- package/dist/cjs/form-validation-ffe2b957.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +10 -16
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +180 -168
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +4 -6
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +13 -16
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +239 -0
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -23
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -2
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -14
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +5 -7
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +7 -9
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +17 -21
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +27 -36
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -2
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
- package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +63 -49
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +10 -14
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +19 -11
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +8 -9
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +4 -7
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +14 -19
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +34 -39
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +10 -12
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +8 -13
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +22 -28
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +10 -17
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -10
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -13
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -11
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +11 -18
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +19 -22
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +20 -9
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-30f109a4.js → helpers-e5a13fa5.js} +6 -6
- package/dist/cjs/helpers-e5a13fa5.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-ff30a5f3.js → locale-36b93b1b.js} +4 -4
- package/dist/cjs/locale-36b93b1b.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/common.js +23 -13
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/form-validation.js +7 -4
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +9 -10
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/locale.js +3 -3
- package/dist/collection/common/locale.js.map +1 -1
- package/dist/collection/common/render-suggest.js +1 -1
- package/dist/collection/common/render-suggest.js.map +1 -1
- package/dist/collection/components/_helpers/card/card.css +9 -0
- package/dist/collection/components/_helpers/container/container.js +1 -2
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +1 -2
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +9 -0
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +2 -4
- package/dist/collection/components/_helpers/entity-selector/entity-selector.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-item/list-selector-item.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.css +9 -0
- package/dist/collection/components/_starting-template/template.css +9 -0
- package/dist/collection/components/ai-assistant/ai-assistant.css +9 -0
- package/dist/collection/components/ai-assistant/ai-assistant.js +8 -14
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +37 -27
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +217 -182
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
- package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
- package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +9 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +9 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +2 -4
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +9 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -2
- package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +9 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +9 -0
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +1 -2
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/task-documents.js +7 -9
- package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +9 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +1 -2
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
- package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
- package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
- package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/collection/components/chat/code-render.js +65 -0
- package/dist/collection/components/chat/code-render.js.map +1 -0
- package/dist/collection/components/current-user-info/current-user-info.js +2 -3
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.css +9 -0
- package/dist/collection/components/dashboard-home/dashboard-home.js +2 -3
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +1 -0
- package/dist/collection/components/data-selector/data-selector.js +2 -3
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/data-type-selector/data-type-selector.js +3 -4
- package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
- package/dist/collection/components/deployment-tool/deployment-tool.css +9 -0
- package/dist/collection/components/deployment-tool/deployment-tool.js +11 -18
- package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
- package/dist/collection/components/deployment-tool/helpers.js +4 -1
- package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
- package/dist/collection/components/design-import/design-import.js +18 -26
- package/dist/collection/components/design-import/design-import.js.map +1 -1
- package/dist/collection/components/design-import/helpers.js +1 -1
- package/dist/collection/components/design-import/helpers.js.map +1 -1
- package/dist/collection/components/file-uploader/file-uploader.css +9 -0
- package/dist/collection/components/file-uploader/file-uploader.js +59 -44
- package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +9 -0
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +1 -2
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +4 -7
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +9 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js +1 -2
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +9 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +13 -4
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +9 -0
- package/dist/collection/components/navigation-report/navigation-report.js +3 -6
- package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +10 -15
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +28 -32
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.js +5 -8
- package/dist/collection/components/new-object/new-object.js.map +1 -1
- package/dist/collection/components/new-version/new-version.js +2 -2
- package/dist/collection/components/new-version/new-version.js.map +1 -1
- package/dist/collection/components/object-selector/object-selector.css +1 -0
- package/dist/collection/components/object-selector/object-selector.js +4 -5
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/open-api-import/open-api-import.js +4 -8
- package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
- package/dist/collection/components/references/helpers.js +9 -13
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.css +9 -0
- package/dist/collection/components/references/references.js +9 -11
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/helpers.js +5 -10
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +1 -2
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/select-user-team/helpers.js +1 -1
- package/dist/collection/components/select-user-team/helpers.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.js +1 -2
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js +1 -2
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/splash/splash.js +2 -3
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +3 -6
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +10 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +16 -21
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +4 -8
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +9 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -5
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +11 -0
- package/dist/collection/components/team-dev/update/update.js +1 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +9 -0
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +9 -0
- package/dist/collection/components/welcome-page/welcome-page.js +5 -7
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/collection/components/wf-settings/wf-settings.css +9 -0
- package/dist/collection/components/ww-attributes/helpers.js +1 -2
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
- package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
- package/dist/collection/components/ww-attributes/ww-attributes.js +6 -11
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
- package/dist/collection/components/ww-files/helpers.js +1 -2
- package/dist/collection/components/ww-files/helpers.js.map +1 -1
- package/dist/collection/components/ww-files/ww-files.css +1 -0
- package/dist/collection/components/ww-files/ww-files.js +16 -18
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/components/ww-images/ww-images.css +10 -0
- package/dist/collection/components/ww-images/ww-images.js +16 -5
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/showcase/chat-container/callbacks.js +105 -90
- package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
- package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
- package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +4 -3
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/MERCURY_ASSETS.js +5 -1
- package/dist/components/MERCURY_ASSETS.js.map +1 -1
- package/dist/components/ai-message.js +1 -2
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/chat-container.js +70 -7
- package/dist/components/chat-container.js.map +1 -1
- package/dist/components/chat-welcome.js +146 -0
- package/dist/components/chat-welcome.js.map +1 -0
- package/dist/components/code-render.js +68 -41
- package/dist/components/code-render.js.map +1 -1
- package/dist/components/common.js +27 -11
- package/dist/components/common.js.map +1 -1
- package/dist/components/container.js +1 -2
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +3 -6
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/file-item.js +1 -2
- package/dist/components/file-item.js.map +1 -1
- package/dist/components/form-validation.js +6 -2
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +9 -15
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +188 -185
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +3 -5
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +2 -3
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -2
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +9 -12
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +2 -3
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
- package/dist/components/gx-ide-chat-welcome.js +8 -0
- package/dist/components/gx-ide-chat-welcome.js.map +1 -0
- package/dist/components/gx-ide-connect-gx-server.js +16 -21
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +5 -10
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +3 -5
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +4 -6
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +4 -6
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +4 -6
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +16 -20
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +20 -29
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-directory-selector.js +1 -2
- package/dist/components/gx-ide-directory-selector.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +2 -3
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +1 -1
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +61 -47
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +2 -3
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -2
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +5 -9
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +15 -7
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +4 -5
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +3 -6
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +10 -15
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +29 -34
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +5 -8
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +2 -2
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +6 -8
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +5 -10
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +19 -25
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-sc-chat-container.js +215 -100
- package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.js +7 -14
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +2 -3
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +3 -7
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +1 -2
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-splash.js +3 -5
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +4 -8
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +2 -3
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gx-ide-template.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +6 -9
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-wf-settings.js +1 -1
- package/dist/components/gx-ide-wf-settings.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +9 -16
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +18 -21
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +17 -6
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +5 -5
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/list-selector-item.js +1 -1
- package/dist/components/list-selector-item.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/locale.js +3 -3
- package/dist/components/locale.js.map +1 -1
- package/dist/esm/MERCURY_ASSETS-039222dd.js +7 -0
- package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
- package/dist/esm/code-render-f3afd300.js +83 -0
- package/dist/esm/code-render-f3afd300.js.map +1 -0
- package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
- package/dist/esm/common-719c4daf.js.map +1 -0
- package/dist/esm/{form-validation-cd0215c6.js → form-validation-71dca8c6.js} +7 -3
- package/dist/esm/form-validation-71dca8c6.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +10 -16
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +3 -4
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +181 -169
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +4 -6
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -4
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +2 -3
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +10 -13
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -4
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +2 -2
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-chat-container_2.entry.js +234 -0
- package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
- package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -23
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -2
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +7 -12
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +4 -6
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +6 -8
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +17 -21
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +21 -30
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -2
- package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +3 -4
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +4 -7
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-item.entry.js +1 -2
- package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +62 -48
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -4
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -3
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +6 -10
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +17 -9
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +6 -7
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +4 -7
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +14 -19
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +33 -38
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +6 -9
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +3 -3
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +8 -10
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +6 -11
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +20 -26
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
- package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +8 -15
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +3 -4
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +5 -9
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +2 -3
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +5 -7
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +5 -9
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +4 -5
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +2 -2
- package/dist/esm/gx-ide-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +7 -10
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +2 -2
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +10 -17
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +19 -22
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +20 -9
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-10479d69.js → helpers-5f1c9a32.js} +6 -6
- package/dist/esm/helpers-5f1c9a32.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-e5107fad.js → locale-643afe17.js} +4 -4
- package/dist/esm/locale-643afe17.js.map +1 -0
- 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/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/genexus-ide-ui/index.esm.js +2 -2
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-59ed3f39.entry.js → p-02fc47cd.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-032b4a81.entry.js} +25 -30
- package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-0d83a34d.entry.js} +63 -69
- package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-22b8bdb1.entry.js → p-0e53f1ef.entry.js} +161 -163
- package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js +309 -0
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-29575656.entry.js} +85 -96
- package/dist/genexus-ide-ui/p-29575656.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-683cb15e.entry.js → p-2be58a7a.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-2dbf722d.entry.js} +77 -85
- package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-31beae9e.entry.js → p-2e90a13a.entry.js} +2 -3
- package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-353810b8.entry.js} +99 -104
- package/dist/genexus-ide-ui/p-353810b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3b8db39e.entry.js → p-39c527ff.entry.js} +3 -3
- package/dist/genexus-ide-ui/p-3edbf07d.js +109 -0
- package/dist/genexus-ide-ui/p-3edbf07d.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-68969051.entry.js → p-45d2fa91.entry.js} +11 -12
- package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-460db3ff.entry.js} +11 -13
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-460db3ff.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
- package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-50b22f23.entry.js → p-4d929210.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-de7f0c1f.entry.js → p-501c7b1f.entry.js} +19 -22
- package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-50eaa96d.entry.js} +99 -111
- package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-51601b85.js +145 -0
- package/dist/genexus-ide-ui/p-51601b85.js.map +1 -0
- package/dist/genexus-ide-ui/{p-289c3290.js → p-549b8f0c.js} +16 -15
- package/dist/{esm/form-validation-cd0215c6.js.map → genexus-ide-ui/p-549b8f0c.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-5a42428d.entry.js} +16 -19
- package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ded7444c.entry.js → p-5da3e999.entry.js} +16 -17
- package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3ecdb582.entry.js → p-5e05f830.entry.js} +33 -39
- package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-6168d48c.entry.js} +165 -174
- package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-66d9269a.entry.js} +17 -22
- package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-038c3f9b.entry.js → p-6dc05a27.entry.js} +4 -5
- package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-cd397078.entry.js → p-75e1aa31.entry.js} +5 -6
- package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e502c2fd.entry.js → p-7782e1b8.entry.js} +56 -61
- package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1bc2613e.entry.js → p-7cedb0f0.entry.js} +66 -69
- package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bac13202.entry.js → p-844b7117.entry.js} +17 -17
- package/dist/genexus-ide-ui/{p-311eedf3.js → p-857866f8.js} +8 -9
- package/dist/genexus-ide-ui/p-857866f8.js.map +1 -0
- package/dist/genexus-ide-ui/{p-74c81ca3.entry.js → p-8636a0bd.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-d095a37c.entry.js → p-8b046b4b.entry.js} +9 -10
- package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-8f1f4126.entry.js} +10 -12
- package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c6c955a3.entry.js → p-95f831a8.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-c91af626.entry.js → p-970d16ca.entry.js} +15 -15
- package/dist/genexus-ide-ui/{p-c91af626.entry.js.map → p-970d16ca.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-e4c2e200.entry.js → p-9a39e49c.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-beea29fa.entry.js → p-9a9ee1ee.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-961cd6c2.entry.js → p-9b238bf7.entry.js} +174 -181
- package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-54fbb568.entry.js → p-9c690c36.entry.js} +14 -17
- package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-a6029d9a.entry.js} +117 -131
- package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-a86a8692.entry.js} +33 -39
- package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2a6683e1.entry.js → p-a8cc41e4.entry.js} +59 -62
- package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3d4355b4.entry.js → p-ac0438d6.entry.js} +9 -10
- package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-56331289.entry.js → p-b1833747.entry.js} +38 -45
- package/dist/genexus-ide-ui/p-b1833747.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b957e82.entry.js → p-b211bca8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-84618917.entry.js → p-be794132.entry.js} +229 -236
- package/dist/genexus-ide-ui/p-be794132.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a790c4c9.entry.js → p-bfd9066c.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9b5cb6b9.entry.js → p-c30b2104.entry.js} +7 -9
- package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-c5cca204.entry.js} +17 -20
- package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js +338 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8f00263d.entry.js → p-d1cc4724.entry.js} +18 -13
- package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1dd7be84.entry.js → p-daa29451.entry.js} +14 -17
- package/dist/genexus-ide-ui/p-daa29451.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-67762237.entry.js → p-db4750ff.entry.js} +139 -148
- package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-48826a6f.entry.js → p-db4f756a.entry.js} +123 -135
- package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3e936f26.entry.js → p-e1d75f00.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-3e936f26.entry.js.map → p-e1d75f00.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-a59a07e2.entry.js → p-e26e05c7.entry.js} +13 -19
- package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2027c939.entry.js → p-e37e95e7.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-e5571f49.entry.js} +26 -28
- package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js +317 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-ec01c70c.entry.js} +15 -18
- package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
- package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js → p-f2bd9044.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-f315c6e0.entry.js} +12 -14
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-f315c6e0.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-0550fd5f.entry.js → p-f52bcdac.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a05d4963.entry.js → p-f5879a41.entry.js} +10 -10
- package/dist/genexus-ide-ui/{p-a05d4963.entry.js.map → p-f5879a41.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-f5a48b33.entry.js} +6 -9
- package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1e8f5da5.entry.js → p-f6ceb01a.entry.js} +4 -5
- package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +1 -0
- package/dist/types/common/common.d.ts +1 -1
- package/dist/types/components/bpm/application-declaration/bpm-app-declaration.d.ts +22 -44
- package/dist/types/components/{_helpers → chat}/chat-container/chat-container.d.ts +13 -2
- package/dist/types/components/chat/chat-welcome/chat-welcome.d.ts +39 -0
- package/dist/types/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.d.ts +1 -0
- package/dist/types/components/{_helpers/chat-container → chat}/code-render.d.ts +1 -1
- package/dist/types/components.d.ts +75 -10
- package/dist/types/index.d.ts +1 -1
- package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
- package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
- package/package.json +5 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
- package/dist/cjs/assets-manager-7227a74b.js +0 -7
- package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
- package/dist/cjs/code-render-db7cb770.js +0 -59
- package/dist/cjs/code-render-db7cb770.js.map +0 -1
- package/dist/cjs/common-72f91a78.js.map +0 -1
- package/dist/cjs/form-validation-178cf461.js.map +0 -1
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
- package/dist/cjs/helpers-30f109a4.js.map +0 -1
- package/dist/cjs/locale-ff30a5f3.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
- package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
- package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
- package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
- package/dist/components/assets-manager.js +0 -5
- package/dist/components/assets-manager.js.map +0 -1
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
- package/dist/esm/assets-manager-0d129105.js +0 -5
- package/dist/esm/assets-manager-0d129105.js.map +0 -1
- package/dist/esm/code-render-6cbb0e63.js +0 -56
- package/dist/esm/code-render-6cbb0e63.js.map +0 -1
- package/dist/esm/common-ccb4504a.js.map +0 -1
- package/dist/esm/gx-ide-chat-container.entry.js +0 -58
- package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
- package/dist/esm/helpers-10479d69.js.map +0 -1
- package/dist/esm/locale-e5107fad.js.map +0 -1
- package/dist/genexus-ide-ui/p-007173ef.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-038c3f9b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1e8f5da5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-22b8bdb1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
- package/dist/genexus-ide-ui/p-29a026bb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2a6683e1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-311eedf3.js.map +0 -1
- package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3d4355b4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3ecdb582.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-48826a6f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4b79c3ab.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4c717aa7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4cbc8a8b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-530c32aa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-54fbb568.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-55c87f23.entry.js +0 -287
- package/dist/genexus-ide-ui/p-55c87f23.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-56331289.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
- package/dist/genexus-ide-ui/p-67762237.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-68969051.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
- package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
- package/dist/genexus-ide-ui/p-76c3fc51.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-833c3585.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-84618917.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8f00263d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-961cd6c2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
- package/dist/genexus-ide-ui/p-9b5cb6b9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ddea83b.js +0 -146
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
- package/dist/genexus-ide-ui/p-a59a07e2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a790c4c9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ba7d1472.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
- package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
- package/dist/genexus-ide-ui/p-c747afac.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-cd397078.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-eea944d4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f3f35e5c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fa18a70c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fdf41406.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fe490103.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fecc50e4.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-59ed3f39.entry.js.map → p-02fc47cd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-683cb15e.entry.js.map → p-2be58a7a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3b8db39e.entry.js.map → p-39c527ff.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-50b22f23.entry.js.map → p-4d929210.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bac13202.entry.js.map → p-844b7117.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-74c81ca3.entry.js.map → p-8636a0bd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c6c955a3.entry.js.map → p-95f831a8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e4c2e200.entry.js.map → p-9a39e49c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-beea29fa.entry.js.map → p-9a9ee1ee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6b957e82.entry.js.map → p-b211bca8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2027c939.entry.js.map → p-e37e95e7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js.map → p-f2bd9044.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0550fd5f.entry.js.map → p-f52bcdac.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapStylesToComboBoxItemModel","styles","map","style","value","id","caption","label","name","TAB_DATA","layout","slot","code","tokens","composition","TAB_MODEL","panels","stencils","images","fonts","designSystem","DESIGN_TYPE_TO_TAB_MODEL_MAP","Map","designImportCss","DESIGN_DATA_TYPE_PANELS","DESIGN_DATA_TYPE_STENCILS","DESIGN_DATA_TYPE_IMAGES","DESIGN_DATA_TYPE_DESIGN_SYSTEM","DESIGN_DATA_TYPE_FONTS","ITEM_COMPOSE_ID_SEPARATOR","CHECKED_VALUE","MENU_DELETE","getIconPath","category","colorType","DESIGN","FILE_UPLOAD","WEBPANEL_ICON","PANEL_FOR_SD_ICON","CSS_BUNDLES","GxIdeImportFromDesign","_GxIdeImportFromDesign_componentLocale","set","this","_GxIdeImportFromDesign_loadedItems","_GxIdeImportFromDesign_emptyStateAnimated","_GxIdeImportFromDesign_formattedExtensions","_GxIdeImportFromDesign_objectTreeCheckedStatus","all","none","_GxIdeImportFromDesign_accessTokenEl","_GxIdeImportFromDesign_importAsWebPanelsEl","_GxIdeImportFromDesign_moduleEl","_GxIdeImportFromDesign_messagesList","_GxIdeImportFromDesign_panelsSelected","_GxIdeImportFromDesign_stencilsSelected","_GxIdeImportFromDesign_imagesSelected","_GxIdeImportFromDesign_fontsSelected","_GxIdeImportFromDesign_fileInputHiddenEl","_GxIdeImportFromDesign_pathEl","_GxIdeImportFromDesign_countDesignDataItems","tree","count","countItemsRecursively","designItemsArray","designItem","variants","Array","isArray","_GxIdeImportFromDesign_warningTreeItem","leaf","startImgSrc","order","checkbox","disabled","_GxIdeImportFromDesign_initializeActiveTabs","activeTabs","_GxIdeImportFromDesign_evaluateAccessTokenRender","async","requiresAccessToken","requiresAccessTokenCallback","path","accessToken","length","accessTokenHasError","_GxIdeImportFromDesign_pathURLBlurHandler","loadDataCondition1","isLoaded","reactiveSettings","pathIsValid","lastLoadCallbackSettingValues","loadDataCondition2","__classPrivateFieldGet","_GxIdeImportFromDesign_loadData","call","_GxIdeImportFromDesign_objectsTreeSelectedItemsChangedHandler","event","detail","item","itemComposedId","idList","split","itemId","itemDesignType","isChildNode","isDesignSystem","tabsModel","get","selectedDesignType","loadedItem","_GxIdeImportFromDesign_getLoadedItem","designDataDetail","_GxIdeImportFromDesign_getDesignDataDetail","designType","selectedDesignItem","_GxIdeImportFromDesign_instances","_GxIdeImportFromDesign_getCodeFactory","_GxIdeImportFromDesign_renderDetailDataTree","renderedTabs","clear","add","_GxIdeImportFromDesign_validatePath","validPathRegex","figmaURLRegex","urlWithExtensionRegex","test","_GxIdeImportFromDesign_objectsTreeCheckedItemsChangedHandler","items","from","values","currentParentId","result","startsWith","checked","parentId","push","__classPrivateFieldSet","_GxIdeImportFromDesign_selectFileHandler","click","_GxIdeImportFromDesign_styleComboBoxInputHandler","styleValue","target","_GxIdeImportFromDesign_moduleInputHandler","module","defaultModule","isLoading","source","selectedFile","token","undefined","importAsWebPanels","designData","loadCallback","_GxIdeImportFromDesign_messageCallback","messages","success","firstDesignSystemName","moduleId","message","loadFn","loadImageCallback","loadDesignSystemCallback","loadFontCallback","loadPanelDataCallback","returnedData","then","data","_GxIdeImportFromDesign_evaluateDesignItemsChecked","designItemsData","selectedItems","itemsToImport","totalItemsInTree","selectedItemsLength","_GxIdeImportFromDesign_confirm","panelsToImport","stencilsToImport","imagesToImport","fontsToImport","confirmCallback","styleName","_GxIdeImportFromDesign_cancel","cancelCallback","_GxIdeImportFromDesign_fitImagesHandler","fitImages","_GxIdeImportFromDesign_getPanelsSelectedItem","reduce","minIndex","index","_GxIdeImportFromDesign_importAsWebPanelsChangedHandler","loadData","_GxIdeImportFromDesign_removeFileSelection","_GxIdeImportFromDesign_selectFileInputChangedHandler","files","_GxIdeImportFromDesign_accessFocusHandler","element","type","_GxIdeImportFromDesign_accessBlurHandler","accessTokenChanged","_GxIdeImportFromDesign_pathUrlInputHandler","_GxIdeImportFromDesign_renderHeader","primaryButtonDisabled","clearFileButtonDisabled","stylesComboDisabled","moduleDisabled","pathWithErrorStyles","displayPathErrorTooltip","fitImagesIsDisabled","designDataTreeDataModel","primaryButtonCaption","header","btnReload","btnLoad","selectFileButton","h","class","input","debounce","config","inputDebounce","part","onInput","onBlur","placeholder","pathPlaceholder","ref","el","actionElement","blockAlign","tooltipSettings","inlineAlign","delay","pathErrorMessage","hidden","accept","onChange","removeFileSelection","title","onClick","src","accessTokenPlaceholder","onFocus","accessTokenErrorMessage","suggest","suggestOptions","alreadyProcessed","model","stylesAsComboBoxModel","labelPosition","defaultValue","selectEntityCallback","selectModuleCallback","onValueChanged","importAs","checkedValue","_GxIdeImportFromDesign_renderMessages","text","_GxIdeImportFromDesign_renderMain","_GxIdeImportFromDesign_renderDesignTree","_GxIdeImportFromDesign_renderDesignTabsCh","stateIconSrc","isAnimated","stateTitle","noDesignSelected","key","selectDesign","showLines","dragDisabled","dropDisabled","expandableButton","expandOnClick","toggleCheckboxes","onCheckedItemsChange","onSelectedItemsChange","_GxIdeImportFromDesign_renderFooter","buttonOkDisabled","footer","btnCancel","btnOk","_GxIdeImportFromDesign_evaluatePanelPreview","preview","alt","noPanelPreviewAvailable","_GxIdeImportFromDesign_renderPanelTab","renderControlsTree","detailTreeModel","_GxIdeImportFromDesign_renderImageTab","height","_GxIdeImportFromDesign_tabSelectionChangedHandler","newSelectedId","reRenderCounter","tab","scrollable","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","display","has","Set","pathIsValidChanged","designDataChanged","newDesignData","panelsSelectedItem","isForWeb","panelsIconSrc","imagesIconSrc","webPanels","expanded","_GxIdeImportFromDesign_recursiveDesignTreeItems","warning","pathChanged","newPath","fileIsLoaded","size","validatePathResult","newAccessToken","trim","stylesChanged","newStyles","componentWillLoad","Locale","getComponentStrings","extensions","ext","join","watchMessagesHandler","newValue","oldValue","scrollTop","scrollHeight","render","Host","iconSrc","selectedIndex","i","hasVariants","itemWithWarning","isLeaf","selected","_GxIdeImportFromDesign_loadTreeItemCompositionModel","controls","modelList","control","textEditorFactoryCallback"],"sources":["src/components/design-import/helpers.ts","src/components/design-import/models.ts","src/components/design-import/design-import.scss?tag=gx-ide-design-import&encapsulation=shadow","src/components/design-import/design-import.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../../common/types\";\n\nexport const mapStylesToComboBoxItemModel = (\n styles: GxOption[]\n): ComboBoxModel =>\n styles?.map(style => ({\n value: style.id,\n caption: style.label || style.name\n }));\n","import { TabModel } from \"@genexus/chameleon-controls-library\";\nimport { DesignType } from \"./design-import\";\n\nexport const TAB_DATA: { [key in TAB_SELECTOR]: TabData } = {\n layout: { id: \"layout\", caption: \"Layout\", slot: \"layout\" },\n code: { id: \"code\", caption: \"Code\", slot: \"code\" },\n tokens: { id: \"tokens\", caption: \"Tokens\", slot: \"tokens\" },\n styles: { id: \"styles\", caption: \"Styles\", slot: \"styles\" },\n composition: {\n id: \"composition\",\n caption: \"Composition\",\n slot: \"composition\"\n }\n};\n\nexport const TAB_MODEL: TabDataModel = {\n panels: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n stencils: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n images: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n fonts: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n designSystem: [\n {\n id: TAB_DATA.tokens.id,\n name: TAB_DATA.tokens.caption\n },\n {\n id: TAB_DATA.styles.id,\n name: TAB_DATA.styles.caption\n }\n ]\n};\n\nexport type TabDataModel = {\n panels: TabModel;\n stencils: TabModel;\n images: TabModel;\n fonts: TabModel;\n designSystem: TabModel;\n};\n\ntype TabData = {\n id: TAB_SELECTOR;\n caption: string;\n slot: TAB_SELECTOR;\n};\n\nexport type TAB_SELECTOR =\n | \"layout\"\n | \"code\"\n | \"tokens\"\n | \"styles\"\n | \"composition\";\n\nexport const DESIGN_TYPE_TO_TAB_MODEL_MAP = new Map<DesignType, TabModel>([\n [\"panels\", TAB_MODEL.panels],\n [\"stencils\", TAB_MODEL.stencils],\n [\"images\", TAB_MODEL.images],\n [\"design_system\", TAB_MODEL.designSystem],\n [\"fonts\", TAB_MODEL.fonts]\n]);\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - - -\n\n.header {\n display: grid;\n grid-auto-rows: max-content;\n // 88px is the inline-size of the largest label (Access Token) that is not always visible.\n // Setting 88px as the minimum inline size prevents an undesired difference when Access Token\n // is visible. This fix has been made for english only. The value should work with .ja and .zh also.\n grid-template-columns: minmax(88px, max-content) 1fr !important;\n\n &--show-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"access-token-label access-token\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n &--hide-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n}\n// path url\n.path-url-wrapper {\n grid-template-columns: 1fr max-content;\n}\n.path-url-label {\n grid-area: path-url-label;\n}\n.path-url-control {\n flex-grow: 1;\n}\n.select-load-button {\n min-inline-size: 80px;\n}\n// access token\n.access-token-label {\n grid-area: access-token-label;\n}\n.access-token {\n grid-area: access-token;\n}\n// style\n.style-label {\n grid-area: style-label;\n}\n.style {\n grid-area: style;\n}\n// module\n.module-label {\n grid-area: module-label;\n}\n.module {\n grid-area: module;\n}\n// checkboxes options\n.checkboxes-options {\n grid-area: checkboxes-options;\n grid-template-columns: max-content max-content;\n justify-content: space-between;\n}\n\n// - - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 250px 1fr;\n block-size: 100%;\n overflow: auto;\n\n &--loading {\n grid-template-columns: 1fr;\n }\n}\n\n.panel-tab {\n block-size: 100%;\n display: grid;\n grid-template-columns: 1fr 300px;\n\n .panel-item {\n overflow: auto;\n }\n}\n.panel-tab:has(> :only-child) {\n grid-template-columns: 1fr;\n}\n\n.tree-view {\n padding-block: var(--mer-spacing--2xs);\n}\n\n.tree-view-panel-item {\n border-inline-start: var(--section-common-border);\n}\n\n.checker-board {\n --white-square-color: #fff1;\n --black-square-color: #0000;\n background: linear-gradient(\n 45deg,\n var(--white-square-color) 25%,\n var(--black-square-color) 25%\n ),\n linear-gradient(\n -45deg,\n var(--white-square-color) 25%,\n var(--black-square-color) 25%\n ),\n linear-gradient(\n 45deg,\n var(--black-square-color) 75%,\n var(--white-square-color) 75%\n ),\n linear-gradient(\n -45deg,\n var(--black-square-color) 75%,\n var(--white-square-color) 75%\n );\n background-size: 20px 20px;\n background-position: 0 0, 0 10px, 10px -10px, -10px 0px;\n}\n\n/*--- Tabs ---*/\n.tab {\n border-width: 0 !important; // WA/TODO this should be a class on mercury\n}\n.tab.fit-images .composition-tab-slot {\n font-size: 0; // WA to prevent scroll\n}\n.tab.fit-images img {\n object-fit: scale-down;\n object-position: left top;\n max-height: 100%;\n}\n.tab--hidden {\n display: none;\n}\n\n// - - - - - - - - - - - - -\n// Footer\n// - - - - - - - - - - - - -\n\n.button-cancel,\n.button-ok {\n min-inline-size: var(--mer-spacing--4xl);\n}\n\n// - - - - - - - - - - - - -\n// Other\n// - - - - - - - - - - - - -\n\n.messages-slot-container {\n block-size: 100%;\n}\n\n.composition-tab-slot {\n block-size: 100%;\n overflow: auto;\n}\n\n.empty-state {\n overflow: auto;\n}\n.empty-state-button {\n // WA (It looks more pleasing with a little bit less of gap)\n transform: translateY(-12px);\n}\n\n// Messages Styles\n.messages-container {\n}\n.message {\n animation: fadeIn var(--mer-timing--fast) ease-in-out forwards;\n\n &--info {\n color: var(--mer-text__on-surface);\n }\n &--warning {\n color: var(--mer-text__warning);\n }\n &--error {\n color: var(--mer-text__error);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n// WA's\n.combo-box.ch-disabled {\n --control__bg-color: var(--control__background-color--disabled);\n --control__border-color: var(--control__border-color--disabled);\n --control__color: var(--control__color--disabled);\n --ch-placeholder-color: var(--control-placeholder__color--disabled);\n}\n\n.tree-view::part(item__header) {\n // TODO: Remove this when Mercury is updated to >= 0.12.8\n min-inline-size: var(--tree-view__min-inline-size);\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport {\n ChCheckboxCustomEvent,\n ChEditCustomEvent,\n ComboBoxModel,\n TabModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../common/config\";\nimport { mapStylesToComboBoxItemModel } from \"./helpers\";\nimport { Locale } from \"../../common/locale\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { TAB_DATA, DESIGN_TYPE_TO_TAB_MODEL_MAP, TAB_MODEL } from \"./models\";\n\nconst DESIGN_DATA_TYPE_PANELS = \"panels\";\nconst DESIGN_DATA_TYPE_STENCILS = \"stencils\";\nconst DESIGN_DATA_TYPE_IMAGES = \"images\";\nconst DESIGN_DATA_TYPE_DESIGN_SYSTEM = \"design_system\";\nconst DESIGN_DATA_TYPE_FONTS = \"fonts\";\n\nconst ITEM_COMPOSE_ID_SEPARATOR = \"@@@\";\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\n\n// Icons\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\nconst DESIGN = getIconPath({\n category: \"objects\",\n name: \"design\"\n});\nconst FILE_UPLOAD = getIconPath({\n category: \"controls\",\n name: \"file-upload\"\n});\n// For empty states\nconst WEBPANEL_ICON = getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n});\nconst PANEL_FOR_SD_ICON = getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\",\n \"components/combo-box\",\n \"components/tab\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-design-import\",\n styleUrl: \"design-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/design-import\"]\n})\nexport class GxIdeImportFromDesign {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n /**\n * An array that keeps track of the tree items id's (design system data type\n * + item id) along with the content, that will be used to save and retrieve\n * items information, in order to avoid using a callback to get items\n * information that was already get. loadedItemsArray will be reset every time\n * a new design is loaded.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #loadedItems: Map<string, ItemLoadedInfo> = new Map();\n\n #emptyStateAnimated: boolean = false;\n #formattedExtensions: string;\n #objectTreeCheckedStatus: ObjectTreeCheckedStatus = {\n all: [],\n none: [\"-\"]\n };\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDesignImportElement;\n\n /* References needed to collect data */\n #accessTokenEl!: HTMLChEditElement;\n #importAsWebPanelsEl!: HTMLChCheckboxElement;\n #moduleEl!: HTMLGxIdeEntitySelectorElement;\n #messagesList: HTMLElement;\n #panelsSelected: string[] = [];\n #stencilsSelected: string[] = [];\n #imagesSelected: string[] = [];\n #fontsSelected: string[] = [];\n #fileInputHiddenEl: HTMLInputElement;\n #pathEl: HTMLChEditElement;\n\n // Use to force a re-render\n @State() reRenderCounter: number = 0;\n\n // Maps to Chameleon Models:\n @State() stylesAsComboBoxModel: ComboBoxModel;\n\n // The current style value\n @State() styleValue: string = \"\";\n\n @State() accessTokenHasError: boolean = false;\n\n @State() pathIsValid: boolean;\n @Watch(\"pathIsValid\")\n pathIsValidChanged(pathIsValid: boolean) {\n if (pathIsValid) {\n this.#evaluateAccessTokenRender();\n } else {\n // hide access token input if path is not valid\n this.requiresAccessToken = false;\n }\n }\n\n @State() tabsModel: TabModel = [];\n\n @State() activeTabs: Map<DesignType, string> = new Map();\n\n @State() renderedTabs: Set<string> = new Set();\n\n /**\n * The design data loaded from file\n */\n @State() designData: DesignData = null;\n @Watch(\"designData\")\n designDataChanged(newDesignData: DesignData) {\n if (newDesignData) {\n // panels\n const panelsSelectedItem = this.#getPanelsSelectedItem(\n this.designData.panels\n );\n const isForWeb = this.#importAsWebPanelsEl.value === CHECKED_VALUE;\n const panelsIconSrc = isForWeb\n ? \"objects/webpanel\"\n : \"objects/panel-for-sd\";\n\n // images\n const imagesIconSrc = \"objects/image\";\n\n this.designDataTreeDataModel = [\n {\n order: 0,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_PANELS}`,\n leaf: false,\n caption: isForWeb\n ? this.#componentLocale.tree.webPanels\n : this.#componentLocale.tree.panels,\n startImgSrc: panelsIconSrc,\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.#recursiveDesignTreeItems(\n this.designData.panels,\n DESIGN_DATA_TYPE_PANELS,\n panelsIconSrc,\n panelsSelectedItem\n )\n },\n {\n order: 1,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n leaf: false,\n caption: this.#componentLocale.tree.stencils,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.stencils.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n class: \"object tree-view-item\",\n leaf: !item.warning,\n caption: item.name,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: item.warning && this.#warningTreeItem(item.warning)\n }))\n },\n {\n order: 2,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_IMAGES}`,\n leaf: false,\n caption: this.#componentLocale.tree.images,\n startImgSrc: imagesIconSrc,\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.#recursiveDesignTreeItems(\n this.designData.images,\n DESIGN_DATA_TYPE_IMAGES,\n imagesIconSrc\n )\n },\n {\n order: 3,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n leaf: false,\n caption: this.#componentLocale.tree.fonts,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.fonts.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n leaf: !item.warning,\n caption: item.name,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: item.warning && this.#warningTreeItem(item.warning)\n }))\n },\n {\n order: 4,\n id: `${\n this.designData.designSystem.length > 0\n ? this.designData.designSystem[0].id\n : \"parent\"\n }${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_DESIGN_SYSTEM}`,\n leaf: true,\n caption: this.#componentLocale.tree.designSystem,\n startImgSrc: \"objects/dso\",\n checkbox: true,\n checked: true\n }\n ];\n }\n }\n\n /**\n * The model data loaded into the detail tree\n */\n @State() detailTreeModel: TreeViewItemModel[] = [];\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * If the design data is loaded or not, for conditioning input file\n */\n @State() isLoaded = false;\n\n /**\n * The messages receive when the file is loading\n */\n @State() messages: MessageData[] = [];\n\n /**\n * The file selected for load the design data\n */\n @State() selectedFile: File;\n\n /**\n * The type of the design data selected for show it visual tabs\n */\n @State() selectedDesignType: DesignType;\n\n /**\n * The item of the design data selected for show its contents on visual tabs\n */\n @State() selectedDesignItem: any;\n\n /**\n * Whether to show or not the access token input field\n */\n @State() requiresAccessToken: boolean;\n\n /**\n * the design data tree view data model\n */\n @State() designDataTreeDataModel: TreeViewItemModel[] = [];\n\n /**\n * Used to trigger a re-render after an item has been selected on\n * renderDesignTree, in order to set the first tab as the active tab\n * (setFirstActiveTab()), since calling this method inside\n * objectsTreeSelectedItemsChangedHandler does not always work without a\n * setTimeOut.\n */\n @State() updateTabsActiveTab: boolean = false;\n\n /**\n * If true, images will be fitted in the container\n */\n @State() fitImages = false;\n\n /**\n * Represents a collection of settings where each key is a specific option. Its\n * boolean value determines whether changes to that option are listened to and\n * trigger the loadCallback callback.\n */\n @Prop() readonly reactiveSettings: ReactiveSettings = {\n path: true,\n style: false,\n module: false,\n importAsWebPanels: true\n };\n\n /**\n * Used to keep track of the settings values since the last loadCallback.\n * Used to know if loadCallback is required to be called again, when any\n * of these values are changed.\n */\n @State() lastLoadCallbackSettingValues: ReactiveSettingsValues = {\n path: undefined,\n style: undefined,\n moduleId: undefined,\n importAsWebPanels: undefined\n };\n\n /**\n * The valid extensions for the files that will be loaded in Path/URL\n * (ie.: \".fig, .sketch\")\n */\n @Prop() readonly extensions!: string[];\n\n /**\n * Default value for the 'Module' field.\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The path/URL for load the design data\n */\n @Prop({ mutable: true }) path: string = \"\";\n @Watch(\"path\")\n pathChanged(newPath: string) {\n const fileIsLoaded = this.selectedFile?.size > 0;\n const validatePathResult = this.#validatePath(newPath) || fileIsLoaded;\n this.pathIsValid = validatePathResult;\n }\n\n /**\n * The access token for the given path, which is not always required\n */\n @Prop({ mutable: true }) accessToken: string = \"\";\n @Watch(\"accessToken\")\n accessTokenChanged(newAccessToken: string) {\n if (!newAccessToken.trim().length) {\n this.accessTokenHasError = true;\n return;\n }\n this.accessTokenHasError = false;\n this.accessToken = newAccessToken;\n }\n\n /**\n * The value for \"Import as Web Panels\" checkbox.\n */\n @Prop() readonly importAsWebPanels: boolean = false;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter.\n * It returns the information of the selected object (id and name) or\n * 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer that cancel the load operation.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * This is a function provided by the developer that initiates the process\n * of importing a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that returns the list of\n * data types loaded from a file or URL.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Design System type of data.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly loadDesignSystemCallback!: LoadDesignSystemCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Font type of data.\n */\n @Prop() readonly loadFontCallback!: LoadFontCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of an Image System type of data.\n */\n @Prop() readonly loadImageCallback!: LoadImageCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Panel type of data.\n */\n @Prop() readonly loadPanelDataCallback!: LoadPanelDataCallback;\n\n /**\n * Callback invoked to determine if accessing a design requires an authentication token.\n */\n @Prop() readonly requiresAccessTokenCallback!: RequiresAccessTokenCallback;\n\n /**\n * The styles render in the option style selector\n */\n @Prop() readonly styles!: GxOption[];\n @Watch(\"styles\")\n stylesChanged(newStyles: GxOption[]) {\n this.stylesAsComboBoxModel = mapStylesToComboBoxItemModel(newStyles);\n }\n\n /**\n * This is a function provided by the developer for create an instance of a text editor.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly textEditorFactoryCallback!: TextEditorFactoryCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#formattedExtensions = this.extensions\n .map(ext => `.${ext}`)\n .join(\", \");\n this.stylesChanged(this.styles);\n this.#initializeActiveTabs();\n this.pathChanged(this.path);\n this.styleValue =\n this.stylesAsComboBoxModel?.length > 0\n ? this.stylesAsComboBoxModel[0]?.value\n : \"\";\n }\n\n @Watch(\"messages\")\n watchMessagesHandler(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n if (this.#messagesList) {\n this.#messagesList.scrollTop = this.#messagesList.scrollHeight;\n }\n }\n }\n\n #countDesignDataItems = (tree: DesignItemData[]) => {\n let count = 0;\n\n function countItemsRecursively(designItemsArray: DesignItemData[]) {\n for (const designItem of designItemsArray) {\n count++;\n if (designItem.variants && Array.isArray(designItem.variants)) {\n countItemsRecursively(designItem.variants);\n }\n }\n }\n\n countItemsRecursively(tree);\n\n return count;\n };\n\n #warningTreeItem = (caption: string) => {\n return [\n {\n leaf: true,\n caption: `Warning: ${caption}`,\n startImgSrc: getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n }),\n order: -1,\n checkbox: false,\n disabled: true\n } as TreeViewItemModel\n ];\n };\n\n #recursiveDesignTreeItems(\n items: DesignItemData[],\n designType: DesignType,\n iconSrc: string,\n selectedIndex: number = undefined\n ): TreeViewItemModel[] {\n return items.map((item, i) => {\n const id = `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${designType}`;\n const hasVariants = item.variants?.length > 0;\n const itemWithWarning = item.warning\n ? this.#warningTreeItem(item.warning)\n : [];\n const isLeaf = !hasVariants && !item.warning;\n\n return {\n id: id,\n leaf: isLeaf,\n caption: item.name,\n startImgSrc: iconSrc,\n checkbox: true,\n checked: true,\n expanded: !isLeaf,\n selected: selectedIndex === i,\n order: i,\n items: [\n ...itemWithWarning,\n ...(hasVariants\n ? this.#recursiveDesignTreeItems(item.variants, designType, iconSrc)\n : [])\n ]\n };\n });\n }\n\n #initializeActiveTabs = () => {\n this.activeTabs.set(\"panels\", TAB_MODEL.panels[0].id);\n this.activeTabs.set(\"stencils\", TAB_MODEL.stencils[0].id);\n this.activeTabs.set(\"images\", TAB_MODEL.images[0].id);\n this.activeTabs.set(\"fonts\", TAB_MODEL.fonts[0].id);\n this.activeTabs.set(\"design_system\", TAB_MODEL.designSystem[0].id);\n };\n\n #evaluateAccessTokenRender = async () => {\n this.requiresAccessToken = await this.requiresAccessTokenCallback(\n this.path\n );\n // evaluate access token error\n if (this.accessToken.length) {\n this.accessTokenHasError = false;\n }\n };\n\n #pathURLBlurHandler = async () => {\n const loadDataCondition1 =\n this.isLoaded &&\n this.reactiveSettings.path &&\n this.pathIsValid &&\n this.path !== this.lastLoadCallbackSettingValues.path;\n const loadDataCondition2 =\n !this.requiresAccessToken ||\n (this.requiresAccessToken && this.accessToken.length > 0);\n if (loadDataCondition1 && loadDataCondition2) {\n this.#loadData();\n }\n };\n\n #loadTreeItemCompositionModel(\n controls: DesignPanelControlData[]\n ): TreeViewItemModel[] {\n const modelList: TreeViewItemModel[] = [];\n for (const control of controls) {\n let model: TreeViewItemModel = {\n id: control.name,\n caption: control.name,\n startImgSrc: control.type,\n checkbox: false,\n expanded: true,\n leaf: control.leaf\n };\n if (control.controls) {\n model = {\n ...model,\n items: this.#loadTreeItemCompositionModel(control.controls)\n };\n }\n modelList.push(model);\n }\n return modelList;\n }\n\n #objectsTreeSelectedItemsChangedHandler = async (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (event.detail.length) {\n const item = event.detail[0]?.item;\n const itemComposedId = item.id;\n const idList = itemComposedId.split(ITEM_COMPOSE_ID_SEPARATOR);\n const itemId = idList[0];\n const itemDesignType: DesignType = idList[1] as DesignType;\n const isChildNode = itemId && itemId !== \"parent\";\n const isDesignSystem = itemDesignType === \"design_system\";\n if (isChildNode || isDesignSystem) {\n this.tabsModel = DESIGN_TYPE_TO_TAB_MODEL_MAP.get(itemDesignType);\n this.selectedDesignType = itemDesignType;\n const loadedItem = this.#getLoadedItem(itemComposedId);\n if (!loadedItem) {\n const designDataDetail: DesignItemDataDetail =\n await this.#getDesignDataDetail(itemId, this.selectedDesignType);\n this.#loadedItems.set(itemComposedId, {\n designType: this.selectedDesignType,\n designDataDetail: designDataDetail\n });\n } else {\n // Item has been queried already. The item content exists already.\n this.selectedDesignType = loadedItem.designType;\n this.selectedDesignItem = loadedItem.designDataDetail;\n this.#getCodeFactory(loadedItem.designType);\n this.#renderDetailDataTree(loadedItem.designType);\n }\n this.renderedTabs.clear();\n this.renderedTabs.add(this.activeTabs.get(this.selectedDesignType));\n }\n }\n };\n\n #getLoadedItem = (id: string): ItemLoadedInfo | undefined => {\n return this.#loadedItems?.get(id);\n };\n\n #validatePath = (path: string): boolean => {\n const validPathRegex = /^(\\/|\\.\\/|(\\w:))[^:*?\"<>|]*\\.(sketch|gxsketch)$/i; // Match valid file paths\n const figmaURLRegex = /^https?:\\/\\/(www\\.)?figma\\.com/; // Match URLs containing \"www.figma.com\"\n const urlWithExtensionRegex =\n /^https?:\\/\\/[^\\s/$.?#].[^\\s]*\\.(sketch|gxsketch)$/i; // Match URLs ending with .sketch or .gxsketch\n const pathIsValid =\n validPathRegex.test(path) ||\n figmaURLRegex.test(path) ||\n urlWithExtensionRegex.test(path);\n return pathIsValid;\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const items = Array.from(event.detail.values());\n let currentParentId = null;\n const result: { [key: string]: string[] } = {};\n\n for (const item of items) {\n if (item.item.id.startsWith(`parent${ITEM_COMPOSE_ID_SEPARATOR}`)) {\n currentParentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n result[currentParentId] = [];\n } else if (item.item.checked && currentParentId) {\n const parentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n if (parentId === currentParentId) {\n const id = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[0];\n result[currentParentId].push(id);\n }\n }\n }\n // const { designSystem, fonts, images, panels, stencils } = result;\n const { fonts, panels, stencils, images } = result;\n\n // this.designSystemSelected = designSystem;\n this.#panelsSelected = panels;\n this.#stencilsSelected = stencils;\n this.#imagesSelected = images;\n this.#fontsSelected = fonts;\n };\n\n #selectFileHandler = (): void => {\n this.#fileInputHiddenEl.click();\n };\n\n #styleComboBoxInputHandler = (event: CustomEvent<string> | InputEvent) => {\n this.styleValue = (event.target as HTMLChComboBoxRenderElement).value;\n if (\n this.reactiveSettings.style &&\n this.styleValue !== this.lastLoadCallbackSettingValues.style\n ) {\n this.#loadData();\n }\n };\n\n #moduleInputHandler = (event: CustomEvent<EntityData>) => {\n if (\n this.reactiveSettings.module &&\n this.defaultModule.id !== event.detail.id &&\n this.pathIsValid\n ) {\n this.#loadData();\n }\n };\n\n #loadData = async (): Promise<void> => {\n this.isLoading = true;\n const source = this.selectedFile ? this.selectedFile : this.path;\n const token = this.#accessTokenEl ? this.#accessTokenEl.value : undefined;\n const style = this.styleValue;\n const importAsWebPanels = this.#importAsWebPanelsEl.value === CHECKED_VALUE;\n const designData: DesignData = await this.loadCallback(\n source,\n style,\n importAsWebPanels,\n token,\n this.#messageCallback\n );\n\n // clear\n this.#panelsSelected = [];\n this.#stencilsSelected = [];\n this.#fontsSelected = [];\n this.selectedDesignType = undefined;\n this.selectedDesignItem = undefined;\n this.messages = [];\n\n this.designData = designData;\n this.isLoaded = designData?.success ?? false;\n this.isLoading = false;\n\n const firstDesignSystemName = designData.designSystem[0]?.name;\n if (firstDesignSystemName && !this.styleValue) {\n this.styleValue = firstDesignSystemName;\n }\n\n // update the settings that were used for the last load\n if (this.reactiveSettings.path && this.pathIsValid) {\n this.lastLoadCallbackSettingValues.path = this.path;\n }\n if (this.reactiveSettings.style) {\n this.lastLoadCallbackSettingValues.style = style;\n }\n if (this.reactiveSettings.module) {\n this.lastLoadCallbackSettingValues.moduleId = this.#moduleEl.value.id;\n }\n if (this.reactiveSettings.importAsWebPanels) {\n this.lastLoadCallbackSettingValues.importAsWebPanels = importAsWebPanels;\n }\n };\n\n #messageCallback: LoadMessageCallback = message => {\n this.messages = [...this.messages, message];\n };\n\n #getDesignDataDetail = async (\n id: string,\n designType: DesignType\n ): Promise<DesignItemDataDetail> => {\n let loadFn:\n | LoadPanelDataCallback\n | LoadImageCallback\n | LoadFontCallback\n | LoadDesignSystemCallback;\n\n switch (designType) {\n case DESIGN_DATA_TYPE_IMAGES:\n loadFn = this.loadImageCallback;\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n loadFn = this.loadDesignSystemCallback;\n break;\n case DESIGN_DATA_TYPE_FONTS:\n loadFn = this.loadFontCallback;\n break;\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n loadFn = this.loadPanelDataCallback;\n break;\n }\n\n let returnedData: DesignItemDataDetail;\n await loadFn(id).then((data: DesignItemDataDetail) => {\n this.selectedDesignType = designType;\n this.selectedDesignItem = data;\n this.#getCodeFactory(designType);\n this.#renderDetailDataTree(designType);\n returnedData = data;\n });\n\n return returnedData;\n };\n\n #getCodeFactory(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.textEditorFactoryCallback(\n \"code\",\n TAB_DATA.code.slot,\n this.selectedDesignItem.code\n );\n this.textEditorFactoryCallback(\n \"html\",\n TAB_DATA.layout.slot,\n this.selectedDesignItem.layout\n );\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n this.textEditorFactoryCallback(\n \"tokens\",\n TAB_DATA.tokens.slot,\n this.selectedDesignItem.tokens\n );\n this.textEditorFactoryCallback(\n \"styles\",\n TAB_DATA.styles.slot,\n this.selectedDesignItem.styles\n );\n break;\n }\n }\n\n #evaluateDesignItemsChecked = (\n designItemsData: DesignItemData[],\n selectedItems: string[]\n ) => {\n let itemsToImport: string[] = selectedItems;\n\n const totalItemsInTree = this.#countDesignDataItems(designItemsData);\n const selectedItemsLength = selectedItems.length;\n if (totalItemsInTree === selectedItemsLength) {\n itemsToImport = this.#objectTreeCheckedStatus.all;\n } else if (selectedItemsLength === 0) {\n itemsToImport = this.#objectTreeCheckedStatus.none;\n }\n\n return itemsToImport;\n };\n\n #confirm = (): void => {\n const panelsToImport = this.#evaluateDesignItemsChecked(\n this.designData.panels,\n this.#panelsSelected\n );\n const stencilsToImport = this.#evaluateDesignItemsChecked(\n this.designData.stencils,\n this.#stencilsSelected\n );\n const imagesToImport = this.#evaluateDesignItemsChecked(\n this.designData.images,\n this.#imagesSelected\n );\n const fontsToImport = this.#evaluateDesignItemsChecked(\n this.designData.fonts,\n this.#fontsSelected\n );\n\n this.confirmCallback({\n panels: panelsToImport,\n stencils: stencilsToImport,\n images: imagesToImport,\n fonts: fontsToImport,\n moduleId: this.#moduleEl?.value?.id,\n styleName: this.styleValue,\n importAsWebPanels: this.#importAsWebPanelsEl.value === CHECKED_VALUE\n });\n };\n\n #cancel = (): void => {\n this.cancelCallback();\n this.isLoading = false;\n };\n\n #fitImagesHandler = (event: ChCheckboxCustomEvent<any> | InputEvent) => {\n this.fitImages = event.detail === CHECKED_VALUE;\n };\n\n #getPanelsSelectedItem = (panels: DesignItemData[]): number => {\n return panels.reduce((minIndex, item, index, panels) => {\n return panels[minIndex].name <= item.name ? minIndex : index;\n }, 0);\n };\n\n #importAsWebPanelsChangedHandler = () => {\n const loadData =\n this.reactiveSettings.importAsWebPanels && this.pathIsValid;\n if (loadData) {\n this.#loadData();\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.path = \"\";\n this.accessToken = \"\";\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n this.path = this.selectedFile.name;\n // we know the path is valid because the extensions are restricted by \"extensions\" Prop.\n }\n };\n\n #accessFocusHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"text\"; // display token on focus\n };\n\n #accessBlurHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"password\"; // hide token on blur\n\n this.accessTokenChanged(element.value);\n };\n\n #pathUrlInputHandler = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.path = event.detail as string;\n this.#evaluateAccessTokenRender();\n this.selectedFile = null;\n if (!this.path.length) {\n this.designData = null;\n }\n };\n\n #renderHeader = (): Element => {\n const primaryButtonDisabled =\n this.isLoading ||\n (this.pathIsValid &&\n this.requiresAccessToken &&\n this.accessToken.length === 0);\n const clearFileButtonDisabled = this.isLoading || this.path.length === 0;\n const stylesComboDisabled = this.isLoading;\n const moduleDisabled = this.isLoading;\n const pathWithErrorStyles = !this.pathIsValid && this.path.length > 0;\n const displayPathErrorTooltip = !this.pathIsValid && this.path.length > 0;\n const fitImagesIsDisabled =\n this.isLoading ||\n !this.designDataTreeDataModel.length ||\n this.selectedDesignType === \"stencils\" ||\n this.selectedDesignType === \"design_system\";\n\n let primaryButtonCaption;\n if (\n this.pathIsValid &&\n this.path === this.lastLoadCallbackSettingValues.path\n ) {\n primaryButtonCaption = this.#componentLocale.header.btnReload;\n } else if (this.pathIsValid) {\n primaryButtonCaption = this.#componentLocale.header.btnLoad;\n } else {\n primaryButtonCaption = this.#componentLocale.header.selectFileButton;\n }\n\n return (\n <header\n class={{\n \"header\": true,\n \"control-header-with-border\": true,\n \"spacing-body-inline\": true,\n \"spacing-body-block-start\": true,\n \"header--show-access-token\": this.requiresAccessToken,\n \"header--hide-access-token\": !this.requiresAccessToken,\n \"field-group-cols-2\": true\n }}\n >\n <label\n // path/url label\n class=\"label path-url-label\"\n >\n {this.#componentLocale.header.path}\n </label>\n <div class=\"path-url-wrapper buttons-spacer\">\n <ch-edit\n // path/url/file input\n id=\"path-url\"\n class={{\n \"input\": true,\n \"input-error\": pathWithErrorStyles,\n \"path-url-control\": true\n }}\n debounce={config.inputDebounce}\n part=\"option-path\"\n type=\"text\"\n value={this.path}\n onInput={this.#pathUrlInputHandler}\n onBlur={this.reactiveSettings.path && this.#pathURLBlurHandler}\n disabled={this.isLoading}\n placeholder={`${this.#componentLocale.header.pathPlaceholder}`}\n startImgSrc={FILE_UPLOAD}\n ref={(el: HTMLChEditElement) =>\n (this.#pathEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {displayPathErrorTooltip && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={this.#pathEl as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.pathErrorMessage}{\" \"}\n {this.#formattedExtensions}\n </ch-tooltip>\n )}\n\n <input\n hidden\n type=\"file\"\n accept={this.#formattedExtensions}\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n disabled={clearFileButtonDisabled}\n onClick={!clearFileButtonDisabled && this.#removeFileSelection}\n >\n <ch-image\n class=\"icon-md\"\n src={MENU_DELETE}\n disabled={clearFileButtonDisabled}\n ></ch-image>\n </button>\n <button\n // load file button\n id=\"button-load\"\n type=\"primary-text-only\"\n onClick={\n this.pathIsValid ? this.#loadData : this.#selectFileHandler\n }\n part=\"button button--load\"\n disabled={primaryButtonDisabled}\n class={{\n \"button-primary\": this.pathIsValid,\n \"button-secondary\": !this.pathIsValid,\n \"select-load-button\": true\n }}\n >\n {primaryButtonCaption}\n </button>\n </div>\n </div>\n\n {this.requiresAccessToken && [\n <label\n // access token label\n class=\"label access-token-label\"\n >\n {this.#componentLocale.header.accessToken}\n </label>,\n <div>\n <ch-edit\n class={{\n \"input\": true,\n \"access-token\": true,\n \"input-error\": this.accessTokenHasError\n }}\n ref={(el: HTMLChEditElement) =>\n (this.#accessTokenEl = el as HTMLChEditElement)\n }\n value={this.accessToken}\n placeholder={this.#componentLocale.header.accessTokenPlaceholder}\n onFocus={this.#accessFocusHandler}\n onBlur={this.#accessBlurHandler}\n part=\"access-token\"\n disabled={this.isLoading}\n type=\"password\"\n ></ch-edit>\n {this.accessTokenHasError && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#accessTokenEl as unknown as HTMLButtonElement\n }\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.accessTokenErrorMessage}\n </ch-tooltip>\n )}\n </div>\n ]}\n <label\n // style label\n class=\"label style-label\"\n >\n {this.#componentLocale.header.style}\n </label>\n <ch-combo-box-render\n // style combo box\n suggest={true}\n suggestOptions={{\n alreadyProcessed: true\n }}\n disabled={stylesComboDisabled}\n model={this.stylesAsComboBoxModel}\n value={this.styleValue}\n onInput={this.#styleComboBoxInputHandler}\n part=\"option-style\"\n class=\"combo-box style\"\n ></ch-combo-box-render>\n\n <label\n // module label\n class=\"label module-label\"\n >\n {this.#componentLocale.header.module}\n </label>\n <gx-ide-entity-selector\n // module entity selector\n labelPosition=\"none\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n onValueChanged={\n this.reactiveSettings.module && this.#moduleInputHandler\n }\n disabled={moduleDisabled}\n class=\"module\"\n ></gx-ide-entity-selector>\n\n <div\n // import as web panels\n class=\"checkboxes-options field-group\"\n >\n <ch-checkbox\n caption={this.#componentLocale.header.importAs}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox import-as-web-panels\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#importAsWebPanelsEl = el as HTMLChCheckboxElement)\n }\n value={this.importAsWebPanels ? CHECKED_VALUE : undefined}\n part=\"option-import-as-web-panels\"\n disabled={this.isLoading}\n onInput={this.#importAsWebPanelsChangedHandler}\n ></ch-checkbox>\n\n <div\n class={{\n \"field-group-inline\": true,\n \"checkboxes-options__col-right\": true\n }}\n >\n <ch-checkbox\n // fit images\n caption={this.#componentLocale.header.fitImages}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox\"\n part=\"fit-images-checkbox\"\n disabled={fitImagesIsDisabled}\n onInput={this.#fitImagesHandler}\n ></ch-checkbox>\n </div>\n </div>\n </header>\n );\n };\n\n #renderMessages = (): HTMLParagraphElement[] => {\n return (\n this.messages.length > 0 &&\n this.messages.map(message => (\n <p\n class={{\n \"body-regular-m\": true,\n \"message\": true,\n [`message--${message.type}`]: true\n }}\n >\n {message.type}: {message.text}\n </p>\n ))\n );\n };\n\n #renderDetailDataTree(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.detailTreeModel = this.#loadTreeItemCompositionModel(\n this.selectedDesignItem.composition.controls\n );\n break;\n }\n }\n\n #renderMain = () => {\n if (this.isLoading || this.designData?.success === false) {\n return (\n <div\n class=\"main main--loading scrollable\"\n ref={(el: HTMLElement) => (this.#messagesList = el as HTMLElement)}\n >\n {this.#renderMessages()}\n <div class=\"body-regular-m spacing-body\">\n <slot name=\"messages\"></slot>\n </div>\n </div>\n );\n } else if (this.designData?.success) {\n return (\n /* #main*/\n <div class=\"main\">\n {[this.#renderDesignTree(), this.#renderDesignTabsCh()]}\n </div>\n );\n } else {\n return (\n <gx-ide-empty-state\n class=\"empty-state scrollable\"\n stateIconSrc={DESIGN}\n isAnimated={this.#emptyStateAnimated}\n stateTitle={this.#componentLocale.messages.noDesignSelected}\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-tertiary empty-state-button\"\n onClick={this.#selectFileHandler}\n >\n {this.#componentLocale.messages.selectDesign}\n </button>\n </gx-ide-empty-state>\n );\n }\n };\n\n #renderDesignTree = (): HTMLChTreeViewElement => {\n return (\n <ch-tree-view-render\n part=\"data-tree\"\n class=\"tree-view\"\n id=\"data-tree\"\n showLines=\"last\"\n model={this.designDataTreeDataModel}\n dragDisabled={true}\n dropDisabled={true}\n expandableButton=\"action\"\n expandOnClick={false}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n onSelectedItemsChange={this.#objectsTreeSelectedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #renderFooter = () => {\n const buttonOkDisabled =\n this.designData?.success !== true || this.isLoading;\n return (\n <footer class=\"control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n // button cancel\n id=\"button-cancel\"\n class=\"button-secondary button-cancel\"\n type=\"outlined\"\n onClick={this.#cancel}\n part=\"button button--cancel\"\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // button ok\n id=\"button-ok\"\n class=\"button-primary button-ok\"\n type=\"primary-text-only\"\n onClick={!buttonOkDisabled && this.#confirm}\n part=\"button button--ok\"\n disabled={buttonOkDisabled}\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnOk}\n </button>\n </div>\n </footer>\n );\n };\n\n #evaluatePanelPreview = () => {\n if (this.selectedDesignType === \"panels\") {\n return this.selectedDesignItem?.composition?.preview ? (\n <div\n part=\"data-panel-composition-preview\"\n class=\"panel-item scrollable\"\n >\n <img\n src={this.selectedDesignItem.composition.preview}\n alt=\"Preview\"\n />\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"panel-tab__empty-state\"\n stateTitle={this.#componentLocale.messages.noPanelPreviewAvailable}\n stateIconSrc={\n this.#importAsWebPanelsEl.value === CHECKED_VALUE\n ? WEBPANEL_ICON\n : PANEL_FOR_SD_ICON\n }\n ></gx-ide-empty-state>\n );\n }\n return null;\n };\n\n #renderPanelTab = (): Element => {\n const renderControlsTree =\n (this.selectedDesignType === DESIGN_DATA_TYPE_PANELS ||\n this.selectedDesignType === DESIGN_DATA_TYPE_STENCILS) &&\n this.detailTreeModel.length > 0;\n\n return (\n <div\n class={{\n \"panel-tab\": true,\n \"panel-tab--controls-tree\": renderControlsTree\n }}\n part=\"data-panel-composition-container\"\n >\n {this.#evaluatePanelPreview()}\n\n {renderControlsTree ? (\n <ch-tree-view-render\n part=\"data-panel-composition-tree\"\n class=\"tree-view tree-view-panel-item scrollable\"\n showLines=\"last\"\n model={this.detailTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n ></ch-tree-view-render>\n ) : null}\n </div>\n );\n };\n\n #renderImageTab = () => {\n return (\n <div\n part=\"data-panel-composition-preview\"\n class=\"data-preview\"\n style={{ height: \"100%\" }}\n >\n <img\n src={this.selectedDesignItem ? this.selectedDesignItem : undefined}\n alt=\"Preview\"\n class={\n this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES\n ? \"checker-board\"\n : undefined\n }\n />\n </div>\n );\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.renderedTabs.clear();\n this.renderedTabs.add(event.detail.newSelectedId);\n this.reRenderCounter++;\n this.activeTabs.set(this.selectedDesignType, event.detail.newSelectedId);\n };\n\n #renderDesignTabsCh = (): HTMLChTabRenderElement => {\n return (\n <ch-tab-render\n // main section\n class={{\n \"tab\": true,\n \"scrollable\": true,\n \"fit-images\": this.fitImages\n }}\n tabListPosition=\"block-start\"\n model={this.tabsModel}\n selectedId={this.activeTabs.get(this.selectedDesignType)}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n >\n <div\n slot={TAB_DATA.tokens.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.tokens.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.tokens.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.styles.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.styles.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.styles.slot}></slot>\n </div>\n\n <div\n class=\"composition-tab-slot scrollable\"\n slot={TAB_DATA.composition.slot}\n style={{\n display: this.renderedTabs.has(TAB_DATA.composition.id)\n ? \"\"\n : \"none\"\n }}\n >\n {this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES ||\n this.selectedDesignType === DESIGN_DATA_TYPE_FONTS\n ? this.#renderImageTab()\n : this.#renderPanelTab()}\n </div>\n\n <div\n slot={TAB_DATA.layout.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.layout.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.layout.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.code.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.code.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.code.slot}></slot>\n </div>\n </ch-tab-render>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {this.#renderHeader()}\n {this.#renderMain()}\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type LoadMessageCallback = (message: MessageData) => void;\nexport type LoadCallback = (\n source: string | File,\n designSystem: string,\n importAsWebPanels: boolean,\n token: string | undefined,\n onMessage: LoadMessageCallback\n) => Promise<DesignData | undefined>;\nexport type LoadPanelDataCallback = (id: string) => Promise<DesignPanelData>;\nexport type LoadImageCallback = (id: string) => Promise<string>;\nexport type LoadFontCallback = (id: string) => Promise<string>;\nexport type LoadDesignSystemCallback = (\n id: string\n) => Promise<DesignSystemData>;\nexport type TextEditorFactoryCallback = (\n type: TextEditorType,\n parent: string,\n text: string\n) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type RequiresAccessTokenCallback = (source: string) => Promise<boolean>;\nexport type ConfirmCallback = (data: DesignImportData) => Promise<boolean>;\nexport type CancelCallback = () => Promise<void>;\n\nexport interface MessageData {\n type: \"error\" | \"warning\" | \"info\";\n text: string;\n}\n\nexport interface DesignData {\n panels: DesignItemData[];\n stencils: DesignItemData[];\n images: DesignItemData[];\n designSystem: DesignItemData[];\n fonts: DesignItemData[];\n success: boolean;\n}\n\nexport interface DesignItemData {\n id: string;\n name: string;\n warning?: string;\n variants?: DesignItemData[];\n}\n\nexport interface DesignPanelData {\n composition: DesignPanelCompositionData;\n code?: string;\n layout?: string;\n}\n\nexport interface DesignPanelCompositionData {\n preview?: string;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignPanelControlData {\n name: string;\n type: string;\n leaf?: boolean;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignSystemData {\n tokens: string;\n styles: string;\n}\n\ntype DesignItemDataDetail = DesignPanelData | DesignSystemData | string;\n\nexport interface DesignImportData {\n panels: string[];\n stencils: string[];\n fonts: string[];\n moduleId: string;\n images: string[];\n styleName: string;\n importAsWebPanels: boolean;\n}\n\nexport type DesignType =\n | typeof DESIGN_DATA_TYPE_PANELS\n | typeof DESIGN_DATA_TYPE_STENCILS\n | typeof DESIGN_DATA_TYPE_IMAGES\n | typeof DESIGN_DATA_TYPE_DESIGN_SYSTEM\n | typeof DESIGN_DATA_TYPE_FONTS;\n\nexport type DesignObjectType = {\n [Key in DesignType]: string;\n};\n\nexport type ItemLoadedInfo = {\n designType: DesignType;\n designDataDetail: DesignItemDataDetail;\n};\n\nexport type TextEditorType = \"code\" | \"html\" | \"styles\" | \"tokens\";\n\nexport type ReactiveSettings = {\n path: boolean;\n style: boolean;\n module: boolean;\n importAsWebPanels: boolean;\n};\n\nexport type ObjectTreeCheckedStatus = {\n all: [];\n none: [\"-\"];\n};\n\ntype ReactiveSettingsValues = {\n path: string;\n style: string;\n moduleId: string;\n importAsWebPanels: boolean;\n};\n"],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { r as t, g as e, h as s, H as i, a } from "./p-25a9f1d7.js";
|
|
2
2
|
|
|
3
|
-
import { g as n } from "./p-
|
|
4
|
-
|
|
5
|
-
import "./p-5ac47c69.js";
|
|
3
|
+
import { g as n } from "./p-ede7bd20.js";
|
|
6
4
|
|
|
7
5
|
import { c as o } from "./p-13738332.js";
|
|
8
6
|
|
|
9
|
-
import { v as r } from "./p-
|
|
7
|
+
import { v as r } from "./p-549b8f0c.js";
|
|
10
8
|
|
|
11
|
-
import { L as h } from "./p-
|
|
9
|
+
import { L as h } from "./p-857866f8.js";
|
|
12
10
|
|
|
13
11
|
const mapKbsModelToActionListModel = t => {
|
|
14
12
|
const e = [];
|
|
@@ -37,7 +35,7 @@ var d = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
|
|
|
37
35
|
return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
|
|
38
36
|
};
|
|
39
37
|
|
|
40
|
-
var f, p, u, m, b,
|
|
38
|
+
var f, p, u, m, b, w, g, v, k, y, M, W, _, x, T, j, C, S, E, $, P, z, A, I;
|
|
41
39
|
|
|
42
40
|
const L = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
|
|
43
41
|
|
|
@@ -66,9 +64,9 @@ const N = class {
|
|
|
66
64
|
} ]);
|
|
67
65
|
m.set(this, void 0);
|
|
68
66
|
b.set(this, []);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
w.set(this, []);
|
|
68
|
+
g.set(this, e(`./gx-ide-assets/create-kb-from-server/shortcuts.json`));
|
|
69
|
+
v.set(this, void 0);
|
|
72
70
|
k.set(this, false);
|
|
73
71
|
y.set(this, void 0);
|
|
74
72
|
M.set(this, void 0);
|
|
@@ -86,29 +84,26 @@ const N = class {
|
|
|
86
84
|
}));
|
|
87
85
|
T.set(this, (async () => {
|
|
88
86
|
if (this.versionSelectedType !== "Select") {
|
|
89
|
-
c(this,
|
|
87
|
+
c(this, w, [], "f");
|
|
90
88
|
}
|
|
91
89
|
this.createKBCallback({
|
|
92
|
-
selectedKB: d(this,
|
|
90
|
+
selectedKB: d(this, v, "f"),
|
|
93
91
|
versionSelected: this.versionSelectedType,
|
|
94
92
|
localKBName: this.localKbNameInputValue,
|
|
95
|
-
versionList: d(this,
|
|
93
|
+
versionList: d(this, w, "f")
|
|
96
94
|
}).then((t => {
|
|
97
95
|
this.validatableControls = r(t, this.validatableControls);
|
|
98
96
|
}));
|
|
99
97
|
}));
|
|
100
98
|
// TODO: evaluate if this should be a global helper function.
|
|
101
99
|
// It is used on other dialogs as well.
|
|
102
|
-
j.set(this, (t => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
delay: o.tooltipSettings.delay
|
|
110
|
-
}, this.validatableControls.get(t.id).message);
|
|
111
|
-
}));
|
|
100
|
+
j.set(this, (t => this.validatableControls?.get(t?.id)?.hasError && this.validatableControls.get(t.id)?.message && s("ch-tooltip", {
|
|
101
|
+
class: "tooltip",
|
|
102
|
+
actionElement: t,
|
|
103
|
+
blockAlign: o.tooltipSettings.blockAlign,
|
|
104
|
+
inlineAlign: o.tooltipSettings.inlineAlign,
|
|
105
|
+
delay: o.tooltipSettings.delay
|
|
106
|
+
}, this.validatableControls.get(t.id).message)));
|
|
112
107
|
C.set(this, (t => {
|
|
113
108
|
this.filterValue = t.detail.toLowerCase();
|
|
114
109
|
this.kbsFilteredActionListModel = d(this, b, "f").filter((t => t.caption.toLowerCase().includes(this.filterValue)));
|
|
@@ -144,20 +139,20 @@ const N = class {
|
|
|
144
139
|
}));
|
|
145
140
|
P.set(this, (async () => {
|
|
146
141
|
if (this.selectKBVersionsCallback) {
|
|
147
|
-
await this.selectKBVersionsCallback(d(this,
|
|
148
|
-
if (t
|
|
149
|
-
c(this,
|
|
142
|
+
await this.selectKBVersionsCallback(d(this, v, "f")).then((t => {
|
|
143
|
+
if (t?.length) {
|
|
144
|
+
c(this, w, t.map((t => ({
|
|
150
145
|
id: t.id,
|
|
151
146
|
name: t.name
|
|
152
147
|
}))), "f");
|
|
153
|
-
if (t.length === 1 && d(this,
|
|
154
|
-
this.localKbNameInputValue = d(this,
|
|
148
|
+
if (t.length === 1 && d(this, w, "f")[0].id === 0) {
|
|
149
|
+
this.localKbNameInputValue = d(this, v, "f");
|
|
155
150
|
this.versionsValueInput = d(this, m, "f").kb.versionsPlaceholder;
|
|
156
151
|
} else if (t.length > 1) {
|
|
157
|
-
this.localKbNameInputValue = d(this,
|
|
152
|
+
this.localKbNameInputValue = d(this, v, "f");
|
|
158
153
|
this.versionsValueInput = `${t.length.toString()} ${d(this, m, "f").kb.versionSelectedFieldValue}`;
|
|
159
154
|
} else {
|
|
160
|
-
this.localKbNameInputValue = `${d(this,
|
|
155
|
+
this.localKbNameInputValue = `${d(this, v, "f")}_${d(this, w, "f")[0].name}`;
|
|
161
156
|
this.versionsValueInput = `${t[0].name} ${d(this, m, "f").kb.oneVersionSelectedFieldValue}`;
|
|
162
157
|
}
|
|
163
158
|
}
|
|
@@ -165,22 +160,21 @@ const N = class {
|
|
|
165
160
|
}
|
|
166
161
|
}));
|
|
167
162
|
z.set(this, (t => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (s === undefined) {
|
|
163
|
+
const e = t.detail[0]?.item;
|
|
164
|
+
if (e === undefined) {
|
|
171
165
|
this.enableSelectVersionsButton = false;
|
|
172
|
-
c(this,
|
|
166
|
+
c(this, v, undefined, "f");
|
|
173
167
|
return;
|
|
174
168
|
}
|
|
175
169
|
this.enableSelectVersionsButton = true;
|
|
176
|
-
c(this,
|
|
170
|
+
c(this, v, e.id, "f");
|
|
177
171
|
if (d(this, k, "f")) {
|
|
178
172
|
return;
|
|
179
173
|
}
|
|
180
|
-
this.localKbNameInputValue =
|
|
174
|
+
this.localKbNameInputValue = e.caption;
|
|
181
175
|
if (this.versionSelectedType === "Select") {
|
|
182
176
|
this.versionsValueInput = "";
|
|
183
|
-
c(this,
|
|
177
|
+
c(this, w, [], "f");
|
|
184
178
|
}
|
|
185
179
|
}));
|
|
186
180
|
A.set(this, (t => {
|
|
@@ -231,7 +225,7 @@ const N = class {
|
|
|
231
225
|
}, s("ch-theme", {
|
|
232
226
|
model: L
|
|
233
227
|
}), s("ch-shortcuts", {
|
|
234
|
-
src: d(this,
|
|
228
|
+
src: d(this, g, "f"),
|
|
235
229
|
ref: t => this.chShortcutsEl = t
|
|
236
230
|
}), s("section", {
|
|
237
231
|
class: "section"
|
|
@@ -315,7 +309,7 @@ const N = class {
|
|
|
315
309
|
};
|
|
316
310
|
|
|
317
311
|
f = new WeakMap, p = new WeakMap, u = new WeakMap, m = new WeakMap, b = new WeakMap,
|
|
318
|
-
|
|
312
|
+
w = new WeakMap, g = new WeakMap, v = new WeakMap, k = new WeakMap, y = new WeakMap,
|
|
319
313
|
M = new WeakMap, W = new WeakMap, _ = new WeakMap, x = new WeakMap, T = new WeakMap,
|
|
320
314
|
j = new WeakMap, C = new WeakMap, S = new WeakMap, E = new WeakMap, $ = new WeakMap,
|
|
321
315
|
P = new WeakMap, z = new WeakMap, A = new WeakMap, I = new WeakMap;
|
|
@@ -323,4 +317,4 @@ P = new WeakMap, z = new WeakMap, A = new WeakMap, I = new WeakMap;
|
|
|
323
317
|
N.style = l;
|
|
324
318
|
|
|
325
319
|
export { N as gx_ide_create_kb_from_server };
|
|
326
|
-
//# sourceMappingURL=p-
|
|
320
|
+
//# sourceMappingURL=p-a86a8692.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","getIconPath","category","colorType","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_searchKbsEl","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","get","hasError","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","focus","call","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","startImgSrc","onInput","placeholder","searchKbsPlaceholder","selection","onSelectedItemsChange","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #searchKbsEl!: HTMLChEditElement;\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n componentDidLoad() {\n (this.#searchKbsEl as HTMLElement).focus();\n\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n await this.#init();\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ref={el => (this.#searchKbsEl = el as HTMLChEditElement)}\n ></ch-edit>\n\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={el =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#localKBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
|