@genexus/genexus-ide-ui 1.1.4 → 1.1.6
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-55d37767.js +86 -0
- package/dist/cjs/code-render-55d37767.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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +5 -6
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-bpm-task-documents.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-create-kb-from-server.cjs.entry.js +3 -4
- 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 +2 -3
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -4
- 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 +2 -3
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +6 -7
- 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 +5 -6
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +4 -5
- 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 +4 -5
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +3 -4
- 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 +3 -4
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +5 -6
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/index.cjs.js +8 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/common.js +19 -6
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/images/ai-avatar.svg +11 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
- 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/data-selector/data-selector.css +1 -0
- package/dist/collection/components/object-selector/object-selector.css +1 -0
- package/dist/collection/components/team-dev/commit/commit.css +1 -0
- package/dist/collection/components/team-dev/update/update.css +2 -0
- package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
- package/dist/collection/components/ww-files/ww-files.css +1 -0
- package/dist/collection/components/ww-images/ww-images.css +1 -0
- package/dist/collection/index.js +5 -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 +1 -0
- 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/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/entity-selector.js +1 -2
- 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/gx-ide-bpm-app-declaration.js +2 -3
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +1 -2
- package/dist/components/gx-ide-bpm-task-documents.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-create-kb-from-server.js +1 -2
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +1 -2
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +1 -2
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +2 -3
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +1 -2
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +1 -2
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +1 -2
- package/dist/components/gx-ide-file-uploader.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 +1 -2
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +1 -2
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +1 -2
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +1 -2
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +2 -3
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +1 -2
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -2
- 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 +1 -2
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +1 -2
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-splash.js +1 -2
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -2
- 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-update.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +1 -2
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +2 -3
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +1 -1
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/index.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-53b3b0bd.js +83 -0
- package/dist/esm/code-render-53b3b0bd.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/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -2
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +2 -3
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -2
- package/dist/esm/gx-ide-bpm-task-documents.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-create-kb-from-server.entry.js +1 -2
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +1 -2
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -2
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +2 -3
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +1 -2
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -2
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +1 -2
- 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 +1 -2
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -2
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -2
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -3
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +2 -3
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +2 -3
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +2 -3
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +1 -2
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -2
- 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 +1 -2
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -2
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-splash.entry.js +2 -3
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -2
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +1 -2
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +2 -3
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +2 -2
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/index.js +8 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- 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/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 +8 -2
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js → p-01d96378.entry.js} +3 -5
- package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js.map → p-01d96378.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f51adb3d.entry.js → p-036d005d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-04205aa4.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js.map → p-04205aa4.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-961bb2cc.entry.js → p-0bdf34f2.entry.js} +3 -5
- package/dist/genexus-ide-ui/{p-961bb2cc.entry.js.map → p-0bdf34f2.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-1c7ea1cb.entry.js} +8 -10
- package/dist/genexus-ide-ui/{p-fa18a70c.entry.js.map → p-1c7ea1cb.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-29c69938.entry.js} +8 -10
- package/dist/genexus-ide-ui/{p-530c32aa.entry.js.map → p-29c69938.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-67762237.entry.js → p-385c9544.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-3da8db15.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js.map → p-3da8db15.entry.js.map} +1 -1
- 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-56331289.entry.js → p-4538dea5.entry.js} +13 -15
- package/dist/genexus-ide-ui/{p-56331289.entry.js.map → p-4538dea5.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-48062d23.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-4c717aa7.entry.js.map → p-48062d23.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-6d2174ed.entry.js → p-4d0ba4f6.entry.js} +3 -5
- package/dist/genexus-ide-ui/{p-6d2174ed.entry.js.map → p-4d0ba4f6.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-4e943649.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-76c3fc51.entry.js.map → p-4e943649.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-67e0b419.entry.js} +10 -12
- package/dist/genexus-ide-ui/{p-29a026bb.entry.js.map → p-67e0b419.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-bbf88f43.entry.js → p-690942cb.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-bbf88f43.entry.js.map → p-690942cb.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-84618917.entry.js → p-6f898249.entry.js} +3 -5
- package/dist/genexus-ide-ui/{p-84618917.entry.js.map → p-6f898249.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-704499e5.entry.js} +40 -42
- package/dist/genexus-ide-ui/{p-fecc50e4.entry.js.map → p-704499e5.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-7abe2214.entry.js} +8 -10
- package/dist/genexus-ide-ui/{p-fe490103.entry.js.map → p-7abe2214.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-7d8812b0.entry.js} +17 -19
- package/dist/genexus-ide-ui/{p-c747afac.entry.js.map → p-7d8812b0.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-edf889d2.entry.js → p-88c81f18.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-edf889d2.entry.js.map → p-88c81f18.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-1072bf33.entry.js → p-8cb937b7.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-1072bf33.entry.js.map → p-8cb937b7.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-9fa1200f.entry.js} +12 -14
- package/dist/genexus-ide-ui/{p-fdf41406.entry.js.map → p-9fa1200f.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-fcecdafa.entry.js → p-a1415a9c.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-aab809c4.entry.js} +11 -13
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-aab809c4.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-c38ce0bf.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-833c3585.entry.js.map → p-c38ce0bf.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/p-c5178973.js +109 -0
- package/dist/genexus-ide-ui/p-c5178973.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-c7badbf1.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-eea944d4.entry.js.map → p-c7badbf1.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-2b3938b4.entry.js → p-d2107cb2.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-d3767a7d.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-da473001.entry.js +338 -0
- package/dist/genexus-ide-ui/p-da473001.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-e28e6bc4.entry.js} +3 -5
- package/dist/genexus-ide-ui/{p-007173ef.entry.js.map → p-e28e6bc4.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-eb9e760d.entry.js} +10 -12
- package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js.map → p-eb9e760d.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/p-ec0809a7.entry.js +317 -0
- package/dist/genexus-ide-ui/p-ec0809a7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-ecba870e.entry.js} +9 -11
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-ecba870e.entry.js.map} +1 -1
- 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/types/common/common.d.ts +1 -1
- 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 +73 -0
- package/dist/types/index.d.ts +5 -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/gx-ide-chat-container.cjs.entry.js +0 -62
- package/dist/cjs/gx-ide-chat-container.cjs.entry.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/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-5ac47c69.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-9a609b51.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-db9c3b37.entry.js +0 -85
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-f51adb3d.entry.js.map → p-036d005d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-67762237.entry.js.map → p-385c9544.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fcecdafa.entry.js.map → p-a1415a9c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2b3938b4.entry.js.map → p-d2107cb2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ba7d1472.entry.js.map → p-d3767a7d.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-bpm-app-declaration.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/application-declaration/bpm-app-declaration.scss?tag=gx-ide-bpm-app-declaration&encapsulation=shadow","src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\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 grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr max-content;\n}\n\n.data-mapping-grid-container,\n.data-mapping-grid-container .field {\n overflow: auto;\n block-size: 100%;\n}\n\n.tabular-grid-application-declaration {\n overflow: auto;\n}\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.pill-tag {\n // base styles for this class defined on \"gx-ide-common.scss\"\n min-inline-size: 40px;\n margin-inline-end: 10px;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-application-declaration\",\n $tabular-grid-cell-node-type: \"element\",\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// WA\n.tabular-grid-cell:nth-child(2) {\n padding: 0 !important;\n display: grid;\n align-items: stretch;\n justify-content: stretch;\n --ds-focus-border-width: none;\n}\n.tabular-grid-cell:nth-child(3) {\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n}\n.tabular-grid {\n overflow: auto;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\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 #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-md\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-md\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"control-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-bpm-app-declaration.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/application-declaration/bpm-app-declaration.scss?tag=gx-ide-bpm-app-declaration&encapsulation=shadow","src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\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 grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr max-content;\n}\n\n.data-mapping-grid-container,\n.data-mapping-grid-container .field {\n overflow: auto;\n block-size: 100%;\n}\n\n.tabular-grid-application-declaration {\n overflow: auto;\n}\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.pill-tag {\n // base styles for this class defined on \"gx-ide-common.scss\"\n min-inline-size: 40px;\n margin-inline-end: 10px;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-application-declaration\",\n $tabular-grid-cell-node-type: \"element\",\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// WA\n.tabular-grid-cell:nth-child(2) {\n padding: 0 !important;\n display: grid;\n align-items: stretch;\n justify-content: stretch;\n --ds-focus-border-width: none;\n}\n.tabular-grid-cell:nth-child(3) {\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n}\n.tabular-grid {\n overflow: auto;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\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 #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-md\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-md\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"control-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"],"version":3}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, g as getAssetPath, h, H as Host, a as getElement } from './index-10af18cf.js';
|
|
2
2
|
import { L as Locale } from './locale-e5107fad.js';
|
|
3
|
-
import { g as getIconPath } from './
|
|
4
|
-
import './MERCURY_ASSETS-bbdf7018.js';
|
|
3
|
+
import { g as getIconPath } from './MERCURY_ASSETS-039222dd.js';
|
|
5
4
|
|
|
6
5
|
const taskDocumentsToActionListItemModel = (objects, selectedDocument) => {
|
|
7
6
|
const actionListDocuments = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-bpm-task-documents.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/task-documents/helpers.ts","src/components/bpm/task-documents/task-documents.scss?tag=gx-ide-bpm-task-documents&encapsulation=shadow","src/components/bpm/task-documents/task-documents.tsx"],"sourcesContent":["import { TaskDocumentData } from \"./task-documents\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\nexport const taskDocumentsToActionListItemModel = (\n objects: TaskDocumentData[],\n selectedDocument?: TaskDocumentData\n): ActionListItemModel[] => {\n const actionListDocuments: ActionListItemModel[] = [];\n objects?.forEach((object, index) => {\n const itemId = `task-${object.name}`;\n const itemValue = object.name;\n actionListDocuments.push({\n id: itemId,\n caption: itemValue,\n selected: selectedDocument\n ? selectedDocument.name === object.name\n : index === 0,\n type: \"actionable\"\n });\n });\n return actionListDocuments;\n};\n\n/* References Types*/\n\n/**\n * @description This function converts string[] to ComboBoxItemModel[]\n */\nexport const convertSuggestedDocumentsToSuggestItems = (\n suggestedDocuments: string[]\n): ComboBoxItemModel[] => {\n const suggestItems: ComboBoxItemModel[] = [];\n if (suggestedDocuments.length) {\n suggestedDocuments.forEach((suggestedDocument: string) => {\n const suggestItem: ComboBoxItemModel = {\n value: suggestedDocument,\n caption: suggestedDocument\n };\n suggestItems.push(suggestItem);\n });\n }\n return suggestItems;\n};\n",":host {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n.section {\n display: contents;\n}\n.main {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n\n.documents__header {\n grid-template-columns: 1fr max-content;\n}\n.documents__suggest {\n flex: 1;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n convertSuggestedDocumentsToSuggestItems,\n taskDocumentsToActionListItemModel\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CHECKED_VALUE = \"true\";\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/list-box\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\nconst MODULE_ICON = getIconPath({\n category: \"objects\",\n name: \"module\"\n});\nconst MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst DELETE_ICON = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst NODENAME = \"CH-CHECKBOX\";\n@Component({\n tag: \"gx-ide-bpm-task-documents\",\n styleUrl: \"task-documents.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-task-documents\"]\n})\nexport class GxIdeBpmTaskDocuments {\n #_componentLocale: any;\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-task-documents/shortcuts.json`\n );\n\n @Element() el: HTMLGxIdeBpmTaskDocumentsElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n #deleteEnabledCheckboxEl: HTMLChCheckboxElement;\n #deleteRequiredCheckboxEl: HTMLChCheckboxElement;\n\n #newEnabledCheckboxEl: HTMLChCheckboxElement;\n #newRequiredCheckboxEl: HTMLChCheckboxElement;\n #readEnabledCheckboxEl: HTMLChCheckboxElement;\n #readRequiredCheckboxEl: HTMLChCheckboxElement;\n #updateEnabledCheckboxEl: HTMLChCheckboxElement;\n #updateRequiredCheckboxEl: HTMLChCheckboxElement;\n\n /**\n * Documents state for the action list\n */\n @State() documentsActionListState: ActionListItemModel[] = [];\n\n @State() documentName: string = null;\n\n /**\n * Document selected in the action list\n */\n @State() selectedDocument: TaskDocumentData = null;\n\n /**\n * Possible suggestions for the documents\n */\n @State() suggestedDocuments: ComboBoxItemModel[];\n\n /**\n * @property documents\n * @description The current value of the documents for the task\n */\n\n @Prop({ mutable: true }) documents: TaskDocumentData[];\n\n /**\n * @property cancelCallback\n * @description Callback invoked when the user cancels the application declaration (Cancel button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * @property confirmCallback\n * @description Callback invoked when the user confirms the application declaration (Ok button)\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * @property selectDocumentCallback\n * @description Callback invoked when the user presses the '...' button to access the WorkflowDocuments selection dialog. Returns the name of the document to be inserted in the input or 'undefined' if it was canceled.\n */\n @Prop() readonly selectDocumentCallback: SelectDocumentCallback;\n\n /**\n * @property suggestDocumentsCallback\n * @description Callback that must be called to obtain options for the document input.\n */\n @Prop() readonly suggestDocumentsCallback: SuggestDocumentsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#refreshDocumentsActionListState();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n const shadowRoot = this.el.shadowRoot;\n const checkboxes = this.#getAllCheckboxes(\n shadowRoot as unknown as HTMLElement\n );\n if (checkboxes) {\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener(\n \"input\",\n this.#handleCheckboxChange.bind(this)\n );\n });\n }\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #getAllCheckboxes(node: HTMLElement): HTMLChCheckboxElement[] {\n const checkboxes: HTMLChCheckboxElement[] = [];\n\n node.childNodes.forEach(child => {\n if (child.nodeName === NODENAME) {\n checkboxes.push(child as HTMLChCheckboxElement);\n } else if (child instanceof HTMLElement) {\n checkboxes.push(...this.#getAllCheckboxes(child));\n }\n });\n\n return checkboxes;\n }\n #addDocument(documentName: string) {\n const documentExists = this.documents.some(\n doc => doc.name === documentName\n );\n if (!documentExists) {\n this.documents = [\n ...this.documents,\n {\n name: documentName,\n deleteEnabled: false,\n deleteRequired: false,\n newEnabled: false,\n newRequired: false,\n readEnabled: false,\n readRequired: false,\n updateEnabled: false,\n updateRequired: false\n }\n ];\n this.#refreshDocumentsActionListState();\n }\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.documents);\n };\n\n #documentSuggestValueChangedHandler = async (\n e: ChComboBoxRenderCustomEvent<string> & InputEvent\n ) => {\n const value = e.detail;\n this.suggestDocumentsCallback(value)\n .then(result => {\n this.suggestedDocuments =\n convertSuggestedDocumentsToSuggestItems(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n #handleCheckboxChange() {\n const data: TaskDocumentData = {\n name: this.selectedDocument.name,\n readEnabled: this.#readEnabledCheckboxEl.value === CHECKED_VALUE,\n readRequired: this.#readRequiredCheckboxEl.value === CHECKED_VALUE,\n newEnabled: this.#newEnabledCheckboxEl.value === CHECKED_VALUE,\n newRequired: this.#newRequiredCheckboxEl.value === CHECKED_VALUE,\n updateEnabled: this.#updateEnabledCheckboxEl.value === CHECKED_VALUE,\n updateRequired: this.#updateRequiredCheckboxEl.value === CHECKED_VALUE,\n deleteEnabled: this.#deleteEnabledCheckboxEl.value === CHECKED_VALUE,\n deleteRequired: this.#deleteRequiredCheckboxEl.value === CHECKED_VALUE\n };\n\n this.selectedDocument = data;\n\n this.documents = this.documents.map(doc =>\n doc.name === this.selectedDocument.name ? this.selectedDocument : doc\n );\n }\n\n #handleDeleteButton = () => {\n this.documents = this.documents.filter(\n doc => doc.name !== this.selectedDocument.name\n );\n this.selectedDocument = null;\n this.#refreshDocumentsActionListState();\n };\n\n #listenDocumentSelected = async (e: CustomEvent<string>) => {\n if (e.detail) {\n this.#addDocument(e.detail);\n }\n };\n\n #objectSelectionChangedHandler = (e: CustomEvent) => {\n this.selectedDocument = this.documents.find(\n doc => doc.name === e.detail[0]?.item.caption\n );\n };\n\n #refreshDocumentsActionListState = () => {\n this.documents?.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n this.documentsActionListState = taskDocumentsToActionListItemModel(\n this.documents,\n this.selectedDocument\n );\n\n this.selectedDocument =\n this.selectedDocument || this.documents?.[0] || null;\n };\n\n #selectDocumentCallbackHandler = async () => {\n const callbackResult = await this.selectDocumentCallback();\n if (callbackResult) {\n this.documentName = callbackResult;\n this.#addDocument(callbackResult);\n }\n };\n\n #renderActions = () => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid scrollable\"\n rowSelectionMode=\"none\"\n keyboardNavigationMode=\"focus\"\n columnResizeMode=\"single\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"code\"\n columnName=\"\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"enabled\"\n settingable={false}\n columnName={this.#_componentLocale.actions.enabledCheckbox}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"required\"\n settingable={false}\n columnName={this.#_componentLocale.actions.requiredCheckbox}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n <ch-tabular-grid-row\n // read\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.readLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readEnabled.toString()}\n ref={el =>\n (this.#readEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readRequired.toString()}\n ref={el =>\n (this.#readRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // new\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.newLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newEnabled.toString()}\n ref={el =>\n (this.#newEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newRequired.toString()}\n ref={el =>\n (this.#newRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // update\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.updateLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateEnabled.toString()}\n ref={el =>\n (this.#updateEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateRequired.toString()}\n ref={el =>\n (this.#updateRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // delete\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.deleteLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteEnabled.toString()}\n ref={el =>\n (this.#deleteEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteRequired.toString()}\n ref={el =>\n (this.#deleteRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderEmptyState = () => {\n return (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={MODULE_ICON}\n isAnimated={this.#renderedFirstTime}\n stateTitle={this.#_componentLocale.emptyRightPanelInfo.title}\n >\n <button\n class=\"button-secondary\"\n onClick={this.#selectDocumentCallbackHandler}\n >\n {this.#_componentLocale.emptyRightPanelInfo.buttonCaption}\n </button>\n </gx-ide-empty-state>\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelCallbackHandler}\n part=\"button-cancel\"\n >\n {this.#_componentLocale.footer.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#confirmCallbackHandler}\n part=\"button-create\"\n >\n {this.#_componentLocale.footer.confirmButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #renderMain = () => {\n return [\n <div class=\"documents__list spacing-body-inline\">\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n model={this.documentsActionListState}\n onSelectedItemsChange={this.#objectSelectionChangedHandler}\n ></ch-action-list-render>\n </div>,\n this.#renderActions()\n ];\n };\n\n render() {\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 <section class=\"section\">\n <div class=\"main field-group\">\n <div class=\"documents__header buttons-spacer spacing-body-inline spacing-body-block-start\">\n <ch-combo-box-render\n class=\"combo-box documents__suggest\"\n model={this.suggestedDocuments}\n placeholder={\n this.#_componentLocale.documents.suggestPlaceholder\n }\n suggest={true}\n onInput={this.#documentSuggestValueChangedHandler}\n onChange={this.#listenDocumentSelected}\n suggestOptions={{\n alreadyProcessed: false,\n autoExpand: true,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false\n }}\n ></ch-combo-box-render>\n\n <span>\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n onClick={this.#selectDocumentCallbackHandler}\n >\n <ch-image class=\"icon-sm\" src={MORE_ICON}></ch-image>\n </button>\n\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n onClick={this.#handleDeleteButton}\n >\n <ch-image class=\"icon-sm\" src={DELETE_ICON}></ch-image>\n </button>\n </span>\n </div>\n\n {this.documentsActionListState.length\n ? this.#renderMain()\n : this.#renderEmptyState()}\n </div>\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type TaskDocumentData = {\n name: string;\n readEnabled: boolean;\n readRequired: boolean;\n newEnabled: boolean;\n newRequired: boolean;\n updateEnabled: boolean;\n updateRequired: boolean;\n deleteEnabled: boolean;\n deleteRequired: boolean;\n};\n\nexport type SuggestDocumentsCallback = (\n documentName: string\n) => Promise<string[] | undefined>;\nexport type SelectDocumentCallback = () => Promise<string | undefined>;\nexport type ConfirmCallback = (data: TaskDocumentData[]) => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-bpm-task-documents.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/task-documents/helpers.ts","src/components/bpm/task-documents/task-documents.scss?tag=gx-ide-bpm-task-documents&encapsulation=shadow","src/components/bpm/task-documents/task-documents.tsx"],"sourcesContent":["import { TaskDocumentData } from \"./task-documents\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\nexport const taskDocumentsToActionListItemModel = (\n objects: TaskDocumentData[],\n selectedDocument?: TaskDocumentData\n): ActionListItemModel[] => {\n const actionListDocuments: ActionListItemModel[] = [];\n objects?.forEach((object, index) => {\n const itemId = `task-${object.name}`;\n const itemValue = object.name;\n actionListDocuments.push({\n id: itemId,\n caption: itemValue,\n selected: selectedDocument\n ? selectedDocument.name === object.name\n : index === 0,\n type: \"actionable\"\n });\n });\n return actionListDocuments;\n};\n\n/* References Types*/\n\n/**\n * @description This function converts string[] to ComboBoxItemModel[]\n */\nexport const convertSuggestedDocumentsToSuggestItems = (\n suggestedDocuments: string[]\n): ComboBoxItemModel[] => {\n const suggestItems: ComboBoxItemModel[] = [];\n if (suggestedDocuments.length) {\n suggestedDocuments.forEach((suggestedDocument: string) => {\n const suggestItem: ComboBoxItemModel = {\n value: suggestedDocument,\n caption: suggestedDocument\n };\n suggestItems.push(suggestItem);\n });\n }\n return suggestItems;\n};\n",":host {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n.section {\n display: contents;\n}\n.main {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n\n.documents__header {\n grid-template-columns: 1fr max-content;\n}\n.documents__suggest {\n flex: 1;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n convertSuggestedDocumentsToSuggestItems,\n taskDocumentsToActionListItemModel\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CHECKED_VALUE = \"true\";\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/list-box\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\nconst MODULE_ICON = getIconPath({\n category: \"objects\",\n name: \"module\"\n});\nconst MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst DELETE_ICON = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst NODENAME = \"CH-CHECKBOX\";\n@Component({\n tag: \"gx-ide-bpm-task-documents\",\n styleUrl: \"task-documents.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-task-documents\"]\n})\nexport class GxIdeBpmTaskDocuments {\n #_componentLocale: any;\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-task-documents/shortcuts.json`\n );\n\n @Element() el: HTMLGxIdeBpmTaskDocumentsElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n #deleteEnabledCheckboxEl: HTMLChCheckboxElement;\n #deleteRequiredCheckboxEl: HTMLChCheckboxElement;\n\n #newEnabledCheckboxEl: HTMLChCheckboxElement;\n #newRequiredCheckboxEl: HTMLChCheckboxElement;\n #readEnabledCheckboxEl: HTMLChCheckboxElement;\n #readRequiredCheckboxEl: HTMLChCheckboxElement;\n #updateEnabledCheckboxEl: HTMLChCheckboxElement;\n #updateRequiredCheckboxEl: HTMLChCheckboxElement;\n\n /**\n * Documents state for the action list\n */\n @State() documentsActionListState: ActionListItemModel[] = [];\n\n @State() documentName: string = null;\n\n /**\n * Document selected in the action list\n */\n @State() selectedDocument: TaskDocumentData = null;\n\n /**\n * Possible suggestions for the documents\n */\n @State() suggestedDocuments: ComboBoxItemModel[];\n\n /**\n * @property documents\n * @description The current value of the documents for the task\n */\n\n @Prop({ mutable: true }) documents: TaskDocumentData[];\n\n /**\n * @property cancelCallback\n * @description Callback invoked when the user cancels the application declaration (Cancel button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * @property confirmCallback\n * @description Callback invoked when the user confirms the application declaration (Ok button)\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * @property selectDocumentCallback\n * @description Callback invoked when the user presses the '...' button to access the WorkflowDocuments selection dialog. Returns the name of the document to be inserted in the input or 'undefined' if it was canceled.\n */\n @Prop() readonly selectDocumentCallback: SelectDocumentCallback;\n\n /**\n * @property suggestDocumentsCallback\n * @description Callback that must be called to obtain options for the document input.\n */\n @Prop() readonly suggestDocumentsCallback: SuggestDocumentsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#refreshDocumentsActionListState();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n const shadowRoot = this.el.shadowRoot;\n const checkboxes = this.#getAllCheckboxes(\n shadowRoot as unknown as HTMLElement\n );\n if (checkboxes) {\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener(\n \"input\",\n this.#handleCheckboxChange.bind(this)\n );\n });\n }\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #getAllCheckboxes(node: HTMLElement): HTMLChCheckboxElement[] {\n const checkboxes: HTMLChCheckboxElement[] = [];\n\n node.childNodes.forEach(child => {\n if (child.nodeName === NODENAME) {\n checkboxes.push(child as HTMLChCheckboxElement);\n } else if (child instanceof HTMLElement) {\n checkboxes.push(...this.#getAllCheckboxes(child));\n }\n });\n\n return checkboxes;\n }\n #addDocument(documentName: string) {\n const documentExists = this.documents.some(\n doc => doc.name === documentName\n );\n if (!documentExists) {\n this.documents = [\n ...this.documents,\n {\n name: documentName,\n deleteEnabled: false,\n deleteRequired: false,\n newEnabled: false,\n newRequired: false,\n readEnabled: false,\n readRequired: false,\n updateEnabled: false,\n updateRequired: false\n }\n ];\n this.#refreshDocumentsActionListState();\n }\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.documents);\n };\n\n #documentSuggestValueChangedHandler = async (\n e: ChComboBoxRenderCustomEvent<string> & InputEvent\n ) => {\n const value = e.detail;\n this.suggestDocumentsCallback(value)\n .then(result => {\n this.suggestedDocuments =\n convertSuggestedDocumentsToSuggestItems(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n #handleCheckboxChange() {\n const data: TaskDocumentData = {\n name: this.selectedDocument.name,\n readEnabled: this.#readEnabledCheckboxEl.value === CHECKED_VALUE,\n readRequired: this.#readRequiredCheckboxEl.value === CHECKED_VALUE,\n newEnabled: this.#newEnabledCheckboxEl.value === CHECKED_VALUE,\n newRequired: this.#newRequiredCheckboxEl.value === CHECKED_VALUE,\n updateEnabled: this.#updateEnabledCheckboxEl.value === CHECKED_VALUE,\n updateRequired: this.#updateRequiredCheckboxEl.value === CHECKED_VALUE,\n deleteEnabled: this.#deleteEnabledCheckboxEl.value === CHECKED_VALUE,\n deleteRequired: this.#deleteRequiredCheckboxEl.value === CHECKED_VALUE\n };\n\n this.selectedDocument = data;\n\n this.documents = this.documents.map(doc =>\n doc.name === this.selectedDocument.name ? this.selectedDocument : doc\n );\n }\n\n #handleDeleteButton = () => {\n this.documents = this.documents.filter(\n doc => doc.name !== this.selectedDocument.name\n );\n this.selectedDocument = null;\n this.#refreshDocumentsActionListState();\n };\n\n #listenDocumentSelected = async (e: CustomEvent<string>) => {\n if (e.detail) {\n this.#addDocument(e.detail);\n }\n };\n\n #objectSelectionChangedHandler = (e: CustomEvent) => {\n this.selectedDocument = this.documents.find(\n doc => doc.name === e.detail[0]?.item.caption\n );\n };\n\n #refreshDocumentsActionListState = () => {\n this.documents?.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n this.documentsActionListState = taskDocumentsToActionListItemModel(\n this.documents,\n this.selectedDocument\n );\n\n this.selectedDocument =\n this.selectedDocument || this.documents?.[0] || null;\n };\n\n #selectDocumentCallbackHandler = async () => {\n const callbackResult = await this.selectDocumentCallback();\n if (callbackResult) {\n this.documentName = callbackResult;\n this.#addDocument(callbackResult);\n }\n };\n\n #renderActions = () => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid scrollable\"\n rowSelectionMode=\"none\"\n keyboardNavigationMode=\"focus\"\n columnResizeMode=\"single\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"code\"\n columnName=\"\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"enabled\"\n settingable={false}\n columnName={this.#_componentLocale.actions.enabledCheckbox}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"required\"\n settingable={false}\n columnName={this.#_componentLocale.actions.requiredCheckbox}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n <ch-tabular-grid-row\n // read\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.readLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readEnabled.toString()}\n ref={el =>\n (this.#readEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readRequired.toString()}\n ref={el =>\n (this.#readRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // new\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.newLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newEnabled.toString()}\n ref={el =>\n (this.#newEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newRequired.toString()}\n ref={el =>\n (this.#newRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // update\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.updateLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateEnabled.toString()}\n ref={el =>\n (this.#updateEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateRequired.toString()}\n ref={el =>\n (this.#updateRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // delete\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.deleteLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteEnabled.toString()}\n ref={el =>\n (this.#deleteEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteRequired.toString()}\n ref={el =>\n (this.#deleteRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderEmptyState = () => {\n return (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={MODULE_ICON}\n isAnimated={this.#renderedFirstTime}\n stateTitle={this.#_componentLocale.emptyRightPanelInfo.title}\n >\n <button\n class=\"button-secondary\"\n onClick={this.#selectDocumentCallbackHandler}\n >\n {this.#_componentLocale.emptyRightPanelInfo.buttonCaption}\n </button>\n </gx-ide-empty-state>\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelCallbackHandler}\n part=\"button-cancel\"\n >\n {this.#_componentLocale.footer.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#confirmCallbackHandler}\n part=\"button-create\"\n >\n {this.#_componentLocale.footer.confirmButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #renderMain = () => {\n return [\n <div class=\"documents__list spacing-body-inline\">\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n model={this.documentsActionListState}\n onSelectedItemsChange={this.#objectSelectionChangedHandler}\n ></ch-action-list-render>\n </div>,\n this.#renderActions()\n ];\n };\n\n render() {\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 <section class=\"section\">\n <div class=\"main field-group\">\n <div class=\"documents__header buttons-spacer spacing-body-inline spacing-body-block-start\">\n <ch-combo-box-render\n class=\"combo-box documents__suggest\"\n model={this.suggestedDocuments}\n placeholder={\n this.#_componentLocale.documents.suggestPlaceholder\n }\n suggest={true}\n onInput={this.#documentSuggestValueChangedHandler}\n onChange={this.#listenDocumentSelected}\n suggestOptions={{\n alreadyProcessed: false,\n autoExpand: true,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false\n }}\n ></ch-combo-box-render>\n\n <span>\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n onClick={this.#selectDocumentCallbackHandler}\n >\n <ch-image class=\"icon-sm\" src={MORE_ICON}></ch-image>\n </button>\n\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n onClick={this.#handleDeleteButton}\n >\n <ch-image class=\"icon-sm\" src={DELETE_ICON}></ch-image>\n </button>\n </span>\n </div>\n\n {this.documentsActionListState.length\n ? this.#renderMain()\n : this.#renderEmptyState()}\n </div>\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type TaskDocumentData = {\n name: string;\n readEnabled: boolean;\n readRequired: boolean;\n newEnabled: boolean;\n newRequired: boolean;\n updateEnabled: boolean;\n updateRequired: boolean;\n deleteEnabled: boolean;\n deleteRequired: boolean;\n};\n\nexport type SuggestDocumentsCallback = (\n documentName: string\n) => Promise<string[] | undefined>;\nexport type SelectDocumentCallback = () => Promise<string | undefined>;\nexport type ConfirmCallback = (data: TaskDocumentData[]) => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\n"],"version":3}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host, a as getElement, g as getAssetPath } from './index-10af18cf.js';
|
|
2
|
+
import { g as getIconPath } from './MERCURY_ASSETS-039222dd.js';
|
|
3
|
+
import { L as Locale } from './locale-e5107fad.js';
|
|
4
|
+
|
|
5
|
+
const chatContainerCss = ".chat-container{background-color:var(--elevation-background-color, --mer-surface__elevation--01);display:grid;block-size:100%;overflow:auto;grid-template-rows:1fr;position:relative;--chat-common-border-radius:var(--mer-spacing--2xs)}.chat-container.with-header{grid-template-rows:max-content 1fr}.section{display:contents}.header{padding:var(--mer-spacing--2xs) var(--mer-spacing--2xs) var(--mer-spacing--2xs) var(--mer-spacing--sm);display:flex;align-items:center;justify-content:space-between;gap:var(--mer-spacing--sm);color:var(--mer-text__bright);border-block-end:var(--mer-border__width--sm) solid var(--color-border-surface-on-elevation-01, #333d47)}.header .button-copy-chat,.header .button-delete-chat{--control__border-color:transparent !important}.header .button-delete-chat:hover{filter:brightness(1.3)}.header .button-delete-chat:active{filter:brightness(0.8)}.ch-chat-container{overflow:auto;position:relative;display:grid}.chat-container__conversation-copied{position:absolute;z-index:1;inline-size:100%;block-size:100%;background:rgba(22, 22, 23, 0.75);backdrop-filter:saturate(180%) blur(20px);display:grid;align-items:center;justify-content:center;text-align:center;padding:32px;--mer-icon__box--md:18px;pointer-events:none;overflow:hidden;animation:fadeIn 100ms ease-in-out forwards;opacity:0}.chat-container__conversation-copied-wrapper{display:flex;align-items:center;gap:var(--mer-spacing--sm);position:relative;inset-block-start:4px;opacity:0;animation:liftUp var(--mer-timing--fast) ease-in-out forwards;animation-delay:var(--mer-timing--fast)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes liftUp{from{opacity:0;inset-block-start:4px}to{opacity:1;inset-block-start:0}}::selection{color:#00ccff;background:#22334a}.chat::part(code-block-header__copy){--copy-text-opacity:0;--copy-text-translate-x:6px;opacity:var(--copy-text-opacity);pointer-events:none;transform:translateX(var(--copy-text-translate-x));transition:opacity 100ms ease-in-out, transform 100ms ease-in-out;font-size:12px}.chat::part(code-block-header__copy-copied){--copy-button-pointer-events:none !important;--copy-text-opacity:1;--copy-text-translate-x:0}.chat::part(code-block-header){align-items:center;display:flex;gap:8px}";
|
|
6
|
+
|
|
7
|
+
var __classPrivateFieldSet$1 = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m")
|
|
9
|
+
throw new TypeError("Private method is not writable");
|
|
10
|
+
if (kind === "a" && !f)
|
|
11
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
12
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
13
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
+
};
|
|
16
|
+
var __classPrivateFieldGet$1 = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f)
|
|
18
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
20
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
21
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
22
|
+
};
|
|
23
|
+
var _GxIdeChatContainer_menuItems, _GxIdeChatContainer_componentLocale, _GxIdeChatContainer_showMenuHandler, _GxIdeChatContainer_menuExpandedChangeHandler, _GxIdeChatContainer_copyConversationHandler, _GxIdeChatContainer_deleteConversationHandler;
|
|
24
|
+
const CSS_BUNDLES$1 = [
|
|
25
|
+
"resets/box-sizing",
|
|
26
|
+
"utils/typography",
|
|
27
|
+
"chameleon/scrollbar",
|
|
28
|
+
"components/button",
|
|
29
|
+
"components/dropdown",
|
|
30
|
+
"components/icon",
|
|
31
|
+
"utils/elevation"
|
|
32
|
+
];
|
|
33
|
+
const COPY_ICON = getIconPath({
|
|
34
|
+
category: "system",
|
|
35
|
+
name: "copy",
|
|
36
|
+
colorType: "primary"
|
|
37
|
+
});
|
|
38
|
+
const DELETE_ICON = getIconPath({
|
|
39
|
+
category: "system",
|
|
40
|
+
name: "delete-outlined",
|
|
41
|
+
colorType: "primary"
|
|
42
|
+
});
|
|
43
|
+
const CONVERSATION_ICON = getIconPath({
|
|
44
|
+
category: "objects",
|
|
45
|
+
name: "conversational-flows"
|
|
46
|
+
});
|
|
47
|
+
const MORE_HORIZONTAL_ICON = getIconPath({
|
|
48
|
+
category: "system",
|
|
49
|
+
name: "more-horizontal",
|
|
50
|
+
colorType: "neutral"
|
|
51
|
+
});
|
|
52
|
+
const GxIdeChatContainer = class {
|
|
53
|
+
constructor(hostRef) {
|
|
54
|
+
registerInstance(this, hostRef);
|
|
55
|
+
_GxIdeChatContainer_menuItems.set(this, [
|
|
56
|
+
{ type: "slot", id: "delete-chat-button" },
|
|
57
|
+
{ type: "slot", id: "copy-chat-button" }
|
|
58
|
+
]);
|
|
59
|
+
/**
|
|
60
|
+
* The component hard-coded strings translations.
|
|
61
|
+
*/
|
|
62
|
+
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
63
|
+
_GxIdeChatContainer_componentLocale.set(this, void 0);
|
|
64
|
+
_GxIdeChatContainer_showMenuHandler.set(this, () => {
|
|
65
|
+
this.menuIsExpanded = true;
|
|
66
|
+
});
|
|
67
|
+
_GxIdeChatContainer_menuExpandedChangeHandler.set(this, (event) => {
|
|
68
|
+
this.menuIsExpanded = event.detail;
|
|
69
|
+
});
|
|
70
|
+
_GxIdeChatContainer_copyConversationHandler.set(this, () => {
|
|
71
|
+
if (this.copyConversationCallback) {
|
|
72
|
+
this.copyConversationCallback();
|
|
73
|
+
this.menuIsExpanded = false;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
_GxIdeChatContainer_deleteConversationHandler.set(this, () => {
|
|
77
|
+
if (this.deleteConversationCallback) {
|
|
78
|
+
this.deleteConversationCallback();
|
|
79
|
+
this.menuIsExpanded = false;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
this.displayConversationCopiedMessage = false;
|
|
83
|
+
this.menuIsExpanded = false;
|
|
84
|
+
this.chatTitle = undefined;
|
|
85
|
+
this.copyConversationCallback = undefined;
|
|
86
|
+
this.deleteConversationCallback = undefined;
|
|
87
|
+
this.displayWelcomeScreen = false;
|
|
88
|
+
}
|
|
89
|
+
async componentWillLoad() {
|
|
90
|
+
__classPrivateFieldSet$1(this, _GxIdeChatContainer_componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* It will display a feedback message that the conversation has been copied
|
|
94
|
+
*/
|
|
95
|
+
async showCopyConversationMessage() {
|
|
96
|
+
this.displayConversationCopiedMessage = true;
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
this.displayConversationCopiedMessage = false;
|
|
99
|
+
}, 2000);
|
|
100
|
+
}
|
|
101
|
+
render() {
|
|
102
|
+
const renderHeader = this.chatTitle ||
|
|
103
|
+
this.copyConversationCallback ||
|
|
104
|
+
this.deleteConversationCallback;
|
|
105
|
+
const renderButtonsGroup = this.copyConversationCallback || this.deleteConversationCallback;
|
|
106
|
+
return (h(Host, { class: {
|
|
107
|
+
"chat-container": true,
|
|
108
|
+
"with-header": !!renderHeader
|
|
109
|
+
} }, h("ch-theme", { model: CSS_BUNDLES$1 }), h("section", { class: "section" }, renderHeader && (h("header", { class: "header tiny-semi-bold-l" }, this.chatTitle && this.chatTitle, renderButtonsGroup && (h("ch-action-menu-render", { class: "dropdown", blockAlign: "inside-start", inlineAlign: "inside-end", model: __classPrivateFieldGet$1(this, _GxIdeChatContainer_menuItems, "f"), expanded: this.menuIsExpanded, onExpandedChange: __classPrivateFieldGet$1(this, _GxIdeChatContainer_menuExpandedChangeHandler, "f") }, h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet$1(this, _GxIdeChatContainer_showMenuHandler, "f"), type: "button", "aria-label": __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").showMenuAriaLabel, title: __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").showMenuAriaLabel }, h("ch-image", { class: "icon-md", src: MORE_HORIZONTAL_ICON })), this.copyConversationCallback && (h("button", { class: "button-tertiary button-icon-and-text button-copy-chat", slot: "copy-chat-button", onClick: __classPrivateFieldGet$1(this, _GxIdeChatContainer_copyConversationHandler, "f"), type: "button", "aria-label": __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").copyConversationAriaLabel, title: __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").copyConversationAriaLabel }, h("ch-image", { class: "icon-md", src: COPY_ICON }), __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").copyConversationLabel)), this.deleteConversationCallback && (h("button", { class: "button-tertiary button-icon-and-text button-delete-chat", slot: "delete-chat-button", onClick: __classPrivateFieldGet$1(this, _GxIdeChatContainer_deleteConversationHandler, "f"), type: "button", "aria-label": __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").deleteConversationAriaLabel, title: __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").deleteConversationAriaLabel }, h("ch-image", { class: "icon-md", src: DELETE_ICON }), __classPrivateFieldGet$1(this, _GxIdeChatContainer_componentLocale, "f").clearConversationLabel)))))), h("section", { class: "ch-chat-container" }, h("slot", null), this.displayConversationCopiedMessage && (h("div", { class: "chat-container__conversation-copied" }, h("div", { class: "chat-container__conversation-copied-wrapper" }, h("ch-image", { class: "icon-md", src: CONVERSATION_ICON }), h("p", { class: "body-regular-l" }, "conversation copied"))))))));
|
|
110
|
+
}
|
|
111
|
+
static get assetsDirs() { return ["gx-ide-assets/chat-container"]; }
|
|
112
|
+
get el() { return getElement(this); }
|
|
113
|
+
};
|
|
114
|
+
_GxIdeChatContainer_menuItems = new WeakMap(), _GxIdeChatContainer_componentLocale = new WeakMap(), _GxIdeChatContainer_showMenuHandler = new WeakMap(), _GxIdeChatContainer_menuExpandedChangeHandler = new WeakMap(), _GxIdeChatContainer_copyConversationHandler = new WeakMap(), _GxIdeChatContainer_deleteConversationHandler = new WeakMap();
|
|
115
|
+
GxIdeChatContainer.style = chatContainerCss;
|
|
116
|
+
|
|
117
|
+
const chatWelcomeCss = ":host{block-size:100%}.welcome-container{--opacity:1;--translate-y:0;opacity:var(--opacity);transform:translateY(var(--translate-y));transition:all var(--transition-duration);display:flex;block-size:100%;grid-template-rows:max-content max-content;flex-direction:column;justify-content:space-between;background-repeat:no-repeat;background-size:cover;background-size:contain}.welcome-container.hidden{--opacity:0;--translate-y:4px}.header{--opacity:0;--translate-y:3px;transition:all var(--transition-duration) var(--transition-delay) cubic-bezier(0.4, 0, 0.2, 1);transform:translateY(var(--translate-y));opacity:var(--opacity);display:flex;flex-direction:column;gap:var(--mer-spacing--md);align-items:center;padding:var(--mer-spacing--md)}.header--visible{--opacity:1;--translate-y:0}.header__circle{inline-size:55px;block-size:55px;background-size:contain;background-repeat:no-repeat;background-position:center center;margin-block-end:-6px}.header__title{display:grid;text-align:center;margin:0;text-align:center;white-space:pre-line;line-height:1.3;font-weight:600;font-size:var(--font-size-header-h3)}.header__greeting{line-height:1.4;text-align:center;font-weight:300}.suggested-prompts{--opacity:1;opacity:var(--opacity);transition:opacity var(--transition-duration);display:flex;flex-direction:column;gap:var(--mer-spacing--md);list-style:none;margin:0;padding:var(--mer-spacing--md)}.suggested-prompts.hidden{--opacity:0}.suggested-prompts__button{opacity:0;transform:translateX(-3px);animation:fadeInSuggestedPromptButton var(--mer-timing--regular) ease forwards;animation-delay:var(--delay, 0s);border:0;padding:var(--mer-spacing--sm);border-radius:30px;font-size:14px;font-style:oblique;cursor:pointer;display:flex;align-items:center;gap:var(--mer-spacing--xs);background-color:#22334a;font-weight:100}.suggested-prompts__button:hover{background-color:#1a2b42}@keyframes fadeInSuggestedPromptButton{from{opacity:0;transform:translateX(-3px)}to{opacity:1;transform:translateX(0)}}";
|
|
118
|
+
|
|
119
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
120
|
+
if (kind === "a" && !f)
|
|
121
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
122
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
123
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
124
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
125
|
+
};
|
|
126
|
+
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
127
|
+
if (kind === "m")
|
|
128
|
+
throw new TypeError("Private method is not writable");
|
|
129
|
+
if (kind === "a" && !f)
|
|
130
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
131
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
132
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
133
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
134
|
+
};
|
|
135
|
+
var _GxIdeChatWelcome_componentLocale, _GxIdeChatWelcome_animationEntrance, _GxIdeChatWelcome_sendPromptToChat, _GxIdeChatWelcome_animationExit;
|
|
136
|
+
const HEADER_ILLUSTRATION = getAssetPath(`./gx-ide-assets/chat-welcome/images/header-illustration.svg`);
|
|
137
|
+
const AI_AVATAR = getAssetPath(`./gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg`);
|
|
138
|
+
const HEADER_TRANSITION_DELAY = 100;
|
|
139
|
+
const HEADER_TRANSITION_DURATION = 500;
|
|
140
|
+
const SUGGESTED_PROMPT_BUTTON_INTERVAL = 200;
|
|
141
|
+
const SUGGESTED_PROMPT_BUTTONS_DELAY = 500;
|
|
142
|
+
const WELCOME_EXIT_DURATION = 100;
|
|
143
|
+
const AI_ICON = getIconPath({
|
|
144
|
+
category: "system",
|
|
145
|
+
name: "assistant",
|
|
146
|
+
colorType: "primary"
|
|
147
|
+
});
|
|
148
|
+
const ARROW_RIGHT_ICON = getIconPath({
|
|
149
|
+
category: "system",
|
|
150
|
+
name: "arrow-right",
|
|
151
|
+
colorType: "primary"
|
|
152
|
+
});
|
|
153
|
+
const CSS_BUNDLES = [
|
|
154
|
+
"resets/box-sizing",
|
|
155
|
+
"components/chat",
|
|
156
|
+
"components/icon",
|
|
157
|
+
"utils/typography"
|
|
158
|
+
];
|
|
159
|
+
const GxIdeChatWelcome = class {
|
|
160
|
+
constructor(hostRef) {
|
|
161
|
+
registerInstance(this, hostRef);
|
|
162
|
+
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
163
|
+
_GxIdeChatWelcome_componentLocale.set(this, void 0);
|
|
164
|
+
_GxIdeChatWelcome_animationEntrance.set(this, () => {
|
|
165
|
+
setTimeout(() => {
|
|
166
|
+
this.showHeader = true;
|
|
167
|
+
setTimeout(() => {
|
|
168
|
+
this.showSuggestedPrompts = true;
|
|
169
|
+
}, SUGGESTED_PROMPT_BUTTONS_DELAY);
|
|
170
|
+
}, HEADER_TRANSITION_DELAY + HEADER_TRANSITION_DURATION);
|
|
171
|
+
});
|
|
172
|
+
_GxIdeChatWelcome_sendPromptToChat.set(this, async (e) => {
|
|
173
|
+
const prompt = e.currentTarget.dataset["prommpt"];
|
|
174
|
+
await __classPrivateFieldGet(this, _GxIdeChatWelcome_animationExit, "f").call(this);
|
|
175
|
+
this.suggestedPrompRequestedCallback(prompt);
|
|
176
|
+
});
|
|
177
|
+
_GxIdeChatWelcome_animationExit.set(this, async () => {
|
|
178
|
+
this.hideWelcome = true;
|
|
179
|
+
await new Promise(resolve => setTimeout(resolve, WELCOME_EXIT_DURATION));
|
|
180
|
+
});
|
|
181
|
+
this.showHeader = false;
|
|
182
|
+
this.showSuggestedPrompts = false;
|
|
183
|
+
this.hideWelcome = false;
|
|
184
|
+
this.welcomeTitle = undefined;
|
|
185
|
+
this.welcomeGreeting = undefined;
|
|
186
|
+
this.suggestedPrompts = undefined;
|
|
187
|
+
this.suggestedPrompRequestedCallback = undefined;
|
|
188
|
+
}
|
|
189
|
+
async componentWillLoad() {
|
|
190
|
+
__classPrivateFieldSet(this, _GxIdeChatWelcome_componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
191
|
+
// Set defaults
|
|
192
|
+
if (!this.welcomeTitle) {
|
|
193
|
+
this.welcomeTitle = __classPrivateFieldGet(this, _GxIdeChatWelcome_componentLocale, "f").welcomeTitle;
|
|
194
|
+
}
|
|
195
|
+
if (!this.welcomeGreeting) {
|
|
196
|
+
this.welcomeGreeting = __classPrivateFieldGet(this, _GxIdeChatWelcome_componentLocale, "f").welcomeGreeting;
|
|
197
|
+
}
|
|
198
|
+
if (!this.suggestedPrompts) {
|
|
199
|
+
this.suggestedPrompts = __classPrivateFieldGet(this, _GxIdeChatWelcome_componentLocale, "f").suggestedPrompts;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
componentDidRender() {
|
|
203
|
+
if (!this.hideWelcome) {
|
|
204
|
+
__classPrivateFieldGet(this, _GxIdeChatWelcome_animationEntrance, "f").call(this);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* It will exit the wellcome screen and remove it from the dom.
|
|
209
|
+
*/
|
|
210
|
+
async exitWelcome() {
|
|
211
|
+
__classPrivateFieldGet(this, _GxIdeChatWelcome_animationExit, "f").call(this);
|
|
212
|
+
}
|
|
213
|
+
render() {
|
|
214
|
+
return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("div", { class: { "welcome-container": true, "hidden": this.hideWelcome }, style: {
|
|
215
|
+
"backgroundImage": `url(${HEADER_ILLUSTRATION})`,
|
|
216
|
+
"--transition-duration": `${WELCOME_EXIT_DURATION}ms`
|
|
217
|
+
} }, h("header", { class: { "header": true, "header--visible": this.showHeader }, style: {
|
|
218
|
+
"--transition-delay": `${HEADER_TRANSITION_DELAY}ms`,
|
|
219
|
+
"--transition-duration": `${HEADER_TRANSITION_DURATION}ms`
|
|
220
|
+
} }, h("span", { class: "header__circle", style: { backgroundImage: `url(${AI_AVATAR})` } }), h("h2", { class: "header__title" }, this.welcomeTitle), h("p", { class: "header__greeting" }, this.welcomeGreeting)), this.suggestedPrompts && this.showSuggestedPrompts && (h("ul", { class: "suggested-prompts" }, this.suggestedPrompts.map((prompt, i) => (h("li", { class: "suggested-prompts__item" }, h("button", { class: {
|
|
221
|
+
"suggested-prompts__button": true
|
|
222
|
+
}, onClick: __classPrivateFieldGet(this, _GxIdeChatWelcome_sendPromptToChat, "f"), style: {
|
|
223
|
+
"--delay": `${SUGGESTED_PROMPT_BUTTON_INTERVAL * i}ms`
|
|
224
|
+
}, "data-prommpt": prompt }, h("ch-image", { src: AI_ICON, class: "icon-md" }), prompt, h("ch-image", { src: ARROW_RIGHT_ICON, class: "icon-md" }))))))))));
|
|
225
|
+
}
|
|
226
|
+
static get assetsDirs() { return ["gx-ide-assets/chat-welcome"]; }
|
|
227
|
+
get el() { return getElement(this); }
|
|
228
|
+
};
|
|
229
|
+
_GxIdeChatWelcome_componentLocale = new WeakMap(), _GxIdeChatWelcome_animationEntrance = new WeakMap(), _GxIdeChatWelcome_sendPromptToChat = new WeakMap(), _GxIdeChatWelcome_animationExit = new WeakMap();
|
|
230
|
+
GxIdeChatWelcome.style = chatWelcomeCss;
|
|
231
|
+
|
|
232
|
+
export { GxIdeChatContainer as gx_ide_chat_container, GxIdeChatWelcome as gx_ide_chat_welcome };
|
|
233
|
+
|
|
234
|
+
//# sourceMappingURL=gx-ide-chat-container_2.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-chat-container.gx-ide-chat-welcome.entry.js","mappings":"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","names":["CSS_BUNDLES","__classPrivateFieldSet","__classPrivateFieldGet"],"sources":["src/components/chat/chat-container/chat-container.scss?tag=gx-ide-chat-container","src/components/chat/chat-container/chat-container.tsx","src/components/chat/chat-welcome/chat-welcome.scss?tag=gx-ide-chat-welcome&encapsulation=shadow","src/components/chat/chat-welcome/chat-welcome.tsx"],"sourcesContent":[".chat-container {\n background-color: var(\n --elevation-background-color,\n --mer-surface__elevation--01\n );\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr;\n position: relative;\n --chat-common-border-radius: var(--mer-spacing--2xs);\n}\n\n.chat-container.with-header {\n grid-template-rows: max-content 1fr;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n padding: var(--mer-spacing--2xs) var(--mer-spacing--2xs)\n var(--mer-spacing--2xs) var(--mer-spacing--sm);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--sm);\n color: var(--mer-text__bright);\n border-block-end: var(--mer-border__width--sm) solid\n var(--color-border-surface-on-elevation-01, #333d47);\n\n .button-copy-chat,\n .button-delete-chat {\n --control__border-color: transparent !important;\n }\n\n .button-delete-chat {\n &:hover {\n filter: brightness(1.3);\n }\n &:active {\n filter: brightness(0.8);\n }\n }\n}\n\n.ch-chat-container {\n overflow: auto;\n position: relative;\n display: grid;\n}\n\n// - - - - - - - - - - - - - -\n// other\n// - - - - - - - - - - - - - -\n\n.chat-container__conversation-copied {\n position: absolute;\n z-index: 1;\n inline-size: 100%;\n block-size: 100%;\n background: rgba(22, 22, 23, 0.75);\n backdrop-filter: saturate(180%) blur(20px);\n display: grid;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 32px;\n --mer-icon__box--md: 18px;\n pointer-events: none;\n overflow: hidden;\n animation: fadeIn 100ms ease-in-out forwards;\n opacity: 0;\n}\n\n.chat-container__conversation-copied-wrapper {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n position: relative;\n inset-block-start: 4px;\n opacity: 0;\n animation: liftUp var(--mer-timing--fast) ease-in-out forwards;\n animation-delay: var(--mer-timing--fast);\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes liftUp {\n from {\n opacity: 0;\n inset-block-start: 4px;\n }\n to {\n opacity: 1;\n inset-block-start: 0;\n }\n}\n\n::selection {\n color: #00ccff;\n background: #22334a;\n}\n\n// The following styles shoul be moved over to Mercury\n\n.chat::part(code-block-header__copy) {\n --copy-text-opacity: 0;\n --copy-text-translate-x: 6px;\n opacity: var(--copy-text-opacity);\n pointer-events: none;\n transform: translateX(var(--copy-text-translate-x));\n transition: opacity 100ms ease-in-out, transform 100ms ease-in-out;\n font-size: 12px;\n}\n.chat::part(code-block-header__copy-copied) {\n --copy-button-pointer-events: none !important;\n --copy-text-opacity: 1;\n --copy-text-translate-x: 0;\n}\n.chat::part(code-block-header) {\n align-items: center;\n display: flex;\n gap: 8px;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Method,\n State\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { ActionMenuModel } from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/dropdown\",\n \"components/icon\",\n \"utils/elevation\"\n];\n\nconst COPY_ICON = getIconPath({\n category: \"system\",\n name: \"copy\",\n colorType: \"primary\"\n});\nconst DELETE_ICON = getIconPath({\n category: \"system\",\n name: \"delete-outlined\",\n colorType: \"primary\"\n});\nconst CONVERSATION_ICON = getIconPath({\n category: \"objects\",\n name: \"conversational-flows\"\n});\nconst MORE_HORIZONTAL_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"neutral\"\n});\n\n@Component({\n tag: \"gx-ide-chat-container\",\n styleUrl: \"chat-container.scss\",\n shadow: false,\n assetsDirs: [\"gx-ide-assets/chat-container\"]\n})\nexport class GxIdeChatContainer {\n #menuItems: ActionMenuModel = [\n { type: \"slot\", id: \"delete-chat-button\" },\n { type: \"slot\", id: \"copy-chat-button\" }\n ];\n\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 @Element() el: HTMLGxIdeChatContainerElement;\n\n /**\n * Coneration Copied\n */\n @State() displayConversationCopiedMessage: boolean = false;\n\n /**\n * Displays or hides the menu\n */\n @State() menuIsExpanded: boolean = false;\n\n /**\n * The chat title\n */\n @Prop() readonly chatTitle?: string;\n\n /**\n * If true a button for copying the conversation will be render on the header\n */\n @Prop() readonly copyConversationCallback: () => void;\n\n /**\n * If true a button for deleting the conversation will be render on the header\n */\n @Prop() readonly deleteConversationCallback: () => void;\n\n /**\n * If true a the welcome screen will be rendered\n */\n @Prop() readonly displayWelcomeScreen: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /**\n * It will display a feedback message that the conversation has been copied\n */\n @Method()\n async showCopyConversationMessage() {\n this.displayConversationCopiedMessage = true;\n setTimeout(() => {\n this.displayConversationCopiedMessage = false;\n }, 2000);\n }\n\n #showMenuHandler = () => {\n this.menuIsExpanded = true;\n };\n\n #menuExpandedChangeHandler = (event: CustomEvent<boolean>) => {\n this.menuIsExpanded = event.detail;\n };\n\n #copyConversationHandler = () => {\n if (this.copyConversationCallback) {\n this.copyConversationCallback();\n this.menuIsExpanded = false;\n }\n };\n #deleteConversationHandler = () => {\n if (this.deleteConversationCallback) {\n this.deleteConversationCallback();\n this.menuIsExpanded = false;\n }\n };\n\n render() {\n const renderHeader =\n this.chatTitle ||\n this.copyConversationCallback ||\n this.deleteConversationCallback;\n\n const renderButtonsGroup =\n this.copyConversationCallback || this.deleteConversationCallback;\n return (\n <Host\n class={{\n \"chat-container\": true,\n \"with-header\": !!renderHeader\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {renderHeader && (\n <header class=\"header tiny-semi-bold-l\">\n {this.chatTitle && this.chatTitle}\n {renderButtonsGroup && (\n <ch-action-menu-render\n class=\"dropdown\"\n blockAlign=\"inside-start\"\n inlineAlign=\"inside-end\"\n model={this.#menuItems}\n expanded={this.menuIsExpanded}\n onExpandedChange={this.#menuExpandedChangeHandler}\n >\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#showMenuHandler}\n type=\"button\"\n aria-label={this.#componentLocale.showMenuAriaLabel}\n title={this.#componentLocale.showMenuAriaLabel}\n >\n <ch-image\n class=\"icon-md\"\n src={MORE_HORIZONTAL_ICON}\n ></ch-image>\n </button>\n {this.copyConversationCallback && (\n <button\n class=\"button-tertiary button-icon-and-text button-copy-chat\"\n slot=\"copy-chat-button\"\n onClick={this.#copyConversationHandler}\n type=\"button\"\n aria-label={\n this.#componentLocale.copyConversationAriaLabel\n }\n title={this.#componentLocale.copyConversationAriaLabel}\n >\n <ch-image class=\"icon-md\" src={COPY_ICON}></ch-image>\n {this.#componentLocale.copyConversationLabel}\n </button>\n )}\n {this.deleteConversationCallback && (\n <button\n class=\"button-tertiary button-icon-and-text button-delete-chat\"\n slot=\"delete-chat-button\"\n onClick={this.#deleteConversationHandler}\n type=\"button\"\n aria-label={\n this.#componentLocale.deleteConversationAriaLabel\n }\n title={this.#componentLocale.deleteConversationAriaLabel}\n >\n <ch-image class=\"icon-md\" src={DELETE_ICON}></ch-image>\n {this.#componentLocale.clearConversationLabel}\n </button>\n )}\n </ch-action-menu-render>\n )}\n </header>\n )}\n <section class=\"ch-chat-container\">\n <slot></slot>\n {this.displayConversationCopiedMessage && (\n <div class=\"chat-container__conversation-copied\">\n <div class=\"chat-container__conversation-copied-wrapper\">\n <ch-image class=\"icon-md\" src={CONVERSATION_ICON}></ch-image>\n <p class=\"body-regular-l\">conversation copied</p>\n </div>\n </div>\n )}\n </section>\n {/* <footer class=\"footer elevation-1\">footer</footer> */}\n </section>\n </Host>\n );\n }\n}\n",":host {\n block-size: 100%;\n}\n\n$sharedPadding: var(--mer-spacing--md);\n\n.welcome-container {\n --opacity: 1;\n --translate-y: 0;\n opacity: var(--opacity);\n transform: translateY(var(--translate-y));\n transition: all var(--transition-duration);\n display: flex;\n block-size: 100%;\n grid-template-rows: max-content max-content;\n flex-direction: column;\n justify-content: space-between;\n background-repeat: no-repeat;\n background-size: cover;\n background-size: contain;\n\n &.hidden {\n --opacity: 0;\n --translate-y: 4px;\n }\n}\n\n%absolute-centered {\n position: absolute;\n inset-inline-start: 50%;\n inset-block-start: 50%;\n transform: translate(-50%, -50%);\n}\n\n.header {\n --opacity: 0;\n --translate-y: 3px;\n transition: all var(--transition-duration) var(--transition-delay)\n cubic-bezier(0.4, 0, 0.2, 1);\n transform: translateY(var(--translate-y));\n opacity: var(--opacity);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--md);\n align-items: center;\n padding: $sharedPadding;\n\n &--visible {\n --opacity: 1;\n --translate-y: 0;\n }\n\n &__circle {\n $circleSize: 55px;\n inline-size: $circleSize;\n block-size: $circleSize;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n margin-block-end: -6px;\n }\n\n &__title {\n display: grid;\n text-align: center;\n margin: 0;\n text-align: center;\n white-space: pre-line;\n line-height: 1.3;\n font-weight: 600;\n font-size: var(--font-size-header-h3);\n }\n\n &__greeting {\n line-height: 1.4;\n text-align: center;\n font-weight: 300;\n }\n}\n\n.suggested-prompts {\n --opacity: 1;\n opacity: var(--opacity);\n transition: opacity var(--transition-duration);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--md);\n list-style: none;\n margin: 0;\n padding: $sharedPadding;\n\n &.hidden {\n --opacity: 0;\n }\n\n &__item {\n }\n\n &__button {\n opacity: 0;\n transform: translateX(-3px);\n animation: fadeInSuggestedPromptButton var(--mer-timing--regular) ease\n forwards;\n animation-delay: var(--delay, 0s);\n\n border: 0;\n padding: var(--mer-spacing--sm);\n border-radius: 30px;\n font-size: 14px; // TODO : Use a token when available\n font-style: oblique;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n background-color: #22334a; // TODO : Use a token when available\n font-weight: 100;\n\n &:hover {\n background-color: #1a2b42;\n }\n }\n}\n\n@keyframes fadeInSuggestedPromptButton {\n from {\n opacity: 0;\n transform: translateX(-3px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","/* eslint-disable @stencil-community/strict-mutable */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst HEADER_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/chat-welcome/images/header-illustration.svg`\n);\nconst AI_AVATAR = getAssetPath(\n `./gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg`\n);\n\nconst HEADER_TRANSITION_DELAY: number = 100;\nconst HEADER_TRANSITION_DURATION: number = 500;\nconst SUGGESTED_PROMPT_BUTTON_INTERVAL: number = 200;\nconst SUGGESTED_PROMPT_BUTTONS_DELAY: number = 500;\nconst WELCOME_EXIT_DURATION: number = 100;\n\nconst AI_ICON = getIconPath({\n category: \"system\",\n name: \"assistant\",\n colorType: \"primary\"\n});\nconst ARROW_RIGHT_ICON = getIconPath({\n category: \"system\",\n name: \"arrow-right\",\n colorType: \"primary\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/chat\",\n \"components/icon\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-chat-welcome\",\n styleUrl: \"chat-welcome.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/chat-welcome\"]\n})\nexport class GxIdeChatWelcome {\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeChatWelcomeElement;\n\n /**\n * When true, it will display the welcome elements (title, greeting, and buttons)\n */\n @State() showHeader: boolean = false;\n\n /**\n * When true, it will display the suggested prompts buttons\n */\n @State() showSuggestedPrompts: boolean = false;\n\n /**\n * When true, it will hide entire welcome layout\n */\n @State() hideWelcome: boolean = false;\n\n /**\n * The welcome title, if not provided, the default title will be used.\n */\n @Prop({ mutable: true }) welcomeTitle?: string;\n\n /**\n * The welcome greeting description, if not provided, the default title will be used.\n */\n @Prop({ mutable: true }) welcomeGreeting?: string;\n\n /**\n * The suggested prompts, if not provided, the default title will be used.\n */\n @Prop({ mutable: true }) suggestedPrompts?: string[];\n\n /**\n * Fired when the user clicks on a suggested prompt button\n */\n @Prop() readonly suggestedPrompRequestedCallback: (\n prompt: string\n ) => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // Set defaults\n if (!this.welcomeTitle) {\n this.welcomeTitle = this.#componentLocale.welcomeTitle;\n }\n if (!this.welcomeGreeting) {\n this.welcomeGreeting = this.#componentLocale.welcomeGreeting;\n }\n if (!this.suggestedPrompts) {\n this.suggestedPrompts = this.#componentLocale.suggestedPrompts;\n }\n }\n\n componentDidRender() {\n if (!this.hideWelcome) {\n this.#animationEntrance();\n }\n }\n\n /**\n * It will exit the wellcome screen and remove it from the dom.\n */\n @Method()\n async exitWelcome() {\n this.#animationExit();\n }\n\n #animationEntrance = () => {\n setTimeout(() => {\n this.showHeader = true;\n setTimeout(() => {\n this.showSuggestedPrompts = true;\n }, SUGGESTED_PROMPT_BUTTONS_DELAY);\n }, HEADER_TRANSITION_DELAY + HEADER_TRANSITION_DURATION);\n };\n\n #sendPromptToChat = async (e: MouseEvent) => {\n const prompt = (e.currentTarget as HTMLButtonElement).dataset[\"prommpt\"];\n await this.#animationExit();\n this.suggestedPrompRequestedCallback(prompt);\n };\n\n #animationExit = async (): Promise<void> => {\n this.hideWelcome = true;\n await new Promise(resolve => setTimeout(resolve, WELCOME_EXIT_DURATION));\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{ \"welcome-container\": true, \"hidden\": this.hideWelcome }}\n style={{\n \"backgroundImage\": `url(${HEADER_ILLUSTRATION})`,\n \"--transition-duration\": `${WELCOME_EXIT_DURATION}ms`\n }}\n >\n <header\n class={{ \"header\": true, \"header--visible\": this.showHeader }}\n style={{\n \"--transition-delay\": `${HEADER_TRANSITION_DELAY}ms`,\n \"--transition-duration\": `${HEADER_TRANSITION_DURATION}ms`\n }}\n >\n <span\n class=\"header__circle\"\n style={{ backgroundImage: `url(${AI_AVATAR})` }}\n ></span>\n <h2 class=\"header__title\">{this.welcomeTitle}</h2>\n <p class=\"header__greeting\">{this.welcomeGreeting}</p>\n </header>\n\n {this.suggestedPrompts && this.showSuggestedPrompts && (\n <ul class=\"suggested-prompts\">\n {this.suggestedPrompts.map((prompt, i) => (\n <li class=\"suggested-prompts__item\">\n <button\n class={{\n \"suggested-prompts__button\": true\n }}\n onClick={this.#sendPromptToChat}\n style={{\n \"--delay\": `${SUGGESTED_PROMPT_BUTTON_INTERVAL * i}ms`\n }}\n data-prommpt={prompt}\n >\n <ch-image src={AI_ICON} class=\"icon-md\"></ch-image>\n {prompt}\n <ch-image src={ARROW_RIGHT_ICON} class=\"icon-md\"></ch-image>\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|