@genexus/genexus-ide-ui 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/MERCURY_ASSETS-972bf7f4.js +9 -0
- package/dist/cjs/MERCURY_ASSETS-972bf7f4.js.map +1 -0
- package/dist/cjs/code-render-0e9837c4.js +86 -0
- package/dist/cjs/code-render-0e9837c4.js.map +1 -0
- package/dist/cjs/{common-72f91a78.js → common-090e6d3a.js} +28 -12
- package/dist/cjs/common-090e6d3a.js.map +1 -0
- package/dist/cjs/{form-validation-178cf461.js → form-validation-ffe2b957.js} +7 -3
- package/dist/cjs/form-validation-ffe2b957.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +9 -15
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +8 -10
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -5
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +13 -16
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +239 -0
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -23
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -2
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -14
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +5 -7
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +16 -20
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +27 -36
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -2
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
- package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +62 -48
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +10 -14
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +18 -10
- 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 +7 -8
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +4 -7
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +14 -19
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +34 -39
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +10 -12
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +8 -13
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +21 -27
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +10 -17
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +3 -4
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -10
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -13
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -11
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +11 -18
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +19 -22
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +20 -9
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-30f109a4.js → helpers-e5a13fa5.js} +6 -6
- package/dist/cjs/helpers-e5a13fa5.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-ff30a5f3.js → locale-36b93b1b.js} +4 -4
- package/dist/cjs/locale-36b93b1b.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/common.js +23 -13
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/form-validation.js +7 -4
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +9 -10
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/locale.js +3 -3
- package/dist/collection/common/locale.js.map +1 -1
- package/dist/collection/common/render-suggest.js +1 -1
- package/dist/collection/common/render-suggest.js.map +1 -1
- package/dist/collection/components/_helpers/container/container.js +1 -2
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +1 -2
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +2 -4
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
- package/dist/collection/components/ai-assistant/ai-assistant.js +8 -14
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +2 -3
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +2 -4
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -2
- package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +1 -2
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/task-documents.js +7 -9
- package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +1 -2
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
- package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
- package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
- package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/collection/components/chat/code-render.js +65 -0
- package/dist/collection/components/chat/code-render.js.map +1 -0
- package/dist/collection/components/current-user-info/current-user-info.js +2 -3
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js +2 -3
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +1 -0
- package/dist/collection/components/data-selector/data-selector.js +2 -3
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/data-type-selector/data-type-selector.js +3 -4
- package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
- package/dist/collection/components/deployment-tool/deployment-tool.js +11 -18
- package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
- package/dist/collection/components/deployment-tool/helpers.js +4 -1
- package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
- package/dist/collection/components/design-import/design-import.js +18 -26
- package/dist/collection/components/design-import/design-import.js.map +1 -1
- package/dist/collection/components/design-import/helpers.js +1 -1
- package/dist/collection/components/design-import/helpers.js.map +1 -1
- package/dist/collection/components/file-uploader/file-uploader.js +59 -44
- package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +1 -2
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +4 -7
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js +1 -2
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +13 -4
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/navigation-report/navigation-report.js +3 -6
- package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +10 -15
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +28 -32
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.js +5 -8
- package/dist/collection/components/new-object/new-object.js.map +1 -1
- package/dist/collection/components/new-version/new-version.js +2 -2
- package/dist/collection/components/new-version/new-version.js.map +1 -1
- package/dist/collection/components/object-selector/object-selector.css +1 -0
- package/dist/collection/components/object-selector/object-selector.js +4 -5
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/open-api-import/open-api-import.js +4 -8
- package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
- package/dist/collection/components/references/helpers.js +9 -13
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.js +9 -11
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/helpers.js +5 -10
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +1 -2
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/select-user-team/helpers.js +1 -1
- package/dist/collection/components/select-user-team/helpers.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.js +1 -2
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js +1 -2
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/splash/splash.js +2 -3
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +3 -6
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +1 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +16 -21
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +4 -8
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -5
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +2 -0
- package/dist/collection/components/team-dev/update/update.js +1 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/welcome-page/welcome-page.js +5 -7
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/collection/components/ww-attributes/helpers.js +1 -2
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
- package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
- package/dist/collection/components/ww-attributes/ww-attributes.js +6 -11
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
- package/dist/collection/components/ww-files/helpers.js +1 -2
- package/dist/collection/components/ww-files/helpers.js.map +1 -1
- package/dist/collection/components/ww-files/ww-files.css +1 -0
- package/dist/collection/components/ww-files/ww-files.js +16 -18
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/components/ww-images/ww-images.css +1 -0
- package/dist/collection/components/ww-images/ww-images.js +16 -5
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/showcase/chat-container/callbacks.js +105 -90
- package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
- package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
- package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +4 -3
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/MERCURY_ASSETS.js +5 -1
- package/dist/components/MERCURY_ASSETS.js.map +1 -1
- package/dist/components/ai-message.js +1 -2
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/chat-container.js +70 -7
- package/dist/components/chat-container.js.map +1 -1
- package/dist/components/chat-welcome.js +146 -0
- package/dist/components/chat-welcome.js.map +1 -0
- package/dist/components/code-render.js +68 -41
- package/dist/components/code-render.js.map +1 -1
- package/dist/components/common.js +27 -11
- package/dist/components/common.js.map +1 -1
- package/dist/components/container.js +1 -2
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +3 -6
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/file-item.js +1 -2
- package/dist/components/file-item.js.map +1 -1
- package/dist/components/form-validation.js +6 -2
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +8 -14
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +4 -6
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +2 -4
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -2
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -2
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +9 -12
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -2
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
- package/dist/components/gx-ide-chat-welcome.js +8 -0
- package/dist/components/gx-ide-chat-welcome.js.map +1 -0
- package/dist/components/gx-ide-connect-gx-server.js +16 -21
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +5 -10
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +3 -5
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +3 -5
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +4 -6
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +4 -6
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +15 -19
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +20 -29
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-directory-selector.js +1 -2
- package/dist/components/gx-ide-directory-selector.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -2
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +60 -46
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -2
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -2
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +5 -9
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +14 -6
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +3 -4
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +3 -6
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +10 -15
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +29 -34
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +5 -8
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +2 -2
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +6 -8
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +5 -10
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +18 -24
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-sc-chat-container.js +215 -100
- package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.js +7 -14
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +2 -3
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +3 -7
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +1 -2
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-splash.js +3 -5
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +4 -8
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +2 -3
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +6 -9
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +9 -16
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +18 -21
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +17 -6
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +5 -5
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/list-selector-item.js +1 -1
- package/dist/components/list-selector-item.js.map +1 -1
- package/dist/components/locale.js +3 -3
- package/dist/components/locale.js.map +1 -1
- package/dist/esm/MERCURY_ASSETS-039222dd.js +7 -0
- package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
- package/dist/esm/code-render-f3afd300.js +83 -0
- package/dist/esm/code-render-f3afd300.js.map +1 -0
- package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
- package/dist/esm/common-719c4daf.js.map +1 -0
- package/dist/esm/{form-validation-cd0215c6.js → form-validation-71dca8c6.js} +7 -3
- package/dist/esm/form-validation-71dca8c6.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +9 -15
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +3 -4
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +5 -7
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -5
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +2 -3
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +2 -3
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +10 -13
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +2 -3
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-chat-container_2.entry.js +234 -0
- package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
- package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -23
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -2
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +7 -12
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +4 -6
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +5 -7
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +16 -20
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +21 -30
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -2
- package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +2 -3
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +4 -7
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-item.entry.js +1 -2
- package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +61 -47
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +2 -3
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -3
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +6 -10
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +16 -8
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +5 -6
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +4 -7
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +14 -19
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +33 -38
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +6 -9
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +3 -3
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +8 -10
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +6 -11
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +19 -25
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
- package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +8 -15
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +3 -4
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +5 -9
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +2 -3
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +5 -7
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +5 -9
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +4 -5
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +7 -10
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +10 -17
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +19 -22
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +20 -9
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-10479d69.js → helpers-5f1c9a32.js} +6 -6
- package/dist/esm/helpers-5f1c9a32.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-e5107fad.js → locale-643afe17.js} +4 -4
- package/dist/esm/locale-643afe17.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/genexus-ide-ui/index.esm.js +2 -2
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-d8379699.entry.js → p-02fc47cd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-032b4a81.entry.js} +25 -30
- package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-0d83a34d.entry.js} +63 -69
- package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fcecdafa.entry.js → p-0e53f1ef.entry.js} +161 -163
- package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js → p-11dccb8f.entry.js} +19 -20
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-29575656.entry.js} +85 -96
- package/dist/genexus-ide-ui/p-29575656.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-14165308.entry.js → p-2be58a7a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-2dbf722d.entry.js} +77 -85
- package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-31beae9e.entry.js → p-2e90a13a.entry.js} +2 -3
- package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-353810b8.entry.js} +99 -104
- package/dist/genexus-ide-ui/p-353810b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b58fb87b.entry.js → p-39c527ff.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-3edbf07d.js +109 -0
- package/dist/genexus-ide-ui/p-3edbf07d.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-68969051.entry.js → p-45d2fa91.entry.js} +11 -12
- package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-460db3ff.entry.js} +11 -13
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-460db3ff.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
- package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b38fffc.entry.js → p-4d929210.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-de7f0c1f.entry.js → p-501c7b1f.entry.js} +19 -22
- package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-50eaa96d.entry.js} +99 -111
- package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-51601b85.js +145 -0
- package/dist/genexus-ide-ui/p-51601b85.js.map +1 -0
- package/dist/genexus-ide-ui/{p-289c3290.js → p-549b8f0c.js} +16 -15
- package/dist/{esm/form-validation-cd0215c6.js.map → genexus-ide-ui/p-549b8f0c.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-5a42428d.entry.js} +16 -19
- package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ded7444c.entry.js → p-5da3e999.entry.js} +16 -17
- package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1072bf33.entry.js → p-5e05f830.entry.js} +32 -38
- package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-6168d48c.entry.js} +165 -174
- package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-66d9269a.entry.js} +17 -22
- package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-45996535.entry.js → p-6dc05a27.entry.js} +3 -4
- package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f51adb3d.entry.js → p-75e1aa31.entry.js} +5 -6
- package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e502c2fd.entry.js → p-7782e1b8.entry.js} +56 -61
- package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1bc2613e.entry.js → p-7cedb0f0.entry.js} +66 -69
- package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-311eedf3.js → p-857866f8.js} +8 -9
- package/dist/genexus-ide-ui/p-857866f8.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f722955f.entry.js → p-8636a0bd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d095a37c.entry.js → p-8b046b4b.entry.js} +9 -10
- package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-8f1f4126.entry.js} +10 -12
- package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b2928645.entry.js → p-95f831a8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c91af626.entry.js → p-970d16ca.entry.js} +15 -15
- package/dist/genexus-ide-ui/{p-c91af626.entry.js.map → p-970d16ca.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js → p-9a39e49c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e24902a0.entry.js → p-9a9ee1ee.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-bbf88f43.entry.js → p-9b238bf7.entry.js} +173 -180
- package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-edf889d2.entry.js → p-9c690c36.entry.js} +13 -16
- package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-a6029d9a.entry.js} +117 -131
- package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-a86a8692.entry.js} +33 -39
- package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f7421997.entry.js → p-a8cc41e4.entry.js} +58 -61
- package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-767e0f6d.entry.js → p-ac0438d6.entry.js} +11 -12
- package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-56331289.entry.js → p-b1833747.entry.js} +38 -45
- package/dist/genexus-ide-ui/p-b1833747.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b957e82.entry.js → p-b211bca8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-84618917.entry.js → p-be794132.entry.js} +229 -236
- package/dist/genexus-ide-ui/p-be794132.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-961bb2cc.entry.js → p-bfd9066c.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a47d71eb.entry.js → p-c30b2104.entry.js} +9 -11
- package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-c5cca204.entry.js} +17 -20
- package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js +338 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6d2174ed.entry.js → p-d1cc4724.entry.js} +17 -12
- package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1dd7be84.entry.js → p-daa29451.entry.js} +14 -17
- package/dist/genexus-ide-ui/p-daa29451.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-67762237.entry.js → p-db4750ff.entry.js} +139 -148
- package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-db4f756a.entry.js} +176 -188
- package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-05b04291.entry.js → p-e1d75f00.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-05b04291.entry.js.map → p-e1d75f00.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f49bb305.entry.js → p-e26e05c7.entry.js} +12 -18
- package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2b3938b4.entry.js → p-e37e95e7.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-e5571f49.entry.js} +26 -28
- package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js +317 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-ec01c70c.entry.js} +15 -18
- package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
- package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js → p-f2bd9044.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-f315c6e0.entry.js} +12 -14
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-f315c6e0.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-0550fd5f.entry.js → p-f52bcdac.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b1851e6b.entry.js → p-f5879a41.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b1851e6b.entry.js.map → p-f5879a41.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-f5a48b33.entry.js} +6 -9
- package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-04c6bd23.entry.js → p-f6ceb01a.entry.js} +28 -29
- package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +1 -0
- package/dist/types/common/common.d.ts +1 -1
- package/dist/types/components/{_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 +1 -1
- package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
- package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
- package/package.json +5 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
- package/dist/cjs/assets-manager-7227a74b.js +0 -7
- package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
- package/dist/cjs/code-render-db7cb770.js +0 -59
- package/dist/cjs/code-render-db7cb770.js.map +0 -1
- package/dist/cjs/common-72f91a78.js.map +0 -1
- package/dist/cjs/form-validation-178cf461.js.map +0 -1
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
- package/dist/cjs/helpers-30f109a4.js.map +0 -1
- package/dist/cjs/locale-ff30a5f3.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
- package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
- package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
- package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
- package/dist/components/assets-manager.js +0 -5
- package/dist/components/assets-manager.js.map +0 -1
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
- package/dist/esm/assets-manager-0d129105.js +0 -5
- package/dist/esm/assets-manager-0d129105.js.map +0 -1
- package/dist/esm/code-render-6cbb0e63.js +0 -56
- package/dist/esm/code-render-6cbb0e63.js.map +0 -1
- package/dist/esm/common-ccb4504a.js.map +0 -1
- package/dist/esm/gx-ide-chat-container.entry.js +0 -58
- package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
- package/dist/esm/helpers-10479d69.js.map +0 -1
- package/dist/esm/locale-e5107fad.js.map +0 -1
- package/dist/genexus-ide-ui/p-007173ef.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1072bf33.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
- package/dist/genexus-ide-ui/p-29a026bb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-311eedf3.js.map +0 -1
- package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-45996535.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4b79c3ab.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4c717aa7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4cbc8a8b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-530c32aa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-56331289.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
- package/dist/genexus-ide-ui/p-67762237.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-68969051.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6d2174ed.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
- package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
- package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-76c3fc51.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-833c3585.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-84618917.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-961bb2cc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ddea83b.js +0 -146
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
- package/dist/genexus-ide-ui/p-a1d73ca3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ba7d1472.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bbf88f43.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
- package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
- package/dist/genexus-ide-ui/p-c747afac.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-edf889d2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-eea944d4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f3f35e5c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f51adb3d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f7421997.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fa18a70c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fcecdafa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fdf41406.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fe490103.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fecc50e4.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-d8379699.entry.js.map → p-02fc47cd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-14165308.entry.js.map → p-2be58a7a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b58fb87b.entry.js.map → p-39c527ff.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4b38fffc.entry.js.map → p-4d929210.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f722955f.entry.js.map → p-8636a0bd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b2928645.entry.js.map → p-95f831a8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js.map → p-9a39e49c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e24902a0.entry.js.map → p-9a9ee1ee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6b957e82.entry.js.map → p-b211bca8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2b3938b4.entry.js.map → p-e37e95e7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js.map → p-f2bd9044.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0550fd5f.entry.js.map → p-f52bcdac.entry.js.map} +0 -0
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-e227aefb.js');
|
|
6
|
-
const
|
|
7
|
-
require('./
|
|
8
|
-
const locale = require('./locale-ff30a5f3.js');
|
|
6
|
+
const MERCURY_ASSETS = require('./MERCURY_ASSETS-972bf7f4.js');
|
|
7
|
+
const locale = require('./locale-36b93b1b.js');
|
|
9
8
|
|
|
10
9
|
const fileUploaderCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block;inline-size:100%;block-size:100%;padding-inline-end:0 !important}.file-uploader-dialog{display:flex;flex-direction:column;block-size:100%;background-color:var(--mer-surface__background);position:relative}.file-uploader-dialog .dialog-content{flex:1;min-block-size:0;overflow:auto}.file-uploader-dialog .dialog-footer{padding-inline-end:var(--spacing-body-inline-end)}.file-uploader{display:flex;flex-direction:column;inline-size:100%;block-size:100%}.file-uploader__list{display:flex;flex-direction:column;inline-size:100%;block-size:100%}.file-uploader__list-header{position:sticky;top:0;z-index:1;background-color:var(--mer-surface__elevation--01);display:flex;justify-content:space-between;align-items:center;padding-inline-end:var(--spacing-body-inline-end)}.file-uploader__list-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--mer-spacing--xs);padding-inline-end:var(--spacing-body-inline-end);padding-block-end:var(--mer-spacing--md)}.file-uploader__list-title-container{display:flex;align-items:center;gap:var(--mer-spacing--2xs);white-space:nowrap}.file-uploader__drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;inline-size:calc(100% - var(--spacing-body-inline-end));block-size:calc(100% - var(--mer-spacing--sm));min-block-size:200px;margin-block-end:var(--mer-spacing--sm);background:var(--mer-surface__elevation--01);border:var(--mer-border__width--md) dashed var(--mer-border-color__dim);border-radius:var(--mer-border__radius--md);transition:border-color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease}.file-uploader__drop-zone--dragging{border-color:var(--mer-accent__primary);background:var(--mer-accent__primary--hover);opacity:0.7}.file-uploader__drop-zone .text-container{display:flex;flex-direction:column;align-items:center;gap:var(--mer-spacing--2xs);margin-block-start:var(--mer-spacing--xs)}.hidden-input{display:none}.label-primary-row{display:flex;align-items:center;gap:var(--mer-spacing--xs)}";
|
|
11
10
|
|
|
@@ -26,7 +25,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
26
25
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
27
26
|
};
|
|
28
27
|
var _FileUploader_instances, _FileUploader__componentLocale, _FileUploader_fileInputEl, _FileUploader_dragCounter, _FileUploader_generateId, _FileUploader_isValidFile, _FileUploader_getValidFiles, _FileUploader_handleDragEnter, _FileUploader_handleDragLeave, _FileUploader_handleDragOver, _FileUploader_handleDrop, _FileUploader_handleFileSelect, _FileUploader_handleFileInput, _FileUploader_handleFiles, _FileUploader_handleNameChange, _FileUploader_handleFileCancel, _FileUploader_handleConfirm, _FileUploader_handleCancel;
|
|
29
|
-
const PLUS_ICON =
|
|
28
|
+
const PLUS_ICON = MERCURY_ASSETS.getIconPath({
|
|
30
29
|
category: "gemini-tools",
|
|
31
30
|
name: "add",
|
|
32
31
|
colorType: "primary"
|
|
@@ -80,20 +79,18 @@ const FileUploader = class {
|
|
|
80
79
|
});
|
|
81
80
|
/** Handles drop event */
|
|
82
81
|
_FileUploader_handleDrop.set(this, (e) => {
|
|
83
|
-
var _a;
|
|
84
82
|
e.preventDefault();
|
|
85
83
|
e.stopPropagation();
|
|
86
84
|
this.isDragging = false;
|
|
87
85
|
__classPrivateFieldSet(this, _FileUploader_dragCounter, 0, "f");
|
|
88
|
-
const files =
|
|
86
|
+
const files = e.dataTransfer?.files;
|
|
89
87
|
if (files) {
|
|
90
88
|
__classPrivateFieldGet(this, _FileUploader_handleFiles, "f").call(this, files);
|
|
91
89
|
}
|
|
92
90
|
});
|
|
93
91
|
/** Triggers file input click */
|
|
94
92
|
_FileUploader_handleFileSelect.set(this, () => {
|
|
95
|
-
|
|
96
|
-
(_a = __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) === null || _a === void 0 ? void 0 : _a.click();
|
|
93
|
+
__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")?.click();
|
|
97
94
|
});
|
|
98
95
|
/** Handles file input change event */
|
|
99
96
|
_FileUploader_handleFileInput.set(this, (e) => {
|
|
@@ -106,7 +103,6 @@ const FileUploader = class {
|
|
|
106
103
|
_FileUploader_handleFiles.set(this, (files) => {
|
|
107
104
|
const validFiles = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_getValidFiles).call(this, files);
|
|
108
105
|
validFiles.forEach(async (file) => {
|
|
109
|
-
var _a, _b;
|
|
110
106
|
const id = __classPrivateFieldGet(this, _FileUploader_generateId, "f").call(this);
|
|
111
107
|
const fileState = {
|
|
112
108
|
id,
|
|
@@ -124,29 +120,45 @@ const FileUploader = class {
|
|
|
124
120
|
const uploadPromise = this.uploadFunction(file, progress => {
|
|
125
121
|
const state = this.fileStates.get(id);
|
|
126
122
|
if (state) {
|
|
127
|
-
const updatedState =
|
|
123
|
+
const updatedState = {
|
|
124
|
+
...state,
|
|
125
|
+
progress: progress,
|
|
126
|
+
pending: progress < 100
|
|
127
|
+
};
|
|
128
128
|
this.fileStates = new Map(this.fileStates.set(id, updatedState));
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
// Store the upload promise/object for potential cancellation
|
|
132
|
-
const stateWithPromise =
|
|
132
|
+
const stateWithPromise = {
|
|
133
|
+
...this.fileStates.get(id),
|
|
134
|
+
uploadPromise
|
|
135
|
+
};
|
|
133
136
|
this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));
|
|
134
137
|
const result = await uploadPromise;
|
|
135
138
|
console.log("Upload result:", { id, result });
|
|
136
139
|
const state = this.fileStates.get(id);
|
|
137
140
|
if (state) {
|
|
138
141
|
if (result.success && result.remoteId) {
|
|
139
|
-
const updatedState =
|
|
142
|
+
const updatedState = {
|
|
143
|
+
...state,
|
|
144
|
+
remoteId: result.remoteId,
|
|
145
|
+
pending: false,
|
|
146
|
+
progress: 100
|
|
147
|
+
};
|
|
140
148
|
this.fileStates = new Map(this.fileStates.set(id, updatedState));
|
|
141
149
|
console.log("File uploaded successfully:", updatedState);
|
|
142
|
-
await
|
|
150
|
+
await this.fileUploadedCallback?.({
|
|
143
151
|
name: state.name,
|
|
144
152
|
originalName: state.file.name,
|
|
145
153
|
remoteId: result.remoteId
|
|
146
|
-
})
|
|
154
|
+
});
|
|
147
155
|
}
|
|
148
156
|
else {
|
|
149
|
-
const updatedState =
|
|
157
|
+
const updatedState = {
|
|
158
|
+
...state,
|
|
159
|
+
error: result.errors?.upload || "Upload failed",
|
|
160
|
+
pending: false
|
|
161
|
+
};
|
|
150
162
|
this.fileStates = new Map(this.fileStates.set(id, updatedState));
|
|
151
163
|
console.log("File upload failed:", updatedState);
|
|
152
164
|
}
|
|
@@ -155,9 +167,13 @@ const FileUploader = class {
|
|
|
155
167
|
catch (error) {
|
|
156
168
|
const state = this.fileStates.get(id);
|
|
157
169
|
if (state) {
|
|
158
|
-
const updatedState =
|
|
170
|
+
const updatedState = {
|
|
171
|
+
...state,
|
|
172
|
+
error: error instanceof Error
|
|
159
173
|
? error.message
|
|
160
|
-
: "Unknown error occurred",
|
|
174
|
+
: "Unknown error occurred",
|
|
175
|
+
pending: false
|
|
176
|
+
};
|
|
161
177
|
this.fileStates = new Map(this.fileStates.set(id, updatedState));
|
|
162
178
|
console.log("File upload error:", updatedState);
|
|
163
179
|
}
|
|
@@ -170,18 +186,20 @@ const FileUploader = class {
|
|
|
170
186
|
});
|
|
171
187
|
/** Handles file name change */
|
|
172
188
|
_FileUploader_handleNameChange.set(this, async (event) => {
|
|
173
|
-
var _a;
|
|
174
189
|
const { id, name } = event.detail;
|
|
175
190
|
const file = this.fileStates.get(id);
|
|
176
191
|
if (file) {
|
|
177
|
-
const updatedFile =
|
|
192
|
+
const updatedFile = {
|
|
193
|
+
...file,
|
|
194
|
+
name: name.trim(),
|
|
195
|
+
isEditing: false
|
|
196
|
+
};
|
|
178
197
|
this.fileStates = new Map(this.fileStates.set(id, updatedFile));
|
|
179
|
-
await
|
|
198
|
+
await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });
|
|
180
199
|
}
|
|
181
200
|
});
|
|
182
201
|
/** Handles individual file cancellation or deletion */
|
|
183
202
|
_FileUploader_handleFileCancel.set(this, async (event) => {
|
|
184
|
-
var _a, _b, _c, _d;
|
|
185
203
|
const id = event.detail;
|
|
186
204
|
const state = this.fileStates.get(id);
|
|
187
205
|
if (state) {
|
|
@@ -195,7 +213,7 @@ const FileUploader = class {
|
|
|
195
213
|
else if (this.cancelUploadFunction) {
|
|
196
214
|
await this.cancelUploadFunction(id);
|
|
197
215
|
}
|
|
198
|
-
await
|
|
216
|
+
await this.uploadCancelledCallback?.(id);
|
|
199
217
|
this.fileStates.delete(id);
|
|
200
218
|
this.fileStates = new Map(this.fileStates);
|
|
201
219
|
}
|
|
@@ -205,25 +223,24 @@ const FileUploader = class {
|
|
|
205
223
|
originalName: state.file.name,
|
|
206
224
|
remoteId: state.remoteId
|
|
207
225
|
};
|
|
208
|
-
const shouldDelete = await
|
|
226
|
+
const shouldDelete = await this.onBeforeDelete?.(fileToDelete);
|
|
209
227
|
if (shouldDelete) {
|
|
210
|
-
await
|
|
228
|
+
await this.fileDeletedCallback?.(fileToDelete);
|
|
211
229
|
this.fileStates.delete(id);
|
|
212
230
|
this.fileStates = new Map(this.fileStates);
|
|
213
231
|
}
|
|
214
232
|
}
|
|
215
233
|
}
|
|
216
234
|
catch (error) {
|
|
217
|
-
await
|
|
235
|
+
await this.fileDeletionErrorCallback?.({
|
|
218
236
|
fileName: state.name,
|
|
219
237
|
error: error instanceof Error ? error.message : "Unknown error occurred"
|
|
220
|
-
})
|
|
238
|
+
});
|
|
221
239
|
}
|
|
222
240
|
}
|
|
223
241
|
});
|
|
224
242
|
/** Handles dialog confirmation */
|
|
225
243
|
_FileUploader_handleConfirm.set(this, async () => {
|
|
226
|
-
var _a;
|
|
227
244
|
// Verificar si hay subidas en progreso
|
|
228
245
|
const hasPendingUploads = Array.from(this.fileStates.values()).some(file => file.pending);
|
|
229
246
|
if (hasPendingUploads) {
|
|
@@ -250,7 +267,7 @@ const FileUploader = class {
|
|
|
250
267
|
}));
|
|
251
268
|
console.log("Files to be confirmed:", uploadedFiles);
|
|
252
269
|
if (uploadedFiles.length > 0) {
|
|
253
|
-
await
|
|
270
|
+
await this.dialogConfirmedCallback?.(uploadedFiles);
|
|
254
271
|
}
|
|
255
272
|
// Clear file states
|
|
256
273
|
this.fileStates.clear();
|
|
@@ -262,14 +279,13 @@ const FileUploader = class {
|
|
|
262
279
|
});
|
|
263
280
|
/** Handles dialog cancellation */
|
|
264
281
|
_FileUploader_handleCancel.set(this, async () => {
|
|
265
|
-
var _a, _b, _c;
|
|
266
282
|
try {
|
|
267
283
|
// Cancelamos todas las subidas en progreso
|
|
268
284
|
for (const [id, state] of this.fileStates.entries()) {
|
|
269
285
|
if (state.pending && this.cancelUploadFunction) {
|
|
270
286
|
try {
|
|
271
287
|
await this.cancelUploadFunction(id);
|
|
272
|
-
await
|
|
288
|
+
await this.uploadCancelledCallback?.(id);
|
|
273
289
|
}
|
|
274
290
|
catch (error) {
|
|
275
291
|
// Error handling for upload cancellation
|
|
@@ -282,12 +298,12 @@ const FileUploader = class {
|
|
|
282
298
|
if (__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) {
|
|
283
299
|
__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f").value = "";
|
|
284
300
|
}
|
|
285
|
-
await
|
|
301
|
+
await this.dialogCanceledCallback?.();
|
|
286
302
|
}
|
|
287
303
|
catch (error) {
|
|
288
304
|
this.fileStates.clear();
|
|
289
305
|
this.fileStates = new Map();
|
|
290
|
-
await
|
|
306
|
+
await this.dialogCanceledCallback?.();
|
|
291
307
|
}
|
|
292
308
|
});
|
|
293
309
|
this.types = [];
|
|
@@ -314,12 +330,11 @@ const FileUploader = class {
|
|
|
314
330
|
}
|
|
315
331
|
/** Clears the current file selection */
|
|
316
332
|
async clear() {
|
|
317
|
-
var _a;
|
|
318
333
|
for (const [id, state] of this.fileStates.entries()) {
|
|
319
334
|
if (state.pending && this.cancelUploadFunction) {
|
|
320
335
|
try {
|
|
321
336
|
await this.cancelUploadFunction(id);
|
|
322
|
-
await
|
|
337
|
+
await this.uploadCancelledCallback?.(id);
|
|
323
338
|
}
|
|
324
339
|
catch (error) {
|
|
325
340
|
// Error handling for upload cancellation
|
|
@@ -329,25 +344,25 @@ const FileUploader = class {
|
|
|
329
344
|
this.fileStates.clear();
|
|
330
345
|
}
|
|
331
346
|
render() {
|
|
332
|
-
|
|
333
|
-
|
|
347
|
+
return (index.h(index.Host, { class: "widget" }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("input", { type: "file", class: "hidden-input", multiple: this.multiple, accept: this.types
|
|
348
|
+
?.map(type => (type.startsWith(".") ? type : `.${type}`))
|
|
349
|
+
.join(","), onChange: __classPrivateFieldGet(this, _FileUploader_handleFileInput, "f"), ref: el => (__classPrivateFieldSet(this, _FileUploader_fileInputEl, el, "f")), "aria-hidden": "true", tabIndex: -1, style: { display: "none" } }), index.h("div", { class: "file-uploader-dialog" }, index.h("div", { class: "dialog-content" }, this.isDragging || this.fileStates.size === 0 ? (index.h("div", { class: {
|
|
334
350
|
"file-uploader__drop-zone": true,
|
|
335
351
|
"file-uploader__drop-zone--dragging": this.isDragging
|
|
336
352
|
}, onDragEnter: __classPrivateFieldGet(this, _FileUploader_handleDragEnter, "f"), onDragLeave: __classPrivateFieldGet(this, _FileUploader_handleDragLeave, "f"), onDragOver: __classPrivateFieldGet(this, _FileUploader_handleDragOver, "f"), onDrop: __classPrivateFieldGet(this, _FileUploader_handleDrop, "f") }, index.h("button", { class: "button-tertiary button-icon-and-text", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleFileSelect, "f") }, index.h("ch-image", { class: "icon-md", src: PLUS_ICON }), index.h("label", { class: "label" }, this.multiple
|
|
337
|
-
?
|
|
338
|
-
:
|
|
339
|
-
?
|
|
340
|
-
:
|
|
341
|
-
|
|
342
|
-
?
|
|
343
|
-
:
|
|
344
|
-
Array.from(this.fileStates.values()).some(file => file.pending) },
|
|
353
|
+
? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonMultiple
|
|
354
|
+
: __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonSingle)), index.h("div", { class: "text-container" }, index.h("div", { class: "label-primary-row" }, index.h("label", { class: "label" }, this.label || __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.orText), index.h("label", { class: "label" }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.dragAndDrop)), index.h("span", { class: "caption" }, this.types && this.types.length > 0
|
|
355
|
+
? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.acceptedFiles.replace("{0}", this.types.join(", "))
|
|
356
|
+
: __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.allFilesAccepted)))) : (index.h("div", { class: "file-uploader__list" }, index.h("div", { class: "file-uploader__list-header spacing-body-block-end" }, index.h("div", { class: "file-uploader__list-title-container" }, index.h("label", { class: "label" }, this.label ||
|
|
357
|
+
__classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.fileList.attachedFiles), index.h("span", { class: "caption" }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.fileList.filesCount.replace("{0}", this.fileStates.size.toString()))), this.multiple && (index.h("button", { class: "button-tertiary button-icon-and-text", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleFileSelect, "f") }, index.h("ch-image", { class: "icon-md", src: PLUS_ICON }), index.h("label", { class: "label" }, this.multiple
|
|
358
|
+
? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonMultiple
|
|
359
|
+
: __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonSingle)))), index.h("div", { class: "file-uploader__list-content scrollable" }, Array.from(this.fileStates.values()).map(file => (index.h("gx-ide-file-item", { key: file.id, file: file, editable: this.canEditName, onFileNameChange: __classPrivateFieldGet(this, _FileUploader_handleNameChange, "f"), onFileDelete: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f"), onFileCancel: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f") }))))))), index.h("div", { class: "dialog-footer control-footer control-footer-with-border" }, index.h("div", { class: "buttons-spacer" }, index.h("button", { class: "button-secondary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleCancel, "f") }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.buttons.cancel), index.h("button", { class: "button-primary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleConfirm, "f"), disabled: this.fileStates.size === 0 ||
|
|
360
|
+
Array.from(this.fileStates.values()).some(file => file.pending) }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.buttons.confirm))))));
|
|
345
361
|
}
|
|
346
362
|
static get assetsDirs() { return ["gx-ide-assets/file-uploader"]; }
|
|
347
363
|
get el() { return index.getElement(this); }
|
|
348
364
|
};
|
|
349
365
|
_FileUploader__componentLocale = new WeakMap(), _FileUploader_fileInputEl = new WeakMap(), _FileUploader_dragCounter = new WeakMap(), _FileUploader_generateId = new WeakMap(), _FileUploader_handleDragEnter = new WeakMap(), _FileUploader_handleDragLeave = new WeakMap(), _FileUploader_handleDragOver = new WeakMap(), _FileUploader_handleDrop = new WeakMap(), _FileUploader_handleFileSelect = new WeakMap(), _FileUploader_handleFileInput = new WeakMap(), _FileUploader_handleFiles = new WeakMap(), _FileUploader_handleNameChange = new WeakMap(), _FileUploader_handleFileCancel = new WeakMap(), _FileUploader_handleConfirm = new WeakMap(), _FileUploader_handleCancel = new WeakMap(), _FileUploader_instances = new WeakSet(), _FileUploader_isValidFile = function _FileUploader_isValidFile(file) {
|
|
350
|
-
var _a, _b;
|
|
351
366
|
// If no types specified, accept any file
|
|
352
367
|
if (!this.types || this.types.length === 0) {
|
|
353
368
|
return { isValid: true };
|
|
@@ -373,18 +388,17 @@ _FileUploader__componentLocale = new WeakMap(), _FileUploader_fileInputEl = new
|
|
|
373
388
|
}
|
|
374
389
|
return {
|
|
375
390
|
isValid: false,
|
|
376
|
-
error:
|
|
391
|
+
error: __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.errors?.invalidFileType || "Invalid file type"
|
|
377
392
|
};
|
|
378
393
|
}, _FileUploader_getValidFiles = function _FileUploader_getValidFiles(files) {
|
|
379
394
|
const validFiles = [];
|
|
380
395
|
Array.from(files).forEach(file => {
|
|
381
|
-
var _a;
|
|
382
396
|
const validation = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_isValidFile).call(this, file);
|
|
383
397
|
if (validation.isValid) {
|
|
384
398
|
validFiles.push(file);
|
|
385
399
|
}
|
|
386
400
|
else {
|
|
387
|
-
|
|
401
|
+
this.fileValidationErrorCallback?.({
|
|
388
402
|
fileName: file.name,
|
|
389
403
|
error: validation.error
|
|
390
404
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-file-uploader.entry.cjs.js","mappings":"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","names":["getIconPath","Locale","h","Host"],"sources":["src/components/file-uploader/file-uploader.scss?tag=gx-ide-file-uploader&encapsulation=shadow","src/components/file-uploader/file-uploader.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: block;\n inline-size: 100%;\n block-size: 100%;\n padding-inline-end: 0 !important;\n}\n\n.file-uploader-dialog {\n display: flex;\n flex-direction: column;\n block-size: 100%;\n background-color: var(--mer-surface__background);\n position: relative;\n\n .dialog-content {\n flex: 1;\n min-block-size: 0;\n overflow: auto;\n }\n\n .dialog-footer {\n padding-inline-end: var(--spacing-body-inline-end);\n }\n}\n\n.file-uploader {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &__list {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &-header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--mer-surface__elevation--01);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline-end: var(--spacing-body-inline-end);\n }\n\n &-content {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n padding-inline-end: var(--spacing-body-inline-end);\n padding-block-end: var(--mer-spacing--md);\n }\n }\n\n &__list-title-container {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n white-space: nowrap;\n }\n\n &__drop-zone {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n inline-size: calc(100% - var(--spacing-body-inline-end));\n block-size: calc(100% - var(--mer-spacing--sm));\n min-block-size: 200px;\n margin-block-end: var(--mer-spacing--sm);\n background: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--md) dashed var(--mer-border-color__dim);\n border-radius: var(--mer-border__radius--md);\n transition: border-color 0.3s ease, background-color 0.3s ease,\n opacity 0.3s ease;\n\n &--dragging {\n border-color: var(--mer-accent__primary);\n background: var(--mer-accent__primary--hover);\n opacity: 0.7;\n }\n\n .text-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n margin-block-start: var(--mer-spacing--xs);\n }\n }\n}\n\n.hidden-input {\n display: none;\n}\n\n.label-primary-row {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n","/* eslint-disable @stencil-community/own-methods-must-be-private */\n/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { UploadedFile, FileUploadState, UploadResult } from \"./types\";\n\nconst PLUS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"add\",\n colorType: \"primary\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"components/list-box\",\n \"components/edit\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/elevation\",\n \"chameleon/scrollbar\"\n];\n\ntype FileValidationResult = {\n isValid: boolean;\n error?: string;\n};\n\n@Component({\n tag: \"gx-ide-file-uploader\",\n styleUrl: \"file-uploader.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/file-uploader\"]\n})\nexport class FileUploader {\n #_componentLocale: any;\n #fileInputEl!: HTMLInputElement;\n\n @Element() el!: HTMLGxIdeFileUploaderElement;\n\n /** Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf']) */\n @Prop() readonly types?: string[] = [];\n\n /** Whether multiple files can be selected */\n @Prop() readonly multiple: boolean = false;\n\n /** Whether file names can be edited */\n @Prop() readonly canEditName: boolean = false;\n\n /** Label to display in the uploader dialog */\n @Prop() readonly label?: string;\n\n /** Function to handle file upload */\n @Prop() readonly uploadFunction!: (\n file: File,\n progressCallback: (progress: number) => void\n ) => Promise<UploadResult>;\n\n /** Function to cancel file upload */\n @Prop() readonly cancelUploadFunction?: (fileId: string) => Promise<void>;\n\n /** Callback when a file is uploaded successfully */\n @Prop() readonly fileUploadedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback when the dialog is canceled */\n @Prop() readonly dialogCanceledCallback?: () => Promise<void>;\n\n /** Callback when the dialog is confirmed with files */\n @Prop() readonly dialogConfirmedCallback?: (\n files: UploadedFile[]\n ) => Promise<void>;\n\n /** Callback when upload is cancelled */\n @Prop() readonly uploadCancelledCallback?: (fileId: string) => Promise<void>;\n\n /** Callback when file is renamed */\n @Prop() readonly fileRenamedCallback?: (data: {\n fileId: string;\n newName: string;\n }) => Promise<void>;\n\n /** Callback when a file validation error occurs */\n @Prop() readonly fileValidationErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file deletion error occurs */\n @Prop() readonly fileDeletionErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file is deleted */\n @Prop() readonly fileDeletedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback before deleting a file to get confirmation */\n @Prop() readonly onBeforeDelete?: (file: UploadedFile) => Promise<boolean>;\n\n @State() private fileStates: Map<string, FileUploadState> = new Map();\n @State() private isDragging: boolean = false;\n #dragCounter = 0;\n\n /** Initializes component with locale strings */\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /** Generates a unique ID for file identification */\n #generateId = (): string => {\n return Math.random().toString(36).substr(2, 9);\n };\n\n /** Validates if a file matches the allowed types */\n #isValidFile(file: File): FileValidationResult {\n // If no types specified, accept any file\n if (!this.types || this.types.length === 0) {\n return { isValid: true };\n }\n\n for (const type of this.types) {\n // Handle wildcards like 'image/*'\n if (type.includes(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n if (file.type.startsWith(baseType)) {\n return { isValid: true };\n }\n }\n // Handle extensions like '.jpg'\n else if (type.startsWith(\".\")) {\n if (file.name.toLowerCase().endsWith(type.toLowerCase())) {\n return { isValid: true };\n }\n }\n // Handle specific MIME types\n else if (file.type === type || file.type === `application/${type}`) {\n return { isValid: true };\n }\n }\n\n return {\n isValid: false,\n error:\n this.#_componentLocale?.errors?.invalidFileType || \"Invalid file type\"\n };\n }\n\n /** Filters valid files from a FileList */\n #getValidFiles(files: FileList): File[] {\n const validFiles: File[] = [];\n\n Array.from(files).forEach(file => {\n const validation = this.#isValidFile(file);\n if (validation.isValid) {\n validFiles.push(file);\n } else {\n this.fileValidationErrorCallback?.({\n fileName: file.name,\n error: validation.error\n });\n }\n });\n\n return validFiles;\n }\n\n /** Handles drag enter event */\n #handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter++;\n this.isDragging = true;\n };\n\n /** Handles drag leave event */\n #handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter--;\n if (this.#dragCounter === 0) {\n this.isDragging = false;\n }\n };\n\n /** Handles drag over event */\n #handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n /** Handles drop event */\n #handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n this.#dragCounter = 0;\n\n const files = e.dataTransfer?.files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Triggers file input click */\n #handleFileSelect = () => {\n this.#fileInputEl?.click();\n };\n\n /** Handles file input change event */\n #handleFileInput = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Processes files and starts upload */\n #handleFiles = (files: FileList) => {\n const validFiles: File[] = this.#getValidFiles(files);\n\n validFiles.forEach(async file => {\n const id = this.#generateId();\n const fileState: FileUploadState = {\n id,\n name: file.name,\n file,\n pending: true,\n progress: 0\n };\n\n if (!this.multiple) {\n this.fileStates.clear();\n }\n\n this.fileStates = new Map(this.fileStates.set(id, fileState));\n\n if (this.uploadFunction) {\n try {\n const uploadPromise = this.uploadFunction(file, progress => {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n progress: progress,\n pending: progress < 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n }\n });\n\n // Store the upload promise/object for potential cancellation\n const stateWithPromise = {\n ...this.fileStates.get(id),\n uploadPromise\n };\n this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));\n\n const result = await uploadPromise;\n console.log(\"Upload result:\", { id, result });\n\n const state = this.fileStates.get(id);\n if (state) {\n if (result.success && result.remoteId) {\n const updatedState = {\n ...state,\n remoteId: result.remoteId,\n pending: false,\n progress: 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File uploaded successfully:\", updatedState);\n await this.fileUploadedCallback?.({\n name: state.name,\n originalName: state.file.name,\n remoteId: result.remoteId\n });\n } else {\n const updatedState = {\n ...state,\n error: result.errors?.upload || \"Upload failed\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload failed:\", updatedState);\n }\n }\n } catch (error) {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n error:\n error instanceof Error\n ? error.message\n : \"Unknown error occurred\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload error:\", updatedState);\n }\n }\n }\n });\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles file name change */\n #handleNameChange = async (\n event: CustomEvent<{ id: string; name: string }>\n ) => {\n const { id, name } = event.detail;\n const file = this.fileStates.get(id);\n\n if (file) {\n const updatedFile = {\n ...file,\n name: name.trim(),\n isEditing: false\n };\n\n this.fileStates = new Map(this.fileStates.set(id, updatedFile));\n await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });\n }\n };\n\n /** Handles individual file cancellation or deletion */\n #handleFileCancel = async (event: CustomEvent<string>) => {\n const id = event.detail;\n const state = this.fileStates.get(id);\n if (state) {\n try {\n if (state.pending) {\n // Cancel upload in progress\n if (\n state.uploadPromise &&\n typeof state.uploadPromise.cancel === \"function\"\n ) {\n state.uploadPromise.cancel();\n } else if (this.cancelUploadFunction) {\n await this.cancelUploadFunction(id);\n }\n\n await this.uploadCancelledCallback?.(id);\n\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n } else {\n const fileToDelete: UploadedFile = {\n name: state.name,\n originalName: state.file.name,\n remoteId: state.remoteId\n };\n\n const shouldDelete = await this.onBeforeDelete?.(fileToDelete);\n\n if (shouldDelete) {\n await this.fileDeletedCallback?.(fileToDelete);\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n }\n }\n } catch (error) {\n await this.fileDeletionErrorCallback?.({\n fileName: state.name,\n error:\n error instanceof Error ? error.message : \"Unknown error occurred\"\n });\n }\n }\n };\n\n /** Handles dialog confirmation */\n #handleConfirm = async () => {\n // Verificar si hay subidas en progreso\n const hasPendingUploads = Array.from(this.fileStates.values()).some(\n file => file.pending\n );\n\n if (hasPendingUploads) {\n return; // No permitir confirmar si hay subidas en progreso\n }\n\n // Obtener todos los archivos que están completamente subidos\n const uploadedFiles: UploadedFile[] = Array.from(this.fileStates.values())\n .filter(file => {\n const isValid = !file.pending && file.remoteId && !file.error;\n console.log(\"File validation:\", {\n id: file.id,\n name: file.name,\n pending: file.pending,\n remoteId: file.remoteId,\n error: file.error,\n isValid\n });\n return isValid;\n })\n .map(file => ({\n name: file.name,\n originalName: file.file.name,\n remoteId: file.remoteId as string\n }));\n\n console.log(\"Files to be confirmed:\", uploadedFiles);\n\n if (uploadedFiles.length > 0) {\n await this.dialogConfirmedCallback?.(uploadedFiles);\n }\n\n // Clear file states\n this.fileStates.clear();\n this.fileStates = new Map();\n\n // Reset file input\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles dialog cancellation */\n #handleCancel = async () => {\n try {\n // Cancelamos todas las subidas en progreso\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n\n // Limpiamos todos los estados\n this.fileStates.clear();\n this.fileStates = new Map();\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n\n await this.dialogCanceledCallback?.();\n } catch (error) {\n this.fileStates.clear();\n this.fileStates = new Map();\n await this.dialogCanceledCallback?.();\n }\n };\n\n /** Clears the current file selection */\n @Method()\n async clear() {\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n this.fileStates.clear();\n }\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type=\"file\"\n class=\"hidden-input\"\n multiple={this.multiple}\n accept={this.types\n ?.map(type => (type.startsWith(\".\") ? type : `.${type}`))\n .join(\",\")}\n onChange={this.#handleFileInput}\n ref={el => (this.#fileInputEl = el as HTMLInputElement)}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{ display: \"none\" }}\n />\n <div class=\"file-uploader-dialog\">\n <div class=\"dialog-content\">\n {this.isDragging || this.fileStates.size === 0 ? (\n <div\n class={{\n \"file-uploader__drop-zone\": true,\n \"file-uploader__drop-zone--dragging\": this.isDragging\n }}\n onDragEnter={this.#handleDragEnter}\n onDragLeave={this.#handleDragLeave}\n onDragOver={this.#handleDragOver}\n onDrop={this.#handleDrop}\n >\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n <div class=\"text-container\">\n <div class=\"label-primary-row\">\n <label class=\"label\">\n {this.label || this.#_componentLocale?.header.orText}\n </label>\n <label class=\"label\">\n {this.#_componentLocale?.header.dragAndDrop}\n </label>\n </div>\n <span class=\"caption\">\n {this.types && this.types.length > 0\n ? this.#_componentLocale?.header.acceptedFiles.replace(\n \"{0}\",\n this.types.join(\", \")\n )\n : this.#_componentLocale?.header.allFilesAccepted}\n </span>\n </div>\n </div>\n ) : (\n <div class=\"file-uploader__list\">\n <div class=\"file-uploader__list-header spacing-body-block-end\">\n <div class=\"file-uploader__list-title-container\">\n <label class=\"label\">\n {this.label ||\n this.#_componentLocale?.fileList.attachedFiles}\n </label>\n <span class=\"caption\">\n {this.#_componentLocale?.fileList.filesCount.replace(\n \"{0}\",\n this.fileStates.size.toString()\n )}\n </span>\n </div>\n {this.multiple && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n )}\n </div>\n <div class=\"file-uploader__list-content scrollable\">\n {Array.from(this.fileStates.values()).map(file => (\n <gx-ide-file-item\n key={file.id}\n file={file}\n editable={this.canEditName}\n onFileNameChange={this.#handleNameChange}\n onFileDelete={this.#handleFileCancel}\n onFileCancel={this.#handleFileCancel}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n <div class=\"dialog-footer control-footer control-footer-with-border\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#handleCancel}\n >\n {this.#_componentLocale?.buttons.cancel}\n </button>\n <button\n class=\"button-primary\"\n type=\"button\"\n onClick={this.#handleConfirm}\n disabled={\n this.fileStates.size === 0 ||\n Array.from(this.fileStates.values()).some(\n file => file.pending\n )\n }\n >\n {this.#_componentLocale?.buttons.confirm}\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-file-uploader.entry.cjs.js","mappings":"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","names":["getIconPath","Locale","h","Host"],"sources":["src/components/file-uploader/file-uploader.scss?tag=gx-ide-file-uploader&encapsulation=shadow","src/components/file-uploader/file-uploader.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: block;\n inline-size: 100%;\n block-size: 100%;\n padding-inline-end: 0 !important;\n}\n\n.file-uploader-dialog {\n display: flex;\n flex-direction: column;\n block-size: 100%;\n background-color: var(--mer-surface__background);\n position: relative;\n\n .dialog-content {\n flex: 1;\n min-block-size: 0;\n overflow: auto;\n }\n\n .dialog-footer {\n padding-inline-end: var(--spacing-body-inline-end);\n }\n}\n\n.file-uploader {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &__list {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &-header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--mer-surface__elevation--01);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline-end: var(--spacing-body-inline-end);\n }\n\n &-content {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n padding-inline-end: var(--spacing-body-inline-end);\n padding-block-end: var(--mer-spacing--md);\n }\n }\n\n &__list-title-container {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n white-space: nowrap;\n }\n\n &__drop-zone {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n inline-size: calc(100% - var(--spacing-body-inline-end));\n block-size: calc(100% - var(--mer-spacing--sm));\n min-block-size: 200px;\n margin-block-end: var(--mer-spacing--sm);\n background: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--md) dashed var(--mer-border-color__dim);\n border-radius: var(--mer-border__radius--md);\n transition: border-color 0.3s ease, background-color 0.3s ease,\n opacity 0.3s ease;\n\n &--dragging {\n border-color: var(--mer-accent__primary);\n background: var(--mer-accent__primary--hover);\n opacity: 0.7;\n }\n\n .text-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n margin-block-start: var(--mer-spacing--xs);\n }\n }\n}\n\n.hidden-input {\n display: none;\n}\n\n.label-primary-row {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n","/* eslint-disable @stencil-community/own-methods-must-be-private */\n/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { UploadedFile, FileUploadState, UploadResult } from \"./types\";\n\nconst PLUS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"add\",\n colorType: \"primary\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"components/list-box\",\n \"components/edit\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/elevation\",\n \"chameleon/scrollbar\"\n];\n\ntype FileValidationResult = {\n isValid: boolean;\n error?: string;\n};\n\n@Component({\n tag: \"gx-ide-file-uploader\",\n styleUrl: \"file-uploader.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/file-uploader\"]\n})\nexport class FileUploader {\n #_componentLocale: any;\n #fileInputEl!: HTMLInputElement;\n\n @Element() el!: HTMLGxIdeFileUploaderElement;\n\n /** Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf']) */\n @Prop() readonly types?: string[] = [];\n\n /** Whether multiple files can be selected */\n @Prop() readonly multiple: boolean = false;\n\n /** Whether file names can be edited */\n @Prop() readonly canEditName: boolean = false;\n\n /** Label to display in the uploader dialog */\n @Prop() readonly label?: string;\n\n /** Function to handle file upload */\n @Prop() readonly uploadFunction!: (\n file: File,\n progressCallback: (progress: number) => void\n ) => Promise<UploadResult>;\n\n /** Function to cancel file upload */\n @Prop() readonly cancelUploadFunction?: (fileId: string) => Promise<void>;\n\n /** Callback when a file is uploaded successfully */\n @Prop() readonly fileUploadedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback when the dialog is canceled */\n @Prop() readonly dialogCanceledCallback?: () => Promise<void>;\n\n /** Callback when the dialog is confirmed with files */\n @Prop() readonly dialogConfirmedCallback?: (\n files: UploadedFile[]\n ) => Promise<void>;\n\n /** Callback when upload is cancelled */\n @Prop() readonly uploadCancelledCallback?: (fileId: string) => Promise<void>;\n\n /** Callback when file is renamed */\n @Prop() readonly fileRenamedCallback?: (data: {\n fileId: string;\n newName: string;\n }) => Promise<void>;\n\n /** Callback when a file validation error occurs */\n @Prop() readonly fileValidationErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file deletion error occurs */\n @Prop() readonly fileDeletionErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file is deleted */\n @Prop() readonly fileDeletedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback before deleting a file to get confirmation */\n @Prop() readonly onBeforeDelete?: (file: UploadedFile) => Promise<boolean>;\n\n @State() private fileStates: Map<string, FileUploadState> = new Map();\n @State() private isDragging: boolean = false;\n #dragCounter = 0;\n\n /** Initializes component with locale strings */\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /** Generates a unique ID for file identification */\n #generateId = (): string => {\n return Math.random().toString(36).substr(2, 9);\n };\n\n /** Validates if a file matches the allowed types */\n #isValidFile(file: File): FileValidationResult {\n // If no types specified, accept any file\n if (!this.types || this.types.length === 0) {\n return { isValid: true };\n }\n\n for (const type of this.types) {\n // Handle wildcards like 'image/*'\n if (type.includes(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n if (file.type.startsWith(baseType)) {\n return { isValid: true };\n }\n }\n // Handle extensions like '.jpg'\n else if (type.startsWith(\".\")) {\n if (file.name.toLowerCase().endsWith(type.toLowerCase())) {\n return { isValid: true };\n }\n }\n // Handle specific MIME types\n else if (file.type === type || file.type === `application/${type}`) {\n return { isValid: true };\n }\n }\n\n return {\n isValid: false,\n error:\n this.#_componentLocale?.errors?.invalidFileType || \"Invalid file type\"\n };\n }\n\n /** Filters valid files from a FileList */\n #getValidFiles(files: FileList): File[] {\n const validFiles: File[] = [];\n\n Array.from(files).forEach(file => {\n const validation = this.#isValidFile(file);\n if (validation.isValid) {\n validFiles.push(file);\n } else {\n this.fileValidationErrorCallback?.({\n fileName: file.name,\n error: validation.error\n });\n }\n });\n\n return validFiles;\n }\n\n /** Handles drag enter event */\n #handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter++;\n this.isDragging = true;\n };\n\n /** Handles drag leave event */\n #handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter--;\n if (this.#dragCounter === 0) {\n this.isDragging = false;\n }\n };\n\n /** Handles drag over event */\n #handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n /** Handles drop event */\n #handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n this.#dragCounter = 0;\n\n const files = e.dataTransfer?.files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Triggers file input click */\n #handleFileSelect = () => {\n this.#fileInputEl?.click();\n };\n\n /** Handles file input change event */\n #handleFileInput = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Processes files and starts upload */\n #handleFiles = (files: FileList) => {\n const validFiles: File[] = this.#getValidFiles(files);\n\n validFiles.forEach(async file => {\n const id = this.#generateId();\n const fileState: FileUploadState = {\n id,\n name: file.name,\n file,\n pending: true,\n progress: 0\n };\n\n if (!this.multiple) {\n this.fileStates.clear();\n }\n\n this.fileStates = new Map(this.fileStates.set(id, fileState));\n\n if (this.uploadFunction) {\n try {\n const uploadPromise = this.uploadFunction(file, progress => {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n progress: progress,\n pending: progress < 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n }\n });\n\n // Store the upload promise/object for potential cancellation\n const stateWithPromise = {\n ...this.fileStates.get(id),\n uploadPromise\n };\n this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));\n\n const result = await uploadPromise;\n console.log(\"Upload result:\", { id, result });\n\n const state = this.fileStates.get(id);\n if (state) {\n if (result.success && result.remoteId) {\n const updatedState = {\n ...state,\n remoteId: result.remoteId,\n pending: false,\n progress: 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File uploaded successfully:\", updatedState);\n await this.fileUploadedCallback?.({\n name: state.name,\n originalName: state.file.name,\n remoteId: result.remoteId\n });\n } else {\n const updatedState = {\n ...state,\n error: result.errors?.upload || \"Upload failed\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload failed:\", updatedState);\n }\n }\n } catch (error) {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n error:\n error instanceof Error\n ? error.message\n : \"Unknown error occurred\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload error:\", updatedState);\n }\n }\n }\n });\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles file name change */\n #handleNameChange = async (\n event: CustomEvent<{ id: string; name: string }>\n ) => {\n const { id, name } = event.detail;\n const file = this.fileStates.get(id);\n\n if (file) {\n const updatedFile = {\n ...file,\n name: name.trim(),\n isEditing: false\n };\n\n this.fileStates = new Map(this.fileStates.set(id, updatedFile));\n await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });\n }\n };\n\n /** Handles individual file cancellation or deletion */\n #handleFileCancel = async (event: CustomEvent<string>) => {\n const id = event.detail;\n const state = this.fileStates.get(id);\n if (state) {\n try {\n if (state.pending) {\n // Cancel upload in progress\n if (\n state.uploadPromise &&\n typeof state.uploadPromise.cancel === \"function\"\n ) {\n state.uploadPromise.cancel();\n } else if (this.cancelUploadFunction) {\n await this.cancelUploadFunction(id);\n }\n\n await this.uploadCancelledCallback?.(id);\n\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n } else {\n const fileToDelete: UploadedFile = {\n name: state.name,\n originalName: state.file.name,\n remoteId: state.remoteId\n };\n\n const shouldDelete = await this.onBeforeDelete?.(fileToDelete);\n\n if (shouldDelete) {\n await this.fileDeletedCallback?.(fileToDelete);\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n }\n }\n } catch (error) {\n await this.fileDeletionErrorCallback?.({\n fileName: state.name,\n error:\n error instanceof Error ? error.message : \"Unknown error occurred\"\n });\n }\n }\n };\n\n /** Handles dialog confirmation */\n #handleConfirm = async () => {\n // Verificar si hay subidas en progreso\n const hasPendingUploads = Array.from(this.fileStates.values()).some(\n file => file.pending\n );\n\n if (hasPendingUploads) {\n return; // No permitir confirmar si hay subidas en progreso\n }\n\n // Obtener todos los archivos que están completamente subidos\n const uploadedFiles: UploadedFile[] = Array.from(this.fileStates.values())\n .filter(file => {\n const isValid = !file.pending && file.remoteId && !file.error;\n console.log(\"File validation:\", {\n id: file.id,\n name: file.name,\n pending: file.pending,\n remoteId: file.remoteId,\n error: file.error,\n isValid\n });\n return isValid;\n })\n .map(file => ({\n name: file.name,\n originalName: file.file.name,\n remoteId: file.remoteId as string\n }));\n\n console.log(\"Files to be confirmed:\", uploadedFiles);\n\n if (uploadedFiles.length > 0) {\n await this.dialogConfirmedCallback?.(uploadedFiles);\n }\n\n // Clear file states\n this.fileStates.clear();\n this.fileStates = new Map();\n\n // Reset file input\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles dialog cancellation */\n #handleCancel = async () => {\n try {\n // Cancelamos todas las subidas en progreso\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n\n // Limpiamos todos los estados\n this.fileStates.clear();\n this.fileStates = new Map();\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n\n await this.dialogCanceledCallback?.();\n } catch (error) {\n this.fileStates.clear();\n this.fileStates = new Map();\n await this.dialogCanceledCallback?.();\n }\n };\n\n /** Clears the current file selection */\n @Method()\n async clear() {\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n this.fileStates.clear();\n }\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type=\"file\"\n class=\"hidden-input\"\n multiple={this.multiple}\n accept={this.types\n ?.map(type => (type.startsWith(\".\") ? type : `.${type}`))\n .join(\",\")}\n onChange={this.#handleFileInput}\n ref={el => (this.#fileInputEl = el as HTMLInputElement)}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{ display: \"none\" }}\n />\n <div class=\"file-uploader-dialog\">\n <div class=\"dialog-content\">\n {this.isDragging || this.fileStates.size === 0 ? (\n <div\n class={{\n \"file-uploader__drop-zone\": true,\n \"file-uploader__drop-zone--dragging\": this.isDragging\n }}\n onDragEnter={this.#handleDragEnter}\n onDragLeave={this.#handleDragLeave}\n onDragOver={this.#handleDragOver}\n onDrop={this.#handleDrop}\n >\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n <div class=\"text-container\">\n <div class=\"label-primary-row\">\n <label class=\"label\">\n {this.label || this.#_componentLocale?.header.orText}\n </label>\n <label class=\"label\">\n {this.#_componentLocale?.header.dragAndDrop}\n </label>\n </div>\n <span class=\"caption\">\n {this.types && this.types.length > 0\n ? this.#_componentLocale?.header.acceptedFiles.replace(\n \"{0}\",\n this.types.join(\", \")\n )\n : this.#_componentLocale?.header.allFilesAccepted}\n </span>\n </div>\n </div>\n ) : (\n <div class=\"file-uploader__list\">\n <div class=\"file-uploader__list-header spacing-body-block-end\">\n <div class=\"file-uploader__list-title-container\">\n <label class=\"label\">\n {this.label ||\n this.#_componentLocale?.fileList.attachedFiles}\n </label>\n <span class=\"caption\">\n {this.#_componentLocale?.fileList.filesCount.replace(\n \"{0}\",\n this.fileStates.size.toString()\n )}\n </span>\n </div>\n {this.multiple && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n )}\n </div>\n <div class=\"file-uploader__list-content scrollable\">\n {Array.from(this.fileStates.values()).map(file => (\n <gx-ide-file-item\n key={file.id}\n file={file}\n editable={this.canEditName}\n onFileNameChange={this.#handleNameChange}\n onFileDelete={this.#handleFileCancel}\n onFileCancel={this.#handleFileCancel}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n <div class=\"dialog-footer control-footer control-footer-with-border\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#handleCancel}\n >\n {this.#_componentLocale?.buttons.cancel}\n </button>\n <button\n class=\"button-primary\"\n type=\"button\"\n onClick={this.#handleConfirm}\n disabled={\n this.fileStates.size === 0 ||\n Array.from(this.fileStates.values()).some(\n file => file.pending\n )\n }\n >\n {this.#_componentLocale?.buttons.confirm}\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-e227aefb.js');
|
|
6
|
-
const locale = require('./locale-
|
|
6
|
+
const locale = require('./locale-36b93b1b.js');
|
|
7
7
|
|
|
8
8
|
const gamInstallationSettingsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:grid;grid-template-rows:max-content 1fr max-content;height:100%}.control-header{margin-block-end:var(--mer-spacing--md)}.main-content{grid-auto-rows:max-content}.footer-info{margin-bottom:var(--mer-spacing--sm)}.description{display:grid;grid-auto-rows:max-content;gap:8px}";
|
|
9
9
|
|
|
@@ -60,8 +60,7 @@ const GxIdeGamInstallationSettings = class {
|
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
_GxIdeGamInstallationSettings_renderFilters.set(this, () => {
|
|
63
|
-
|
|
64
|
-
return (index.h("div", { class: "field-group", role: "region", "aria-label": __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading }, index.h("h5", { class: "subtitle-regular-s margin-block-end-s" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading), index.h("div", { class: "filters__wrapper" }, index.h("div", { class: "field-group", role: "group", "aria-labelledby": "frontend-objects-label" }, index.h("div", { class: "field field-block" }, index.h("label", { id: "frontend-objects-label", class: "label" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.frontEndObjects), index.h("div", { class: "field-group-inline" }, index.h("ch-checkbox", { class: "checkbox", checkedValue: "webPanels", value: ((_a = this.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.importWebPanels)
|
|
63
|
+
return (index.h("div", { class: "field-group", role: "region", "aria-label": __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading }, index.h("h5", { class: "subtitle-regular-s margin-block-end-s" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading), index.h("div", { class: "filters__wrapper" }, index.h("div", { class: "field-group", role: "group", "aria-labelledby": "frontend-objects-label" }, index.h("div", { class: "field field-block" }, index.h("label", { id: "frontend-objects-label", class: "label" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.frontEndObjects), index.h("div", { class: "field-group-inline" }, index.h("ch-checkbox", { class: "checkbox", checkedValue: "webPanels", value: this.defaultConfiguration?.importWebPanels
|
|
65
64
|
? "webPanels"
|
|
66
65
|
: undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.webPanelsCheckbox, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, el, "f")), part: "web-panels-checkbox" }), index.h("ch-checkbox", { class: "checkbox", checkedValue: "panels", value: this.defaultConfiguration.importPanels &&
|
|
67
66
|
this.canSelectPanels
|