@genexus/genexus-ide-ui 2.1.1 → 2.1.3
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/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
- 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-assign-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
- 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 +1 -1
- 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-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-launchpad-apis_3.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-loader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js +5 -3
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-starting-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-starting-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-preview.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-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- 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-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -0
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -0
- package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
- package/dist/collection/components/_starting-template/starting-template.css +4 -0
- package/dist/collection/components/_test/test.css +1 -0
- package/dist/collection/components/about/about.css +4 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +5 -0
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +1 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +1 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +1 -0
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +1 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +1 -0
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.css +4 -0
- package/dist/collection/components/bpm/task-documents/task-documents.css +4 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +1 -0
- package/dist/collection/components/curl-inspector/curl-inspector.css +4 -0
- package/dist/collection/components/data-selector/data-selector.css +4 -0
- package/dist/collection/components/data-type-selector/data-type-selector.css +4 -0
- package/dist/collection/components/deployment-tool/deployment-tool.css +1 -0
- package/dist/collection/components/design-import/design-import.css +5 -0
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.css +4 -0
- package/dist/collection/components/file-uploader/file-uploader.css +5 -0
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +5 -0
- package/dist/collection/components/json-import/json-import.css +4 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
- package/dist/collection/components/launchpad/native-apps/launchpad-native-apps.css +4 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
- package/dist/collection/components/name-picker/name-picker.css +4 -0
- package/dist/collection/components/navigation-report/navigation-report.css +4 -0
- package/dist/collection/components/new-environment/new-environment.css +4 -0
- package/dist/collection/components/new-kb/new-kb.css +4 -0
- package/dist/collection/components/new-object/new-object.css +4 -0
- package/dist/collection/components/new-version/new-version.css +4 -0
- package/dist/collection/components/object-selector/object-selector.css +4 -0
- package/dist/collection/components/open-api-import/open-api-import.css +4 -0
- package/dist/collection/components/references/references.css +1 -0
- package/dist/collection/components/restore-version/restore-version.css +7 -14
- package/dist/collection/components/restore-version/restore-version.js +4 -3
- package/dist/collection/components/restore-version/restore-version.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.css +4 -0
- package/dist/collection/components/select-user-team/select-user-team.css +4 -0
- package/dist/collection/components/sign-in-result/sign-in-result.css +5 -2
- package/dist/collection/components/sign-in-result/sign-in-result.js +4 -2
- package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -1
- package/dist/collection/components/splash/splash.css +4 -0
- package/dist/collection/components/start-page/start-page.css +4 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +4 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +4 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +4 -0
- package/dist/collection/components/team-dev/history/history.css +4 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
- package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +5 -0
- package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.css +4 -0
- package/dist/collection/components/team-dev/update/update.css +4 -0
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.css +4 -0
- package/dist/collection/components/wf-settings/wf-settings.css +1 -0
- package/dist/collection/components/ww-files/ww-files.css +4 -0
- package/dist/collection/components/ww-images/ww-images.css +4 -0
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/gx-ide-about.js +1 -1
- package/dist/components/gx-ide-about.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-comments-viewer.js +1 -1
- package/dist/components/gx-ide-comments-viewer.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +1 -1
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-curl-inspector.js +1 -1
- package/dist/components/gx-ide-curl-inspector.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +1 -1
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +1 -1
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +1 -1
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +1 -1
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +1 -1
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +1 -1
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-json-import.js +1 -1
- package/dist/components/gx-ide-json-import.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +1 -1
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-name-picker.js +1 -1
- package/dist/components/gx-ide-name-picker.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +1 -1
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +1 -1
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +1 -1
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +1 -1
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +1 -1
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +1 -1
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +1 -1
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -1
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-restore-version.js +5 -4
- package/dist/components/gx-ide-restore-version.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +1 -1
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +1 -1
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +1 -1
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-result.js +5 -3
- package/dist/components/gx-ide-sign-in-result.js.map +1 -1
- package/dist/components/gx-ide-splash.js +1 -1
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -1
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-starting-template.js +1 -1
- package/dist/components/gx-ide-starting-template.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +1 -1
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.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-history.js +1 -1
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-preview.js +2 -2
- package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-test.js +1 -1
- package/dist/components/gx-ide-test.js.map +1 -1
- package/dist/components/gx-ide-wf-settings.js +1 -1
- package/dist/components/gx-ide-wf-settings.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +1 -1
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/ide-loader.js +1 -1
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/launchpad-native-apps.js +1 -1
- package/dist/components/launchpad-native-apps.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/select-kb-items.js +1 -1
- package/dist/components/select-kb-items.js.map +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-about.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- 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-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
- 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-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-json-import.entry.js +1 -1
- package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-launchpad-apis_3.entry.js +1 -1
- package/dist/esm/gx-ide-launchpad-apis_3.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-loader.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +1 -1
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-restore-version.entry.js +5 -4
- package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-result.entry.js +5 -3
- package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -1
- package/dist/esm/gx-ide-splash.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-starting-template.entry.js +1 -1
- package/dist/esm/gx-ide-starting-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-preview.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-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- 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-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-test.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/{p-5929f575.entry.js → p-00705e1c.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-00705e1c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-18c3c961.entry.js → p-056955be.entry.js} +17 -17
- package/dist/genexus-ide-ui/p-056955be.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3ff33154.entry.js → p-0620e8f2.entry.js} +33 -33
- package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4af50a00.entry.js → p-06c31f23.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-76fdea52.entry.js → p-0be24413.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0be24413.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8019e064.entry.js → p-0e4daeb7.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-0e4daeb7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-840c09d2.entry.js → p-123ef674.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-70cd77bc.entry.js → p-217bd2d7.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-d6e7a813.entry.js → p-24247ec3.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-24247ec3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-af2f9983.entry.js → p-2b3f161f.entry.js} +21 -21
- package/dist/genexus-ide-ui/p-2b3f161f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-750eb88a.entry.js → p-34577955.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-34577955.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bdaae26a.entry.js → p-35c2a2f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-35c2a2f9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ee77b260.entry.js → p-37812762.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-37812762.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0a7cbbd0.entry.js → p-3bbdad29.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-3bbdad29.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f05a137a.entry.js → p-42860e7e.entry.js} +71 -71
- package/dist/genexus-ide-ui/p-42860e7e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-168d3c83.entry.js → p-4431f46f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-24cf1cd2.entry.js → p-4bafe061.entry.js} +39 -39
- package/dist/genexus-ide-ui/p-4bafe061.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e4116b36.entry.js → p-4d7433e0.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4d7433e0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dcfae3da.entry.js → p-4f58397f.entry.js} +53 -53
- package/dist/genexus-ide-ui/p-4f58397f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2567883a.entry.js → p-508c4bee.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8cee1076.entry.js → p-55cb0614.entry.js} +14 -14
- package/dist/genexus-ide-ui/p-55cb0614.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b430ac1.entry.js → p-5727fce7.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-5727fce7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-520c3763.entry.js → p-572fdc25.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-572fdc25.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a50c520c.entry.js → p-5864a82d.entry.js} +18 -18
- package/dist/genexus-ide-ui/p-5864a82d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2a59b523.entry.js → p-60db2f02.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-178805d6.entry.js → p-632d3a74.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-632d3a74.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-36462e51.entry.js → p-63abf7e8.entry.js} +41 -41
- package/dist/genexus-ide-ui/p-63abf7e8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bb5a5c23.entry.js → p-69e7d46b.entry.js} +12 -12
- package/dist/genexus-ide-ui/p-69e7d46b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1d3da80d.entry.js → p-7b76b0e4.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-7b76b0e4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-875b8615.entry.js → p-83a7e6fb.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js → p-886dc9c1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-79d4490e.entry.js → p-90a50197.entry.js} +58 -58
- package/dist/genexus-ide-ui/p-90a50197.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-49c1d667.entry.js → p-90b2307f.entry.js} +7 -7
- package/dist/genexus-ide-ui/p-90b2307f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-38d3adf1.entry.js → p-944a589f.entry.js} +21 -21
- package/dist/genexus-ide-ui/p-944a589f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ca47bb29.entry.js → p-98820155.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ca47bb29.entry.js.map → p-98820155.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-27786355.entry.js → p-98dbb43d.entry.js} +25 -25
- package/dist/genexus-ide-ui/p-98dbb43d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b167052a.entry.js → p-9a10fa97.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d0e61bdc.entry.js → p-9ca0c042.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-9ca0c042.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c31f9478.entry.js → p-aad714a5.entry.js} +31 -31
- package/dist/genexus-ide-ui/p-aad714a5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f61bde09.entry.js → p-af267991.entry.js} +49 -49
- package/dist/genexus-ide-ui/p-af267991.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-22c0058b.entry.js → p-b5f2603f.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-b5f2603f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0dfa813a.entry.js → p-b6d59827.entry.js} +16 -16
- package/dist/genexus-ide-ui/p-b6d59827.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-885e5d1c.entry.js → p-c2f2d79f.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-c2f2d79f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-14c82d16.entry.js → p-c3a355c6.entry.js} +48 -48
- package/dist/genexus-ide-ui/p-c3a355c6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-38ae0c55.entry.js → p-ca1b9b8a.entry.js} +11 -10
- package/dist/genexus-ide-ui/p-ca1b9b8a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1356ec09.entry.js → p-cd9e9e2b.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-cd9e9e2b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js → p-cdd2e79d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js → p-d68412ac.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-a8465dff.entry.js → p-d761587f.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-a8465dff.entry.js.map → p-d761587f.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-b2966a6b.entry.js → p-d7964c12.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8735d37c.entry.js → p-dbf9a97d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-14823abe.entry.js → p-e0fb6257.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-e0fb6257.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-734d5fa1.entry.js → p-e32f5b19.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-af3cc463.entry.js → p-e3ff125f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-899ec74e.entry.js → p-e883cd82.entry.js} +35 -35
- package/dist/genexus-ide-ui/p-e883cd82.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e4c250eb.entry.js → p-ebb56b65.entry.js} +23 -23
- package/dist/genexus-ide-ui/p-ebb56b65.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b44a875d.entry.js → p-f1b452fb.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-f1b452fb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ebfc64a5.entry.js → p-fb5dd0a2.entry.js} +10 -10
- package/dist/genexus-ide-ui/p-fb5dd0a2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-392bdfaa.entry.js → p-fb64e0b1.entry.js} +20 -20
- package/dist/genexus-ide-ui/p-fb64e0b1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-747fbbd8.entry.js → p-fdaeb19a.entry.js} +2 -2
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-0a7cbbd0.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0dfa813a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1356ec09.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14823abe.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14c82d16.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-178805d6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-18c3c961.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1d3da80d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-22c0058b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-24cf1cd2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-27786355.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2a59b523.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-36462e51.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-38ae0c55.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-38d3adf1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-392bdfaa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3ff33154.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-49c1d667.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4af50a00.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-520c3763.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5929f575.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6b430ac1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-70cd77bc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-750eb88a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-76fdea52.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-79d4490e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8019e064.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-875b8615.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-885e5d1c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-899ec74e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8cee1076.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a50c520c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-af2f9983.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b44a875d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bb5a5c23.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bdaae26a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c31f9478.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d0e61bdc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d6e7a813.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-dcfae3da.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e4116b36.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e4c250eb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ebfc64a5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ee77b260.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f05a137a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f61bde09.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-840c09d2.entry.js.map → p-123ef674.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-168d3c83.entry.js.map → p-4431f46f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2567883a.entry.js.map → p-508c4bee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js.map → p-886dc9c1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b167052a.entry.js.map → p-9a10fa97.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js.map → p-cdd2e79d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js.map → p-d68412ac.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b2966a6b.entry.js.map → p-d7964c12.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8735d37c.entry.js.map → p-dbf9a97d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-734d5fa1.entry.js.map → p-e32f5b19.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-af3cc463.entry.js.map → p-e3ff125f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-747fbbd8.entry.js.map → p-fdaeb19a.entry.js.map} +0 -0
|
@@ -87,7 +87,7 @@ const r = {
|
|
|
87
87
|
|
|
88
88
|
const h = new Map([ [ "panels", r.panels ], [ "stencils", r.stencils ], [ "images", r.images ], [ "design_system", r.designSystem ], [ "fonts", r.fonts ] ]);
|
|
89
89
|
|
|
90
|
-
const c = ':host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}:host{display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content 1fr max-content}.section{display:contents}.header{display:grid;grid-auto-rows:max-content;grid-template-columns:minmax(88px, max-content) 1fr !important}.header--show-access-token{grid-template-areas:"path-url-label path-url-wrapper" "access-token-label access-token" "style-label style" "module-label module" "checkboxes-options checkboxes-options"}.header--hide-access-token{grid-template-areas:"path-url-label path-url-wrapper" "style-label style" "module-label module" "checkboxes-options checkboxes-options"}.path-url-wrapper{grid-template-columns:1fr max-content}.path-url-label{grid-area:path-url-label}.path-url-control{flex-grow:1}.select-load-button{min-inline-size:80px}.access-token-label{grid-area:access-token-label}.access-token{grid-area:access-token}.style-label{grid-area:style-label}.style{grid-area:style}.module-label{grid-area:module-label}.module{grid-area:module}.checkboxes-options{grid-area:checkboxes-options;grid-template-columns:max-content max-content;justify-content:space-between}.main{display:grid;grid-template-columns:250px 1fr;block-size:100%;overflow:auto}.main--loading{grid-template-columns:1fr}.panel-tab{block-size:100%;display:grid;grid-template-columns:1fr 300px}.panel-tab .panel-item{overflow:auto}.panel-tab:has(>:only-child){grid-template-columns:1fr}.tree-view{padding-block:4px}.tree-view-panel-item{border-inline-start:var(--section-common-border)}.checker-board{--white-square-color:#fff1;--black-square-color:#0000;background:linear-gradient(45deg, var(--white-square-color) 25%, var(--black-square-color) 25%), linear-gradient(-45deg, var(--white-square-color) 25%, var(--black-square-color) 25%), linear-gradient(45deg, var(--black-square-color) 75%, var(--white-square-color) 75%), linear-gradient(-45deg, var(--black-square-color) 75%, var(--white-square-color) 75%);background-size:20px 20px;background-position:0 0, 0 10px, 10px -10px, -10px 0px}.tab{border-width:0 !important}.tab.fit-images .composition-tab-slot{font-size:0}.tab.fit-images img{object-fit:scale-down;object-position:left top;max-height:100%}.tab--hidden{display:none}.button-cancel,.button-ok{min-inline-size:64px}.messages-slot-container{block-size:100%}.composition-tab-slot{block-size:100%;overflow:auto}.empty-state{overflow:auto}.empty-state-button{transform:translateY(-12px)}.message{animation:fadeIn var(--timing-fast) ease-in-out forwards}.message--info{color:var(--color-text-neutral-strawberry)}.message--warning{color:var(--color-text-warning-default)}.message--error{color:var(--color-text-error-default)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}';
|
|
90
|
+
const c = ':host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none;inline-size:max-content}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content 1fr max-content}.section{display:contents}.header{display:grid;grid-auto-rows:max-content;grid-template-columns:minmax(88px, max-content) 1fr !important}.header--show-access-token{grid-template-areas:"path-url-label path-url-wrapper" "access-token-label access-token" "style-label style" "module-label module" "checkboxes-options checkboxes-options"}.header--hide-access-token{grid-template-areas:"path-url-label path-url-wrapper" "style-label style" "module-label module" "checkboxes-options checkboxes-options"}.path-url-wrapper{grid-template-columns:1fr max-content}.path-url-label{grid-area:path-url-label}.path-url-control{flex-grow:1}.select-load-button{min-inline-size:80px}.access-token-label{grid-area:access-token-label}.access-token{grid-area:access-token}.style-label{grid-area:style-label}.style{grid-area:style}.module-label{grid-area:module-label}.module{grid-area:module}.checkboxes-options{grid-area:checkboxes-options;grid-template-columns:max-content max-content;justify-content:space-between}.main{display:grid;grid-template-columns:250px 1fr;block-size:100%;overflow:auto}.main--loading{grid-template-columns:1fr}.panel-tab{block-size:100%;display:grid;grid-template-columns:1fr 300px}.panel-tab .panel-item{overflow:auto}.panel-tab:has(>:only-child){grid-template-columns:1fr}.tree-view{padding-block:4px}.tree-view-panel-item{border-inline-start:var(--section-common-border)}.checker-board{--white-square-color:#fff1;--black-square-color:#0000;background:linear-gradient(45deg, var(--white-square-color) 25%, var(--black-square-color) 25%), linear-gradient(-45deg, var(--white-square-color) 25%, var(--black-square-color) 25%), linear-gradient(45deg, var(--black-square-color) 75%, var(--white-square-color) 75%), linear-gradient(-45deg, var(--black-square-color) 75%, var(--white-square-color) 75%);background-size:20px 20px;background-position:0 0, 0 10px, 10px -10px, -10px 0px}.tab{border-width:0 !important}.tab.fit-images .composition-tab-slot{font-size:0}.tab.fit-images img{object-fit:scale-down;object-position:left top;max-height:100%}.tab--hidden{display:none}.button-cancel,.button-ok{min-inline-size:64px}.messages-slot-container{block-size:100%}.composition-tab-slot{block-size:100%;overflow:auto}.empty-state{overflow:auto}.empty-state-button{transform:translateY(-12px)}.message{animation:fadeIn var(--timing-fast) ease-in-out forwards}.message--info{color:var(--color-text-neutral-strawberry)}.message--warning{color:var(--color-text-warning-default)}.message--error{color:var(--color-text-error-default)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}';
|
|
91
91
|
|
|
92
92
|
var d = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
|
|
93
93
|
if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
@@ -102,7 +102,7 @@ var p = undefined && undefined.__classPrivateFieldSet || function(t, e, s, i, a)
|
|
|
102
102
|
return i === "a" ? a.call(t, s) : a ? a.value = s : e.set(t, s), s;
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
var f, u, m, b, g, k, w, y, v, x, M, W, I, _, C, $, j, D, S, T,
|
|
105
|
+
var f, u, m, b, g, k, w, y, v, x, M, W, I, _, C, $, j, D, z, S, T, P, q, A, E, F, V, G, L, O, B, H, R, N, Y, J, K, Q, U, X, Z, tt, et, st, it, at, nt, ot, lt, rt, ht, ct, dt, pt, ft, ut;
|
|
106
106
|
|
|
107
107
|
const mt = "panels";
|
|
108
108
|
|
|
@@ -208,14 +208,14 @@ const $t = class {
|
|
|
208
208
|
checkbox: false,
|
|
209
209
|
disabled: true
|
|
210
210
|
} ]));
|
|
211
|
-
|
|
211
|
+
S.set(this, (() => {
|
|
212
212
|
this.activeTabs.set("panels", r.panels[0].id);
|
|
213
213
|
this.activeTabs.set("stencils", r.stencils[0].id);
|
|
214
214
|
this.activeTabs.set("images", r.images[0].id);
|
|
215
215
|
this.activeTabs.set("fonts", r.fonts[0].id);
|
|
216
216
|
this.activeTabs.set("design_system", r.designSystem[0].id);
|
|
217
217
|
}));
|
|
218
|
-
|
|
218
|
+
T.set(this, (async () => {
|
|
219
219
|
this.requiresAccessToken = await this.requiresAccessTokenCallback(this.path);
|
|
220
220
|
// evaluate access token error
|
|
221
221
|
if (this.accessToken.length) {
|
|
@@ -452,7 +452,7 @@ const $t = class {
|
|
|
452
452
|
}));
|
|
453
453
|
it.set(this, (async t => {
|
|
454
454
|
this.path = t.detail;
|
|
455
|
-
d(this,
|
|
455
|
+
d(this, T, "f").call(this);
|
|
456
456
|
this.selectedFile = null;
|
|
457
457
|
if (!this.path.length) {
|
|
458
458
|
this.designData = null;
|
|
@@ -856,7 +856,7 @@ const $t = class {
|
|
|
856
856
|
}
|
|
857
857
|
pathIsValidChanged(t) {
|
|
858
858
|
if (t) {
|
|
859
|
-
d(this,
|
|
859
|
+
d(this, T, "f").call(this);
|
|
860
860
|
} else {
|
|
861
861
|
// hide access token input if path is not valid
|
|
862
862
|
this.requiresAccessToken = false;
|
|
@@ -879,7 +879,7 @@ const $t = class {
|
|
|
879
879
|
checkbox: true,
|
|
880
880
|
checked: true,
|
|
881
881
|
expanded: true,
|
|
882
|
-
items: d(this, f, "m",
|
|
882
|
+
items: d(this, f, "m", z).call(this, this.designData.panels, mt, s, t)
|
|
883
883
|
}, {
|
|
884
884
|
order: 1,
|
|
885
885
|
id: `parent${yt}${bt}`,
|
|
@@ -909,7 +909,7 @@ const $t = class {
|
|
|
909
909
|
checkbox: true,
|
|
910
910
|
checked: true,
|
|
911
911
|
expanded: true,
|
|
912
|
-
items: d(this, f, "m",
|
|
912
|
+
items: d(this, f, "m", z).call(this, this.designData.images, gt, i)
|
|
913
913
|
}, {
|
|
914
914
|
order: 3,
|
|
915
915
|
id: `parent${yt}${wt}`,
|
|
@@ -962,7 +962,7 @@ const $t = class {
|
|
|
962
962
|
p(this, u, await o.getComponentStrings(this.el), "f");
|
|
963
963
|
p(this, g, this.extensions.map((t => `.${t}`)).join(", "), "f");
|
|
964
964
|
this.stylesChanged(this.styles);
|
|
965
|
-
d(this,
|
|
965
|
+
d(this, S, "f").call(this);
|
|
966
966
|
this.pathChanged(this.path);
|
|
967
967
|
this.styleValue = ((t = this.stylesAsComboBoxModel) === null || t === void 0 ? void 0 : t.length) > 0 ? (e = this.stylesAsComboBoxModel[0]) === null || e === void 0 ? void 0 : e.value : "";
|
|
968
968
|
}
|
|
@@ -1003,14 +1003,14 @@ const $t = class {
|
|
|
1003
1003
|
u = new WeakMap, m = new WeakMap, b = new WeakMap, g = new WeakMap, k = new WeakMap,
|
|
1004
1004
|
w = new WeakMap, y = new WeakMap, v = new WeakMap, x = new WeakMap, M = new WeakMap,
|
|
1005
1005
|
W = new WeakMap, I = new WeakMap, _ = new WeakMap, C = new WeakMap, $ = new WeakMap,
|
|
1006
|
-
j = new WeakMap, D = new WeakMap,
|
|
1006
|
+
j = new WeakMap, D = new WeakMap, S = new WeakMap, T = new WeakMap, P = new WeakMap,
|
|
1007
1007
|
A = new WeakMap, E = new WeakMap, F = new WeakMap, V = new WeakMap, G = new WeakMap,
|
|
1008
1008
|
L = new WeakMap, O = new WeakMap, B = new WeakMap, H = new WeakMap, R = new WeakMap,
|
|
1009
1009
|
Y = new WeakMap, J = new WeakMap, K = new WeakMap, Q = new WeakMap, U = new WeakMap,
|
|
1010
1010
|
X = new WeakMap, Z = new WeakMap, tt = new WeakMap, et = new WeakMap, st = new WeakMap,
|
|
1011
1011
|
it = new WeakMap, at = new WeakMap, nt = new WeakMap, lt = new WeakMap, rt = new WeakMap,
|
|
1012
1012
|
ht = new WeakMap, ct = new WeakMap, dt = new WeakMap, pt = new WeakMap, ft = new WeakMap,
|
|
1013
|
-
ut = new WeakMap, f = new WeakSet,
|
|
1013
|
+
ut = new WeakMap, f = new WeakSet, z = function _GxIdeImportFromDesign_recursiveDesignTreeItems(t, e, s, i = undefined) {
|
|
1014
1014
|
return t.map(((t, a) => {
|
|
1015
1015
|
var n;
|
|
1016
1016
|
const o = `${t.id}${yt}${e}`;
|
|
@@ -1074,4 +1074,4 @@ ut = new WeakMap, f = new WeakSet, S = function _GxIdeImportFromDesign_recursive
|
|
|
1074
1074
|
$t.style = c;
|
|
1075
1075
|
|
|
1076
1076
|
export { $t as gx_ide_design_import };
|
|
1077
|
-
//# sourceMappingURL=p-
|
|
1077
|
+
//# sourceMappingURL=p-69e7d46b.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapStylesToComboBoxItemModel","styles","map","style","value","id","caption","label","name","TAB_DATA","layout","slot","code","tokens","composition","TAB_MODEL","panels","stencils","images","fonts","designSystem","DESIGN_TYPE_TO_TAB_MODEL_MAP","Map","designImportCss","DESIGN_DATA_TYPE_PANELS","DESIGN_DATA_TYPE_STENCILS","DESIGN_DATA_TYPE_IMAGES","DESIGN_DATA_TYPE_DESIGN_SYSTEM","DESIGN_DATA_TYPE_FONTS","ITEM_COMPOSE_ID_SEPARATOR","CHECKED_VALUE","MENU_DELETE","getIconPath","category","colorType","DESIGN","FILE_UPLOAD","WEBPANEL_ICON","PANEL_FOR_SD_ICON","CSS_BUNDLES","GxIdeImportFromDesign","_GxIdeImportFromDesign_componentLocale","set","this","_GxIdeImportFromDesign_loadedItems","_GxIdeImportFromDesign_emptyStateAnimated","_GxIdeImportFromDesign_formattedExtensions","_GxIdeImportFromDesign_objectTreeCheckedStatus","all","none","_GxIdeImportFromDesign_accessTokenEl","_GxIdeImportFromDesign_importAsWebPanelsEl","_GxIdeImportFromDesign_moduleEl","_GxIdeImportFromDesign_messagesList","_GxIdeImportFromDesign_panelsSelected","_GxIdeImportFromDesign_stencilsSelected","_GxIdeImportFromDesign_imagesSelected","_GxIdeImportFromDesign_fontsSelected","_GxIdeImportFromDesign_fileInputHiddenEl","_GxIdeImportFromDesign_pathEl","_GxIdeImportFromDesign_countDesignDataItems","tree","count","countItemsRecursively","designItemsArray","designItem","variants","Array","isArray","_GxIdeImportFromDesign_warningTreeItem","leaf","startImgSrc","order","checkbox","disabled","_GxIdeImportFromDesign_initializeActiveTabs","activeTabs","_GxIdeImportFromDesign_evaluateAccessTokenRender","async","requiresAccessToken","requiresAccessTokenCallback","path","accessToken","length","accessTokenHasError","_GxIdeImportFromDesign_pathURLBlurHandler","loadDataCondition1","isLoaded","reactiveSettings","pathIsValid","lastLoadCallbackSettingValues","loadDataCondition2","__classPrivateFieldGet","_GxIdeImportFromDesign_loadData","call","_GxIdeImportFromDesign_objectsTreeSelectedItemsChangedHandler","event","detail","item","_a","itemComposedId","idList","split","itemId","itemDesignType","isChildNode","isDesignSystem","tabsModel","get","selectedDesignType","loadedItem","_GxIdeImportFromDesign_getLoadedItem","designDataDetail","_GxIdeImportFromDesign_getDesignDataDetail","designType","selectedDesignItem","_GxIdeImportFromDesign_instances","_GxIdeImportFromDesign_getCodeFactory","_GxIdeImportFromDesign_renderDetailDataTree","renderedTabs","clear","add","_GxIdeImportFromDesign_validatePath","validPathRegex","figmaURLRegex","urlWithExtensionRegex","test","_GxIdeImportFromDesign_objectsTreeCheckedItemsChangedHandler","items","from","values","currentParentId","result","startsWith","checked","parentId","push","__classPrivateFieldSet","_GxIdeImportFromDesign_selectFileHandler","click","_GxIdeImportFromDesign_styleComboBoxInputHandler","styleValue","target","_GxIdeImportFromDesign_moduleInputHandler","module","defaultModule","isLoading","source","selectedFile","token","undefined","importAsWebPanels","designData","loadCallback","_GxIdeImportFromDesign_messageCallback","messages","success","firstDesignSystemName","_b","moduleId","message","loadFn","loadImageCallback","loadDesignSystemCallback","loadFontCallback","loadPanelDataCallback","returnedData","then","data","_GxIdeImportFromDesign_evaluateDesignItemsChecked","designItemsData","selectedItems","itemsToImport","totalItemsInTree","selectedItemsLength","_GxIdeImportFromDesign_confirm","panelsToImport","stencilsToImport","imagesToImport","fontsToImport","confirmCallback","styleName","_GxIdeImportFromDesign_cancel","cancelCallback","_GxIdeImportFromDesign_fitImagesHandler","fitImages","_GxIdeImportFromDesign_getPanelsSelectedItem","reduce","minIndex","index","_GxIdeImportFromDesign_importAsWebPanelsChangedHandler","loadData","_GxIdeImportFromDesign_removeFileSelection","_GxIdeImportFromDesign_selectFileInputChangedHandler","files","_GxIdeImportFromDesign_accessFocusHandler","element","type","_GxIdeImportFromDesign_accessBlurHandler","accessTokenChanged","_GxIdeImportFromDesign_pathUrlInputHandler","_GxIdeImportFromDesign_renderHeader","primaryButtonDisabled","clearFileButtonDisabled","stylesComboDisabled","moduleDisabled","pathWithErrorStyles","displayPathErrorTooltip","fitImagesIsDisabled","designDataTreeDataModel","primaryButtonCaption","header","btnReload","btnLoad","selectFileButton","h","class","input","debounce","config","inputDebounce","part","onInput","onBlur","placeholder","pathPlaceholder","ref","el","actionElement","blockAlign","tooltipSettings","inlineAlign","delay","pathErrorMessage","hidden","accept","onChange","removeFileSelection","title","onClick","src","accessTokenPlaceholder","onFocus","accessTokenErrorMessage","suggest","suggestOptions","alreadyProcessed","model","stylesAsComboBoxModel","labelPosition","defaultValue","selectEntityCallback","selectModuleCallback","onValueChanged","importAs","checkedValue","_GxIdeImportFromDesign_renderMessages","text","_GxIdeImportFromDesign_renderMain","_GxIdeImportFromDesign_renderDesignTree","_GxIdeImportFromDesign_renderDesignTabsCh","stateIconSrc","isAnimated","stateTitle","noDesignSelected","key","selectDesign","showLines","dragDisabled","dropDisabled","expandableButton","expandOnClick","toggleCheckboxes","onCheckedItemsChange","onSelectedItemsChange","_GxIdeImportFromDesign_renderFooter","buttonOkDisabled","footer","btnCancel","btnOk","_GxIdeImportFromDesign_evaluatePanelPreview","preview","alt","noPanelPreviewAvailable","_GxIdeImportFromDesign_renderPanelTab","renderControlsTree","detailTreeModel","_GxIdeImportFromDesign_renderImageTab","height","_GxIdeImportFromDesign_tabSelectionChangedHandler","newSelectedId","reRenderCounter","tab","scrollable","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","display","has","Set","pathIsValidChanged","designDataChanged","newDesignData","panelsSelectedItem","isForWeb","panelsIconSrc","imagesIconSrc","webPanels","expanded","_GxIdeImportFromDesign_recursiveDesignTreeItems","warning","pathChanged","newPath","fileIsLoaded","size","validatePathResult","newAccessToken","trim","stylesChanged","newStyles","componentWillLoad","Locale","getComponentStrings","extensions","ext","join","watchMessagesHandler","newValue","oldValue","scrollTop","scrollHeight","render","Host","iconSrc","selectedIndex","i","hasVariants","itemWithWarning","isLeaf","selected","_GxIdeImportFromDesign_loadTreeItemCompositionModel","controls","modelList","control","Object","assign","textEditorFactoryCallback"],"sources":["src/components/design-import/helpers.ts","src/components/design-import/models.ts","src/components/design-import/design-import.scss?tag=gx-ide-design-import&encapsulation=shadow","src/components/design-import/design-import.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../../common/types\";\n\nexport const mapStylesToComboBoxItemModel = (\n styles: GxOption[]\n): ComboBoxModel =>\n styles?.map(style => ({\n value: style.id,\n caption: style.label || style.name\n }));\n","import { TabModel } from \"@genexus/chameleon-controls-library\";\nimport { DesignType } from \"./design-import\";\n\nexport const TAB_DATA: { [key in TAB_SELECTOR]: TabData } = {\n layout: { id: \"layout\", caption: \"Layout\", slot: \"layout\" },\n code: { id: \"code\", caption: \"Code\", slot: \"code\" },\n tokens: { id: \"tokens\", caption: \"Tokens\", slot: \"tokens\" },\n styles: { id: \"styles\", caption: \"Styles\", slot: \"styles\" },\n composition: {\n id: \"composition\",\n caption: \"Composition\",\n slot: \"composition\"\n }\n};\n\nexport const TAB_MODEL: TabDataModel = {\n panels: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n stencils: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n images: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n fonts: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n designSystem: [\n {\n id: TAB_DATA.tokens.id,\n name: TAB_DATA.tokens.caption\n },\n {\n id: TAB_DATA.styles.id,\n name: TAB_DATA.styles.caption\n }\n ]\n};\n\nexport type TabDataModel = {\n panels: TabModel;\n stencils: TabModel;\n images: TabModel;\n fonts: TabModel;\n designSystem: TabModel;\n};\n\ntype TabData = {\n id: TAB_SELECTOR;\n caption: string;\n slot: TAB_SELECTOR;\n};\n\nexport type TAB_SELECTOR =\n | \"layout\"\n | \"code\"\n | \"tokens\"\n | \"styles\"\n | \"composition\";\n\nexport const DESIGN_TYPE_TO_TAB_MODEL_MAP = new Map<DesignType, TabModel>([\n [\"panels\", TAB_MODEL.panels],\n [\"stencils\", TAB_MODEL.stencils],\n [\"images\", TAB_MODEL.images],\n [\"design_system\", TAB_MODEL.designSystem],\n [\"fonts\", TAB_MODEL.fonts]\n]);\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/temporary-mercury-overrides/_button.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - - -\n\n.header {\n display: grid;\n grid-auto-rows: max-content;\n // 88px is the inline-size of the largest label (Access Token) that is not always visible.\n // Setting 88px as the minimum inline size prevents an undesired difference when Access Token\n // is visible. This fix has been made for english only. The value should work with .ja and .zh also.\n grid-template-columns: minmax(88px, max-content) 1fr !important;\n\n &--show-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"access-token-label access-token\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n &--hide-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n}\n// path url\n.path-url-wrapper {\n grid-template-columns: 1fr max-content;\n}\n.path-url-label {\n grid-area: path-url-label;\n}\n.path-url-control {\n flex-grow: 1;\n}\n.select-load-button {\n min-inline-size: 80px;\n}\n// access token\n.access-token-label {\n grid-area: access-token-label;\n}\n.access-token {\n grid-area: access-token;\n}\n// style\n.style-label {\n grid-area: style-label;\n}\n.style {\n grid-area: style;\n}\n// module\n.module-label {\n grid-area: module-label;\n}\n.module {\n grid-area: module;\n}\n// checkboxes options\n.checkboxes-options {\n grid-area: checkboxes-options;\n grid-template-columns: max-content max-content;\n justify-content: space-between;\n}\n\n// - - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 250px 1fr;\n block-size: 100%;\n overflow: auto;\n\n &--loading {\n grid-template-columns: 1fr;\n }\n}\n\n.panel-tab {\n block-size: 100%;\n display: grid;\n grid-template-columns: 1fr 300px;\n\n .panel-item {\n overflow: auto;\n }\n}\n.panel-tab:has(> :only-child) {\n grid-template-columns: 1fr;\n}\n\n.tree-view {\n padding-block: 4px;\n}\n\n.tree-view-panel-item {\n border-inline-start: var(--section-common-border);\n}\n\n.checker-board {\n --white-square-color: #fff1;\n --black-square-color: #0000;\n background:\n linear-gradient(\n 45deg,\n var(--white-square-color) 25%,\n var(--black-square-color) 25%\n ),\n linear-gradient(\n -45deg,\n var(--white-square-color) 25%,\n var(--black-square-color) 25%\n ),\n linear-gradient(\n 45deg,\n var(--black-square-color) 75%,\n var(--white-square-color) 75%\n ),\n linear-gradient(\n -45deg,\n var(--black-square-color) 75%,\n var(--white-square-color) 75%\n );\n background-size: 20px 20px;\n background-position:\n 0 0,\n 0 10px,\n 10px -10px,\n -10px 0px;\n}\n\n/*--- Tabs ---*/\n.tab {\n border-width: 0 !important; // WA/TODO this should be a class on mercury\n}\n.tab.fit-images .composition-tab-slot {\n font-size: 0; // WA to prevent scroll\n}\n.tab.fit-images img {\n object-fit: scale-down;\n object-position: left top;\n max-height: 100%;\n}\n.tab--hidden {\n display: none;\n}\n\n// - - - - - - - - - - - - -\n// Footer\n// - - - - - - - - - - - - -\n\n.button-cancel,\n.button-ok {\n min-inline-size: 64px;\n}\n\n// - - - - - - - - - - - - -\n// Other\n// - - - - - - - - - - - - -\n\n.messages-slot-container {\n block-size: 100%;\n}\n\n.composition-tab-slot {\n block-size: 100%;\n overflow: auto;\n}\n\n.empty-state {\n overflow: auto;\n}\n.empty-state-button {\n // WA (It looks more pleasing with a little bit less of gap)\n transform: translateY(-12px);\n}\n\n// Messages Styles\n.messages-container {\n}\n.message {\n animation: fadeIn var(--timing-fast) ease-in-out forwards;\n\n &--info {\n color: var(--color-text-neutral-strawberry);\n }\n &--warning {\n color: var(--color-text-warning-default);\n }\n &--error {\n color: var(--color-text-error-default);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport {\n ChCheckboxCustomEvent,\n ChEditCustomEvent,\n ComboBoxModel,\n TabModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../common/config\";\nimport { mapStylesToComboBoxItemModel } from \"./helpers\";\nimport { Locale } from \"../../common/locale\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { TAB_DATA, DESIGN_TYPE_TO_TAB_MODEL_MAP, TAB_MODEL } from \"./models\";\n\nconst DESIGN_DATA_TYPE_PANELS = \"panels\";\nconst DESIGN_DATA_TYPE_STENCILS = \"stencils\";\nconst DESIGN_DATA_TYPE_IMAGES = \"images\";\nconst DESIGN_DATA_TYPE_DESIGN_SYSTEM = \"design_system\";\nconst DESIGN_DATA_TYPE_FONTS = \"fonts\";\n\nconst ITEM_COMPOSE_ID_SEPARATOR = \"@@@\";\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\n\n// Icons\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\nconst DESIGN = getIconPath({\n category: \"objects\",\n name: \"design\"\n});\nconst FILE_UPLOAD = getIconPath({\n category: \"controls\",\n name: \"file-upload\"\n});\n// For empty states\nconst WEBPANEL_ICON = getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n});\nconst PANEL_FOR_SD_ICON = getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\",\n \"components/combo-box\",\n \"components/tab\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-design-import\",\n styleUrl: \"design-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/design-import\"]\n})\nexport class GxIdeImportFromDesign {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n /**\n * An array that keeps track of the tree items id's (design system data type\n * + item id) along with the content, that will be used to save and retrieve\n * items information, in order to avoid using a callback to get items\n * information that was already get. loadedItemsArray will be reset every time\n * a new design is loaded.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #loadedItems: Map<string, ItemLoadedInfo> = new Map();\n\n #emptyStateAnimated: boolean = false;\n #formattedExtensions: string;\n #objectTreeCheckedStatus: ObjectTreeCheckedStatus = {\n all: [],\n none: [\"-\"]\n };\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDesignImportElement;\n\n /* References needed to collect data */\n #accessTokenEl!: HTMLChEditElement;\n #importAsWebPanelsEl!: HTMLChCheckboxElement;\n #moduleEl!: HTMLGxIdeEntitySelectorElement;\n #messagesList: HTMLElement;\n #panelsSelected: string[] = [];\n #stencilsSelected: string[] = [];\n #imagesSelected: string[] = [];\n #fontsSelected: string[] = [];\n #fileInputHiddenEl: HTMLInputElement;\n #pathEl: HTMLChEditElement;\n\n // Use to force a re-render\n @State() reRenderCounter: number = 0;\n\n // Maps to Chameleon Models:\n @State() stylesAsComboBoxModel: ComboBoxModel;\n\n // The current style value\n @State() styleValue: string = \"\";\n\n @State() accessTokenHasError: boolean = false;\n\n @State() pathIsValid: boolean;\n @Watch(\"pathIsValid\")\n pathIsValidChanged(pathIsValid: boolean) {\n if (pathIsValid) {\n this.#evaluateAccessTokenRender();\n } else {\n // hide access token input if path is not valid\n this.requiresAccessToken = false;\n }\n }\n\n @State() tabsModel: TabModel = [];\n\n @State() activeTabs: Map<DesignType, string> = new Map();\n\n @State() renderedTabs: Set<string> = new Set();\n\n /**\n * The design data loaded from file\n */\n @State() designData: DesignData = null;\n @Watch(\"designData\")\n designDataChanged(newDesignData: DesignData) {\n if (newDesignData) {\n // panels\n const panelsSelectedItem = this.#getPanelsSelectedItem(\n this.designData.panels\n );\n const isForWeb = this.#importAsWebPanelsEl.value === CHECKED_VALUE;\n const panelsIconSrc = isForWeb\n ? \"objects/webpanel\"\n : \"objects/panel-for-sd\";\n\n // images\n const imagesIconSrc = \"objects/image\";\n\n this.designDataTreeDataModel = [\n {\n order: 0,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_PANELS}`,\n leaf: false,\n caption: isForWeb\n ? this.#componentLocale.tree.webPanels\n : this.#componentLocale.tree.panels,\n startImgSrc: panelsIconSrc,\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.#recursiveDesignTreeItems(\n this.designData.panels,\n DESIGN_DATA_TYPE_PANELS,\n panelsIconSrc,\n panelsSelectedItem\n )\n },\n {\n order: 1,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n leaf: false,\n caption: this.#componentLocale.tree.stencils,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.stencils.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n class: \"object tree-view-item\",\n leaf: !item.warning,\n caption: item.name,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: item.warning && this.#warningTreeItem(item.warning)\n }))\n },\n {\n order: 2,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_IMAGES}`,\n leaf: false,\n caption: this.#componentLocale.tree.images,\n startImgSrc: imagesIconSrc,\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.#recursiveDesignTreeItems(\n this.designData.images,\n DESIGN_DATA_TYPE_IMAGES,\n imagesIconSrc\n )\n },\n {\n order: 3,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n leaf: false,\n caption: this.#componentLocale.tree.fonts,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.fonts.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n leaf: !item.warning,\n caption: item.name,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: item.warning && this.#warningTreeItem(item.warning)\n }))\n },\n {\n order: 4,\n id: `${\n this.designData.designSystem.length > 0\n ? this.designData.designSystem[0].id\n : \"parent\"\n }${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_DESIGN_SYSTEM}`,\n leaf: true,\n caption: this.#componentLocale.tree.designSystem,\n startImgSrc: \"objects/dso\",\n checkbox: true,\n checked: true\n }\n ];\n }\n }\n\n /**\n * The model data loaded into the detail tree\n */\n @State() detailTreeModel: TreeViewItemModel[] = [];\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * If the design data is loaded or not, for conditioning input file\n */\n @State() isLoaded = false;\n\n /**\n * The messages receive when the file is loading\n */\n @State() messages: MessageData[] = [];\n\n /**\n * The file selected for load the design data\n */\n @State() selectedFile: File;\n\n /**\n * The type of the design data selected for show it visual tabs\n */\n @State() selectedDesignType: DesignType;\n\n /**\n * The item of the design data selected for show its contents on visual tabs\n */\n @State() selectedDesignItem: any;\n\n /**\n * Whether to show or not the access token input field\n */\n @State() requiresAccessToken: boolean;\n\n /**\n * the design data tree view data model\n */\n @State() designDataTreeDataModel: TreeViewItemModel[] = [];\n\n /**\n * Used to trigger a re-render after an item has been selected on\n * renderDesignTree, in order to set the first tab as the active tab\n * (setFirstActiveTab()), since calling this method inside\n * objectsTreeSelectedItemsChangedHandler does not always work without a\n * setTimeOut.\n */\n @State() updateTabsActiveTab: boolean = false;\n\n /**\n * If true, images will be fitted in the container\n */\n @State() fitImages = false;\n\n /**\n * Represents a collection of settings where each key is a specific option. Its\n * boolean value determines whether changes to that option are listened to and\n * trigger the loadCallback callback.\n */\n @Prop() readonly reactiveSettings: ReactiveSettings = {\n path: true,\n style: false,\n module: false,\n importAsWebPanels: true\n };\n\n /**\n * Used to keep track of the settings values since the last loadCallback.\n * Used to know if loadCallback is required to be called again, when any\n * of these values are changed.\n */\n @State() lastLoadCallbackSettingValues: ReactiveSettingsValues = {\n path: undefined,\n style: undefined,\n moduleId: undefined,\n importAsWebPanels: undefined\n };\n\n /**\n * The valid extensions for the files that will be loaded in Path/URL\n * (ie.: \".fig, .sketch\")\n */\n @Prop() readonly extensions!: string[];\n\n /**\n * Default value for the 'Module' field.\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The path/URL for load the design data\n */\n @Prop({ mutable: true }) path: string = \"\";\n @Watch(\"path\")\n pathChanged(newPath: string) {\n const fileIsLoaded = this.selectedFile?.size > 0;\n const validatePathResult = this.#validatePath(newPath) || fileIsLoaded;\n this.pathIsValid = validatePathResult;\n }\n\n /**\n * The access token for the given path, which is not always required\n */\n @Prop({ mutable: true }) accessToken: string = \"\";\n @Watch(\"accessToken\")\n accessTokenChanged(newAccessToken: string) {\n if (!newAccessToken.trim().length) {\n this.accessTokenHasError = true;\n return;\n }\n this.accessTokenHasError = false;\n this.accessToken = newAccessToken;\n }\n\n /**\n * The value for \"Import as Web Panels\" checkbox.\n */\n @Prop() readonly importAsWebPanels: boolean = false;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter.\n * It returns the information of the selected object (id and name) or\n * 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer that cancel the load operation.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * This is a function provided by the developer that initiates the process\n * of importing a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that returns the list of\n * data types loaded from a file or URL.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Design System type of data.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly loadDesignSystemCallback!: LoadDesignSystemCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Font type of data.\n */\n @Prop() readonly loadFontCallback!: LoadFontCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of an Image System type of data.\n */\n @Prop() readonly loadImageCallback!: LoadImageCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Panel type of data.\n */\n @Prop() readonly loadPanelDataCallback!: LoadPanelDataCallback;\n\n /**\n * Callback invoked to determine if accessing a design requires an authentication token.\n */\n @Prop() readonly requiresAccessTokenCallback!: RequiresAccessTokenCallback;\n\n /**\n * The styles render in the option style selector\n */\n @Prop() readonly styles!: GxOption[];\n @Watch(\"styles\")\n stylesChanged(newStyles: GxOption[]) {\n this.stylesAsComboBoxModel = mapStylesToComboBoxItemModel(newStyles);\n }\n\n /**\n * This is a function provided by the developer for create an instance of a text editor.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly textEditorFactoryCallback!: TextEditorFactoryCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#formattedExtensions = this.extensions\n .map(ext => `.${ext}`)\n .join(\", \");\n this.stylesChanged(this.styles);\n this.#initializeActiveTabs();\n this.pathChanged(this.path);\n this.styleValue =\n this.stylesAsComboBoxModel?.length > 0\n ? this.stylesAsComboBoxModel[0]?.value\n : \"\";\n }\n\n @Watch(\"messages\")\n watchMessagesHandler(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n if (this.#messagesList) {\n this.#messagesList.scrollTop = this.#messagesList.scrollHeight;\n }\n }\n }\n\n #countDesignDataItems = (tree: DesignItemData[]) => {\n let count = 0;\n\n function countItemsRecursively(designItemsArray: DesignItemData[]) {\n for (const designItem of designItemsArray) {\n count++;\n if (designItem.variants && Array.isArray(designItem.variants)) {\n countItemsRecursively(designItem.variants);\n }\n }\n }\n\n countItemsRecursively(tree);\n\n return count;\n };\n\n #warningTreeItem = (caption: string) => {\n return [\n {\n leaf: true,\n caption: `Warning: ${caption}`,\n startImgSrc: getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n }),\n order: -1,\n checkbox: false,\n disabled: true\n } as TreeViewItemModel\n ];\n };\n\n #recursiveDesignTreeItems(\n items: DesignItemData[],\n designType: DesignType,\n iconSrc: string,\n selectedIndex: number = undefined\n ): TreeViewItemModel[] {\n return items.map((item, i) => {\n const id = `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${designType}`;\n const hasVariants = item.variants?.length > 0;\n const itemWithWarning = item.warning\n ? this.#warningTreeItem(item.warning)\n : [];\n const isLeaf = !hasVariants && !item.warning;\n\n return {\n id: id,\n leaf: isLeaf,\n caption: item.name,\n startImgSrc: iconSrc,\n checkbox: true,\n checked: true,\n expanded: !isLeaf,\n selected: selectedIndex === i,\n order: i,\n items: [\n ...itemWithWarning,\n ...(hasVariants\n ? this.#recursiveDesignTreeItems(item.variants, designType, iconSrc)\n : [])\n ]\n };\n });\n }\n\n #initializeActiveTabs = () => {\n this.activeTabs.set(\"panels\", TAB_MODEL.panels[0].id);\n this.activeTabs.set(\"stencils\", TAB_MODEL.stencils[0].id);\n this.activeTabs.set(\"images\", TAB_MODEL.images[0].id);\n this.activeTabs.set(\"fonts\", TAB_MODEL.fonts[0].id);\n this.activeTabs.set(\"design_system\", TAB_MODEL.designSystem[0].id);\n };\n\n #evaluateAccessTokenRender = async () => {\n this.requiresAccessToken = await this.requiresAccessTokenCallback(\n this.path\n );\n // evaluate access token error\n if (this.accessToken.length) {\n this.accessTokenHasError = false;\n }\n };\n\n #pathURLBlurHandler = async () => {\n const loadDataCondition1 =\n this.isLoaded &&\n this.reactiveSettings.path &&\n this.pathIsValid &&\n this.path !== this.lastLoadCallbackSettingValues.path;\n const loadDataCondition2 =\n !this.requiresAccessToken ||\n (this.requiresAccessToken && this.accessToken.length > 0);\n if (loadDataCondition1 && loadDataCondition2) {\n this.#loadData();\n }\n };\n\n #loadTreeItemCompositionModel(\n controls: DesignPanelControlData[]\n ): TreeViewItemModel[] {\n const modelList: TreeViewItemModel[] = [];\n for (const control of controls) {\n let model: TreeViewItemModel = {\n id: control.name,\n caption: control.name,\n startImgSrc: control.type,\n checkbox: false,\n expanded: true,\n leaf: control.leaf\n };\n if (control.controls) {\n model = {\n ...model,\n items: this.#loadTreeItemCompositionModel(control.controls)\n };\n }\n modelList.push(model);\n }\n return modelList;\n }\n\n #objectsTreeSelectedItemsChangedHandler = async (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (event.detail.length) {\n const item = event.detail[0]?.item;\n const itemComposedId = item.id;\n const idList = itemComposedId.split(ITEM_COMPOSE_ID_SEPARATOR);\n const itemId = idList[0];\n const itemDesignType: DesignType = idList[1] as DesignType;\n const isChildNode = itemId && itemId !== \"parent\";\n const isDesignSystem = itemDesignType === \"design_system\";\n if (isChildNode || isDesignSystem) {\n this.tabsModel = DESIGN_TYPE_TO_TAB_MODEL_MAP.get(itemDesignType);\n this.selectedDesignType = itemDesignType;\n const loadedItem = this.#getLoadedItem(itemComposedId);\n if (!loadedItem) {\n const designDataDetail: DesignItemDataDetail =\n await this.#getDesignDataDetail(itemId, this.selectedDesignType);\n this.#loadedItems.set(itemComposedId, {\n designType: this.selectedDesignType,\n designDataDetail: designDataDetail\n });\n } else {\n // Item has been queried already. The item content exists already.\n this.selectedDesignType = loadedItem.designType;\n this.selectedDesignItem = loadedItem.designDataDetail;\n this.#getCodeFactory(loadedItem.designType);\n this.#renderDetailDataTree(loadedItem.designType);\n }\n this.renderedTabs.clear();\n this.renderedTabs.add(this.activeTabs.get(this.selectedDesignType));\n }\n }\n };\n\n #getLoadedItem = (id: string): ItemLoadedInfo | undefined => {\n return this.#loadedItems?.get(id);\n };\n\n #validatePath = (path: string): boolean => {\n const validPathRegex = /^(\\/|\\.\\/|(\\w:))[^:*?\"<>|]*\\.(sketch|gxsketch)$/i; // Match valid file paths\n const figmaURLRegex = /^https?:\\/\\/(www\\.)?figma\\.com/; // Match URLs containing \"www.figma.com\"\n const urlWithExtensionRegex =\n /^https?:\\/\\/[^\\s/$.?#].[^\\s]*\\.(sketch|gxsketch)$/i; // Match URLs ending with .sketch or .gxsketch\n const pathIsValid =\n validPathRegex.test(path) ||\n figmaURLRegex.test(path) ||\n urlWithExtensionRegex.test(path);\n return pathIsValid;\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const items = Array.from(event.detail.values());\n let currentParentId = null;\n const result: { [key: string]: string[] } = {};\n\n for (const item of items) {\n if (item.item.id.startsWith(`parent${ITEM_COMPOSE_ID_SEPARATOR}`)) {\n currentParentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n result[currentParentId] = [];\n } else if (item.item.checked && currentParentId) {\n const parentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n if (parentId === currentParentId) {\n const id = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[0];\n result[currentParentId].push(id);\n }\n }\n }\n // const { designSystem, fonts, images, panels, stencils } = result;\n const { fonts, panels, stencils, images } = result;\n\n // this.designSystemSelected = designSystem;\n this.#panelsSelected = panels;\n this.#stencilsSelected = stencils;\n this.#imagesSelected = images;\n this.#fontsSelected = fonts;\n };\n\n #selectFileHandler = (): void => {\n this.#fileInputHiddenEl.click();\n };\n\n #styleComboBoxInputHandler = (event: CustomEvent<string> | InputEvent) => {\n this.styleValue = (event.target as HTMLChComboBoxRenderElement).value;\n if (\n this.reactiveSettings.style &&\n this.styleValue !== this.lastLoadCallbackSettingValues.style\n ) {\n this.#loadData();\n }\n };\n\n #moduleInputHandler = (event: CustomEvent<EntityData>) => {\n if (\n this.reactiveSettings.module &&\n this.defaultModule.id !== event.detail.id &&\n this.pathIsValid\n ) {\n this.#loadData();\n }\n };\n\n #loadData = async (): Promise<void> => {\n this.isLoading = true;\n const source = this.selectedFile ? this.selectedFile : this.path;\n const token = this.#accessTokenEl ? this.#accessTokenEl.value : undefined;\n const style = this.styleValue;\n const importAsWebPanels = this.#importAsWebPanelsEl.value === CHECKED_VALUE;\n const designData: DesignData = await this.loadCallback(\n source,\n style,\n importAsWebPanels,\n token,\n this.#messageCallback\n );\n\n // clear\n this.#panelsSelected = [];\n this.#stencilsSelected = [];\n this.#fontsSelected = [];\n this.selectedDesignType = undefined;\n this.selectedDesignItem = undefined;\n this.messages = [];\n\n this.designData = designData;\n this.isLoaded = designData?.success ?? false;\n this.isLoading = false;\n\n const firstDesignSystemName = designData.designSystem[0]?.name;\n if (firstDesignSystemName && !this.styleValue) {\n this.styleValue = firstDesignSystemName;\n }\n\n // update the settings that were used for the last load\n if (this.reactiveSettings.path && this.pathIsValid) {\n this.lastLoadCallbackSettingValues.path = this.path;\n }\n if (this.reactiveSettings.style) {\n this.lastLoadCallbackSettingValues.style = style;\n }\n if (this.reactiveSettings.module) {\n this.lastLoadCallbackSettingValues.moduleId = this.#moduleEl.value.id;\n }\n if (this.reactiveSettings.importAsWebPanels) {\n this.lastLoadCallbackSettingValues.importAsWebPanels = importAsWebPanels;\n }\n };\n\n #messageCallback: LoadMessageCallback = message => {\n this.messages = [...this.messages, message];\n };\n\n #getDesignDataDetail = async (\n id: string,\n designType: DesignType\n ): Promise<DesignItemDataDetail> => {\n let loadFn:\n | LoadPanelDataCallback\n | LoadImageCallback\n | LoadFontCallback\n | LoadDesignSystemCallback;\n\n switch (designType) {\n case DESIGN_DATA_TYPE_IMAGES:\n loadFn = this.loadImageCallback;\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n loadFn = this.loadDesignSystemCallback;\n break;\n case DESIGN_DATA_TYPE_FONTS:\n loadFn = this.loadFontCallback;\n break;\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n loadFn = this.loadPanelDataCallback;\n break;\n }\n\n let returnedData: DesignItemDataDetail;\n await loadFn(id).then((data: DesignItemDataDetail) => {\n this.selectedDesignType = designType;\n this.selectedDesignItem = data;\n this.#getCodeFactory(designType);\n this.#renderDetailDataTree(designType);\n returnedData = data;\n });\n\n return returnedData;\n };\n\n #getCodeFactory(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.textEditorFactoryCallback(\n \"code\",\n TAB_DATA.code.slot,\n this.selectedDesignItem.code\n );\n this.textEditorFactoryCallback(\n \"html\",\n TAB_DATA.layout.slot,\n this.selectedDesignItem.layout\n );\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n this.textEditorFactoryCallback(\n \"tokens\",\n TAB_DATA.tokens.slot,\n this.selectedDesignItem.tokens\n );\n this.textEditorFactoryCallback(\n \"styles\",\n TAB_DATA.styles.slot,\n this.selectedDesignItem.styles\n );\n break;\n }\n }\n\n #evaluateDesignItemsChecked = (\n designItemsData: DesignItemData[],\n selectedItems: string[]\n ) => {\n let itemsToImport: string[] = selectedItems;\n\n const totalItemsInTree = this.#countDesignDataItems(designItemsData);\n const selectedItemsLength = selectedItems.length;\n if (totalItemsInTree === selectedItemsLength) {\n itemsToImport = this.#objectTreeCheckedStatus.all;\n } else if (selectedItemsLength === 0) {\n itemsToImport = this.#objectTreeCheckedStatus.none;\n }\n\n return itemsToImport;\n };\n\n #confirm = (): void => {\n const panelsToImport = this.#evaluateDesignItemsChecked(\n this.designData.panels,\n this.#panelsSelected\n );\n const stencilsToImport = this.#evaluateDesignItemsChecked(\n this.designData.stencils,\n this.#stencilsSelected\n );\n const imagesToImport = this.#evaluateDesignItemsChecked(\n this.designData.images,\n this.#imagesSelected\n );\n const fontsToImport = this.#evaluateDesignItemsChecked(\n this.designData.fonts,\n this.#fontsSelected\n );\n\n this.confirmCallback({\n panels: panelsToImport,\n stencils: stencilsToImport,\n images: imagesToImport,\n fonts: fontsToImport,\n moduleId: this.#moduleEl?.value?.id,\n styleName: this.styleValue,\n importAsWebPanels: this.#importAsWebPanelsEl.value === CHECKED_VALUE\n });\n };\n\n #cancel = (): void => {\n this.cancelCallback();\n this.isLoading = false;\n };\n\n #fitImagesHandler = (event: ChCheckboxCustomEvent<any> | InputEvent) => {\n this.fitImages = event.detail === CHECKED_VALUE;\n };\n\n #getPanelsSelectedItem = (panels: DesignItemData[]): number => {\n return panels.reduce((minIndex, item, index, panels) => {\n return panels[minIndex].name <= item.name ? minIndex : index;\n }, 0);\n };\n\n #importAsWebPanelsChangedHandler = () => {\n const loadData =\n this.reactiveSettings.importAsWebPanels && this.pathIsValid;\n if (loadData) {\n this.#loadData();\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.path = \"\";\n this.accessToken = \"\";\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n this.path = this.selectedFile.name;\n // we know the path is valid because the extensions are restricted by \"extensions\" Prop.\n }\n };\n\n #accessFocusHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"text\"; // display token on focus\n };\n\n #accessBlurHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"password\"; // hide token on blur\n\n this.accessTokenChanged(element.value);\n };\n\n #pathUrlInputHandler = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.path = event.detail as string;\n this.#evaluateAccessTokenRender();\n this.selectedFile = null;\n if (!this.path.length) {\n this.designData = null;\n }\n };\n\n #renderHeader = (): Element => {\n const primaryButtonDisabled =\n this.isLoading ||\n (this.pathIsValid &&\n this.requiresAccessToken &&\n this.accessToken.length === 0);\n const clearFileButtonDisabled = this.isLoading || this.path.length === 0;\n const stylesComboDisabled = this.isLoading;\n const moduleDisabled = this.isLoading;\n const pathWithErrorStyles = !this.pathIsValid && this.path.length > 0;\n const displayPathErrorTooltip = !this.pathIsValid && this.path.length > 0;\n const fitImagesIsDisabled =\n this.isLoading ||\n !this.designDataTreeDataModel.length ||\n this.selectedDesignType === \"stencils\" ||\n this.selectedDesignType === \"design_system\";\n\n let primaryButtonCaption;\n if (\n this.pathIsValid &&\n this.path === this.lastLoadCallbackSettingValues.path\n ) {\n primaryButtonCaption = this.#componentLocale.header.btnReload;\n } else if (this.pathIsValid) {\n primaryButtonCaption = this.#componentLocale.header.btnLoad;\n } else {\n primaryButtonCaption = this.#componentLocale.header.selectFileButton;\n }\n\n return (\n <header\n class={{\n \"header\": true,\n \"dialog-header-with-border\": true,\n \"spacing-body-inline\": true,\n \"spacing-body-block-start\": true,\n \"header--show-access-token\": this.requiresAccessToken,\n \"header--hide-access-token\": !this.requiresAccessToken,\n \"field-group-justified-start\": true\n }}\n >\n <label\n // path/url label\n class=\"label path-url-label\"\n >\n {this.#componentLocale.header.path}\n </label>\n <div class=\"path-url-wrapper buttons-spacer\">\n <ch-edit\n // path/url/file input\n id=\"path-url\"\n class={{\n \"input\": true,\n \"input-error\": pathWithErrorStyles,\n \"path-url-control\": true\n }}\n debounce={config.inputDebounce}\n part=\"option-path\"\n type=\"text\"\n value={this.path}\n onInput={this.#pathUrlInputHandler}\n onBlur={this.reactiveSettings.path && this.#pathURLBlurHandler}\n disabled={this.isLoading}\n placeholder={`${this.#componentLocale.header.pathPlaceholder}`}\n startImgSrc={FILE_UPLOAD}\n ref={(el: HTMLChEditElement) =>\n (this.#pathEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {displayPathErrorTooltip && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={this.#pathEl as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.pathErrorMessage}{\" \"}\n {this.#formattedExtensions}\n </ch-tooltip>\n )}\n\n <input\n hidden\n type=\"file\"\n accept={this.#formattedExtensions}\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n disabled={clearFileButtonDisabled}\n onClick={!clearFileButtonDisabled && this.#removeFileSelection}\n >\n <ch-image\n class=\"icon-m\"\n src={MENU_DELETE}\n disabled={clearFileButtonDisabled}\n ></ch-image>\n </button>\n <button\n // load file button\n id=\"button-load\"\n type=\"primary-text-only\"\n onClick={\n this.pathIsValid ? this.#loadData : this.#selectFileHandler\n }\n part=\"button button--load\"\n disabled={primaryButtonDisabled}\n class={{\n \"button-primary\": this.pathIsValid,\n \"button-secondary\": !this.pathIsValid,\n \"select-load-button\": true\n }}\n >\n {primaryButtonCaption}\n </button>\n </div>\n </div>\n\n {this.requiresAccessToken && [\n <label\n // access token label\n class=\"label access-token-label\"\n >\n {this.#componentLocale.header.accessToken}\n </label>,\n <div>\n <ch-edit\n class={{\n \"input\": true,\n \"access-token\": true,\n \"input-error\": this.accessTokenHasError\n }}\n ref={(el: HTMLChEditElement) =>\n (this.#accessTokenEl = el as HTMLChEditElement)\n }\n value={this.accessToken}\n placeholder={this.#componentLocale.header.accessTokenPlaceholder}\n onFocus={this.#accessFocusHandler}\n onBlur={this.#accessBlurHandler}\n part=\"access-token\"\n disabled={this.isLoading}\n type=\"password\"\n ></ch-edit>\n {this.accessTokenHasError && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#accessTokenEl as unknown as HTMLButtonElement\n }\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.accessTokenErrorMessage}\n </ch-tooltip>\n )}\n </div>\n ]}\n <label\n // style label\n class=\"label style-label\"\n >\n {this.#componentLocale.header.style}\n </label>\n <ch-combo-box-render\n // style combo box\n suggest={true}\n suggestOptions={{\n alreadyProcessed: true\n }}\n disabled={stylesComboDisabled}\n model={this.stylesAsComboBoxModel}\n value={this.styleValue}\n onInput={this.#styleComboBoxInputHandler}\n part=\"option-style\"\n class=\"combo-box style\"\n ></ch-combo-box-render>\n\n <label\n // module label\n class=\"label module-label\"\n >\n {this.#componentLocale.header.module}\n </label>\n <gx-ide-entity-selector\n // module entity selector\n labelPosition=\"none\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n onValueChanged={\n this.reactiveSettings.module && this.#moduleInputHandler\n }\n disabled={moduleDisabled}\n class=\"module\"\n ></gx-ide-entity-selector>\n\n <div\n // import as web panels\n class=\"checkboxes-options field-group\"\n >\n <ch-checkbox\n caption={this.#componentLocale.header.importAs}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox import-as-web-panels\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#importAsWebPanelsEl = el as HTMLChCheckboxElement)\n }\n value={this.importAsWebPanels ? CHECKED_VALUE : undefined}\n part=\"option-import-as-web-panels\"\n disabled={this.isLoading}\n onInput={this.#importAsWebPanelsChangedHandler}\n ></ch-checkbox>\n\n <div\n class={{\n \"field-group-inline\": true,\n \"checkboxes-options__col-right\": true\n }}\n >\n <ch-checkbox\n // fit images\n caption={this.#componentLocale.header.fitImages}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox\"\n part=\"fit-images-checkbox\"\n disabled={fitImagesIsDisabled}\n onInput={this.#fitImagesHandler}\n ></ch-checkbox>\n </div>\n </div>\n </header>\n );\n };\n\n #renderMessages = (): HTMLParagraphElement[] => {\n return (\n this.messages.length > 0 &&\n this.messages.map(message => (\n <p\n class={{\n \"body-regular-m\": true,\n \"message\": true,\n [`message--${message.type}`]: true\n }}\n >\n {message.type}: {message.text}\n </p>\n ))\n );\n };\n\n #renderDetailDataTree(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.detailTreeModel = this.#loadTreeItemCompositionModel(\n this.selectedDesignItem.composition.controls\n );\n break;\n }\n }\n\n #renderMain = () => {\n if (this.isLoading || this.designData?.success === false) {\n return (\n <div\n class=\"main main--loading scrollable\"\n ref={(el: HTMLElement) => (this.#messagesList = el as HTMLElement)}\n >\n {this.#renderMessages()}\n <div class=\"body-regular-m spacing-body\">\n <slot name=\"messages\"></slot>\n </div>\n </div>\n );\n } else if (this.designData?.success) {\n return (\n /* #main*/\n <div class=\"main\">\n {[this.#renderDesignTree(), this.#renderDesignTabsCh()]}\n </div>\n );\n } else {\n return (\n <gx-ide-empty-state\n class=\"empty-state scrollable\"\n stateIconSrc={DESIGN}\n isAnimated={this.#emptyStateAnimated}\n stateTitle={this.#componentLocale.messages.noDesignSelected}\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-tertiary empty-state-button\"\n onClick={this.#selectFileHandler}\n >\n {this.#componentLocale.messages.selectDesign}\n </button>\n </gx-ide-empty-state>\n );\n }\n };\n\n #renderDesignTree = (): HTMLChTreeViewElement => {\n return (\n <ch-tree-view-render\n part=\"data-tree\"\n class=\"tree-view\"\n id=\"data-tree\"\n showLines=\"last\"\n model={this.designDataTreeDataModel}\n dragDisabled={true}\n dropDisabled={true}\n expandableButton=\"action\"\n expandOnClick={false}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n onSelectedItemsChange={this.#objectsTreeSelectedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #renderFooter = () => {\n const buttonOkDisabled =\n this.designData?.success !== true || this.isLoading;\n return (\n <footer class=\"dialog-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n // button cancel\n id=\"button-cancel\"\n class=\"button-secondary button-cancel\"\n type=\"outlined\"\n onClick={this.#cancel}\n part=\"button button--cancel\"\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // button ok\n id=\"button-ok\"\n class=\"button-primary button-ok\"\n type=\"primary-text-only\"\n onClick={!buttonOkDisabled && this.#confirm}\n part=\"button button--ok\"\n disabled={buttonOkDisabled}\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnOk}\n </button>\n </div>\n </footer>\n );\n };\n\n #evaluatePanelPreview = () => {\n if (this.selectedDesignType === \"panels\") {\n return this.selectedDesignItem?.composition?.preview ? (\n <div\n part=\"data-panel-composition-preview\"\n class=\"panel-item scrollable\"\n >\n <img\n src={this.selectedDesignItem.composition.preview}\n alt=\"Preview\"\n />\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"panel-tab__empty-state\"\n stateTitle={this.#componentLocale.messages.noPanelPreviewAvailable}\n stateIconSrc={\n this.#importAsWebPanelsEl.value === CHECKED_VALUE\n ? WEBPANEL_ICON\n : PANEL_FOR_SD_ICON\n }\n ></gx-ide-empty-state>\n );\n }\n return null;\n };\n\n #renderPanelTab = (): Element => {\n const renderControlsTree =\n (this.selectedDesignType === DESIGN_DATA_TYPE_PANELS ||\n this.selectedDesignType === DESIGN_DATA_TYPE_STENCILS) &&\n this.detailTreeModel.length > 0;\n\n return (\n <div\n class={{\n \"panel-tab\": true,\n \"panel-tab--controls-tree\": renderControlsTree\n }}\n part=\"data-panel-composition-container\"\n >\n {this.#evaluatePanelPreview()}\n\n {renderControlsTree ? (\n <ch-tree-view-render\n part=\"data-panel-composition-tree\"\n class=\"tree-view tree-view-panel-item scrollable\"\n showLines=\"last\"\n model={this.detailTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n ></ch-tree-view-render>\n ) : null}\n </div>\n );\n };\n\n #renderImageTab = () => {\n return (\n <div\n part=\"data-panel-composition-preview\"\n class=\"data-preview\"\n style={{ height: \"100%\" }}\n >\n <img\n src={this.selectedDesignItem ? this.selectedDesignItem : undefined}\n alt=\"Preview\"\n class={\n this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES\n ? \"checker-board\"\n : undefined\n }\n />\n </div>\n );\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.renderedTabs.clear();\n this.renderedTabs.add(event.detail.newSelectedId);\n this.reRenderCounter++;\n this.activeTabs.set(this.selectedDesignType, event.detail.newSelectedId);\n };\n\n #renderDesignTabsCh = (): HTMLChTabRenderElement => {\n return (\n <ch-tab-render\n // main section\n class={{\n \"tab\": true,\n \"scrollable\": true,\n \"fit-images\": this.fitImages\n }}\n tabListPosition=\"block-start\"\n model={this.tabsModel}\n selectedId={this.activeTabs.get(this.selectedDesignType)}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n >\n <div\n slot={TAB_DATA.tokens.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.tokens.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.tokens.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.styles.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.styles.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.styles.slot}></slot>\n </div>\n\n <div\n class=\"composition-tab-slot scrollable\"\n slot={TAB_DATA.composition.slot}\n style={{\n display: this.renderedTabs.has(TAB_DATA.composition.id)\n ? \"\"\n : \"none\"\n }}\n >\n {this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES ||\n this.selectedDesignType === DESIGN_DATA_TYPE_FONTS\n ? this.#renderImageTab()\n : this.#renderPanelTab()}\n </div>\n\n <div\n slot={TAB_DATA.layout.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.layout.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.layout.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.code.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.code.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.code.slot}></slot>\n </div>\n </ch-tab-render>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {this.#renderHeader()}\n {this.#renderMain()}\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type LoadMessageCallback = (message: MessageData) => void;\nexport type LoadCallback = (\n source: string | File,\n designSystem: string,\n importAsWebPanels: boolean,\n token: string | undefined,\n onMessage: LoadMessageCallback\n) => Promise<DesignData | undefined>;\nexport type LoadPanelDataCallback = (id: string) => Promise<DesignPanelData>;\nexport type LoadImageCallback = (id: string) => Promise<string>;\nexport type LoadFontCallback = (id: string) => Promise<string>;\nexport type LoadDesignSystemCallback = (\n id: string\n) => Promise<DesignSystemData>;\nexport type TextEditorFactoryCallback = (\n type: TextEditorType,\n parent: string,\n text: string\n) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type RequiresAccessTokenCallback = (source: string) => Promise<boolean>;\nexport type ConfirmCallback = (data: DesignImportData) => Promise<boolean>;\nexport type CancelCallback = () => Promise<void>;\n\nexport interface MessageData {\n type: \"error\" | \"warning\" | \"info\";\n text: string;\n}\n\nexport interface DesignData {\n panels: DesignItemData[];\n stencils: DesignItemData[];\n images: DesignItemData[];\n designSystem: DesignItemData[];\n fonts: DesignItemData[];\n success: boolean;\n}\n\nexport interface DesignItemData {\n id: string;\n name: string;\n warning?: string;\n variants?: DesignItemData[];\n}\n\nexport interface DesignPanelData {\n composition: DesignPanelCompositionData;\n code?: string;\n layout?: string;\n}\n\nexport interface DesignPanelCompositionData {\n preview?: string;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignPanelControlData {\n name: string;\n type: string;\n leaf?: boolean;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignSystemData {\n tokens: string;\n styles: string;\n}\n\ntype DesignItemDataDetail = DesignPanelData | DesignSystemData | string;\n\nexport interface DesignImportData {\n panels: string[];\n stencils: string[];\n fonts: string[];\n moduleId: string;\n images: string[];\n styleName: string;\n importAsWebPanels: boolean;\n}\n\nexport type DesignType =\n | typeof DESIGN_DATA_TYPE_PANELS\n | typeof DESIGN_DATA_TYPE_STENCILS\n | typeof DESIGN_DATA_TYPE_IMAGES\n | typeof DESIGN_DATA_TYPE_DESIGN_SYSTEM\n | typeof DESIGN_DATA_TYPE_FONTS;\n\nexport type DesignObjectType = {\n [Key in DesignType]: string;\n};\n\nexport type ItemLoadedInfo = {\n designType: DesignType;\n designDataDetail: DesignItemDataDetail;\n};\n\nexport type TextEditorType = \"code\" | \"html\" | \"styles\" | \"tokens\";\n\nexport type ReactiveSettings = {\n path: boolean;\n style: boolean;\n module: boolean;\n importAsWebPanels: boolean;\n};\n\nexport type ObjectTreeCheckedStatus = {\n all: [];\n none: [\"-\"];\n};\n\ntype ReactiveSettingsValues = {\n path: string;\n style: string;\n moduleId: string;\n importAsWebPanels: boolean;\n};\n"],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import "./p-4d330836.js";
|
|
|
24
24
|
|
|
25
25
|
import "./p-9663f418.js";
|
|
26
26
|
|
|
27
|
-
const d = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:var(--spacing-gap-m)}.warning-error-description{display:flex;align-items:center;gap:var(--spacing-gap-m);padding:var(--spacing-padding-m);max-inline-size:800px;line-height:var(--line-height-spacious)}.warning-error-icon{flex-shrink:0}:host{--pill-border-radius:12px;--pill-padding-inline:var(--spacing-padding-m);--pill-padding-block:var(--spacing-padding-xxs);--pill-font-size:var(--font-size-body-s);display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content max-content 1fr}.detail__current-version,.detail__knowledge-base{max-inline-size:250px;min-inline-size:180px}.detail__current-version,.detail__knowledge-base{padding-inline:var(--spacing-padding-xxl);border-inline-end:1px solid var(--color-border-surface-on-elevation-1)}.information__col-1,.detail__genexus-server{padding-inline-end:var(--spacing-padding-xxl);border-inline-end:1px solid var(--color-border-surface-on-elevation-1)}.detail__merge-from-version{padding-inline-start:var(--spacing-padding-xxl)}.section{display:contents}.header{display:grid;gap:var(--spacing-gap-xxl)}.header__detail{display:grid;grid-template-areas:"detail-title detail-title detail-title detail-title" "detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version";row-gap:var(--spacing-gap-xl)}.detail__label{color:var(--color-text-neutral-disabled)}.detail__title{grid-area:detail-title}.detail__commit-name{grid-area:detail-commit-name}.detail__genexus-server{grid-area:detail-genexus-server}.detail__genexus-server>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.detail__link{align-items:start;color:var(--color-text-primary-default);text-decoration:underline}.detail__link:hover{color:var(--color-text-primary-hover)}.detail__link:active{color:var(--color-text-primary-pressed)}.detail__knowledge-base{grid-area:detail-knowledge-base}.detail__current-version{grid-area:detail-current-version}.detail__merge-from-version{grid-area:detail-merge-from-version}.header__information{display:grid;row-gap:var(--spacing-gap-m);grid-template-areas:"information-title information-title" "information-col-1 information-col-2";grid-template-columns:max-content 1fr;grid-template-rows:max-content max-content}.information__title{grid-area:information-title}.information__col-1{grid-area:information-col-1;display:flex;gap:var(--spacing-gap-xxl)}.header__comments .layout__panel{justify-items:start;text-align:left}.controls-container{display:grid;margin-block-start:var(--spacing-padding-xxl)}.filter{grid-template-columns:232px 186px 1fr}.button-merge-checked{margin-inline-start:auto}.main{position:relative;display:grid;overflow:auto}.loader{position:relative;inline-size:100%;block-size:100%;inset-block-start:0}.tabular-grid{border-radius:4px;overflow:hidden}.empty-state{block-size:100%}.loader{--elevation-background-color:var(--color-accent-surface-elevation-1)}.tabular-grid.empty-result::part(main){overflow:hidden}.comments-container{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.button-tertiary.edit-range-button{padding-block:0;align-content:flex-end}.input-comments-container{position:relative}.input-comments{--control-border-color:transparent;padding-block:0 !important;padding-inline:0 !important;--line-height-tight:1.4;block-size:100%;background-color:var(--color-accent-surface-surface);transition:var(--timing-super-fast) block-size, var(--timing-super-fast) background-color, var(--timing-super-fast) padding-block, var(--timing-super-fast) padding-inline}.input-comments:focus{position:absolute;block-size:200px;inline-size:100%;z-index:99;background-color:var(--color-accent-surface-elevation-1);padding-block:var(--control-padding-block) !important;padding-inline:var(--control-padding-inline) !important}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){background-size:contain;margin-inline-end:0;--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--enabled);cursor:pointer}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):hover{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--hover)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):active{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--active)}.tabular-grid-row-actions::part(main),.property-grid-row-actions::part(main){gap:0 !important}.tabular-grid-row-actions>button{justify-content:start}.pill{--pill-background-color:transparent;--pill-color:transparent;--pill-border-color:transparent;background-color:var(--pill-background-color);color:var(--pill-color);border:1px solid var(--pill-border-color);inline-size:100%;padding:var(--pill-padding-block) var(--pill-padding-inline);display:flex;align-items:center;justify-content:center;border-radius:var(--pill-border-radius);position:relative}.pill--to-merge,.pill--to-revert{--pill-background-color:var(--color-accent-neutral-contrast);--pill-color:var(--color-border-primary-default);--pill-border-color:var(--color-accent-primary-pressed)}.pill--to-merge-marked{--pill-background-color:var();--pill-color:var(--color-border-primary-default);--pill-border-color:var()}.pill--pending{--pill-background-color:var(--color-accent-neutral-contrast);--pill-color:var(--color-border-primary-default);--pill-border-color:var(--color-accent-primary-pressed)}.pill--warning{--pill-background-color:var(--color-accent-warning-contrast);--pill-color:var(--color-border-warning-default);--pill-border-color:var(--color-border-warning-default)}.pill--error{--pill-background-color:var(--color-accent-error-contrast);--pill-color:var(--color-border-error-default);--pill-border-color:var(--color-border-error-light)}.pill--merged,.pill--reverted{--pill-background-color:var(--color-accent-success-contrast);--pill-color:var(--color-border-success-default);--pill-border-color:var(--color-accent-success-default)}.pill--transitioning{--pill-color:transparent}.merging-spinner-caption{display:flex;align-items:center;gap:var(--spacing-gap-m);--status-circle-color:transparent;--status-circle-size:$size;--status-circle-inset-inline-start:16px;--pill-color:var(--color-border-primary-default)}.merging-spinner-caption::before{display:inline-block;content:"";width:16px;height:16px;border:calc(16px / 7) solid var(--color-accent-primary-pressed);border-top:calc(16px / 7) solid var(--color-border-primary-on-default);border-radius:50%;animation:spin var(--timing-regular) linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.tabular-grid .button-secondary{--control-padding-block:var(--pill-padding-block);--control-padding-inline:var(--pill-padding-inline);font-size:inherit;font-weight:inherit;}.tabular-grid .tabular-grid-cell--for-pill{padding-block:0;align-items:center;justify-content:center}.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon){pointer-events:none;opacity:0.5}.tabular-grid-column--settings-custom-selector,.tabular-grid-cell--settings-custom-selector{padding:0}.tabular-grid-cell::part(actions-icon){padding-block:var(--spacing-padding-m)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){block-size:100%;display:block;background-size:16px;padding-inline:var(--spacing-padding-xl)}.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label){visibility:hidden}.tabular-grid-row-actions::part(window){background-color:var(--color-accent-surface-elevation-2) !important}.tabular-grid-row .tabular-grid-cell:nth-child(3){min-inline-size:400px}';
|
|
27
|
+
const d = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:var(--spacing-gap-m)}.warning-error-description{display:flex;align-items:center;gap:var(--spacing-gap-m);padding:var(--spacing-padding-m);max-inline-size:800px;line-height:var(--line-height-spacious)}.warning-error-icon{flex-shrink:0}button.button-secondary{border-color:var(--color-border-neutral-default)}:host{--pill-border-radius:12px;--pill-padding-inline:var(--spacing-padding-m);--pill-padding-block:var(--spacing-padding-xxs);--pill-font-size:var(--font-size-body-s);display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content max-content 1fr}.detail__current-version,.detail__knowledge-base{max-inline-size:250px;min-inline-size:180px}.detail__current-version,.detail__knowledge-base{padding-inline:var(--spacing-padding-xxl);border-inline-end:1px solid var(--color-border-surface-on-elevation-1)}.information__col-1,.detail__genexus-server{padding-inline-end:var(--spacing-padding-xxl);border-inline-end:1px solid var(--color-border-surface-on-elevation-1)}.detail__merge-from-version{padding-inline-start:var(--spacing-padding-xxl)}.section{display:contents}.header{display:grid;gap:var(--spacing-gap-xxl)}.header__detail{display:grid;grid-template-areas:"detail-title detail-title detail-title detail-title" "detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version";row-gap:var(--spacing-gap-xl)}.detail__label{color:var(--color-text-neutral-disabled)}.detail__title{grid-area:detail-title}.detail__commit-name{grid-area:detail-commit-name}.detail__genexus-server{grid-area:detail-genexus-server}.detail__genexus-server>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.detail__link{align-items:start;color:var(--color-text-primary-default);text-decoration:underline}.detail__link:hover{color:var(--color-text-primary-hover)}.detail__link:active{color:var(--color-text-primary-pressed)}.detail__knowledge-base{grid-area:detail-knowledge-base}.detail__current-version{grid-area:detail-current-version}.detail__merge-from-version{grid-area:detail-merge-from-version}.header__information{display:grid;row-gap:var(--spacing-gap-m);grid-template-areas:"information-title information-title" "information-col-1 information-col-2";grid-template-columns:max-content 1fr;grid-template-rows:max-content max-content}.information__title{grid-area:information-title}.information__col-1{grid-area:information-col-1;display:flex;gap:var(--spacing-gap-xxl)}.header__comments .layout__panel{justify-items:start;text-align:left}.controls-container{display:grid;margin-block-start:var(--spacing-padding-xxl)}.filter{grid-template-columns:232px 186px 1fr}.button-merge-checked{margin-inline-start:auto}.main{position:relative;display:grid;overflow:auto}.loader{position:relative;inline-size:100%;block-size:100%;inset-block-start:0}.tabular-grid{border-radius:4px;overflow:hidden}.empty-state{block-size:100%}.loader{--elevation-background-color:var(--color-accent-surface-elevation-1)}.tabular-grid.empty-result::part(main){overflow:hidden}.comments-container{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.button-tertiary.edit-range-button{padding-block:0;align-content:flex-end}.input-comments-container{position:relative}.input-comments{--control-border-color:transparent;padding-block:0 !important;padding-inline:0 !important;--line-height-tight:1.4;block-size:100%;background-color:var(--color-accent-surface-surface);transition:var(--timing-super-fast) block-size, var(--timing-super-fast) background-color, var(--timing-super-fast) padding-block, var(--timing-super-fast) padding-inline}.input-comments:focus{position:absolute;block-size:200px;inline-size:100%;z-index:99;background-color:var(--color-accent-surface-elevation-1);padding-block:var(--control-padding-block) !important;padding-inline:var(--control-padding-inline) !important}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){background-size:contain;margin-inline-end:0;--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--enabled);cursor:pointer}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):hover{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--hover)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):active{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--active)}.tabular-grid-row-actions::part(main),.property-grid-row-actions::part(main){gap:0 !important}.tabular-grid-row-actions>button{justify-content:start}.pill{--pill-background-color:transparent;--pill-color:transparent;--pill-border-color:transparent;background-color:var(--pill-background-color);color:var(--pill-color);border:1px solid var(--pill-border-color);inline-size:100%;padding:var(--pill-padding-block) var(--pill-padding-inline);display:flex;align-items:center;justify-content:center;border-radius:var(--pill-border-radius);position:relative}.pill--to-merge,.pill--to-revert{--pill-background-color:var(--color-accent-neutral-contrast);--pill-color:var(--color-border-primary-default);--pill-border-color:var(--color-accent-primary-pressed)}.pill--to-merge-marked{--pill-background-color:var();--pill-color:var(--color-border-primary-default);--pill-border-color:var()}.pill--pending{--pill-background-color:var(--color-accent-neutral-contrast);--pill-color:var(--color-border-primary-default);--pill-border-color:var(--color-accent-primary-pressed)}.pill--warning{--pill-background-color:var(--color-accent-warning-contrast);--pill-color:var(--color-border-warning-default);--pill-border-color:var(--color-border-warning-default)}.pill--error{--pill-background-color:var(--color-accent-error-contrast);--pill-color:var(--color-border-error-default);--pill-border-color:var(--color-border-error-light)}.pill--merged,.pill--reverted{--pill-background-color:var(--color-accent-success-contrast);--pill-color:var(--color-border-success-default);--pill-border-color:var(--color-accent-success-default)}.pill--transitioning{--pill-color:transparent}.merging-spinner-caption{display:flex;align-items:center;gap:var(--spacing-gap-m);--status-circle-color:transparent;--status-circle-size:$size;--status-circle-inset-inline-start:16px;--pill-color:var(--color-border-primary-default)}.merging-spinner-caption::before{display:inline-block;content:"";width:16px;height:16px;border:calc(16px / 7) solid var(--color-accent-primary-pressed);border-top:calc(16px / 7) solid var(--color-border-primary-on-default);border-radius:50%;animation:spin var(--timing-regular) linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.tabular-grid .button-secondary{--control-padding-block:var(--pill-padding-block);--control-padding-inline:var(--pill-padding-inline);font-size:inherit;font-weight:inherit;}.tabular-grid .tabular-grid-cell--for-pill{padding-block:0;align-items:center;justify-content:center}.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon){pointer-events:none;opacity:0.5}.tabular-grid-column--settings-custom-selector,.tabular-grid-cell--settings-custom-selector{padding:0}.tabular-grid-cell::part(actions-icon){padding-block:var(--spacing-padding-m)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){block-size:100%;display:block;background-size:16px;padding-inline:var(--spacing-padding-xl)}.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label){visibility:hidden}.tabular-grid-row-actions::part(window){background-color:var(--color-accent-surface-elevation-2) !important}.tabular-grid-row .tabular-grid-cell:nth-child(3){min-inline-size:400px}';
|
|
28
28
|
|
|
29
29
|
var p = undefined && undefined.__classPrivateFieldGet || function(t, e, i, r) {
|
|
30
30
|
if (i === "a" && !r) throw new TypeError("Private accessor was defined without a getter");
|
|
@@ -643,4 +643,4 @@ W = new WeakMap, $ = new WeakMap, T = new WeakMap, S = new WeakMap, I = new Weak
|
|
|
643
643
|
X.style = d;
|
|
644
644
|
|
|
645
645
|
export { X as gx_ide_team_dev_bring_changes };
|
|
646
|
-
//# sourceMappingURL=p-
|
|
646
|
+
//# sourceMappingURL=p-7b76b0e4.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bringChangesCss","CSS_BUNDLES","COMBO_BOX_ALL_VALUE","DETAIL_LABEL_CLASSES","ADD_ICON","getIconPath","category","name","colorType","EDITED_ICON","FILTER_ICON","SEARCH_ICON","SUBSTRACT_ICON","WARNING_ICON","ERROR_ICON","GxIdeTeamDevBringChanges","_GxIdeTeamDevBringChanges_componentLocale","set","this","_GxIdeTeamDevBringChanges_commitLabel","_GxIdeTeamDevBringChanges_comboBoxStatesModel","_GxIdeTeamDevBringChanges_checkedObjectsIdsArray","_GxIdeTeamDevBringChanges_formatComments","commitInformation","length","h","comment","firstComment","__classPrivateFieldGet","latest","_GxIdeTeamDevBringChanges_mergeCheckedClickedHandler","async","merging","newobjectsStatesMap","Map","objectsStatesMap","forEach","checkedObjectId","operationType","mergeObjectsCallback","_GxIdeTeamDevBringChanges_mergeSingleObject","objectId","_GxIdeTeamDevBringChanges_renderActionCellContent","actionTaken","icon","caption","iconColor","objects","actions","delete","insert","modify","class","type","src","style","backgroundColor","_GxIdeTeamDevBringChanges_renderCommitsNumbers","onlyNumbers","_a","id","_b","loading","_GxIdeTeamDevBringChanges_renderFormatedDate","date","dateObject","Date","lang","navigator","languages","language","toLocaleDateString","toLocaleTimeString","hour","minute","hour12","_GxIdeTeamDevBringChanges_renderObjectStateWithIcon","objectType","states","reverting","classes","revertPillAsButton","onClick","call","statesForButton","_GxIdeTeamDevBringChanges_renderObjectsRows","objectsFiltered","map","commitObject","marked","markedObjectsSet","has","alreadyMerged","alreadyMergedObjectsIdsArray","find","errorOrWarningMessage","commitObjectsMessagesMap","get","state","MESSAGE_ICON","key","rowid","ref","el","setAttribute","size","renderObjectTypeWithIcon","description","_GxIdeTeamDevBringChanges_rowContextMenuHandler","ev","preventDefault","selectedRowsIds","tabularGridEl","getSelectedRows","contextMenuCallback","selection","clientX","detail","clientY","_GxIdeTeamDevBringChanges_rowMarkingChangedHandler","event","newobjectsMarkedSet","Set","markedRowsIds","rowsId","checkedObjectsIgnoringAlreadyMerged","filter","markedObjectId","includes","__classPrivateFieldSet","add","atLeastOneObjectIsChecked","objectCurrentState","markedRowIndex","findIndex","splice","_GxIdeTeamDevBringChanges_searchInputHandler","searchValue","toLowerCase","_GxIdeTeamDevBringChanges_updateFilteredObjects","_GxIdeTeamDevBringChanges_stateChangedHandler","stateFilterValue","filteredObjects","commitObjects","object","objectState","includesName","includesType","includesDescription","_GxIdeTeamDevBringChanges_sortTabularGridColumnCallback","e","columnId","objectProperty","dateType","COLUMNS_IDS","sortTabularGridColumn","_GxIdeTeamDevBringChanges_viewAllCommentsHandler","viewAllCommentsCallback","_GxIdeTeamDevBringChanges_editRangeHandler","editRangeCallback","objectsStatesMapChanged","newCommitObjectsStateMap","someObjectIsMerging","entries","commitObjectsChanged","newCommitObjects","componentWillLoad","Locale","getComponentStrings","commmits","commmit","all","value","warning","error","reverted","merged","updateObjectState","newState","message","checkedObject","push","markRow","render","enableRichRowSelector","disableControls","Host","model","commitDetail","revertChangesDetail","bringChangesDetail","genexusServer","href","target","knowledgeBase","currentVersion","mergeFromVersion","title","ids","from","to","buttons","editRange","htmlFor","comments","viewAllComments","replace","toString","viewComment","hideFilters","disabled","startImgSrc","placeholder","searchPlaceholder","onInput","statePlaceholder","revertSelected","mergeSelected","keyboardNavigationMode","rowSelectionMode","onRowMarkingChanged","onRowContextMenu","columnName","columnType","richRowSelector","richRowSelectorMode","settingable","sortable","onColumnSortChanged","config","tabularGrid","colSize","action","status","isAnimated","stateIconSrc","stateTitle","cancelLabel","loader","loaderTitle","show"],"sources":["src/components/team-dev/bring-changes/bring-changes.scss?tag=gx-ide-team-dev-bring-changes&encapsulation=shadow","src/components/team-dev/bring-changes/bring-changes.tsx"],"sourcesContent":["@import \"../common/styles.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n --pill-border-radius: 12px;\n --pill-padding-inline: var(--spacing-padding-m);\n --pill-padding-block: var(--spacing-padding-xxs);\n --pill-font-size: var(--font-size-body-s);\n\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content max-content 1fr;\n}\n$header-item-common-inline-padding: var(--spacing-padding-xxl);\n$header-item-common-separator-border: 1px solid\n var(--color-border-surface-on-elevation-1);\n\n%header-item-common-inline-sizes {\n max-inline-size: 250px;\n min-inline-size: 180px;\n}\n%header-item-common {\n padding-inline: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n @extend %header-item-common-inline-sizes;\n}\n%header-item-common-start {\n padding-inline-end: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n}\n%header-item-common-end {\n padding-inline-start: $header-item-common-inline-padding;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n}\n\n// header detail\n.header__detail {\n display: grid;\n grid-template-areas:\n \"detail-title detail-title detail-title detail-title\"\n // \"detail-commit-name detail-commit-name detail-commit-name detail-commit-name\"\n \"detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version\";\n row-gap: var(--spacing-gap-xl);\n // grid-auto-columns: max-content;\n // grid-template-columns: max-content auto auto auto;\n // grid-template-columns: minmax(250px, 350px) repeat(3, minmax(180px, 250px));\n}\n.detail__label {\n color: var(--color-text-neutral-disabled);\n}\n.detail__title {\n grid-area: detail-title;\n}\n.detail__commit-name {\n grid-area: detail-commit-name;\n}\n.detail__genexus-server {\n grid-area: detail-genexus-server;\n @extend %header-item-common-start;\n\n > a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n }\n}\n.detail__link {\n align-items: start;\n color: var(--color-text-primary-default);\n text-decoration: underline;\n &:hover {\n color: var(--color-text-primary-hover);\n }\n &:active {\n color: var(--color-text-primary-pressed);\n }\n}\n.detail__knowledge-base {\n grid-area: detail-knowledge-base;\n @extend %header-item-common;\n}\n.detail__current-version {\n grid-area: detail-current-version;\n @extend %header-item-common;\n}\n.detail__merge-from-version {\n grid-area: detail-merge-from-version;\n @extend %header-item-common-end;\n}\n\n// header information\n.header__information {\n display: grid;\n row-gap: var(--spacing-gap-m);\n grid-template-areas:\n \"information-title information-title\"\n \"information-col-1 information-col-2\";\n grid-template-columns: max-content 1fr;\n grid-template-rows: max-content max-content;\n}\n.information__title {\n grid-area: information-title;\n}\n.information__col-1 {\n grid-area: information-col-1;\n display: flex;\n gap: var(--spacing-gap-xxl);\n @extend %header-item-common-start;\n}\n\n//header comments\n.header__comments .layout__panel {\n justify-items: start;\n text-align: left;\n}\n\n// filter / controls-container\n.controls-container {\n display: grid;\n margin-block-start: var(--spacing-padding-xxl);\n}\n.filter {\n grid-template-columns: 232px 186px 1fr;\n}\n.button-merge-checked {\n margin-inline-start: auto;\n}\n\n// main\n.main {\n position: relative;\n display: grid;\n overflow: auto;\n}\n.loader {\n position: relative;\n inline-size: 100%;\n block-size: 100%;\n inset-block-start: 0;\n}\n.tabular-grid {\n border-radius: 4px;\n overflow: hidden;\n}\n\n.empty-state {\n block-size: 100%;\n}\n.loader {\n --elevation-background-color: var(--color-accent-surface-elevation-1);\n}\n\n.tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.comments-container {\n @include ellipsis;\n}\n\n.button-tertiary.edit-range-button {\n padding-block: 0;\n align-content: flex-end;\n}\n\n// - - - - - - - - - - - - - -\n// WA (WORK AROUNDS)\n// - - - - - - - - - - - - - -\n\n.input-comments-container {\n position: relative;\n}\n// ch-edit for comments WA's\n// Figma design for this component displays the textarea witout border, and with a little more line-height.\n// The following styles are a temporary WA that should be brouhgt to Mercury DS.\n.input-comments {\n --control-border-color: transparent;\n padding-block: 0 !important;\n padding-inline: 0 !important;\n --line-height-tight: 1.4;\n block-size: 100%;\n background-color: var(--color-accent-surface-surface);\n transition:\n var(--timing-super-fast) block-size,\n var(--timing-super-fast) background-color,\n var(--timing-super-fast) padding-block,\n var(--timing-super-fast) padding-inline;\n}\n.input-comments:focus {\n position: absolute;\n block-size: 200px;\n inline-size: 100%;\n z-index: 99;\n background-color: var(--color-accent-surface-elevation-1);\n padding-block: var(--control-padding-block) !important;\n padding-inline: var(--control-padding-inline) !important;\n}\n\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n background-size: contain; //force icon fit container\n margin-inline-end: 0;\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--enabled);\n cursor: pointer;\n &:hover {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--hover);\n }\n &:active {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--active);\n }\n}\n\n.tabular-grid-row-actions::part(main),\n.property-grid-row-actions::part(main) {\n // gap not required since buttons are tertiary.\n // extra space perceived.\n gap: 0 !important;\n}\n\n.tabular-grid-row-actions {\n // Butons are center by default, but design dictates start alignemnt\n > button {\n justify-content: start;\n }\n}\n\n// These static type of pills do not exist on Mercury yet.\n// They should be defined on Mercury. The actual pills on Mercury\n// are combo-boxes. Not what we need for this case.\n\n.pill {\n --pill-background-color: transparent;\n --pill-color: transparent;\n --pill-border-color: transparent;\n\n background-color: var(--pill-background-color);\n color: var(--pill-color);\n border: 1px solid var(--pill-border-color);\n inline-size: 100%;\n padding: var(--pill-padding-block) var(--pill-padding-inline);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--pill-border-radius);\n position: relative;\n\n &--to-merge,\n &--to-revert {\n --pill-background-color: var(--color-accent-neutral-contrast);\n --pill-color: var(--color-border-primary-default);\n --pill-border-color: var(--color-accent-primary-pressed);\n }\n &--to-merge-marked {\n --pill-background-color: var();\n --pill-color: var(--color-border-primary-default);\n --pill-border-color: var();\n }\n &--pending {\n --pill-background-color: var(--color-accent-neutral-contrast);\n --pill-color: var(--color-border-primary-default);\n --pill-border-color: var(--color-accent-primary-pressed);\n }\n &--warning {\n --pill-background-color: var(--color-accent-warning-contrast);\n --pill-color: var(--color-border-warning-default);\n --pill-border-color: var(--color-border-warning-default);\n }\n &--error {\n --pill-background-color: var(--color-accent-error-contrast);\n --pill-color: var(--color-border-error-default);\n --pill-border-color: var(--color-border-error-light);\n }\n &--merged,\n &--reverted {\n --pill-background-color: var(--color-accent-success-contrast);\n --pill-color: var(--color-border-success-default);\n --pill-border-color: var(--color-accent-success-default);\n }\n &--transitioning {\n // used to hide the text, before updating the caption (smooth transtion)\n --pill-color: transparent;\n }\n}\n.merging-spinner-caption {\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n $size: 16px;\n --status-circle-color: transparent;\n --status-circle-size: $size;\n --status-circle-inset-inline-start: 16px;\n --pill-color: var(--color-border-primary-default);\n &::before {\n display: inline-block;\n content: \"\";\n\n @include spinner(\n $size,\n var(--color-accent-primary-default),\n var(--color-accent-primary-pressed)\n );\n }\n}\n.tabular-grid .button-secondary {\n --control-padding-block: var(--pill-padding-block);\n --control-padding-inline: var(--pill-padding-inline);\n font-size: inherit;\n font-weight: inherit;\n /* font-size: var(--pill-font-size); */\n}\n\n.tabular-grid .tabular-grid-cell--for-pill {\n padding-block: 0;\n align-items: center;\n justify-content: center;\n}\n\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),\n.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon) {\n pointer-events: none;\n opacity: 0.5;\n}\n.tabular-grid-column--settings-custom-selector,\n.tabular-grid-cell--settings-custom-selector {\n padding: 0;\n}\n.tabular-grid-cell::part(actions-icon) {\n padding-block: var(--spacing-padding-m);\n}\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n block-size: 100%;\n display: block;\n background-size: 16px;\n padding-inline: var(--spacing-padding-xl);\n}\n\n.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label) {\n visibility: hidden;\n}\n\n.tabular-grid-row-actions::part(window) {\n background-color: var(--color-accent-surface-elevation-2) !important;\n}\n\n.tabular-grid-row .tabular-grid-cell:nth-child(3) {\n min-inline-size: 400px;\n}\n\n// - - - - - - - - - - - - - -\n// END OF WA\n// - - - - - - - - - - - - - -\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n JSX,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n ChEditCustomEvent,\n TabularGridMarkingChangedEvent,\n TabularGridColumnSortChangedEvent,\n TabularGridRowContextMenuEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectType } from \"../../../components\";\n\nimport { config } from \"../../../common/config\";\n\nimport { ContextMenuCallback } from \"../../../components\";\n\nimport { renderObjectTypeWithIcon } from \"../common/utilities\";\n\nimport { COLUMNS_IDS } from \"../version-control/common/tabular-grid-render\";\nimport sortTabularGridColumn, {\n type SortTabularGridColumnDataType\n} from \"../../../common/chameleon/tabular-grid-column-sort\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\"\n];\n\nconst COMBO_BOX_ALL_VALUE = \"all\";\n\nconst DETAIL_LABEL_CLASSES = \"detail__label body-semi-bold-s\";\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"on-surface\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"on-surface\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\nconst SUBSTRACT_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"on-surface\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"error\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-bring-changes\",\n styleUrl: \"bring-changes.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-bring-changes\"]\n})\nexport class GxIdeTeamDevBringChanges {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #commitLabel: string;\n #comboBoxStatesModel: { caption: string; value: ObjectStateForFilter }[];\n #checkedObjectsIdsArray: string[] = [];\n\n @Element() el: HTMLGxIdeTeamDevBringChangesElement;\n\n private tabularGridEl!: HTMLChTabularGridElement;\n\n /**\n * An array that holds the id's of the objects that have been merged already.\n */\n @State() alreadyMergedObjectsIdsArray: string[] = [];\n\n /**\n * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.\n */\n @State() atLeastOneObjectIsChecked: boolean = false;\n\n /**\n * True while commitObjects hasn't been loaded or is empty. Used to display a loader.\n */\n @State() loading: boolean = true;\n\n /**\n * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.\n */\n @State() objectsFiltered: CommitObject[] = [];\n\n /**\n * The current search filter value\n */\n @State() searchValue: string = \"\";\n\n /**\n * The current state filter value\n */\n @State() stateFilterValue: ObjectStateForFilter = COMBO_BOX_ALL_VALUE;\n\n /**\n * A set that stores the marked state of each object cell. This is necessary because filtering the grid * causes marked cells to lose their state.\n */\n @State() markedObjectsSet: Set<string> = new Set<string>();\n\n /**\n * A map that holds the current commit objects states (\"pending\" | \"warning\" | \"error\" | \"merged\" | \"reverted\")\n */\n @State() objectsStatesMap: Map<string, ObjectState> = new Map();\n @Watch(\"objectsStatesMap\")\n objectsStatesMapChanged(newCommitObjectsStateMap: Map<string, ObjectState>) {\n const someObjectIsMerging = [...newCommitObjectsStateMap.entries()].find(\n ([, state]) => state === \"merging\" || state === \"reverting\"\n );\n\n if (!someObjectIsMerging) {\n this.merging = false;\n }\n }\n\n /**\n * A map that holds object messages, if any, for objects that could not be merged (these objects are in a \"warning\" or \"error\" state)\n */\n @State() commitObjectsMessagesMap: Map<string, string> = new Map();\n\n /**\n * Set to true when objects are being mered. This helps disabling controls until all objects are done.\n */\n @State() merging: boolean = false;\n\n /**\n * Detail about the commit\n */\n @Prop() readonly commitDetail: CommitDetail;\n\n /**\n * Commit information\n */\n @Prop() readonly commitInformation: CommitInformation[] = [];\n\n /**\n * Array of commit\n */\n @Prop() readonly commitObjects: CommitObject[] = [];\n @Watch(\"commitObjects\")\n commitObjectsChanged(newCommitObjects: CommitObject[]) {\n this.loading = true;\n if (newCommitObjects.length) {\n // This is the first and only objects asignment\n this.loading = false;\n\n // All commit objects begin as \"pending to merge\"\n newCommitObjects.forEach(commitObject => {\n this.objectsStatesMap.set(\n commitObject.id,\n this.operationType === \"revert\" ? \"to-revert\" : \"to-merge\"\n );\n });\n\n this.objectsFiltered = this.commitObjects;\n }\n }\n\n /**\n * Determines whether the filters are rendered or not.\n */\n @Prop() readonly hideFilters: boolean = false;\n\n /**\n * The type of operation to perform: \"merge\" or \"revert\".\n */\n @Prop() readonly operationType: OperationType = \"merge\";\n\n /**\n * The callback that is triggered when the user wants to merge more than one commit.\n */\n @Prop() readonly mergeObjectsCallback!: MergeObjectsCallback;\n\n /**\n * If true, the \"Action\" column will display a button instead of a pill, only when the action is\n */\n @Prop() readonly revertPillAsButton: boolean = false;\n\n /**\n * Invoked when user activates the context menu on th grid.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * Callback to be executed when the user wants to view all comments.\n */\n @Prop() readonly viewAllCommentsCallback!: () => Promise<void>;\n\n /**\n * Callback to be executed when the user wants to edit the range.\n */\n @Prop() readonly editRangeCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#commitLabel =\n this.commitInformation.length > 1\n ? this.#componentLocale.commmits\n : this.#componentLocale.commmit;\n\n // Initiate \"states\" combo box filter\n this.#comboBoxStatesModel = [\n {\n caption: this.#componentLocale.states.all,\n value: COMBO_BOX_ALL_VALUE\n },\n {\n caption:\n this.operationType === \"revert\"\n ? this.#componentLocale.states[\"to-revert\"]\n : this.#componentLocale.states[\"to-merge\"],\n value: this.operationType === \"revert\" ? \"to-revert\" : \"to-merge\"\n },\n {\n caption: this.#componentLocale.states.warning,\n value: \"warning\"\n },\n {\n caption: this.#componentLocale.states.error,\n value: \"error\"\n },\n {\n caption:\n this.operationType === \"revert\"\n ? this.#componentLocale.states.reverted\n : this.#componentLocale.states.merged,\n value: this.operationType === \"revert\" ? \"reverted\" : \"merged\"\n }\n ];\n\n if (this.commitObjects?.length) {\n // if commitObjects already set...\n this.commitObjectsChanged(this.commitObjects);\n }\n }\n\n #formatComments = (): JSX.Element => {\n if (this.commitInformation.length === 1) {\n return <span>{this.commitInformation[0].comment}</span>;\n }\n const firstComment =\n this.commitInformation[this.commitInformation.length - 1].comment;\n return <span>{`${this.#componentLocale.latest}: ${firstComment}...`}</span>;\n };\n\n #mergeCheckedClickedHandler = async () => {\n this.merging = true;\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n this.#checkedObjectsIdsArray.forEach(checkedObjectId => {\n newobjectsStatesMap.set(\n checkedObjectId,\n this.operationType === \"revert\" ? \"reverting\" : \"merging\"\n );\n });\n\n this.objectsStatesMap = newobjectsStatesMap;\n await this.mergeObjectsCallback(this.#checkedObjectsIdsArray);\n };\n\n #mergeSingleObject: (objectId: string) => () => void =\n objectId => async () => {\n this.merging = true;\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n newobjectsStatesMap.set(\n objectId,\n this.operationType === \"revert\" ? \"reverting\" : \"merging\"\n );\n this.objectsStatesMap = newobjectsStatesMap;\n await this.mergeObjectsCallback([objectId]);\n };\n\n #renderActionCellContent = (\n actionTaken: ObjectActionTaken\n ): JSX.Element[] => {\n let icon: string;\n let caption: string;\n let iconColor: string;\n\n if (actionTaken === \"Deleted\") {\n icon = SUBSTRACT_ICON;\n caption = this.#componentLocale.objects.actions.delete;\n iconColor = \"--color-icon-error-default\";\n } else if (actionTaken === \"Inserted\") {\n icon = ADD_ICON;\n caption = this.#componentLocale.objects.actions.insert;\n iconColor = \"--color-icon-success-default\";\n } else {\n // modified\n icon = EDITED_ICON;\n caption = this.#componentLocale.objects.actions.modify;\n iconColor = \"--color-icon-warning-default\";\n }\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image\n type=\"mask\"\n class=\"icon-s\"\n src={icon}\n style={{ backgroundColor: `var(${iconColor})` }}\n ></ch-image>\n {`${caption}`}\n </span>\n );\n };\n\n #renderCommitsNumbers = (onlyNumbers: boolean = false): string => {\n if (this.commitInformation?.length > 1) {\n // more than one commit\n return onlyNumbers\n ? `${this.commitInformation[0].id} ... ${\n this.commitInformation[this.commitInformation.length - 1].id\n }`\n : `${this.#commitLabel} ${this.commitInformation[0].id} ... ${\n this.commitInformation[this.commitInformation.length - 1].id\n }`;\n } else if (this.commitInformation?.length === 1) {\n // just one commit\n return onlyNumbers\n ? this.commitInformation[0].id\n : `${this.#commitLabel} ${this.commitInformation[0].id}`;\n } else {\n // Probably commits have not been loaded yet (loading state)\n return onlyNumbers\n ? `${this.#componentLocale.loading}`\n : `${this.#commitLabel} ${this.#componentLocale.loading}`;\n }\n };\n\n #renderFormatedDate = (date: Date): string => {\n const dateObject = new Date(date);\n const lang = navigator.languages?.[0] || navigator.language;\n\n return `${dateObject.toLocaleDateString(\n lang\n )} ${dateObject.toLocaleTimeString(lang, {\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: false\n })}`;\n };\n\n #renderObjectStateWithIcon = (\n objectType: ObjectState,\n objectId: string\n ): JSX.Element[] => {\n if (objectType === \"merging\" || objectType === \"reverting\") {\n return (\n <span class=\"merging-spinner-caption\">\n {this.operationType === \"revert\"\n ? this.#componentLocale.states.reverting\n : this.#componentLocale.states.merging}\n </span>\n );\n }\n const classes = `pill pill--${objectType} body-semi-bold-s`;\n if (\n this.revertPillAsButton &&\n (objectType === \"to-merge\" ||\n objectType === \"to-merge-marked\" ||\n objectType === \"to-revert\")\n ) {\n return (\n <button\n class={{ [classes]: true, \"button-secondary\": true }}\n onClick={this.#mergeSingleObject(objectId)}\n >\n {this.#componentLocale.statesForButton[objectType]}\n </button>\n );\n } else {\n return (\n <span class={classes}>{this.#componentLocale.states[objectType]}</span>\n );\n }\n };\n\n #renderObjectsRows = (): JSX.Element[] => {\n return this.objectsFiltered.map(commitObject => {\n const marked = this.markedObjectsSet.has(commitObject.id);\n\n const alreadyMerged = this.alreadyMergedObjectsIdsArray.find(\n checkedObjectId => checkedObjectId === commitObject.id\n );\n const errorOrWarningMessage = this.commitObjectsMessagesMap.get(\n commitObject.id\n );\n const state = this.objectsStatesMap.get(commitObject.id);\n\n let MESSAGE_ICON;\n if (state === \"error\") {\n MESSAGE_ICON = ERROR_ICON;\n } else if (state === \"warning\") {\n MESSAGE_ICON = WARNING_ICON;\n }\n\n return (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n key={commitObject.id}\n rowid={commitObject.id}\n ref={(el: HTMLElement) =>\n marked && el?.setAttribute(\"marked\", \"true\")\n }\n >\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector=\"true\"\n class={{\n \"tabular-grid-cell\": true,\n \"no-checkbox-custom-selector\": alreadyMerged\n }}\n size=\"max-content\"\n >\n {commitObject.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(commitObject.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {commitObject.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderActionCellContent(commitObject.actionTaken)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell--for-pill\">\n {this.#renderObjectStateWithIcon(\n this.objectsStatesMap.get(commitObject.id),\n commitObject.id\n )}\n </ch-tabular-grid-cell>\n {errorOrWarningMessage && (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n class={{ \"tabular-grid-rowset-empty\": true, [state]: true }}\n >\n <p class=\"warning-error-description\">\n <ch-image\n class=\"icon-s warning-error-icon\"\n src={MESSAGE_ICON}\n ></ch-image>\n {errorOrWarningMessage}\n </p>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid-row>\n );\n });\n };\n\n #rowContextMenuHandler = async (\n ev: CustomEvent<TabularGridRowContextMenuEvent>\n ) => {\n ev.preventDefault();\n const selectedRowsIds = await this.tabularGridEl.getSelectedRows();\n\n await this.contextMenuCallback({\n selection: selectedRowsIds,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n };\n\n #rowMarkingChangedHandler = (\n event: CustomEvent<TabularGridMarkingChangedEvent>\n ) => {\n const newobjectsMarkedSet = new Set<string>();\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n const markedRowsIds = event.detail.rowsId;\n const checkedObjectsIgnoringAlreadyMerged = markedRowsIds.filter(\n markedObjectId =>\n !this.alreadyMergedObjectsIdsArray.includes(markedObjectId)\n );\n this.#checkedObjectsIdsArray = [...checkedObjectsIgnoringAlreadyMerged];\n\n // Update markedObjectsSet\n this.#checkedObjectsIdsArray.forEach(checkedObjectId => {\n newobjectsMarkedSet.add(checkedObjectId);\n });\n this.markedObjectsSet = newobjectsMarkedSet;\n\n this.atLeastOneObjectIsChecked = markedRowsIds.length > 0;\n\n newobjectsStatesMap.forEach(objectId => {\n const objectCurrentState = this.objectsStatesMap.get(objectId);\n if (\n objectCurrentState !== \"to-merge\" &&\n objectCurrentState !== \"to-merge-marked\"\n ) {\n return;\n }\n\n const markedRowIndex = markedRowsIds.findIndex(id => id === objectId);\n if (markedRowIndex !== -1) {\n newobjectsStatesMap.set(objectId, \"to-merge-marked\");\n markedRowsIds.splice(markedRowIndex, 1);\n markedRowsIds;\n } else {\n newobjectsStatesMap.set(objectId, \"to-merge\");\n }\n });\n\n this.objectsStatesMap = newobjectsStatesMap;\n };\n\n #searchInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.searchValue = (event.detail as string).toLowerCase();\n this.#updateFilteredObjects();\n };\n\n #stateChangedHandler = (event: CustomEvent<string> | InputEvent) => {\n this.stateFilterValue = event.detail as ObjectStateForFilter;\n this.#updateFilteredObjects();\n };\n\n #updateFilteredObjects = () => {\n let filteredObjects = [...this.commitObjects];\n\n // filter by state (ch-combo-box-render) ...\n if (this.stateFilterValue !== \"all\") {\n filteredObjects = filteredObjects.filter(object => {\n const objectState = this.objectsStatesMap.get(object.id);\n return objectState === this.stateFilterValue;\n });\n }\n\n // and filter by value (ch-edit) as well\n filteredObjects = filteredObjects.filter(object => {\n const includesName = object.name.toLowerCase().includes(this.searchValue);\n\n const includesType = object.type.name\n .toLowerCase()\n .includes(this.searchValue);\n\n const includesDescription = object.description\n .toLowerCase()\n .includes(this.searchValue);\n\n if (includesName || includesType || includesDescription) {\n return true;\n }\n return false;\n });\n\n this.objectsFiltered = filteredObjects;\n };\n\n /**\n * It allows the host updating an object state, by providing the object id.\n * @param objectId The ID of the object to update.\n * @param newState The new state to set on the object.\n * @param message Optional message explaining the change.\n *\n * @example\n * bringChanges.updateObjectState('obj-24', \"merging\", null);\n * bringChanges.updateObjectState('obj-27', \"error\", \"The server did not respond.\");\n */\n @Method()\n async updateObjectState(\n objectId: string,\n newState: ObjectState,\n message: string\n ) {\n // update object state\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n newobjectsStatesMap.set(objectId, newState);\n this.objectsStatesMap = newobjectsStatesMap;\n\n // add message if state is \"warning\" or \"error\"\n if (message?.length > 0) {\n this.commitObjectsMessagesMap.set(objectId, message);\n }\n\n if (newState === \"merged\" || newState === \"reverted\") {\n // remove from checked\n this.#checkedObjectsIdsArray = this.#checkedObjectsIdsArray.filter(\n checkedObject => checkedObject !== objectId\n );\n\n // add to \"already merged\". This will hide the checkbox\n this.alreadyMergedObjectsIdsArray.push(objectId);\n\n // unmark checkbox:\n this.tabularGridEl.markRow(objectId, false);\n\n // remove message if any\n this.commitObjectsMessagesMap.delete(objectId);\n }\n }\n\n #sortTabularGridColumnCallback = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>\n ) => {\n const columnId = e.detail.columnId;\n\n let objectProperty;\n let dateType: SortTabularGridColumnDataType = \"string\";\n if (columnId === COLUMNS_IDS.type) {\n objectProperty = \"name\"; // the type name\n dateType = \"object\";\n }\n\n this.objectsFiltered = [\n ...sortTabularGridColumn(\n e,\n this.objectsFiltered,\n dateType,\n objectProperty\n )\n ];\n };\n\n #viewAllCommentsHandler = async () => {\n await this.viewAllCommentsCallback();\n };\n\n #editRangeHandler = async () => {\n await this.editRangeCallback();\n };\n\n render() {\n const enableRichRowSelector =\n this.alreadyMergedObjectsIdsArray.length !== this.commitObjects.length;\n\n const disableControls = this.merging || this.loading;\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header spacing-body-inline spacing-body-block-start\">\n <div\n // header details\n class=\"header__detail\"\n >\n <p class=\"detail__title subtitle-semi-bold-s\">\n {this.operationType === \"revert\"\n ? this.#componentLocale.commitDetail.revertChangesDetail\n : this.#componentLocale.commitDetail.bringChangesDetail}\n </p>\n {/* <p class=\"detail__commit-name subtitle-semi-bold-xs\">\n {this.#renderCommitsNumbers()}\n </p> */}\n <div\n // genexus server\n class=\"detail__genexus-server field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.genexusServer}\n </span>\n <a\n class=\"detail__link body-regular-s\"\n href={this.commitDetail.genexusServer}\n target=\"_blank\"\n >\n {this.commitDetail.genexusServer}\n </a>\n </div>\n\n <div\n // knowledge base\n class=\"detail__knowledge-base field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.knowledgeBase}\n </span>\n <p class=\"body-regular-s\">{this.commitDetail.knowledgeBase}</p>\n </div>\n\n <div\n // current version\n class=\"detail__current-version field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.currentVersion}\n </span>\n <a class=\"body-regular-s\">{this.commitDetail.currentVersion}</a>\n </div>\n {(this.operationType === \"merge\" ||\n this.operationType === \"merge-all\") && (\n <div\n // merge from version\n class=\"detail__merge-from-version field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.mergeFromVersion}\n </span>\n <p class=\"body-regular-s\">\n {this.commitDetail.mergeFromVersion}\n </p>\n </div>\n )}\n </div>\n <div\n // header information\n class=\"header__information\"\n >\n <p class=\"information__title subtitle-semi-bold-xs\">\n {this.#componentLocale.commitInformation.title}\n </p>\n <div\n // header information (col-1)\n class=\"information__col-1\"\n >\n <div\n // IDs\n class=\"field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.commitInformation.length === 1\n ? this.#componentLocale.commitInformation.id\n : this.#componentLocale.commitInformation.ids}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderCommitsNumbers(true)}\n </p>\n </div>\n {this.commitInformation.length === 1 ? (\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.date}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(this.commitInformation[0].date)}\n </p>\n </div>\n ) : (\n [\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.from}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(\n this.commitInformation[0].date\n )}\n </p>\n </div>,\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.to}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(\n this.commitInformation[\n this.commitInformation.length - 1\n ].date\n )}\n </p>\n </div>,\n this.operationType === \"merge-all\" && (\n <button\n class=\"button-tertiary button-icon-and-text body-semi-bold-s edit-range-button\"\n type=\"button\"\n onClick={this.#editRangeHandler}\n >\n <ch-image\n class=\"icon-m\"\n src={EDITED_ICON}\n type=\"mask\"\n />\n {this.#componentLocale.buttons.editRange}\n </button>\n )\n ]\n )}\n </div>\n </div>\n <div class=\"header__comments\">\n <div class=\"layout layout--cols-2-1\">\n <div class=\"layout__panel\">\n <div class=\"field field-block\">\n <label\n class={DETAIL_LABEL_CLASSES}\n htmlFor=\"commit-comments\"\n >\n {this.commitInformation.length > 1\n ? `${this.#componentLocale.commitInformation.comments} (${this.commitInformation.length})`\n : this.#componentLocale.commitInformation.comment}\n </label>\n <p class=\"body-regular-s comments-container\">\n {this.#formatComments()}\n </p>\n </div>\n <button\n class=\"button-tertiary body-semi-bold-s\"\n type=\"button\"\n onClick={this.#viewAllCommentsHandler}\n >\n {this.commitInformation.length > 1\n ? this.#componentLocale.buttons.viewAllComments.replace(\n \"{{commentsCount}}\",\n this.commitInformation.length.toString()\n )\n : this.#componentLocale.buttons.viewComment}\n </button>\n </div>\n </div>\n </div>\n </header>\n <div\n class={{\n \"field-group\": true,\n \"controls-container\": true,\n \"filter\": !this.hideFilters,\n \"spacing-body-inline\": true\n }}\n >\n {!this.hideFilters && [\n <ch-edit\n class=\"input\"\n disabled={disableControls}\n startImgSrc={SEARCH_ICON}\n placeholder={this.#componentLocale.filter.searchPlaceholder}\n type=\"search\"\n onInput={this.#searchInputHandler}\n ></ch-edit>,\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={disableControls}\n model={this.#comboBoxStatesModel}\n value={this.stateFilterValue}\n onInput={this.#stateChangedHandler}\n placeholder={this.#componentLocale.filter.statePlaceholder}\n ></ch-combo-box-render>\n ]}\n\n <button\n class=\"button-primary button-merge-checked\"\n disabled={!this.atLeastOneObjectIsChecked || disableControls}\n onClick={this.#mergeCheckedClickedHandler}\n >\n {this.operationType === \"revert\"\n ? this.#componentLocale.filter.revertSelected\n : this.#componentLocale.filter.mergeSelected}\n </button>\n </div>\n <div class=\"main spacing-body\">\n {this.commitObjects.length ? (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"objects-tabular-grid\": true,\n \"disabled-custom-selector\": this.merging,\n \"empty-result\": this.objectsFiltered.length === 0\n }}\n keyboardNavigationMode=\"focus\"\n rowSelectionMode=\"multiple\"\n onRowMarkingChanged={this.#rowMarkingChangedHandler}\n onRowContextMenu={this.#rowContextMenuHandler}\n ref={(el: HTMLChTabularGridElement) =>\n (this.tabularGridEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.name}\n columnName={this.#componentLocale.objects.name}\n columnType=\"rich\"\n richRowSelector={enableRichRowSelector}\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.type}\n columnName={this.#componentLocale.objects.type}\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.description}\n columnName={this.#componentLocale.objects.description}\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size={config.tabularGrid.colSize.description}\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.action}\n columnName={this.#componentLocale.objects.action}\n settingable={false}\n sortable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n // size of this column should the enough for the largest pill, and no more.\n // this prevents layout shifts when pills state changes.\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.status}\n columnName={this.#componentLocale.objects.status}\n settingable={false}\n sortable={false}\n size=\"100px\"\n />\n </ch-tabular-grid-columnset>\n {this.#renderObjectsRows()}\n\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objectsFiltered.length === 0 && (\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n class=\"empty-state\"\n isAnimated\n stateIconSrc={FILTER_ICON}\n stateTitle=\"No object matched your filter\"\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n )}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid>\n ) : (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type OperationType = \"merge\" | \"revert\" | \"merge-all\";\n\nexport type CommitDetail = {\n genexusServer: string;\n knowledgeBase: string;\n currentVersion: string;\n mergeFromVersion: string;\n};\n\nexport type CommitInformation = {\n id: string;\n comment: string;\n date: Date;\n};\n\nexport type CommitObject = {\n id: string;\n date: Date;\n name: string;\n type: ObjectType;\n description: string;\n actionTaken: ObjectActionTaken;\n};\n\nexport type ObjectActionTaken =\n | \"Inserted\"\n | \"Deleted\"\n | \"Modified\"\n | \"Unchanged\"\n | \"Unknown\";\n\nexport type ObjectState =\n | \"to-merge\"\n | \"to-merge-marked\"\n | \"to-revert\"\n | \"merging\"\n | \"pending\"\n | \"warning\"\n | \"error\"\n | \"merged\"\n | \"reverted\"\n | \"reverting\";\n\ntype ObjectStateForFilter =\n | Extract<\n ObjectState,\n \"to-merge\" | \"to-revert\" | \"warning\" | \"error\" | \"merged\" | \"reverted\"\n >\n | \"all\";\n\nexport type MergeObjectsCallback = (objectsIds: string[]) => Promise<void>;\n"],"mappings":"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"}
|
|
@@ -12,9 +12,9 @@ import "lit/directives/if-defined.js";
|
|
|
12
12
|
|
|
13
13
|
import { c as r } from "./p-c5196b3b.js";
|
|
14
14
|
|
|
15
|
-
import { v as
|
|
15
|
+
import { v as l } from "./p-b32b6b1f.js";
|
|
16
16
|
|
|
17
|
-
import { L as
|
|
17
|
+
import { L as h } from "./p-311eedf3.js";
|
|
18
18
|
|
|
19
19
|
const mapKbsModelToActionListModel = t => {
|
|
20
20
|
const i = [];
|
|
@@ -28,7 +28,7 @@ const mapKbsModelToActionListModel = t => {
|
|
|
28
28
|
return i;
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
const c = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content;position:relative}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--spacing-gap-m)}";
|
|
31
|
+
const c = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content;position:relative}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--spacing-gap-m)}";
|
|
32
32
|
|
|
33
33
|
var d = undefined && undefined.__classPrivateFieldSet || function(t, i, e, s, a) {
|
|
34
34
|
if (s === "m") throw new TypeError("Private method is not writable");
|
|
@@ -106,7 +106,7 @@ const V = class {
|
|
|
106
106
|
localKBName: this.localKbNameInputValue,
|
|
107
107
|
versionList: f(this, w, "f")
|
|
108
108
|
}).then((t => {
|
|
109
|
-
this.validatableControls =
|
|
109
|
+
this.validatableControls = l(t, this.validatableControls);
|
|
110
110
|
}));
|
|
111
111
|
}));
|
|
112
112
|
// TODO: evaluate if this should be a global helper function.
|
|
@@ -240,7 +240,7 @@ const V = class {
|
|
|
240
240
|
this.loading = false;
|
|
241
241
|
}
|
|
242
242
|
async componentWillLoad() {
|
|
243
|
-
d(this, b, await
|
|
243
|
+
d(this, b, await h.getComponentStrings(this.el), "f");
|
|
244
244
|
}
|
|
245
245
|
/**
|
|
246
246
|
* Suspends or reactivates the shortcuts
|
|
@@ -373,4 +373,4 @@ A = new WeakMap, P = new WeakMap, z = new WeakMap, L = new WeakMap, N = new Weak
|
|
|
373
373
|
V.style = c;
|
|
374
374
|
|
|
375
375
|
export { V as gx_ide_create_kb_from_server };
|
|
376
|
-
//# sourceMappingURL=p-
|
|
376
|
+
//# sourceMappingURL=p-83a7e6fb.entry.js.map
|