@genexus/genexus-ide-ui 1.1.5 → 1.1.7
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/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
- package/dist/cjs/code-render-55d37767.js.map +1 -0
- package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
- package/dist/cjs/form-validation-178cf461.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -3
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
- 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 +11 -9
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +29 -21
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +61 -17
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +29 -16
- 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 +4 -3
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +4 -4
- 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 +270 -0
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
- package/dist/cjs/helpers-30f109a4.js.map +1 -0
- package/dist/cjs/index.cjs.js +7 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
- package/dist/cjs/locale-ff30a5f3.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/common/common.js +7 -4
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/form-validation.js +4 -7
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +10 -9
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/images/ai-avatar.svg +11 -0
- package/dist/collection/common/locale.js +3 -3
- package/dist/collection/common/locale.js.map +1 -1
- package/dist/collection/common/render-suggest.js +1 -1
- package/dist/collection/common/render-suggest.js.map +1 -1
- package/dist/collection/components/_helpers/container/container.js +2 -1
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
- package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
- package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
- package/dist/collection/components/chat/code-render.js +2 -2
- package/dist/collection/components/chat/code-render.js.map +1 -1
- package/dist/collection/components/current-user-info/current-user-info.js +3 -2
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.js +3 -2
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
- package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
- package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
- package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
- package/dist/collection/components/deployment-tool/helpers.js +1 -4
- package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
- package/dist/collection/components/design-import/design-import.js +27 -19
- package/dist/collection/components/design-import/design-import.js.map +1 -1
- package/dist/collection/components/design-import/helpers.js +1 -1
- package/dist/collection/components/design-import/helpers.js.map +1 -1
- package/dist/collection/components/file-uploader/file-uploader.js +44 -59
- package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +4 -13
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/navigation-report/navigation-report.js +6 -3
- package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +15 -10
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +32 -28
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.js +8 -5
- package/dist/collection/components/new-object/new-object.js.map +1 -1
- package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
- package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
- package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
- package/dist/collection/components/new-version/new-version.css +4 -0
- package/dist/collection/components/new-version/new-version.js +126 -20
- package/dist/collection/components/new-version/new-version.js.map +1 -1
- package/dist/collection/components/object-selector/object-selector.js +5 -4
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/open-api-import/open-api-import.js +8 -4
- package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
- package/dist/collection/components/references/helpers.js +13 -9
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.js +11 -9
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
- package/dist/collection/components/select-kb-items/helpers.js +10 -5
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
- package/dist/collection/components/select-kb-items/select-kb-items.js +36 -9
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/select-user-team/helpers.js +1 -1
- package/dist/collection/components/select-user-team/helpers.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.js +2 -1
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/splash/splash.js +3 -2
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +6 -3
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.js +2 -2
- package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
- package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
- package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
- package/dist/collection/components/team-dev/history/helpers.js +22 -0
- package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/history/history.css +124 -0
- package/dist/collection/components/team-dev/history/history.js +448 -0
- package/dist/collection/components/team-dev/history/history.js.map +1 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.js +2 -1
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/welcome-page/welcome-page.js +7 -5
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/collection/components/ww-attributes/helpers.js +2 -1
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
- package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
- package/dist/collection/components/ww-files/helpers.js +2 -1
- package/dist/collection/components/ww-files/helpers.js.map +1 -1
- package/dist/collection/components/ww-files/ww-files.js +18 -16
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/components/ww-images/ww-images.js +5 -16
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/index.js +4 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +4 -3
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/code-render.js +2 -2
- package/dist/components/code-render.js.map +1 -1
- package/dist/components/container.js +2 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +4 -2
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/form-validation.js +2 -6
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +14 -8
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +2 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +10 -8
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +21 -16
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +8 -4
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +3 -2
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +3 -2
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +3 -2
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +4 -3
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +19 -15
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +28 -20
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-directory-selector.js +2 -1
- package/dist/components/gx-ide-directory-selector.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +2 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +44 -59
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +2 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +7 -4
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +2 -2
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +6 -3
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +15 -10
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +32 -28
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +8 -5
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +67 -17
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +5 -4
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +8 -4
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +22 -17
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.js +1 -501
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +3 -2
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +5 -2
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +2 -1
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-splash.js +3 -2
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +6 -3
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +2 -2
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
- package/dist/components/gx-ide-team-dev-history.js +322 -0
- package/dist/components/gx-ide-team-dev-history.js.map +1 -0
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +2 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +7 -5
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +13 -7
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +20 -17
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +5 -16
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +5 -5
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/list-selector-item.js +1 -1
- package/dist/components/list-selector-item.js.map +1 -1
- package/dist/components/locale.js +3 -3
- package/dist/components/locale.js.map +1 -1
- package/dist/components/select-kb-items.js +520 -0
- package/dist/components/select-kb-items.js.map +1 -0
- package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
- package/dist/esm/code-render-53b3b0bd.js.map +1 -0
- package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
- package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +2 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +4 -3
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +29 -21
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
- package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +18 -13
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +35 -31
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +9 -6
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +61 -17
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +7 -6
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +23 -18
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +29 -16
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +7 -4
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +4 -3
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +7 -4
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +4 -4
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +21 -18
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +7 -18
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
- package/dist/esm/helpers-10479d69.js.map +1 -0
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
- package/dist/esm/locale-e5107fad.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
- package/dist/genexus-ide-ui/index.esm.js +7 -1
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
- package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
- package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
- package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
- package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-0acf517c.entry.js} +129 -117
- package/dist/genexus-ide-ui/p-0acf517c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
- package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
- package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
- package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
- package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
- package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
- package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
- package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
- package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
- package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
- package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-34fd4875.entry.js} +5 -20
- package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
- package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
- package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
- package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
- package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
- package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
- package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
- package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
- package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
- package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
- package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
- package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
- package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
- package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
- package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
- package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
- package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
- package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
- package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
- package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-a8d0b62e.entry.js} +192 -172
- package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
- package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
- package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
- package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
- package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
- package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
- package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
- package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
- package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
- package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
- package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
- package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
- package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
- package/dist/types/components/new-version/new-version.d.ts +27 -1
- package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
- package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
- package/dist/types/components/team-dev/history/history.d.ts +109 -0
- package/dist/types/components.d.ts +141 -18
- package/dist/types/index.d.ts +4 -0
- package/package.json +3 -3
- package/dist/cjs/code-render-0e9837c4.js.map +0 -1
- package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
- package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
- package/dist/cjs/locale-36b93b1b.js.map +0 -1
- package/dist/esm/code-render-f3afd300.js.map +0 -1
- package/dist/esm/form-validation-71dca8c6.js.map +0 -1
- package/dist/esm/helpers-5f1c9a32.js.map +0 -1
- package/dist/esm/locale-643afe17.js.map +0 -1
- package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-51601b85.js +0 -145
- package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
- package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
- package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-970d16ca.entry.js +0 -149
- package/dist/genexus-ide-ui/p-970d16ca.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e37e95e7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-ww-images.js","mappings":";;;;;;;;;;AAAA,MAAM,WAAW,GAAG,0/eAA0/e;;AC+B9gf,MAAM,WAAW,GAAmB;IAClC,mBAAmB;;;;;;;IAOnB,yBAAyB;CAC1B,CAAC;MAQW,aAAa;;;;;;;QAOhB,sBAAiB,GAAG,KAAK,CAAC;;QA0P1B,mCAA8B,GAAG;YACvC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACnE,CAAC;QACM,mCAA8B,GAAG;YACvC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACtE,CAAC;QACM,6BAAwB,GAAG,CAAC,CAAe;YACjD,MAAM,cAAc,GAAG,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;SACF,CAAC;;;;QAKM,0BAAqB,GAAG;YAC9B,IAAI,CAAC,iBAAiB,GAAG;gBACvB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;gBAC7B,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;gBACjC,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK;gBACjD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;gBACrC,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO;gBACnD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;gBACvC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK;gBACzC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK;gBACnC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;gBAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC/B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;gBACrC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;gBACnC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;aAChC,CAAC;SACH,CAAC;;QAIM,iBAAY,GAAG;YACrB,QACE,WACE,KAAK,EAAC,wBAAwB,EAC9B,GAAG,EAAE,CAAC,EAAkB,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAoB,CAAC,IAEnE,WAAK,KAAK,EAAC,mBAAmB,IAE5B,uCACiB,OAAO,EACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EACxC,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,YAAY,GAAG,EAA4B,CAAC,EAEpD,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,MAAM,GACG,EAEjB,WAAK,KAAK,EAAC,eAAe,IAExB,gDACiB,OAAO,EACtB,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,GAAG,EAAE,CAAC,EAAkC,MACrC,IAAI,CAAC,cAAc,GAAG,EAAoC,CAAC,EAE9D,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,sBAAsB,GACH,EAG1B,kBACE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,IAAI,EAAC,yBAAyB,EAC9B,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,kBAAkB,GACZ,EAGd,kBACE,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,IAAI,EAAC,kCAAkC,EACvC,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EACK,gCAAgC,CAAwB,EAEjE,KAAK,EAAC,YAAY,GACN,CACV,CACF,EAEN,WACE,KAAK,EAAE;oBACL,uBAAuB,EAAE,IAAI;oBAC7B,+BAA+B,EAAE,IAAI,CAAC,aAAa;iBACpD,IAED,WACE,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,IAAI;oBACnB,uBAAuB,EAAE,IAAI;iBAC9B,IAGD,uCACiB,OAAO,EACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAC1C,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,sBAAsB,GAAG,EAA4B,CAAC,EAE9D,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAClC,IAAI,EAAC,eAAe,GACL,EAGjB,6CAEE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAC5C,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,EAC1B,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,gBAAgB,GAAG,EAA4B,CAAC,EAExD,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,iBAAiB,IAErB,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAC/C,EAEhB,WAAK,KAAK,EAAC,SAAS,IAClB,iBAAW,aAAa,EAAC,OAAO,EAAC,MAAM,EAAE,KAAK,eAElC,EAEZ,WAAK,KAAK,EAAC,oBAAoB,IAC7B,yBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAClD,GAAG,EAAE,CAAC,EAA8B,MACjC,IAAI,CAAC,sBAAsB;oBAC1B,EAAgC,CAAC,EAErC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,wBAAwB,GACV,EAGrB,yBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAC5C,GAAG,EAAE,CAAC,EAA8B,MACjC,IAAI,CAAC,gBAAgB,GAAG,EAAgC,CAAC,EAE5D,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,iBAAiB,GACH,CACjB,CACF,EAGN,WACE,KAAK,EAAE;oBACL,MAAM,EACJ,CAAC,IAAI,CAAC,cAAc;wBACpB,IAAI,CAAC,eAAe,KAAK,YAAY,CAAC,SAAS;oBACjD,WAAW,EAAE,IAAI;iBAClB,EACD,IAAI,EAAC,iBAAiB,IAEtB,WAAK,KAAK,EAAC,mBAAmB,IAC5B,mCAA0B,OAAO,IAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAC5B,EACZ,uBACE,KAAK,EAAC,aAAa,EACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,EAC9B,GAAG,EAAE,CAAC,EAA4B,MAC/B,IAAI,CAAC,oBAAoB,GAAG,EAA8B,CAAC,GAE7C,CACf,CACF,EAGN,qBACE,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,EAC9B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,0BAE9C,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,iBAAiB,GAAG,EAA4B,CAAC,EAEzD,IAAI,EAAC,mBAAmB,IAEvB,eAAe,CAAC,oBAAoB,EAAE;gBACrC;oBACE,EAAE,EAAE,YAAY,CAAC,IAAI;oBACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS;oBAC7C,KAAK,EAAE,YAAY,CAAC,IAAI;iBACzB;gBACD;oBACE,EAAE,EAAE,YAAY,CAAC,SAAS;oBAC1B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;oBAC3D,KAAK,EAAE,YAAY,CAAC,SAAS;iBAC9B;gBACD;oBACE,EAAE,EAAE,YAAY,CAAC,MAAM;oBACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;oBACxD,KAAK,EAAE,YAAY,CAAC,MAAM;iBAC3B;gBACD;oBACE,EAAE,EAAE,YAAY,CAAC,UAAU;oBAC3B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;oBAC5D,KAAK,EAAE,YAAY,CAAC,UAAU;iBAC/B;aACF,CAAC,CACY,EAGhB,qBACE,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,EAC9B,aAAa,EAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EACxC,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,YAAY,GAAG,EAA4B,CAAC,EAEpD,KAAK,EAAC,KAAK,EACX,WAAW,EAAE,KAAK,EAClB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,aAAa,GACH,EAGjB,6CAEE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EACzC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EACtB,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,aAAa,GAAG,EAA4B,CAAC,EAErD,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,cAAc,IAElB,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAC3C,EAGhB,6CAEE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAC5C,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,gBAAgB,GAAG,EAA4B,CAAC,EAExD,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,iBAAiB,IAErB,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAC9C,EAGhB,6CAEE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAC3C,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,eAAe,GAAG,EAA4B,CAAC,EAEvD,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,gBAAgB,IAEpB,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAC9C,EAGhB,6CAEE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EACzC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EACtB,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,aAAa,GAAG,EAA4B,CAAC,EAErD,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,cAAc,IAElB,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAC3C,CACZ,CACF,CACF,EACN;SACH,CAAC;QAEM,qBAAgB,GAAG;YACzB;;YAEE,wBACE,gBAAgB,QAChB,gBAAgB,QAChB,SAAS,EAAC,WAAW,EACrB,cAAc,EACZ,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,EAEtE,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAC5D,IAAI,EAAC,gBAAgB,IAEpB,IAAI,CAAC,eAAe,IACnB,cAAQ,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,QAAQ,IACtD,oBACE,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,kCAAkC,IAEvC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACzB,EACf,qBACE,IAAI,EAAC,qBAAqB,mBACZ,OAAO,EACrB,WAAW,EAAC,qBAAqB,EACjC,OAAO,EAAE,IAAI,CAAC,kBAAyB,GACxB,CACV,IACP,IAAI,EAER,uBACE,GAAG,EAAE,CAAC,EAA4B,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC3D,IAAI,EAAC,gBAAgB,EACrB,gBAAgB,EAAC,QAAQ,EACzB,KAAK,EAAC,qCAAqC,IAE3C,iCAA2B,KAAK,EAAC,yBAAyB,IACxD,8BACE,UAAU,EAAC,EAAE,EACb,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAChD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GACf,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAClD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EACvC,KAAK,EAAC,qBAAqB,GACH,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,EACvD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAC7C,KAAK,EAAC,qBAAqB,GACH,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,EACxD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EACpD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,EACtD,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,CACA,EAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAc,MACtC,2BAAqB,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAC,kBAAkB,IAC1D,4BAAsB,KAAK,EAAC,mBAAmB,IAC7C,gBAAU,GAAG,EAAE,GAAG,CAAC,IAAI,GAAa,CACf,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,CACzB,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAC3B,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAChC,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CACL,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EACjC,IAAI,CAAC,sBAAsB,CAC5B,CACoB,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAC7B,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,MAAM,CACL,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAC/B,IAAI,CAAC,sBAAsB,CAC5B,CACoB,CACH,CACvB,CAAC,CACc,CACD,EACnB;SACH,CAAC;QAEM,iBAAY,GAAG;YACrB;;YAEE,wBACE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjD,gBAAgB,QAChB,SAAS,EAAC,WAAW,EACrB,KAAK,EAAC,eAAe,EACrB,kBAAkB,EAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,EAErE,IAAI,EAAC,sBAAsB,IAE3B,WAAK,KAAK,EAAC,kBAAkB,IAC1B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,KAChC,WAAK,KAAK,EAAC,YAAY,IACrB,WAAK,KAAK,EAAC,uBAAuB,IAChC,WAAK,KAAK,EAAC,KAAK,IACd,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAI,CAChC,CACF,EACN,YAAM,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,IAAI,CAAQ,CAC7C,CACP,CAAC,CACE,CACW,EACnB;SACH,CAAC;;QAIM,cAAS,GAAG;YAClB,IAAI,OAAO,GAAqB;gBAC9B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;gBAC7B,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI;aACxE,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YACnD,OAAO,GAAG;gBACR,GAAG,OAAO;gBACV,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK;gBACjD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;gBACrC,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO;gBACnD,aAAa,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;gBAC9C,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI;gBACrD,YAAY,EACV,QAAQ,IAAI,aAAa,KAAK,YAAY,CAAC,SAAS;sBAC/C,IAAI,CAAC,oBAAoB,CAAC,KAAc;sBACzC,IAAI;gBACV,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC/B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;gBACrC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;gBACnC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;aAChC,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAkB;gBACjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,8BAA8B,EAAE,CAAC;aACvC,CAAC,CAAC;SACJ,CAAC;QAEM,6BAAwB,GAAG;YACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B,CAAC;QAEM,iCAA4B,GAAG;YACrC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACrD,CAAC;QAEM,mCAA8B,GAAG;YACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACvD,CAAC;QAEM,uBAAkB,GAAG;YAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACtD,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;gBAC1E,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAC9D,IAAI,CAAC,sBAAsB,CAAC,OAAO;oBACjC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;gBACxC,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAChE,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAClE,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAC9D,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;aACzD;SACF,CAAC;QAEM,yBAAoB,GAAG;YAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;SAC1C,CAAC;QAEM,cAAS,GAAG;YACjB,IAAI,CAAC,QAAgB,CAAC,aAAa,EAAE,CAAC;SACxC,CAAC;QAEM,gBAAW,GAAG;YACnB,IAAI,CAAC,QAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7C,CAAC;QAEM,kBAAa,GAAG;;YAEtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAM;gBACtD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACzD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBAClD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAEH,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBAClD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC,CAAC;;YAGH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAO;gBACzD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnD,CAAC,KAAsB;oBACrB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;iBAClC,CACF,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;gBACjD,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAO;gBACzD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3C,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAC9D,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC5B,gBAAgB,EAChB,CAAC,EAA0C;gBACzC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,mBAAmB,CAAC;oBACvB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc;oBACnC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;oBAC1B,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;iBAC3B,CAAC,CAAC;aACJ,CACF,CAAC;SACH,CAAC;QAEM,uBAAkB,GAAG,CAAC,CAA4B;YACxD,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,MAA2B,CAAC;YAC5D,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACvC,CAAC;QAEM,mCAA8B,GAAG;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACvE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM;qBAC7B,iBAAiB,EAAE;qBACnB,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;qBACvC,iBAAiB,EAAE;qBACnB,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY;qBACzC,QAAQ,EAAE;qBACV,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1E,MAAM,eAAe,GACnB,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAExE,QACE,SAAS;oBACT,WAAW;oBACX,gBAAgB;oBAChB,iBAAiB;oBACjB,QAAQ;oBACR,eAAe,EACf;aACH,CAAC,CAAC;SACJ,CAAC;6BAh2BuB,IAAI;+BAaF,EAAE;8BAKH,KAAK;sBAKA,EAAE;8BAKM,EAAE;mCAKO,EAAE;kCAKV,EAAE;sCAKR,EAAE;4BAOJ,KAAK;+BAKF,KAAK;;;;;;;;;;;;;;;;;sBAqFd,KAAK;;;;IA1I/B,oBAAoB,CAAC,MAAe;QAClC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACvC;KACF;;IA8JD,MAAM,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3B;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;KACF;;IAKD,cAAc,CAAC,SAAwB;QACrC,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE,EAAE;YACtC,QAAQ,SAAS,CAAC,GAAG;gBACnB,KAAK,OAAO;oBACV,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,8BAA8B,EAAE,CAAC;oBACtC,MAAM;aACT;SACF;KACF;;;;;IAQD,MAAM,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,OAAO,CAAC;KAChB;;;;IAMD,MAAM,MAAM;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;IAwoBD,MAAM;QACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,IAC5B,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,WAAK,KAAK,EAAC,qBAAqB,IAC9B,wBACE,gBAAgB,QAChB,YAAY,QACZ,cAAc,EACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,EAEhE,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa,IAElD,WAAK,KAAK,EAAC,gBAAgB,IACxB,IAAI,CAAC,YAAY,EAAE,EACpB,WAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,YAAY,EAAE,CAChB,CACF,EAGN,kBACE,EAAE,EAAC,mBAAmB,EACtB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,IAAI,EAAC,mCAAmC,EACxC,IAAI,EAAC,YAAY,IAEhB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAC/B,EAGb,kBACE,EAAE,EAAC,iBAAiB,EACpB,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,IAAI,EAAC,iCAAiC,EACtC,IAAI,EAAC,YAAY,IAEhB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CACzB,EAGb,gBACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,kBAAkB,EACvB,IAAI,EAAC,cAAc,IAElB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAClE,CACM,CACf,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ww-images/ww-images.scss?tag=gx-ide-ww-images&encapsulation=shadow","src/components/ww-images/ww-images.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: block;\n}\n\n/*--- Filter ---*/\n.module-folder::part(wrapper) {\n padding-block: 1.5px;\n margin-block-start: var(--gxg-label-separation-vertical);\n}\n.filter--padding {\n padding: var(--gx-ide-container__padding);\n}\n.filter--gap {\n gap: var(--gx-ide-grid-row-gap);\n}\n.filter {\n display: flex;\n flex-direction: column;\n &__first-row {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n .name,\n .module-folder {\n flex: 1;\n }\n .filter-btn {\n flex: none;\n }\n .second-column {\n display: flex;\n flex-direction: row;\n align-items: end;\n gap: var(--gx-ide-grid-column-gap);\n }\n > * {\n flex: 1;\n }\n }\n .checkboxes-label-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n .checkboxes-wrapper {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n border-radius: var(--border-radius-sm);\n height: var(--gxg-form-text-height);\n box-sizing: border-box;\n align-items: center;\n padding-inline-start: var(--mer-spacing--2xs);\n }\n .user {\n max-width: 100% !important;\n }\n}\n\n/*Filter*/\n.filters-outer-wrapper {\n display: grid;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n &--hidden {\n grid-template-rows: 0fr;\n }\n}\n.filters-inner-wrapper {\n padding-top: var(--gx-ide-container__padding);\n display: grid;\n overflow: hidden;\n grid-template-columns: repeat(12, 1fr);\n grid-template-rows: repeat(3, 1fr);\n\n .search-contents {\n grid-area: 1 / 1 / 2 / 5;\n }\n .category {\n grid-area: 1 / 5 / 2 / 9;\n }\n .options {\n grid-area: 1 / 9 / 2 / 13;\n }\n .date-time {\n grid-area: 2 / 1 / 3 / 5;\n }\n .after-date-time {\n grid-area: 2 / 5 / 3 / 9;\n }\n .user {\n grid-area: 2 / 9 / 3 / 13;\n }\n .style {\n grid-area: 3 / 1 / 4 / 4;\n }\n .language {\n grid-area: 3 / 4 / 4 / 7;\n }\n .density {\n grid-area: 3 / 7 / 4 / 10;\n }\n .layer {\n grid-area: 3 / 10 / 4 / 13;\n }\n}\n\ngxg-date-picker {\n position: absolute;\n inline-size: calc(33% - 16px);\n}\ngxg-date-picker::part(input) {\n block-size: 26px;\n}\n\n.master-wrapper {\n height: 100%;\n position: relative;\n display: grid;\n grid-template-rows: auto 1fr;\n}\n\n/*--- Grid/Images Container ---*/\n.grid-images-container {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: grid;\n grid-template-columns: 1fr 220px;\n grid-column-gap: 0;\n grid-row-gap: 0;\n overflow: auto;\n}\n.images-information {\n &__header {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n &-title {\n flex: none;\n }\n }\n}\n\n/* Objects Table */\n.images-grid {\n grid-template-columns: repeat(2, 1fr);\n grid-column-gap: 0;\n > :nth-child(1) {\n grid-area: 1 / 1 / 1 / 3;\n }\n}\n.images-container {\n .image-item {\n display: inline-block;\n width: 50%;\n height: 110px; /*should be half the images container width (actually is 220px)*/\n &__container {\n padding: var(--gx-ide-container__padding);\n img {\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n }\n }\n &__name {\n @include ellipsis;\n text-align: center;\n width: 100%;\n display: block;\n font-size: 10px;\n padding: 4px 8px;\n box-sizing: border-box;\n background-color: var(--gray-00);\n }\n &:nth-child(odd) {\n .image-item__name {\n border-inline-end: 1px solid var(--gray-02);\n }\n }\n }\n}\n.objects-count {\n grid-template-columns: repeat(2, 1fr);\n *:nth-child(2) {\n justify-content: flex-end;\n align-items: flex-start;\n }\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-images\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { ChGridRowContextMenuEvent } from \"@genexus/chameleon-controls-library\";\nimport { DatePickerDate } from \"@genexus/gemini/dist/types/components/date-picker/date-picker\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport {\n formatDate,\n hiChar,\n closeOnOutsideClickHandler\n} from \"../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private filterInitialData: FilerInitialData;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n private filterEl: HTMLDivElement;\n /* References needed to collect data */\n private filterNameEl!: HTMLGxgFormTextElement;\n private filterSearchContentsEl!: HTMLGxgFormTextElement;\n private filterCategoryEl!: HTMLGxgComboBoxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private filterModifiedEl!: HTMLGxgFormCheckboxElement;\n private filterAllDescendantsEl!: HTMLGxgFormCheckboxElement;\n private filterAfterTypeEl!: HTMLGxgComboBoxElement;\n private filterUserEl!: HTMLGxgFormTextElement;\n private filterModifiedDateEl!: HTMLGxgDatePickerElement;\n private filterStyleEl!: HTMLGxgComboBoxElement;\n private filterLanguageEl!: HTMLGxgComboBoxElement;\n private filterDensityEl!: HTMLGxgComboBoxElement;\n private filterLayerEl!: HTMLGxgComboBoxElement;\n private chGridEl!: HTMLChGridElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @Watch(\"filtersHidden\")\n filtersHiddenHandler(hidden: boolean): void {\n if (hidden) {\n this.removeDetectClickOutsideFilter();\n } else {\n this.attachDetectClickOutsideFilter();\n }\n }\n\n /**\n * The after types render in the after selector\n */\n @State() filterAfterType = \"\";\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * The images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * The images rendered in the table, after the filter\n */\n @State() filteredImages: ImageData[] = [];\n\n /**\n * The items of the image that is selected\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * The selected images in the table of images\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * The images filter input text value\n */\n @State() filterImagesInputValue = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Displays a secondary filter, used to filter over the filtered images\n */\n @Prop() readonly secondaryFilter = false;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The densities render in the filter density selector\n */\n @Prop() readonly densities!: GxOption[];\n\n /**\n * The default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * The modules/folders render in the module/folder selector\n */\n @Prop() readonly filterModules!: GxOption[];\n\n /**\n * The languages render in the filter language selector\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * The layers render in the filter layer selector\n */\n @Prop() readonly layers!: GxOption[];\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * This is a function provided by the developer that return a list of images to populate the table of images.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return a list of items of the image selected.\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.getImages();\n this.saveInitialFilterData();\n this.filterNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * This method reload the view, refreshing the filters and the table of images.\n */\n @Method()\n async reload(): Promise<void> {\n this.getImages();\n }\n\n // 9.LOCAL METHODS //\n\n private attachDetectClickOutsideFilter = () => {\n document.addEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private removeDetectClickOutsideFilter = () => {\n document.removeEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private detectClickOutsideFilter = (e: PointerEvent): void => {\n const clickedOutside = closeOnOutsideClickHandler(e, this.filterEl);\n if (clickedOutside) {\n this.filtersHidden = true;\n } else {\n this.filtersHidden = false;\n }\n };\n\n /**\n * @description This is needed for resetting the filter. When the user resets the filter, all the filter controls values have to be restored to the value they had on componentDidLoad.\n */\n private saveInitialFilterData = () => {\n this.filterInitialData = {\n name: this.filterNameEl.value,\n module: this.filterModuleEl.value,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modified: this.filterModifiedEl.checked,\n dateTime: this.filterModifiedDateEl.value,\n after: this.filterAfterTypeEl.value,\n user: this.filterUserEl.value,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderFilter = (): Element => {\n return (\n <div\n class=\"filter filter--padding\"\n ref={(el: HTMLDivElement) => (this.filterEl = el as HTMLDivElement)}\n >\n <div class=\"filter__first-row\">\n {/* name */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-name\"\n class=\"name\"\n ></gxg-form-text>\n\n <div class=\"second-column\">\n {/* module/folder */}\n <gx-ide-entity-selector\n label-position=\"above\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n part=\"filter-module-folder\"\n ></gx-ide-entity-selector>\n\n {/* reset filter button */}\n <gxg-button\n onClick={this.resetFilterHandler}\n part=\"gxg-button-reset-filter\"\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n class=\"reset-filter-btn\"\n ></gxg-button>\n\n {/* filter button */}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n part=\"gxg-button gxg-button--more-less\"\n type=\"secondary-icon-only\"\n icon={\n true ? \"window-tools/filter-conditions\" : \"window-tools/filter\"\n }\n class=\"filter-btn\"\n ></gxg-button>\n </div>\n </div>\n\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filter\": true,\n \"filter--gap\": true,\n \"filters-inner-wrapper\": true\n }}\n >\n {/* search contents */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.search}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterSearchContentsEl = el as HTMLGxgFormTextElement)\n }\n class={{ \"search-contents\": true }}\n part=\"filter-search\"\n ></gxg-form-text>\n\n {/* category */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.category}\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterCategoryEl = el as HTMLGxgComboBoxElement)\n }\n class=\"category\"\n part=\"filter-category\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.categories ?? [])}\n </gxg-combo-box>\n\n <div class=\"options\">\n <gxg-label labelPosition=\"above\" center={false}>\n Options:\n </gxg-label>\n {/* all descendants*/}\n <div class=\"checkboxes-wrapper\">\n <gxg-form-checkbox\n label={this._componentLocale.filter.allDescendants}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterAllDescendantsEl =\n el as HTMLGxgFormCheckboxElement)\n }\n class=\"all-descendants\"\n part=\"filter-all-descendants\"\n ></gxg-form-checkbox>\n\n {/* modified */}\n <gxg-form-checkbox\n label={this._componentLocale.filter.modified}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterModifiedEl = el as HTMLGxgFormCheckboxElement)\n }\n class=\"modified\"\n part=\"filter-modified\"\n ></gxg-form-checkbox>\n </div>\n </div>\n\n {/* date/time*/}\n <div\n class={{\n \"hide\":\n !this.filterModified ||\n this.filterAfterType !== FILTER_AFTER.DATE_TIME,\n \"date-time\": true\n }}\n part=\"filter-datetime\"\n >\n <div class=\"date-time-wrapper\">\n <gxg-label label-position=\"above\">\n {this._componentLocale.filter.dateTime}\n </gxg-label>\n <gxg-date-picker\n class=\"date-picker\"\n disabled={!this.filterModified}\n ref={(el: HTMLGxgDatePickerElement) =>\n (this.filterModifiedDateEl = el as HTMLGxgDatePickerElement)\n }\n ></gxg-date-picker>\n </div>\n </div>\n\n {/* after date/time */}\n <gxg-combo-box\n class=\"after-date-time\"\n disabled={!this.filterModified}\n label={this._componentLocale.filter.afterLabel}\n disable-filter\n value={this.filterAfterType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterAfterTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"filter-after-type\"\n >\n {renderFormItems(\"gxg-combo-box-item\", [\n {\n id: FILTER_AFTER.NONE,\n label: this._componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n id: FILTER_AFTER.DATE_TIME,\n label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n id: FILTER_AFTER.IMPORT,\n label: this._componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n id: FILTER_AFTER.LAST_BUILD,\n label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ])}\n </gxg-combo-box>\n\n {/* user */}\n <gxg-form-text\n disabled={!this.filterModified}\n labelPosition=\"above\"\n label={this._componentLocale.filter.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterUserEl = el as HTMLGxgFormTextElement)\n }\n value=\"hey\"\n centerLabel={false}\n class=\"user\"\n part=\"filter-user\"\n ></gxg-form-text>\n\n {/* style*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.style}\n disabled={!this.styles}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterStyleEl = el as HTMLGxgComboBoxElement)\n }\n class=\"style\"\n part=\"filter-style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* language*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.language}\n disabled={!this.languages}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLanguageEl = el as HTMLGxgComboBoxElement)\n }\n class=\"language\"\n part=\"filter-language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages ?? [])}\n </gxg-combo-box>\n\n {/* density*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.density}\n disabled={!this.densities}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterDensityEl = el as HTMLGxgComboBoxElement)\n }\n class=\"density\"\n part=\"filter-density\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.densities ?? [])}\n </gxg-combo-box>\n\n {/* layer*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.layer}\n disabled={!this.layers}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLayerEl = el as HTMLGxgComboBoxElement)\n }\n class=\"layer\"\n part=\"filter-layer\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.layers ?? [])}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n );\n };\n\n private renderImagesData = (): Element => {\n return (\n /* images information*/\n <gx-ide-container\n contentBorderEnd\n noContentPadding\n titleType=\"secondary\"\n containerTitle={\n !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n class={{ \"images-information\": true, \"overflow-auto\": true }}\n part=\"grid-container\"\n >\n {this.secondaryFilter ? (\n <header class=\"images-information__header\" slot=\"header\">\n <gx-ide-title\n type=\"secondary\"\n class=\"images-information__header-title\"\n >\n {this._componentLocale.imagesDataTitle}\n </gx-ide-title>\n <gxg-form-text\n icon=\"gemini-tools/search\"\n icon-position=\"start\"\n placeholder=\"Search by any field\"\n onInput={this.filterInputHandler as any}\n ></gxg-form-text>\n </header>\n ) : null}\n\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n part=\"ch-grid-images\"\n rowSelectionMode=\"single\"\n class=\"tabular-grid tabular-grid-ww-images\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n class=\"tabular-grid-column\"\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.filteredImages.map((obj: ImageData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.name, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.module, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.description, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.modifiedDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.lastUser, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.importDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n </gx-ide-container>\n );\n };\n\n private renderImages = (): Element => {\n return (\n /* tiles */\n <gx-ide-container\n containerTitle={this._componentLocale.imagesTitle}\n noContentPadding\n titleType=\"secondary\"\n class=\"overflow-auto\"\n titleHeightAsInput={\n this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n part=\"image-data-container\"\n >\n <div class=\"images-container\">\n {this.imagesSelectedItems.map(item => (\n <div class=\"image-item\">\n <div class=\"image-item__container\">\n <div class=\"img\">\n <img src={item.url} alt={item.id} />\n </div>\n </div>\n <span class=\"image-item__name\">{item.name}</span>\n </div>\n ))}\n </div>\n </gx-ide-container>\n );\n };\n\n // 9.LOCAL METHODS -> Other //\n\n private getImages = (): void => {\n let filters: ImageFiltersData = {\n name: this.filterNameEl.value,\n parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null\n };\n\n const modified = this.filterModifiedEl.checked;\n const modifiedAfter = this.filterAfterTypeEl.value;\n filters = {\n ...filters,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modifiedAfter: modified ? modifiedAfter : null,\n modifiedBy: modified ? this.filterUserEl.value : null,\n modifiedDate:\n modified && modifiedAfter === FILTER_AFTER.DATE_TIME\n ? (this.filterModifiedDateEl.value as Date)\n : null,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.deselectAll();\n this.filterImagesInformationHandler();\n });\n };\n\n private newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n private openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n private deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n private resetFilterHandler = () => {\n if (this.filterInitialData) {\n this.filterNameEl.value = this.filterInitialData.name;\n this.filterModuleEl.value = this.filterInitialData.module;\n this.filterSearchContentsEl.value = this.filterInitialData.searchContents;\n this.filterCategoryEl.value = this.filterInitialData.category;\n this.filterAllDescendantsEl.checked =\n this.filterInitialData.allDescendants;\n this.filterModifiedEl.checked = this.filterInitialData.modified;\n this.filterModifiedDateEl.value = this.filterInitialData.dateTime;\n this.filterAfterTypeEl.value = this.filterInitialData.after;\n this.filterUserEl.value = this.filterInitialData.user;\n this.filterStyleEl.value = this.filterInitialData.style;\n this.filterLanguageEl.value = this.filterInitialData.language;\n this.filterDensityEl.value = this.filterInitialData.density;\n this.filterLayerEl.value = this.filterInitialData.layer;\n }\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private selectAll = (): void => {\n (this.chGridEl as any).selectAllRows();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private listenChanges = (): void => {\n /* name */\n this.filterNameEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* module/folder */\n this.filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* search contents*/\n this.filterSearchContentsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* category */\n this.filterCategoryEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* (options) -> all descendants */\n this.filterAllDescendantsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* (options) -> modified */\n this.filterModifiedEl.addEventListener(\"change\", (e: any) => {\n this.filterModified = e.detail.value;\n this.getImages();\n });\n /* date/time */\n this.filterModifiedDateEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* after */\n this.filterAfterTypeEl.addEventListener(\"valueChanged\", () => {\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getImages();\n });\n /* user */\n this.filterUserEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* style */\n this.filterStyleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* language */\n this.filterLanguageEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* density */\n this.filterDensityEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* layer */\n this.filterLayerEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.loadImageItemsCallback(ev.detail.rowsId[0]).then(\n (items: ImageItemData[]) => {\n this.imagesSelectedItems = items;\n }\n );\n });\n this.chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.openSelectionCallBackHandler();\n });\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n });\n this.chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n private filterInputHandler = (e: CustomEvent<EventEmitter>) => {\n this.filterImagesInputValue = e.detail as unknown as string;\n this.filterImagesInformationHandler();\n };\n\n private filterImagesInformationHandler = () => {\n const filterValue = this.filterImagesInputValue.toLocaleLowerCase();\n this.filteredImages = this.images.filter(image => {\n const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);\n const moduleMatch = image.module\n .toLocaleLowerCase()\n .includes(filterValue);\n const descriptionMatch = image.description\n .toLocaleLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = image.modifiedDate\n .toString()\n .includes(filterValue);\n const lastUser = image.lastUser.toLocaleLowerCase().includes(filterValue);\n const importDateMatch =\n image.importDate && image.importDate.toString().includes(filterValue);\n\n return (\n nameMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUser ||\n importDateMatch\n );\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"master-wrapper\">\n {this.renderFilter()}\n <div class=\"grid-images-container\">\n {this.renderImagesData()}\n {this.renderImages()}\n </div>\n </div>\n\n {/* select all button */}\n <gxg-button\n id=\"button-select-all\"\n type=\"outlined\"\n onClick={this.selectAll}\n part=\"gxg-button gxg-button--select-all\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnSelectAll}\n </gxg-button>\n\n {/* new file button*/}\n <gxg-button\n id=\"button-new-file\"\n type=\"primary-text-icon\"\n icon=\"objects/image\"\n onClick={this.newObjectCallbackHandler}\n part=\"gxg-button gxg-button--new-file\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n\n {/* matching objects */}\n <gxg-text\n class=\"align-end\"\n part=\"objects-matching\"\n slot=\"footer-start\"\n >\n {`${this.filteredImages.length} ${this._componentLocale.objCount.matching}`}\n </gxg-text>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewObjectCallback = () => Promise<void>;\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\ntype FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: boolean;\n modified: boolean;\n dateTime: DatePickerDate;\n after: string;\n user: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-ww-images.js","mappings":"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","names":[],"sources":["src/components/ww-images/ww-images.scss?tag=gx-ide-ww-images&encapsulation=shadow","src/components/ww-images/ww-images.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: block;\n}\n\n/*--- Filter ---*/\n.module-folder::part(wrapper) {\n padding-block: 1.5px;\n margin-block-start: var(--gxg-label-separation-vertical);\n}\n.filter--padding {\n padding: var(--gx-ide-container__padding);\n}\n.filter--gap {\n gap: var(--gx-ide-grid-row-gap);\n}\n.filter {\n display: flex;\n flex-direction: column;\n &__first-row {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n .name,\n .module-folder {\n flex: 1;\n }\n .filter-btn {\n flex: none;\n }\n .second-column {\n display: flex;\n flex-direction: row;\n align-items: end;\n gap: var(--gx-ide-grid-column-gap);\n }\n > * {\n flex: 1;\n }\n }\n .checkboxes-label-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n .checkboxes-wrapper {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n border-radius: var(--border-radius-sm);\n height: var(--gxg-form-text-height);\n box-sizing: border-box;\n align-items: center;\n padding-inline-start: var(--mer-spacing--2xs);\n }\n .user {\n max-width: 100% !important;\n }\n}\n\n/*Filter*/\n.filters-outer-wrapper {\n display: grid;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n &--hidden {\n grid-template-rows: 0fr;\n }\n}\n.filters-inner-wrapper {\n padding-top: var(--gx-ide-container__padding);\n display: grid;\n overflow: hidden;\n grid-template-columns: repeat(12, 1fr);\n grid-template-rows: repeat(3, 1fr);\n\n .search-contents {\n grid-area: 1 / 1 / 2 / 5;\n }\n .category {\n grid-area: 1 / 5 / 2 / 9;\n }\n .options {\n grid-area: 1 / 9 / 2 / 13;\n }\n .date-time {\n grid-area: 2 / 1 / 3 / 5;\n }\n .after-date-time {\n grid-area: 2 / 5 / 3 / 9;\n }\n .user {\n grid-area: 2 / 9 / 3 / 13;\n }\n .style {\n grid-area: 3 / 1 / 4 / 4;\n }\n .language {\n grid-area: 3 / 4 / 4 / 7;\n }\n .density {\n grid-area: 3 / 7 / 4 / 10;\n }\n .layer {\n grid-area: 3 / 10 / 4 / 13;\n }\n}\n\ngxg-date-picker {\n position: absolute;\n inline-size: calc(33% - 16px);\n}\ngxg-date-picker::part(input) {\n block-size: 26px;\n}\n\n.master-wrapper {\n height: 100%;\n position: relative;\n display: grid;\n grid-template-rows: auto 1fr;\n}\n\n/*--- Grid/Images Container ---*/\n.grid-images-container {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: grid;\n grid-template-columns: 1fr 220px;\n grid-column-gap: 0;\n grid-row-gap: 0;\n overflow: auto;\n}\n.images-information {\n &__header {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n &-title {\n flex: none;\n }\n }\n}\n\n/* Objects Table */\n.images-grid {\n grid-template-columns: repeat(2, 1fr);\n grid-column-gap: 0;\n > :nth-child(1) {\n grid-area: 1 / 1 / 1 / 3;\n }\n}\n.images-container {\n .image-item {\n display: inline-block;\n width: 50%;\n height: 110px; /*should be half the images container width (actually is 220px)*/\n &__container {\n padding: var(--gx-ide-container__padding);\n img {\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n }\n }\n &__name {\n @include ellipsis;\n text-align: center;\n width: 100%;\n display: block;\n font-size: 10px;\n padding: 4px 8px;\n box-sizing: border-box;\n background-color: var(--gray-00);\n }\n &:nth-child(odd) {\n .image-item__name {\n border-inline-end: 1px solid var(--gray-02);\n }\n }\n }\n}\n.objects-count {\n grid-template-columns: repeat(2, 1fr);\n *:nth-child(2) {\n justify-content: flex-end;\n align-items: flex-start;\n }\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-images\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { ChGridRowContextMenuEvent } from \"@genexus/chameleon-controls-library\";\nimport { DatePickerDate } from \"@genexus/gemini/dist/types/components/date-picker/date-picker\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport {\n formatDate,\n hiChar,\n closeOnOutsideClickHandler\n} from \"../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private filterInitialData: FilerInitialData;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n private filterEl: HTMLDivElement;\n /* References needed to collect data */\n private filterNameEl!: HTMLGxgFormTextElement;\n private filterSearchContentsEl!: HTMLGxgFormTextElement;\n private filterCategoryEl!: HTMLGxgComboBoxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private filterModifiedEl!: HTMLGxgFormCheckboxElement;\n private filterAllDescendantsEl!: HTMLGxgFormCheckboxElement;\n private filterAfterTypeEl!: HTMLGxgComboBoxElement;\n private filterUserEl!: HTMLGxgFormTextElement;\n private filterModifiedDateEl!: HTMLGxgDatePickerElement;\n private filterStyleEl!: HTMLGxgComboBoxElement;\n private filterLanguageEl!: HTMLGxgComboBoxElement;\n private filterDensityEl!: HTMLGxgComboBoxElement;\n private filterLayerEl!: HTMLGxgComboBoxElement;\n private chGridEl!: HTMLChGridElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @Watch(\"filtersHidden\")\n filtersHiddenHandler(hidden: boolean): void {\n if (hidden) {\n this.removeDetectClickOutsideFilter();\n } else {\n this.attachDetectClickOutsideFilter();\n }\n }\n\n /**\n * The after types render in the after selector\n */\n @State() filterAfterType = \"\";\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * The images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * The images rendered in the table, after the filter\n */\n @State() filteredImages: ImageData[] = [];\n\n /**\n * The items of the image that is selected\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * The selected images in the table of images\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * The images filter input text value\n */\n @State() filterImagesInputValue = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Displays a secondary filter, used to filter over the filtered images\n */\n @Prop() readonly secondaryFilter = false;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The densities render in the filter density selector\n */\n @Prop() readonly densities!: GxOption[];\n\n /**\n * The default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * The modules/folders render in the module/folder selector\n */\n @Prop() readonly filterModules!: GxOption[];\n\n /**\n * The languages render in the filter language selector\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * The layers render in the filter layer selector\n */\n @Prop() readonly layers!: GxOption[];\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * This is a function provided by the developer that return a list of images to populate the table of images.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return a list of items of the image selected.\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.getImages();\n this.saveInitialFilterData();\n this.filterNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * This method reload the view, refreshing the filters and the table of images.\n */\n @Method()\n async reload(): Promise<void> {\n this.getImages();\n }\n\n // 9.LOCAL METHODS //\n\n private attachDetectClickOutsideFilter = () => {\n document.addEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private removeDetectClickOutsideFilter = () => {\n document.removeEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private detectClickOutsideFilter = (e: PointerEvent): void => {\n const clickedOutside = closeOnOutsideClickHandler(e, this.filterEl);\n if (clickedOutside) {\n this.filtersHidden = true;\n } else {\n this.filtersHidden = false;\n }\n };\n\n /**\n * @description This is needed for resetting the filter. When the user resets the filter, all the filter controls values have to be restored to the value they had on componentDidLoad.\n */\n private saveInitialFilterData = () => {\n this.filterInitialData = {\n name: this.filterNameEl.value,\n module: this.filterModuleEl.value,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modified: this.filterModifiedEl.checked,\n dateTime: this.filterModifiedDateEl.value,\n after: this.filterAfterTypeEl.value,\n user: this.filterUserEl.value,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderFilter = (): Element => {\n return (\n <div\n class=\"filter filter--padding\"\n ref={(el: HTMLDivElement) => (this.filterEl = el as HTMLDivElement)}\n >\n <div class=\"filter__first-row\">\n {/* name */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-name\"\n class=\"name\"\n ></gxg-form-text>\n\n <div class=\"second-column\">\n {/* module/folder */}\n <gx-ide-entity-selector\n label-position=\"above\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n part=\"filter-module-folder\"\n ></gx-ide-entity-selector>\n\n {/* reset filter button */}\n <gxg-button\n onClick={this.resetFilterHandler}\n part=\"gxg-button-reset-filter\"\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n class=\"reset-filter-btn\"\n ></gxg-button>\n\n {/* filter button */}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n part=\"gxg-button gxg-button--more-less\"\n type=\"secondary-icon-only\"\n icon={\n true ? \"window-tools/filter-conditions\" : \"window-tools/filter\"\n }\n class=\"filter-btn\"\n ></gxg-button>\n </div>\n </div>\n\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filter\": true,\n \"filter--gap\": true,\n \"filters-inner-wrapper\": true\n }}\n >\n {/* search contents */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.search}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterSearchContentsEl = el as HTMLGxgFormTextElement)\n }\n class={{ \"search-contents\": true }}\n part=\"filter-search\"\n ></gxg-form-text>\n\n {/* category */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.category}\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterCategoryEl = el as HTMLGxgComboBoxElement)\n }\n class=\"category\"\n part=\"filter-category\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.categories ?? [])}\n </gxg-combo-box>\n\n <div class=\"options\">\n <gxg-label labelPosition=\"above\" center={false}>\n Options:\n </gxg-label>\n {/* all descendants*/}\n <div class=\"checkboxes-wrapper\">\n <gxg-form-checkbox\n label={this._componentLocale.filter.allDescendants}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterAllDescendantsEl =\n el as HTMLGxgFormCheckboxElement)\n }\n class=\"all-descendants\"\n part=\"filter-all-descendants\"\n ></gxg-form-checkbox>\n\n {/* modified */}\n <gxg-form-checkbox\n label={this._componentLocale.filter.modified}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterModifiedEl = el as HTMLGxgFormCheckboxElement)\n }\n class=\"modified\"\n part=\"filter-modified\"\n ></gxg-form-checkbox>\n </div>\n </div>\n\n {/* date/time*/}\n <div\n class={{\n \"hide\":\n !this.filterModified ||\n this.filterAfterType !== FILTER_AFTER.DATE_TIME,\n \"date-time\": true\n }}\n part=\"filter-datetime\"\n >\n <div class=\"date-time-wrapper\">\n <gxg-label label-position=\"above\">\n {this._componentLocale.filter.dateTime}\n </gxg-label>\n <gxg-date-picker\n class=\"date-picker\"\n disabled={!this.filterModified}\n ref={(el: HTMLGxgDatePickerElement) =>\n (this.filterModifiedDateEl = el as HTMLGxgDatePickerElement)\n }\n ></gxg-date-picker>\n </div>\n </div>\n\n {/* after date/time */}\n <gxg-combo-box\n class=\"after-date-time\"\n disabled={!this.filterModified}\n label={this._componentLocale.filter.afterLabel}\n disable-filter\n value={this.filterAfterType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterAfterTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"filter-after-type\"\n >\n {renderFormItems(\"gxg-combo-box-item\", [\n {\n id: FILTER_AFTER.NONE,\n label: this._componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n id: FILTER_AFTER.DATE_TIME,\n label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n id: FILTER_AFTER.IMPORT,\n label: this._componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n id: FILTER_AFTER.LAST_BUILD,\n label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ])}\n </gxg-combo-box>\n\n {/* user */}\n <gxg-form-text\n disabled={!this.filterModified}\n labelPosition=\"above\"\n label={this._componentLocale.filter.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterUserEl = el as HTMLGxgFormTextElement)\n }\n value=\"hey\"\n centerLabel={false}\n class=\"user\"\n part=\"filter-user\"\n ></gxg-form-text>\n\n {/* style*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.style}\n disabled={!this.styles}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterStyleEl = el as HTMLGxgComboBoxElement)\n }\n class=\"style\"\n part=\"filter-style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* language*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.language}\n disabled={!this.languages}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLanguageEl = el as HTMLGxgComboBoxElement)\n }\n class=\"language\"\n part=\"filter-language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages ?? [])}\n </gxg-combo-box>\n\n {/* density*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.density}\n disabled={!this.densities}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterDensityEl = el as HTMLGxgComboBoxElement)\n }\n class=\"density\"\n part=\"filter-density\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.densities ?? [])}\n </gxg-combo-box>\n\n {/* layer*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.layer}\n disabled={!this.layers}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLayerEl = el as HTMLGxgComboBoxElement)\n }\n class=\"layer\"\n part=\"filter-layer\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.layers ?? [])}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n );\n };\n\n private renderImagesData = (): Element => {\n return (\n /* images information*/\n <gx-ide-container\n contentBorderEnd\n noContentPadding\n titleType=\"secondary\"\n containerTitle={\n !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n class={{ \"images-information\": true, \"overflow-auto\": true }}\n part=\"grid-container\"\n >\n {this.secondaryFilter ? (\n <header class=\"images-information__header\" slot=\"header\">\n <gx-ide-title\n type=\"secondary\"\n class=\"images-information__header-title\"\n >\n {this._componentLocale.imagesDataTitle}\n </gx-ide-title>\n <gxg-form-text\n icon=\"gemini-tools/search\"\n icon-position=\"start\"\n placeholder=\"Search by any field\"\n onInput={this.filterInputHandler as any}\n ></gxg-form-text>\n </header>\n ) : null}\n\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n part=\"ch-grid-images\"\n rowSelectionMode=\"single\"\n class=\"tabular-grid tabular-grid-ww-images\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n class=\"tabular-grid-column\"\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.filteredImages.map((obj: ImageData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.name, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.module, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.description, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.modifiedDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.lastUser, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.importDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n </gx-ide-container>\n );\n };\n\n private renderImages = (): Element => {\n return (\n /* tiles */\n <gx-ide-container\n containerTitle={this._componentLocale.imagesTitle}\n noContentPadding\n titleType=\"secondary\"\n class=\"overflow-auto\"\n titleHeightAsInput={\n this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n part=\"image-data-container\"\n >\n <div class=\"images-container\">\n {this.imagesSelectedItems.map(item => (\n <div class=\"image-item\">\n <div class=\"image-item__container\">\n <div class=\"img\">\n <img src={item.url} alt={item.id} />\n </div>\n </div>\n <span class=\"image-item__name\">{item.name}</span>\n </div>\n ))}\n </div>\n </gx-ide-container>\n );\n };\n\n // 9.LOCAL METHODS -> Other //\n\n private getImages = (): void => {\n let filters: ImageFiltersData = {\n name: this.filterNameEl.value,\n parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null\n };\n\n const modified = this.filterModifiedEl.checked;\n const modifiedAfter = this.filterAfterTypeEl.value;\n filters = {\n ...filters,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modifiedAfter: modified ? modifiedAfter : null,\n modifiedBy: modified ? this.filterUserEl.value : null,\n modifiedDate:\n modified && modifiedAfter === FILTER_AFTER.DATE_TIME\n ? (this.filterModifiedDateEl.value as Date)\n : null,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.deselectAll();\n this.filterImagesInformationHandler();\n });\n };\n\n private newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n private openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n private deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n private resetFilterHandler = () => {\n if (this.filterInitialData) {\n this.filterNameEl.value = this.filterInitialData.name;\n this.filterModuleEl.value = this.filterInitialData.module;\n this.filterSearchContentsEl.value = this.filterInitialData.searchContents;\n this.filterCategoryEl.value = this.filterInitialData.category;\n this.filterAllDescendantsEl.checked =\n this.filterInitialData.allDescendants;\n this.filterModifiedEl.checked = this.filterInitialData.modified;\n this.filterModifiedDateEl.value = this.filterInitialData.dateTime;\n this.filterAfterTypeEl.value = this.filterInitialData.after;\n this.filterUserEl.value = this.filterInitialData.user;\n this.filterStyleEl.value = this.filterInitialData.style;\n this.filterLanguageEl.value = this.filterInitialData.language;\n this.filterDensityEl.value = this.filterInitialData.density;\n this.filterLayerEl.value = this.filterInitialData.layer;\n }\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private selectAll = (): void => {\n (this.chGridEl as any).selectAllRows();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private listenChanges = (): void => {\n /* name */\n this.filterNameEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* module/folder */\n this.filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* search contents*/\n this.filterSearchContentsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* category */\n this.filterCategoryEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* (options) -> all descendants */\n this.filterAllDescendantsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* (options) -> modified */\n this.filterModifiedEl.addEventListener(\"change\", (e: any) => {\n this.filterModified = e.detail.value;\n this.getImages();\n });\n /* date/time */\n this.filterModifiedDateEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* after */\n this.filterAfterTypeEl.addEventListener(\"valueChanged\", () => {\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getImages();\n });\n /* user */\n this.filterUserEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* style */\n this.filterStyleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* language */\n this.filterLanguageEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* density */\n this.filterDensityEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* layer */\n this.filterLayerEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.loadImageItemsCallback(ev.detail.rowsId[0]).then(\n (items: ImageItemData[]) => {\n this.imagesSelectedItems = items;\n }\n );\n });\n this.chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.openSelectionCallBackHandler();\n });\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n });\n this.chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n private filterInputHandler = (e: CustomEvent<EventEmitter>) => {\n this.filterImagesInputValue = e.detail as unknown as string;\n this.filterImagesInformationHandler();\n };\n\n private filterImagesInformationHandler = () => {\n const filterValue = this.filterImagesInputValue.toLocaleLowerCase();\n this.filteredImages = this.images.filter(image => {\n const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);\n const moduleMatch = image.module\n .toLocaleLowerCase()\n .includes(filterValue);\n const descriptionMatch = image.description\n .toLocaleLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = image.modifiedDate\n .toString()\n .includes(filterValue);\n const lastUser = image.lastUser.toLocaleLowerCase().includes(filterValue);\n const importDateMatch =\n image.importDate && image.importDate.toString().includes(filterValue);\n\n return (\n nameMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUser ||\n importDateMatch\n );\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"master-wrapper\">\n {this.renderFilter()}\n <div class=\"grid-images-container\">\n {this.renderImagesData()}\n {this.renderImages()}\n </div>\n </div>\n\n {/* select all button */}\n <gxg-button\n id=\"button-select-all\"\n type=\"outlined\"\n onClick={this.selectAll}\n part=\"gxg-button gxg-button--select-all\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnSelectAll}\n </gxg-button>\n\n {/* new file button*/}\n <gxg-button\n id=\"button-new-file\"\n type=\"primary-text-icon\"\n icon=\"objects/image\"\n onClick={this.newObjectCallbackHandler}\n part=\"gxg-button gxg-button--new-file\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n\n {/* matching objects */}\n <gxg-text\n class=\"align-end\"\n part=\"objects-matching\"\n slot=\"footer-start\"\n >\n {`${this.filteredImages.length} ${this._componentLocale.objCount.matching}`}\n </gxg-text>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewObjectCallback = () => Promise<void>;\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\ntype FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: boolean;\n modified: boolean;\n dateTime: DatePickerDate;\n after: string;\n user: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n"],"version":3}
|
|
@@ -36,6 +36,7 @@ const isYesterday = (date) => {
|
|
|
36
36
|
return false;
|
|
37
37
|
};
|
|
38
38
|
const formatDate = (date, type = "date-time") => {
|
|
39
|
+
var _a;
|
|
39
40
|
let formattedDate;
|
|
40
41
|
// validate date
|
|
41
42
|
// undefined or null
|
|
@@ -48,10 +49,9 @@ const formatDate = (date, type = "date-time") => {
|
|
|
48
49
|
return "Invalid date";
|
|
49
50
|
}
|
|
50
51
|
let locale = "en-US";
|
|
51
|
-
const lang = document
|
|
52
|
+
const lang = (_a = document
|
|
52
53
|
.getElementsByTagName("html")[0]
|
|
53
|
-
.getAttribute("lang")
|
|
54
|
-
?.valueOf();
|
|
54
|
+
.getAttribute("lang")) === null || _a === void 0 ? void 0 : _a.valueOf();
|
|
55
55
|
if (lang === "es") {
|
|
56
56
|
locale = "es-ES";
|
|
57
57
|
}
|
|
@@ -140,8 +140,8 @@ const mapOptionsToComboBoxItemModel = (options) => options.map(option => ({
|
|
|
140
140
|
// startImgSrc: option.iconName
|
|
141
141
|
}));
|
|
142
142
|
const renderChCheckboxItems = (options, frontEndCheckboxInputHandler, checkedIds) => {
|
|
143
|
-
return options
|
|
144
|
-
const value = checkedIds
|
|
143
|
+
return options === null || options === void 0 ? void 0 : options.map(option => {
|
|
144
|
+
const value = checkedIds === null || checkedIds === void 0 ? void 0 : checkedIds.find(id => option.value === id || option.id === id);
|
|
145
145
|
return (h("ch-checkbox", { name: option.name, class: "checkbox", checkedValue: option.value || option.id, caption: option.label, disabled: option.disabled, value: value, onInput: frontEndCheckboxInputHandler, startImgSrc: option.iconName, key: option.value || option.id }));
|
|
146
146
|
});
|
|
147
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"helpers.js","mappings":"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","names":[],"sources":["src/common/helpers.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nexport type ChCheckboxArray = HTMLChCheckboxElement[] | null;\n\nimport { GxOption } from \"./types\";\n\nconst daysOfWeek = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\n\n/**\n * @param element an HTMLElement\n * @returns an alphabetically ordered array of all the parts and exportparts the element contains.\n */\nexport const getElementSelectorParts = (element: HTMLElement) => {\n const queries: string[] = [];\n const elementParts = element.shadowRoot?.querySelectorAll(`[part]`);\n const elementExportParts =\n element.shadowRoot?.querySelectorAll(`[exportparts]`);\n\n elementParts?.forEach(el => {\n queries.push(\n `${element.tagName.toLowerCase()}::part(${el.getAttribute(\"part\")})`\n );\n });\n elementExportParts?.forEach(el => {\n queries.push(\n ...[\n ...el.getAttribute(\"exportparts\").matchAll(/(?:[\\w-]+:)?([\\w-]+)/g)\n ].map(item => `${element.tagName.toLowerCase()}::part(${item[1]})`)\n );\n });\n\n return queries.sort();\n};\n\n/**\n * @param selector a part selector\n * @returns A reference to the element the part belongs to.\n */\nexport const querySelectorPart = (selector: string) => {\n const querySelectorDeep = (\n element: HTMLElement,\n parts: string\n ): HTMLElement => {\n const shadow = element.shadowRoot;\n const partList = parts.split(\" \");\n\n const partElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[part~=\"${partName}\"]`).join(\"\")\n );\n if (partElement) {\n return partElement;\n }\n\n const exportPartElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[exportparts*=\"${partName}\"]`).join(\"\")\n );\n if (exportPartElement) {\n const exportPartList: string[] = [];\n const exportparts = exportPartElement.getAttribute(\"exportparts\");\n\n partList.forEach(partItem => {\n const exportPartName = exportparts.match(\n `(?:([\\\\w-]+):)?(${partItem})`\n )[1];\n if (exportPartName) {\n exportPartList.push(exportPartName);\n }\n });\n\n if (partList.length === exportPartList.length) {\n return querySelectorDeep(exportPartElement, exportPartList.join(\" \"));\n }\n }\n\n return null;\n };\n\n const selectorItems = selector.match(\"(.*)::part\\\\(([^)]+)\\\\)\");\n const entity = selectorItems[1];\n const partName = selectorItems[2];\n\n return querySelectorDeep(document.querySelector(entity), partName);\n};\n\nconst daysFromToday = (date: Date): number => {\n const today = new Date();\n // To calculate the time difference of two dates\n const timeDifference = today.getTime() - date.getTime();\n // To calculate the no. of days between two dates\n const daysDifference = timeDifference / (1000 * 3600 * 24);\n return Math.floor(daysDifference);\n};\n\n// - - - - - - - - - - - -\n// Date Functions\n// - - - - - - - - - - - -\n\nconst isToday = (date: Date): boolean => {\n const today = new Date();\n if (today.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nconst isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (yesterday.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nexport const formatDate = (\n date: Date,\n type: FormatDateType = \"date-time\"\n): string => {\n let formattedDate;\n // validate date\n // undefined or null\n if (date === undefined || date === null) {\n return \"\";\n }\n // If the date object is invalid it will return 'NaN' on getTime() and NaN is never equal to itself\n const dateIsValid = date.getTime() === date.getTime();\n if (!dateIsValid) {\n return \"Invalid date\";\n }\n let locale = \"en-US\";\n const lang = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf();\n if (lang === \"es\") {\n locale = \"es-ES\";\n }\n formattedDate = date.toLocaleDateString(locale);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n const time = `${hours}:${minutes}`;\n if (type === \"date-time\") {\n formattedDate += ` / ${date.toLocaleTimeString()}`;\n } else if (type === \"date-time-short\") {\n // No seconds\n if (locale === \"es-ES\") {\n formattedDate = `${year}-${month}-${day} ${time}`;\n } else {\n formattedDate = `${month}/${day}/${year} ${time}`;\n }\n } else if (\"pretty\") {\n const daysPassedFromToday = daysFromToday(date);\n const today = new Date();\n const currentYear = today.getFullYear();\n if (isToday(date)) {\n return `Today ${time}`;\n } else if (isYesterday(date)) {\n return `Yesterday ${time}`;\n } else if (daysPassedFromToday <= 7) {\n // If one week or less, just show the day of the week, and the time\n const day = daysOfWeek[date.getDay()];\n return `${day} ${time}`;\n } else if (currentYear === year) {\n // If current year, show day number and month name. Example: November 17th\n if (locale === \"es-ES\") {\n formattedDate = `${day} de ${date.toLocaleString(\"es-ES\", {\n month: \"long\"\n })} ${time}`;\n } else {\n formattedDate = `${date.toLocaleString(\"en-US\", {\n month: \"long\"\n })} ${day} ${time}`;\n }\n } else {\n // Display date as usual\n formattedDate = formatDate(date, \"date-time-short\");\n }\n }\n return formattedDate;\n};\n\nexport type FormatDateType =\n | \"date\"\n | \"date-time\"\n | \"date-time-short\"\n | \"pretty\";\n\n// - - - - - - - - - - - -\n// /End of Date Functions\n// - - - - - - - - - - - -\n\n/* Count the total tree nodes (by default it does not count the first level nodes)*/\nexport const countTreeItems = (\n treeModel: TreeViewItemModel[],\n children = false\n): number => {\n let totalNodes = 0;\n treeModel.forEach(node => {\n children && totalNodes++;\n if (node.items) {\n totalNodes += countTreeItems(node.items, true);\n }\n });\n return totalNodes;\n};\n\n/**\n * @description it evaluates the initial selected combo item\n * @param options an array of GxOption\n * @returns the initial combo value, which in this case is the id\n */\nexport const setInitialComboValue = (options: GxOption[]): string => {\n const selected = options.find(option => option.selected);\n if (selected) {\n return selected.value || selected.id;\n } else {\n return options[0].value || options[0].id;\n }\n};\n\nexport const escapeRegExp = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\n/**\n * @description this function highlights the character(s) that match(es) the filter value.\n * hiChar comes from (hi)light (Char)acters\n * @param text the string to find the filter value on\n * @param filterValue the filter value\n * @returns a span element\n */\nexport const hiChar = function (text: string, filterValue: string) {\n if (text && filterValue) {\n const escapedFilterValue = escapeRegExp(filterValue);\n const re = new RegExp(escapedFilterValue, \"gi\");\n return (\n <span\n innerHTML={text.replace(re, '<span class=\"hiChar\">$&</span>')}\n ></span>\n );\n } else {\n return text;\n }\n};\n\nexport const closeOnOutsideClickHandler = (\n eventInfo: PointerEvent,\n ref: HTMLElement\n): true | void => {\n if (!eventInfo.composedPath().includes(ref)) {\n return true;\n }\n};\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel =>\n options.map(option => ({\n value: option.id,\n caption: option.label\n // startImgSrc: option.iconName\n }));\n\nexport const renderChCheckboxItems = (\n options: GxOption[] | undefined,\n frontEndCheckboxInputHandler: (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => void,\n checkedIds: string[]\n): HTMLChCheckboxElement[] => {\n return options?.map(option => {\n const value = checkedIds?.find(\n id => option.value === id || option.id === id\n );\n return (\n <ch-checkbox\n name={option.name}\n class=\"checkbox\"\n checkedValue={option.value || option.id}\n caption={option.label}\n disabled={option.disabled}\n value={value}\n onInput={frontEndCheckboxInputHandler}\n startImgSrc={option.iconName}\n key={option.value || option.id}\n ></ch-checkbox>\n );\n });\n};\n"],"version":3}
|
|
1
|
+
{"file":"helpers.js","mappings":";;AAWA,MAAM,UAAU,GAAG;IACjB,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACX,CAAC;AA8EF,MAAM,aAAa,GAAG,CAAC,IAAU;IAC/B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;;IAEzB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;;IAExD,MAAM,cAAc,GAAG,cAAc,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;AACA;AACA;AAEA,MAAM,OAAO,GAAG,CAAC,IAAU;IACzB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE;QAChD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAU;IAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,SAAS,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;MAEW,UAAU,GAAG,CACxB,IAAU,EACV,OAAuB,WAAW;;IAElC,IAAI,aAAa,CAAC;;;IAGlB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;QACvC,OAAO,EAAE,CAAC;KACX;;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtD,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,cAAc,CAAC;KACvB;IACD,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,MAAM,IAAI,GAAG,MAAA,QAAQ;SAClB,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/B,YAAY,CAAC,MAAM,CAAC,0CACnB,OAAO,EAAE,CAAC;IACd,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,OAAO,CAAC;KAClB;IACD,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,aAAa,IAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;KACpD;SAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE;;QAErC,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB,aAAa,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;SACnD;aAAM;YACL,aAAa,GAAG,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;SACnD;KACF;SAAoB;QACnB,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,SAAS,IAAI,EAAE,CAAC;SACxB;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,aAAa,IAAI,EAAE,CAAC;SAC5B;aAAM,IAAI,mBAAmB,IAAI,CAAC,EAAE;;YAEnC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;SACzB;aAAM,IAAI,WAAW,KAAK,IAAI,EAAE;;YAE/B,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,aAAa,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;oBACxD,KAAK,EAAE,MAAM;iBACd,CAAC,IAAI,IAAI,EAAE,CAAC;aACd;iBAAM;gBACL,aAAa,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC9C,KAAK,EAAE,MAAM;iBACd,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;aACrB;SACF;aAAM;;YAEL,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,aAAa,CAAC;AACvB,EAAE;AAyCK,MAAM,YAAY,GAAG,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;MAOa,MAAM,GAAG,UAAU,IAAY,EAAE,WAAmB;IAC/D,IAAI,IAAI,IAAI,WAAW,EAAE;QACvB,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAChD,QACE,YACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,gCAAgC,CAAC,GACvD,EACR;KACH;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,EAAE;MAEW,0BAA0B,GAAG,CACxC,SAAuB,EACvB,GAAgB;IAEhB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC;KACb;AACH,EAAE;MAEW,6BAA6B,GAAG,CAC3C,OAAmB,KAEnB,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;IACrB,KAAK,EAAE,MAAM,CAAC,EAAE;IAChB,OAAO,EAAE,MAAM,CAAC,KAAK;;CAEtB,CAAC,EAAE;MAEO,qBAAqB,GAAG,CACnC,OAA+B,EAC/B,4BAES,EACT,UAAoB;IAEpB,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,MAAM;QACxB,MAAM,KAAK,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAC5B,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,CAC9C,CAAC;QACF,QACE,mBACE,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,KAAK,EAAC,UAAU,EAChB,YAAY,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,EACvC,OAAO,EAAE,MAAM,CAAC,KAAK,EACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,4BAA4B,EACrC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAC5B,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,GACjB,EACf;KACH,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/common/helpers.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nexport type ChCheckboxArray = HTMLChCheckboxElement[] | null;\n\nimport { GxOption } from \"./types\";\n\nconst daysOfWeek = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\n\n/**\n * @param element an HTMLElement\n * @returns an alphabetically ordered array of all the parts and exportparts the element contains.\n */\nexport const getElementSelectorParts = (element: HTMLElement) => {\n const queries: string[] = [];\n const elementParts = element.shadowRoot?.querySelectorAll(`[part]`);\n const elementExportParts =\n element.shadowRoot?.querySelectorAll(`[exportparts]`);\n\n elementParts?.forEach(el => {\n queries.push(\n `${element.tagName.toLowerCase()}::part(${el.getAttribute(\"part\")})`\n );\n });\n elementExportParts?.forEach(el => {\n queries.push(\n ...[\n ...el.getAttribute(\"exportparts\").matchAll(/(?:[\\w-]+:)?([\\w-]+)/g)\n ].map(item => `${element.tagName.toLowerCase()}::part(${item[1]})`)\n );\n });\n\n return queries.sort();\n};\n\n/**\n * @param selector a part selector\n * @returns A reference to the element the part belongs to.\n */\nexport const querySelectorPart = (selector: string) => {\n const querySelectorDeep = (\n element: HTMLElement,\n parts: string\n ): HTMLElement => {\n const shadow = element.shadowRoot;\n const partList = parts.split(\" \");\n\n const partElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[part~=\"${partName}\"]`).join(\"\")\n );\n if (partElement) {\n return partElement;\n }\n\n const exportPartElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[exportparts*=\"${partName}\"]`).join(\"\")\n );\n if (exportPartElement) {\n const exportPartList: string[] = [];\n const exportparts = exportPartElement.getAttribute(\"exportparts\");\n\n partList.forEach(partItem => {\n const exportPartName = exportparts.match(\n `(?:([\\\\w-]+):)?(${partItem})`\n )[1];\n if (exportPartName) {\n exportPartList.push(exportPartName);\n }\n });\n\n if (partList.length === exportPartList.length) {\n return querySelectorDeep(exportPartElement, exportPartList.join(\" \"));\n }\n }\n\n return null;\n };\n\n const selectorItems = selector.match(\"(.*)::part\\\\(([^)]+)\\\\)\");\n const entity = selectorItems[1];\n const partName = selectorItems[2];\n\n return querySelectorDeep(document.querySelector(entity), partName);\n};\n\nconst daysFromToday = (date: Date): number => {\n const today = new Date();\n // To calculate the time difference of two dates\n const timeDifference = today.getTime() - date.getTime();\n // To calculate the no. of days between two dates\n const daysDifference = timeDifference / (1000 * 3600 * 24);\n return Math.floor(daysDifference);\n};\n\n// - - - - - - - - - - - -\n// Date Functions\n// - - - - - - - - - - - -\n\nconst isToday = (date: Date): boolean => {\n const today = new Date();\n if (today.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nconst isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (yesterday.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nexport const formatDate = (\n date: Date,\n type: FormatDateType = \"date-time\"\n): string => {\n let formattedDate;\n // validate date\n // undefined or null\n if (date === undefined || date === null) {\n return \"\";\n }\n // If the date object is invalid it will return 'NaN' on getTime() and NaN is never equal to itself\n const dateIsValid = date.getTime() === date.getTime();\n if (!dateIsValid) {\n return \"Invalid date\";\n }\n let locale = \"en-US\";\n const lang = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf();\n if (lang === \"es\") {\n locale = \"es-ES\";\n }\n formattedDate = date.toLocaleDateString(locale);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n const time = `${hours}:${minutes}`;\n if (type === \"date-time\") {\n formattedDate += ` / ${date.toLocaleTimeString()}`;\n } else if (type === \"date-time-short\") {\n // No seconds\n if (locale === \"es-ES\") {\n formattedDate = `${year}-${month}-${day} ${time}`;\n } else {\n formattedDate = `${month}/${day}/${year} ${time}`;\n }\n } else if (\"pretty\") {\n const daysPassedFromToday = daysFromToday(date);\n const today = new Date();\n const currentYear = today.getFullYear();\n if (isToday(date)) {\n return `Today ${time}`;\n } else if (isYesterday(date)) {\n return `Yesterday ${time}`;\n } else if (daysPassedFromToday <= 7) {\n // If one week or less, just show the day of the week, and the time\n const day = daysOfWeek[date.getDay()];\n return `${day} ${time}`;\n } else if (currentYear === year) {\n // If current year, show day number and month name. Example: November 17th\n if (locale === \"es-ES\") {\n formattedDate = `${day} de ${date.toLocaleString(\"es-ES\", {\n month: \"long\"\n })} ${time}`;\n } else {\n formattedDate = `${date.toLocaleString(\"en-US\", {\n month: \"long\"\n })} ${day} ${time}`;\n }\n } else {\n // Display date as usual\n formattedDate = formatDate(date, \"date-time-short\");\n }\n }\n return formattedDate;\n};\n\nexport type FormatDateType =\n | \"date\"\n | \"date-time\"\n | \"date-time-short\"\n | \"pretty\";\n\n// - - - - - - - - - - - -\n// /End of Date Functions\n// - - - - - - - - - - - -\n\n/* Count the total tree nodes (by default it does not count the first level nodes)*/\nexport const countTreeItems = (\n treeModel: TreeViewItemModel[],\n children = false\n): number => {\n let totalNodes = 0;\n treeModel.forEach(node => {\n children && totalNodes++;\n if (node.items) {\n totalNodes += countTreeItems(node.items, true);\n }\n });\n return totalNodes;\n};\n\n/**\n * @description it evaluates the initial selected combo item\n * @param options an array of GxOption\n * @returns the initial combo value, which in this case is the id\n */\nexport const setInitialComboValue = (options: GxOption[]): string => {\n const selected = options.find(option => option.selected);\n if (selected) {\n return selected.value || selected.id;\n } else {\n return options[0].value || options[0].id;\n }\n};\n\nexport const escapeRegExp = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\n/**\n * @description this function highlights the character(s) that match(es) the filter value.\n * hiChar comes from (hi)light (Char)acters\n * @param text the string to find the filter value on\n * @param filterValue the filter value\n * @returns a span element\n */\nexport const hiChar = function (text: string, filterValue: string) {\n if (text && filterValue) {\n const escapedFilterValue = escapeRegExp(filterValue);\n const re = new RegExp(escapedFilterValue, \"gi\");\n return (\n <span\n innerHTML={text.replace(re, '<span class=\"hiChar\">$&</span>')}\n ></span>\n );\n } else {\n return text;\n }\n};\n\nexport const closeOnOutsideClickHandler = (\n eventInfo: PointerEvent,\n ref: HTMLElement\n): true | void => {\n if (!eventInfo.composedPath().includes(ref)) {\n return true;\n }\n};\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel =>\n options.map(option => ({\n value: option.id,\n caption: option.label\n // startImgSrc: option.iconName\n }));\n\nexport const renderChCheckboxItems = (\n options: GxOption[] | undefined,\n frontEndCheckboxInputHandler: (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => void,\n checkedIds: string[]\n): HTMLChCheckboxElement[] => {\n return options?.map(option => {\n const value = checkedIds?.find(\n id => option.value === id || option.id === id\n );\n return (\n <ch-checkbox\n name={option.name}\n class=\"checkbox\"\n checkedValue={option.value || option.id}\n caption={option.label}\n disabled={option.disabled}\n value={value}\n onInput={frontEndCheckboxInputHandler}\n startImgSrc={option.iconName}\n key={option.value || option.id}\n ></ch-checkbox>\n );\n });\n};\n"],"version":3}
|
package/dist/components/index.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
2
2
|
export { m as mercuryChatMessageRender, a as mercuryCodeRender } from './code-render.js';
|
|
3
3
|
|
|
4
|
+
const aiAvatarSvg$1 = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNiAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIxIiB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHJ4PSIxMi41IiBzdHJva2U9InVybCgjcGFpbnQwX2xpbmVhcl83MzhfMzY2KSIgc3Ryb2tlLW9wYWNpdHk9IjAuOSIvPgo8Y2lyY2xlIGN4PSIxMi45OTk5IiBjeT0iMTMuNDk5OSIgcj0iMTAuMTEyMiIgZmlsbD0iIzVCQTdGRiIvPgo8cGF0aCBkPSJNMTEuMzM2NCA5LjgyMDIxQzExLjY3NDcgOC44MzAyMSAxMy4wNDI2IDguODAwMjMgMTMuNDQzNyA5LjczMDI2TDEzLjQ3NzYgOS44MjA3N0wxMy45MzQxIDExLjE1NTlDMTQuMDM4OCAxMS40NjIgMTQuMjA3OCAxMS43NDIyIDE0LjQyOTkgMTEuOTc3NUMxNC42NTIgMTIuMjEyOCAxNC45MjIgMTIuMzk3NyAxNS4yMjE3IDEyLjUxOThMMTUuMzQ0NCAxMi41NjU2TDE2LjY3OTUgMTMuMDIxNkMxNy42Njk1IDEzLjM1OTkgMTcuNjk5NSAxNC43Mjc4IDE2Ljc3IDE1LjEyODlMMTYuNjc5NSAxNS4xNjI4TDE1LjM0NDQgMTUuNjE5M0MxNS4wMzgyIDE1LjcyMzkgMTQuNzU3OSAxNS44OTI5IDE0LjUyMjUgMTYuMTE1QzE0LjI4NzEgMTYuMzM3MiAxNC4xMDIxIDE2LjYwNzIgMTMuOTggMTYuOTA2OUwxMy45MzQxIDE3LjAyOTFMMTMuNDc4MiAxOC4zNjQ3QzEzLjEzOTkgMTkuMzU0NyAxMS43NzIgMTkuMzg0NyAxMS4zNzE0IDE4LjQ1NTJMMTEuMzM2NCAxOC4zNjQ3TDEwLjg4MDQgMTcuMDI5NkMxMC43NzU5IDE2LjcyMzQgMTAuNjA2OCAxNi40NDMxIDEwLjM4NDcgMTYuMjA3N0MxMC4xNjI2IDE1Ljk3MjMgOS44OTI1NiAxNS43ODczIDkuNTkyODUgMTUuNjY1MUw5LjQ3MDY2IDE1LjYxOTNMOC4xMzU1NyAxNS4xNjM0QzcuMTQ1MDEgMTQuODI1MSA3LjExNTAzIDEzLjQ1NzIgOC4wNDUwNiAxMy4wNTY2TDguMTM1NTcgMTMuMDIxNkw5LjQ3MDY2IDEyLjU2NTZDOS43NzY4NCAxMi40NjEgMTAuMDU3IDEyLjI5MTkgMTAuMjkyMyAxMi4wNjk4QzEwLjUyNzYgMTEuODQ3NyAxMC43MTI1IDExLjU3NzcgMTAuODM0NiAxMS4yNzhMMTAuODgwNCAxMS4xNTU5TDExLjMzNjQgOS44MjAyMVpNMTYuOTMzIDcuODY5NjNDMTcuMDM4OCA3Ljg2OTYzIDE3LjE0MjUgNy44OTkzMiAxNy4yMzIzIDcuOTU1MzJDMTcuMzIyMSA4LjAxMTMyIDE3LjM5NDQgOC4wOTEzOSAxNy40NDEgOC4xODY0M0wxNy40NjgxIDguMjUyNjJMMTcuNjY2MSA4LjgzMzA0TDE4LjI0NzEgOS4wMzEwNEMxOC4zNTMyIDkuMDY3MDcgMTguNDQ2MiA5LjEzMzc4IDE4LjUxNDMgOS4yMjI3MUMxOC41ODI0IDkuMzExNjQgMTguNjIyNiA5LjQxODc5IDE4LjYyOTcgOS41MzA1N0MxOC42MzY4IDkuNjQyMzYgMTguNjEwNyA5Ljc1Mzc1IDE4LjU1NDQgOS44NTA2M0MxOC40OTgyIDkuOTQ3NTIgMTguNDE0NSAxMC4wMjU1IDE4LjMxMzkgMTAuMDc0OEwxOC4yNDcxIDEwLjEwMTlMMTcuNjY2NyAxMC4yOTk5TDE3LjQ2ODcgMTAuODgwOUMxNy40MzI2IDEwLjk4NjkgMTcuMzY1OCAxMS4wNzk5IDE3LjI3NjkgMTEuMTQ3OUMxNy4xODc5IDExLjIxNiAxNy4wODA4IDExLjI1NjEgMTYuOTY5IDExLjI2MzJDMTYuODU3MiAxMS4yNzAzIDE2Ljc0NTggMTEuMjQ0IDE2LjY0OSAxMS4xODc3QzE2LjU1MjEgMTEuMTMxNSAxNi40NzQyIDExLjA0NzcgMTYuNDI1IDEwLjk0NzFMMTYuMzk3OCAxMC44ODA5TDE2LjE5OTggMTAuMzAwNUwxNS42MTg4IDEwLjEwMjVDMTUuNTEyOCAxMC4wNjY1IDE1LjQxOTggOS45OTk3NSAxNS4zNTE3IDkuOTEwODJDMTUuMjgzNiA5LjgyMTg5IDE1LjI0MzQgOS43MTQ3NSAxNS4yMzYyIDkuNjAyOTZDMTUuMjI5MSA5LjQ5MTE3IDE1LjI1NTMgOS4zNzk3OCAxNS4zMTE1IDkuMjgyOUMxNS4zNjc3IDkuMTg2MDIgMTUuNDUxNSA5LjEwODAxIDE1LjU1MjEgOS4wNTg3NkwxNS42MTg4IDkuMDMxNkwxNi4xOTkyIDguODMzNkwxNi4zOTcyIDguMjUyNjJDMTYuNDM1NCA4LjE0MDg1IDE2LjUwNzYgOC4wNDM4MiAxNi42MDM2IDcuOTc1MTNDMTYuNjk5NyA3LjkwNjQ1IDE2LjgxNDkgNy44Njk1NiAxNi45MzMgNy44Njk2M1oiIGZpbGw9IiMxQzZBQzciLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl83MzhfMzY2IiB4MT0iMzQuNDc4MyIgeTE9IjUuMDIxNzQiIHgyPSIxMyIgeTI9IjI2LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzAwQ0NGRiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNDRjdBRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K';
|
|
5
|
+
|
|
6
|
+
const aiAvatarSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNiAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIxIiB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHJ4PSIxMi41IiBzdHJva2U9InVybCgjcGFpbnQwX2xpbmVhcl83MzhfMzY2KSIgc3Ryb2tlLW9wYWNpdHk9IjAuOSIvPgo8Y2lyY2xlIGN4PSIxMi45OTk5IiBjeT0iMTMuNDk5OSIgcj0iMTAuMTEyMiIgZmlsbD0iIzVCQTdGRiIvPgo8cGF0aCBkPSJNMTEuMzM2NCA5LjgyMDIxQzExLjY3NDcgOC44MzAyMSAxMy4wNDI2IDguODAwMjMgMTMuNDQzNyA5LjczMDI2TDEzLjQ3NzYgOS44MjA3N0wxMy45MzQxIDExLjE1NTlDMTQuMDM4OCAxMS40NjIgMTQuMjA3OCAxMS43NDIyIDE0LjQyOTkgMTEuOTc3NUMxNC42NTIgMTIuMjEyOCAxNC45MjIgMTIuMzk3NyAxNS4yMjE3IDEyLjUxOThMMTUuMzQ0NCAxMi41NjU2TDE2LjY3OTUgMTMuMDIxNkMxNy42Njk1IDEzLjM1OTkgMTcuNjk5NSAxNC43Mjc4IDE2Ljc3IDE1LjEyODlMMTYuNjc5NSAxNS4xNjI4TDE1LjM0NDQgMTUuNjE5M0MxNS4wMzgyIDE1LjcyMzkgMTQuNzU3OSAxNS44OTI5IDE0LjUyMjUgMTYuMTE1QzE0LjI4NzEgMTYuMzM3MiAxNC4xMDIxIDE2LjYwNzIgMTMuOTggMTYuOTA2OUwxMy45MzQxIDE3LjAyOTFMMTMuNDc4MiAxOC4zNjQ3QzEzLjEzOTkgMTkuMzU0NyAxMS43NzIgMTkuMzg0NyAxMS4zNzE0IDE4LjQ1NTJMMTEuMzM2NCAxOC4zNjQ3TDEwLjg4MDQgMTcuMDI5NkMxMC43NzU5IDE2LjcyMzQgMTAuNjA2OCAxNi40NDMxIDEwLjM4NDcgMTYuMjA3N0MxMC4xNjI2IDE1Ljk3MjMgOS44OTI1NiAxNS43ODczIDkuNTkyODUgMTUuNjY1MUw5LjQ3MDY2IDE1LjYxOTNMOC4xMzU1NyAxNS4xNjM0QzcuMTQ1MDEgMTQuODI1MSA3LjExNTAzIDEzLjQ1NzIgOC4wNDUwNiAxMy4wNTY2TDguMTM1NTcgMTMuMDIxNkw5LjQ3MDY2IDEyLjU2NTZDOS43NzY4NCAxMi40NjEgMTAuMDU3IDEyLjI5MTkgMTAuMjkyMyAxMi4wNjk4QzEwLjUyNzYgMTEuODQ3NyAxMC43MTI1IDExLjU3NzcgMTAuODM0NiAxMS4yNzhMMTAuODgwNCAxMS4xNTU5TDExLjMzNjQgOS44MjAyMVpNMTYuOTMzIDcuODY5NjNDMTcuMDM4OCA3Ljg2OTYzIDE3LjE0MjUgNy44OTkzMiAxNy4yMzIzIDcuOTU1MzJDMTcuMzIyMSA4LjAxMTMyIDE3LjM5NDQgOC4wOTEzOSAxNy40NDEgOC4xODY0M0wxNy40NjgxIDguMjUyNjJMMTcuNjY2MSA4LjgzMzA0TDE4LjI0NzEgOS4wMzEwNEMxOC4zNTMyIDkuMDY3MDcgMTguNDQ2MiA5LjEzMzc4IDE4LjUxNDMgOS4yMjI3MUMxOC41ODI0IDkuMzExNjQgMTguNjIyNiA5LjQxODc5IDE4LjYyOTcgOS41MzA1N0MxOC42MzY4IDkuNjQyMzYgMTguNjEwNyA5Ljc1Mzc1IDE4LjU1NDQgOS44NTA2M0MxOC40OTgyIDkuOTQ3NTIgMTguNDE0NSAxMC4wMjU1IDE4LjMxMzkgMTAuMDc0OEwxOC4yNDcxIDEwLjEwMTlMMTcuNjY2NyAxMC4yOTk5TDE3LjQ2ODcgMTAuODgwOUMxNy40MzI2IDEwLjk4NjkgMTcuMzY1OCAxMS4wNzk5IDE3LjI3NjkgMTEuMTQ3OUMxNy4xODc5IDExLjIxNiAxNy4wODA4IDExLjI1NjEgMTYuOTY5IDExLjI2MzJDMTYuODU3MiAxMS4yNzAzIDE2Ljc0NTggMTEuMjQ0IDE2LjY0OSAxMS4xODc3QzE2LjU1MjEgMTEuMTMxNSAxNi40NzQyIDExLjA0NzcgMTYuNDI1IDEwLjk0NzFMMTYuMzk3OCAxMC44ODA5TDE2LjE5OTggMTAuMzAwNUwxNS42MTg4IDEwLjEwMjVDMTUuNTEyOCAxMC4wNjY1IDE1LjQxOTggOS45OTk3NSAxNS4zNTE3IDkuOTEwODJDMTUuMjgzNiA5LjgyMTg5IDE1LjI0MzQgOS43MTQ3NSAxNS4yMzYyIDkuNjAyOTZDMTUuMjI5MSA5LjQ5MTE3IDE1LjI1NTMgOS4zNzk3OCAxNS4zMTE1IDkuMjgyOUMxNS4zNjc3IDkuMTg2MDIgMTUuNDUxNSA5LjEwODAxIDE1LjU1MjEgOS4wNTg3NkwxNS42MTg4IDkuMDMxNkwxNi4xOTkyIDguODMzNkwxNi4zOTcyIDguMjUyNjJDMTYuNDM1NCA4LjE0MDg1IDE2LjUwNzYgOC4wNDM4MiAxNi42MDM2IDcuOTc1MTNDMTYuNjk5NyA3LjkwNjQ1IDE2LjgxNDkgNy44Njk1NiAxNi45MzMgNy44Njk2M1oiIGZpbGw9IiMxQzZBQzciLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl83MzhfMzY2IiB4MT0iMzQuNDc4MyIgeTE9IjUuMDIxNzQiIHgyPSIxMyIgeTI9IjI2LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzAwQ0NGRiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNDRjdBRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K';
|
|
7
|
+
|
|
4
8
|
// Add types from Chameleon, without importing any JS in the final bundle.
|
|
5
9
|
// Don't use 'import "@genexus/chameleon-controls-library"'
|
|
6
10
|
typeof import('./index.d.js');
|
|
7
11
|
|
|
12
|
+
export { aiAvatarSvg$1 as nexaAvatar, aiAvatarSvg as nexaAvatarCommon };
|
|
13
|
+
|
|
8
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;
|
|
1
|
+
{"file":"index.js","mappings":";;;AAAK,MAACA,aAAW,GAAG;;ACAf,MAAC,WAAW,GAAG;;ACEpB;AACA;AACA,OAAO,OAAO,cAAsD,CAAC;;;;","names":["aiAvatarSvg"],"sources":["src/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg","src/common/images/ai-avatar.svg","src/index.ts"],"sourcesContent":["<svg width=\"26\" height=\"27\" viewBox=\"0 0 26 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"0.5\" y=\"1\" width=\"25\" height=\"25\" rx=\"12.5\" stroke=\"url(#paint0_linear_738_366)\" stroke-opacity=\"0.9\"/>\n<circle cx=\"12.9999\" cy=\"13.4999\" r=\"10.1122\" fill=\"#5BA7FF\"/>\n<path d=\"M11.3364 9.82021C11.6747 8.83021 13.0426 8.80023 13.4437 9.73026L13.4776 9.82077L13.9341 11.1559C14.0388 11.462 14.2078 11.7422 14.4299 11.9775C14.652 12.2128 14.922 12.3977 15.2217 12.5198L15.3444 12.5656L16.6795 13.0216C17.6695 13.3599 17.6995 14.7278 16.77 15.1289L16.6795 15.1628L15.3444 15.6193C15.0382 15.7239 14.7579 15.8929 14.5225 16.115C14.2871 16.3372 14.1021 16.6072 13.98 16.9069L13.9341 17.0291L13.4782 18.3647C13.1399 19.3547 11.772 19.3847 11.3714 18.4552L11.3364 18.3647L10.8804 17.0296C10.7759 16.7234 10.6068 16.4431 10.3847 16.2077C10.1626 15.9723 9.89256 15.7873 9.59285 15.6651L9.47066 15.6193L8.13557 15.1634C7.14501 14.8251 7.11503 13.4572 8.04506 13.0566L8.13557 13.0216L9.47066 12.5656C9.77684 12.461 10.057 12.2919 10.2923 12.0698C10.5276 11.8477 10.7125 11.5777 10.8346 11.278L10.8804 11.1559L11.3364 9.82021ZM16.933 7.86963C17.0388 7.86963 17.1425 7.89932 17.2323 7.95532C17.3221 8.01132 17.3944 8.09139 17.441 8.18643L17.4681 8.25262L17.6661 8.83304L18.2471 9.03104C18.3532 9.06707 18.4462 9.13378 18.5143 9.22271C18.5824 9.31164 18.6226 9.41879 18.6297 9.53057C18.6368 9.64236 18.6107 9.75375 18.5544 9.85063C18.4982 9.94752 18.4145 10.0255 18.3139 10.0748L18.2471 10.1019L17.6667 10.2999L17.4687 10.8809C17.4326 10.9869 17.3658 11.0799 17.2769 11.1479C17.1879 11.216 17.0808 11.2561 16.969 11.2632C16.8572 11.2703 16.7458 11.244 16.649 11.1877C16.5521 11.1315 16.4742 11.0477 16.425 10.9471L16.3978 10.8809L16.1998 10.3005L15.6188 10.1025C15.5128 10.0665 15.4198 9.99975 15.3517 9.91082C15.2836 9.82189 15.2434 9.71475 15.2362 9.60296C15.2291 9.49117 15.2553 9.37978 15.3115 9.2829C15.3677 9.18602 15.4515 9.10801 15.5521 9.05876L15.6188 9.0316L16.1992 8.8336L16.3972 8.25262C16.4354 8.14085 16.5076 8.04382 16.6036 7.97513C16.6997 7.90645 16.8149 7.86956 16.933 7.86963Z\" fill=\"#1C6AC7\"/>\n<defs>\n<linearGradient id=\"paint0_linear_738_366\" x1=\"34.4783\" y1=\"5.02174\" x2=\"13\" y2=\"26.5\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=\"#00CCFF\"/>\n<stop offset=\"1\" stop-color=\"#CF7AFF\"/>\n</linearGradient>\n</defs>\n</svg>\n","<svg width=\"26\" height=\"27\" viewBox=\"0 0 26 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"0.5\" y=\"1\" width=\"25\" height=\"25\" rx=\"12.5\" stroke=\"url(#paint0_linear_738_366)\" stroke-opacity=\"0.9\"/>\n<circle cx=\"12.9999\" cy=\"13.4999\" r=\"10.1122\" fill=\"#5BA7FF\"/>\n<path d=\"M11.3364 9.82021C11.6747 8.83021 13.0426 8.80023 13.4437 9.73026L13.4776 9.82077L13.9341 11.1559C14.0388 11.462 14.2078 11.7422 14.4299 11.9775C14.652 12.2128 14.922 12.3977 15.2217 12.5198L15.3444 12.5656L16.6795 13.0216C17.6695 13.3599 17.6995 14.7278 16.77 15.1289L16.6795 15.1628L15.3444 15.6193C15.0382 15.7239 14.7579 15.8929 14.5225 16.115C14.2871 16.3372 14.1021 16.6072 13.98 16.9069L13.9341 17.0291L13.4782 18.3647C13.1399 19.3547 11.772 19.3847 11.3714 18.4552L11.3364 18.3647L10.8804 17.0296C10.7759 16.7234 10.6068 16.4431 10.3847 16.2077C10.1626 15.9723 9.89256 15.7873 9.59285 15.6651L9.47066 15.6193L8.13557 15.1634C7.14501 14.8251 7.11503 13.4572 8.04506 13.0566L8.13557 13.0216L9.47066 12.5656C9.77684 12.461 10.057 12.2919 10.2923 12.0698C10.5276 11.8477 10.7125 11.5777 10.8346 11.278L10.8804 11.1559L11.3364 9.82021ZM16.933 7.86963C17.0388 7.86963 17.1425 7.89932 17.2323 7.95532C17.3221 8.01132 17.3944 8.09139 17.441 8.18643L17.4681 8.25262L17.6661 8.83304L18.2471 9.03104C18.3532 9.06707 18.4462 9.13378 18.5143 9.22271C18.5824 9.31164 18.6226 9.41879 18.6297 9.53057C18.6368 9.64236 18.6107 9.75375 18.5544 9.85063C18.4982 9.94752 18.4145 10.0255 18.3139 10.0748L18.2471 10.1019L17.6667 10.2999L17.4687 10.8809C17.4326 10.9869 17.3658 11.0799 17.2769 11.1479C17.1879 11.216 17.0808 11.2561 16.969 11.2632C16.8572 11.2703 16.7458 11.244 16.649 11.1877C16.5521 11.1315 16.4742 11.0477 16.425 10.9471L16.3978 10.8809L16.1998 10.3005L15.6188 10.1025C15.5128 10.0665 15.4198 9.99975 15.3517 9.91082C15.2836 9.82189 15.2434 9.71475 15.2362 9.60296C15.2291 9.49117 15.2553 9.37978 15.3115 9.2829C15.3677 9.18602 15.4515 9.10801 15.5521 9.05876L15.6188 9.0316L16.1992 8.8336L16.3972 8.25262C16.4354 8.14085 16.5076 8.04382 16.6036 7.97513C16.6997 7.90645 16.8149 7.86956 16.933 7.86963Z\" fill=\"#1C6AC7\"/>\n<defs>\n<linearGradient id=\"paint0_linear_738_366\" x1=\"34.4783\" y1=\"5.02174\" x2=\"13\" y2=\"26.5\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=\"#00CCFF\"/>\n<stop offset=\"1\" stop-color=\"#CF7AFF\"/>\n</linearGradient>\n</defs>\n</svg>\n","export * from \"./components\";\n\n// Add types from Chameleon, without importing any JS in the final bundle.\n// Don't use 'import \"@genexus/chameleon-controls-library\"'\ntypeof import(\"@genexus/chameleon-controls-library/dist/types/index\");\n\nexport {\n mercuryChatMessageRender,\n mercuryCodeRender\n} from \"./components/chat/code-render\"; // for ch-chat\n\nimport nexaAvatar from \"./components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg\";\nexport { nexaAvatar };\n\nimport nexaAvatarCommon from \"./common/images/ai-avatar.svg\";\nexport { nexaAvatarCommon };\n"],"version":3}
|
|
@@ -18,7 +18,7 @@ const GxIdeListSelectorItem = /*@__PURE__*/ proxyCustomElement(class GxIdeListSe
|
|
|
18
18
|
*/
|
|
19
19
|
this.evaluateParentIsListSelector = () => {
|
|
20
20
|
const parentList = this.el.parentElement;
|
|
21
|
-
this.parentIsListSelector = parentList
|
|
21
|
+
this.parentIsListSelector = (parentList === null || parentList === void 0 ? void 0 : parentList.nodeName) === "GX-IDE-LIST-SELECTOR";
|
|
22
22
|
this.parentIsListSelector && (this.parentList = parentList);
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"list-selector-item.js","mappings":"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","names":[],"sources":["src/components/_helpers/list-selector/list-selector-item/list-selector-item.scss?tag=gx-ide-list-selector-item","src/components/_helpers/list-selector/list-selector-item/list-selector-item.tsx"],"sourcesContent":["@import \"../../../../global/gx-ide-mixins.scss\";\n@import \"../../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n@include box-sizing;\n\ngx-ide-list-selector-item {\n display: block;\n max-width: 100%;\n display: flex;\n font-size: inherit;\n font-weight: var(--item__font-weight);\n\n &:hover {\n .label {\n background-color: var(--item__bg-color--hover);\n cursor: pointer;\n }\n input:checked + .label {\n border-color: var(--item__border-color--selected-hover);\n }\n }\n}\n\n/*readonly*/\ngx-ide-list-selector-item[readonly]:not([readonly=\"false\"]) {\n .label {\n pointer-events: none;\n background-color: transparent;\n }\n}\n/*ellipsis*/\ngx-ide-list-selector-item[ellipsis]:not([ellipsis=\"false\"]) {\n .label {\n &__description {\n @include ellipsis;\n }\n }\n}\n\ngx-ide-list-selector-item input {\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n\n &:focus + .label {\n @include focus-outline();\n }\n &:checked + .label {\n background-color: var(--item__bg-color--selected);\n color: var(--item__color--selected);\n border-color: var(--item__border-color--selected);\n }\n}\n\n/*label-wrapper*/\ngx-ide-list-selector-item .label {\n width: 100%;\n border: 1px solid transparent;\n border-radius: var(--item__border-radius);\n}\n\n/*label*/\ngx-ide-list-selector-item .label {\n &__index {\n }\n &__wrapper {\n display: flex;\n min-height: 28px; /*this prevents height difference between items that have icons and items that do not*/\n align-items: center;\n gap: var(--mer-spacing--xs);\n padding: var(--mer-spacing--2xs) var(--mer-spacing--xs);\n width: 100%;\n }\n &__description {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n}\n\n/*no border*/\ngx-ide-list-selector-item[no-border] {\n border-block-start: none;\n}\n\n/*universal slot*/\ngx-ide-list-selector-item .label__universal-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element\n} from \"@stencil/core\";\n\n@Component({\n tag: \"gx-ide-list-selector-item\",\n styleUrl: \"list-selector-item.scss\",\n shadow: false\n})\nexport class GxIdeListSelectorItem {\n // 1.OWN PROPERTIES | WATCH'S //\n\n private parentIsListSelector: boolean;\n private parentList: HTMLGxIdeListSelectorElement;\n private checked: boolean;\n private name: string;\n private type: string;\n private hasUniversalSlot = false;\n private index: string = undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorItemElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The item id\n */\n @Prop({ reflect: true }) readonly itemId!: string;\n\n /**\n * The item value, that acts as a label as well\n */\n @Prop() readonly itemValue!: string;\n\n /**\n * This will set the input as checked\n */\n @Prop({ mutable: true }) itemChecked = false;\n\n /**\n * It allows to select the item by clicking on it. It will emit the item-id\n */\n @Prop({ mutable: true, reflect: true }) readonly: boolean;\n\n /**\n * The presence of this property will force the item text to not-wrap, and have ellipsis\n */\n @Prop({ mutable: true, reflect: true }) ellipsis: boolean;\n\n /**\n * The gemini icon name\n */\n @Prop() readonly icon: string;\n\n /**\n * Disables the item border\n */\n @Prop({ mutable: true, reflect: true }) noBorder = false;\n\n /**\n * Displays the universal slot at the end, instead of at the benign\n */\n @Prop({ reflect: true }) readonly universalSlotEnd = false;\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {\n this.evaluateParentIsListSelector();\n this.evaluateType();\n this.evaluateSelectable();\n this.evaluateEllipsis();\n this.evaluateChecked();\n this.evaluateBorder();\n this.evaluateUniversalSlot();\n this.assignName();\n this.evaluateOrderedList();\n }\n\n /**\n * Emits the item data\n */\n @Event() itemSelectionChanged: EventEmitter<ItemData>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference\n */\n private evaluateParentIsListSelector = () => {\n const parentList = this.el.parentElement as HTMLGxIdeListSelectorElement;\n this.parentIsListSelector = parentList?.nodeName === \"GX-IDE-LIST-SELECTOR\";\n this.parentIsListSelector && (this.parentList = parentList);\n };\n\n /**\n * Determines the type of item, based on the parent list-selector 'type' property value\n */\n private evaluateType = () => {\n const parentList: HTMLGxIdeListSelectorElement = this.el\n .parentElement as HTMLGxIdeListSelectorElement;\n this.type = parentList.type === \"single-selection\" ? \"radio\" : \"checkbox\";\n };\n\n /**\n * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item\n */\n private evaluateSelectable = () => {\n if (this.readonly === undefined && this.parentIsListSelector) {\n this.readonly = this.parentList.readonly;\n }\n };\n\n /**\n * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item\n */\n private evaluateEllipsis = () => {\n if (this.ellipsis === undefined && this.parentIsListSelector) {\n this.ellipsis = this.parentList.ellipsis;\n }\n };\n\n /**\n * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.\n */\n private evaluateChecked = () => {\n if (\n this.checked === undefined &&\n this.parentIsListSelector &&\n this.parentList.value !== undefined &&\n this.parentList.value === this.itemValue\n ) {\n this.checked = true;\n }\n };\n\n private evaluateBorder = () => {\n if (this.parentIsListSelector) {\n this.noBorder = this.parentList.noItemsBorder;\n }\n };\n\n private evaluateUniversalSlot = () => {\n this.hasUniversalSlot = !!this.el.querySelector(\"[slot=universal]\");\n };\n\n /**\n * Gets the listName required value, that is needed for the list selection to properly work\n */\n private assignName = () => {\n this.parentIsListSelector &&\n this.parentList.listName &&\n (this.name = this.parentList.listName);\n };\n\n private evaluateOrderedList = () => {\n if (this.parentIsListSelector && this.parentList.ordered) {\n let index: number | string =\n Array.from(this.parentList.children).indexOf(this.el) + 1;\n if (index < 10) {\n // This will make descriptions to be nicely aligned, between one digit, and two digit indexes items.\n index = `0${index}`;\n } else {\n index = `${index}`;\n }\n this.index = index;\n }\n };\n\n private onChangeHandler = (e: Event) => {\n this.itemChecked = (e.target as HTMLInputElement).checked;\n this.itemSelectionChanged.emit({\n itemId: this.itemId,\n itemValue: this.itemValue,\n itemIcon: this.icon,\n itemChecked: this.itemChecked\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host role=\"listitem\">\n <input\n type={this.type}\n id={this.itemId}\n name={this.name}\n value={this.itemValue}\n checked={this.itemChecked}\n onChange={this.onChangeHandler}\n disabled={this.readonly}\n part=\"input\"\n />\n <label class=\"label\" htmlFor={this.itemId} part=\"label\">\n <div class=\"label__wrapper\">\n {this.index ? (\n <span class=\"label__index\">{this.index}. </span>\n ) : null}\n {this.hasUniversalSlot ? (\n <span class=\"label__universal-slot\" part=\"universal-slot\">\n <slot name=\"universal\"></slot>\n </span>\n ) : null}\n {this.icon ? (\n <ch-image class=\"icon-md\" src={this.icon} part=\"icon\"></ch-image>\n ) : null}\n <span class=\"label__description\" part=\"description\">\n {this.itemValue ? this.itemValue : <slot></slot>}\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n\nexport type ItemData = {\n itemId: string;\n itemValue: string;\n itemIcon?: string;\n itemChecked: boolean;\n};\n"],"version":3}
|
|
1
|
+
{"file":"list-selector-item.js","mappings":"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","names":[],"sources":["src/components/_helpers/list-selector/list-selector-item/list-selector-item.scss?tag=gx-ide-list-selector-item","src/components/_helpers/list-selector/list-selector-item/list-selector-item.tsx"],"sourcesContent":["@import \"../../../../global/gx-ide-mixins.scss\";\n@import \"../../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n@include box-sizing;\n\ngx-ide-list-selector-item {\n display: block;\n max-width: 100%;\n display: flex;\n font-size: inherit;\n font-weight: var(--item__font-weight);\n\n &:hover {\n .label {\n background-color: var(--item__bg-color--hover);\n cursor: pointer;\n }\n input:checked + .label {\n border-color: var(--item__border-color--selected-hover);\n }\n }\n}\n\n/*readonly*/\ngx-ide-list-selector-item[readonly]:not([readonly=\"false\"]) {\n .label {\n pointer-events: none;\n background-color: transparent;\n }\n}\n/*ellipsis*/\ngx-ide-list-selector-item[ellipsis]:not([ellipsis=\"false\"]) {\n .label {\n &__description {\n @include ellipsis;\n }\n }\n}\n\ngx-ide-list-selector-item input {\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n\n &:focus + .label {\n @include focus-outline();\n }\n &:checked + .label {\n background-color: var(--item__bg-color--selected);\n color: var(--item__color--selected);\n border-color: var(--item__border-color--selected);\n }\n}\n\n/*label-wrapper*/\ngx-ide-list-selector-item .label {\n width: 100%;\n border: 1px solid transparent;\n border-radius: var(--item__border-radius);\n}\n\n/*label*/\ngx-ide-list-selector-item .label {\n &__index {\n }\n &__wrapper {\n display: flex;\n min-height: 28px; /*this prevents height difference between items that have icons and items that do not*/\n align-items: center;\n gap: var(--mer-spacing--xs);\n padding: var(--mer-spacing--2xs) var(--mer-spacing--xs);\n width: 100%;\n }\n &__description {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n}\n\n/*no border*/\ngx-ide-list-selector-item[no-border] {\n border-block-start: none;\n}\n\n/*universal slot*/\ngx-ide-list-selector-item .label__universal-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element\n} from \"@stencil/core\";\n\n@Component({\n tag: \"gx-ide-list-selector-item\",\n styleUrl: \"list-selector-item.scss\",\n shadow: false\n})\nexport class GxIdeListSelectorItem {\n // 1.OWN PROPERTIES | WATCH'S //\n\n private parentIsListSelector: boolean;\n private parentList: HTMLGxIdeListSelectorElement;\n private checked: boolean;\n private name: string;\n private type: string;\n private hasUniversalSlot = false;\n private index: string = undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorItemElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The item id\n */\n @Prop({ reflect: true }) readonly itemId!: string;\n\n /**\n * The item value, that acts as a label as well\n */\n @Prop() readonly itemValue!: string;\n\n /**\n * This will set the input as checked\n */\n @Prop({ mutable: true }) itemChecked = false;\n\n /**\n * It allows to select the item by clicking on it. It will emit the item-id\n */\n @Prop({ mutable: true, reflect: true }) readonly: boolean;\n\n /**\n * The presence of this property will force the item text to not-wrap, and have ellipsis\n */\n @Prop({ mutable: true, reflect: true }) ellipsis: boolean;\n\n /**\n * The gemini icon name\n */\n @Prop() readonly icon: string;\n\n /**\n * Disables the item border\n */\n @Prop({ mutable: true, reflect: true }) noBorder = false;\n\n /**\n * Displays the universal slot at the end, instead of at the benign\n */\n @Prop({ reflect: true }) readonly universalSlotEnd = false;\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {\n this.evaluateParentIsListSelector();\n this.evaluateType();\n this.evaluateSelectable();\n this.evaluateEllipsis();\n this.evaluateChecked();\n this.evaluateBorder();\n this.evaluateUniversalSlot();\n this.assignName();\n this.evaluateOrderedList();\n }\n\n /**\n * Emits the item data\n */\n @Event() itemSelectionChanged: EventEmitter<ItemData>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference\n */\n private evaluateParentIsListSelector = () => {\n const parentList = this.el.parentElement as HTMLGxIdeListSelectorElement;\n this.parentIsListSelector = parentList?.nodeName === \"GX-IDE-LIST-SELECTOR\";\n this.parentIsListSelector && (this.parentList = parentList);\n };\n\n /**\n * Determines the type of item, based on the parent list-selector 'type' property value\n */\n private evaluateType = () => {\n const parentList: HTMLGxIdeListSelectorElement = this.el\n .parentElement as HTMLGxIdeListSelectorElement;\n this.type = parentList.type === \"single-selection\" ? \"radio\" : \"checkbox\";\n };\n\n /**\n * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item\n */\n private evaluateSelectable = () => {\n if (this.readonly === undefined && this.parentIsListSelector) {\n this.readonly = this.parentList.readonly;\n }\n };\n\n /**\n * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item\n */\n private evaluateEllipsis = () => {\n if (this.ellipsis === undefined && this.parentIsListSelector) {\n this.ellipsis = this.parentList.ellipsis;\n }\n };\n\n /**\n * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.\n */\n private evaluateChecked = () => {\n if (\n this.checked === undefined &&\n this.parentIsListSelector &&\n this.parentList.value !== undefined &&\n this.parentList.value === this.itemValue\n ) {\n this.checked = true;\n }\n };\n\n private evaluateBorder = () => {\n if (this.parentIsListSelector) {\n this.noBorder = this.parentList.noItemsBorder;\n }\n };\n\n private evaluateUniversalSlot = () => {\n this.hasUniversalSlot = !!this.el.querySelector(\"[slot=universal]\");\n };\n\n /**\n * Gets the listName required value, that is needed for the list selection to properly work\n */\n private assignName = () => {\n this.parentIsListSelector &&\n this.parentList.listName &&\n (this.name = this.parentList.listName);\n };\n\n private evaluateOrderedList = () => {\n if (this.parentIsListSelector && this.parentList.ordered) {\n let index: number | string =\n Array.from(this.parentList.children).indexOf(this.el) + 1;\n if (index < 10) {\n // This will make descriptions to be nicely aligned, between one digit, and two digit indexes items.\n index = `0${index}`;\n } else {\n index = `${index}`;\n }\n this.index = index;\n }\n };\n\n private onChangeHandler = (e: Event) => {\n this.itemChecked = (e.target as HTMLInputElement).checked;\n this.itemSelectionChanged.emit({\n itemId: this.itemId,\n itemValue: this.itemValue,\n itemIcon: this.icon,\n itemChecked: this.itemChecked\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host role=\"listitem\">\n <input\n type={this.type}\n id={this.itemId}\n name={this.name}\n value={this.itemValue}\n checked={this.itemChecked}\n onChange={this.onChangeHandler}\n disabled={this.readonly}\n part=\"input\"\n />\n <label class=\"label\" htmlFor={this.itemId} part=\"label\">\n <div class=\"label__wrapper\">\n {this.index ? (\n <span class=\"label__index\">{this.index}. </span>\n ) : null}\n {this.hasUniversalSlot ? (\n <span class=\"label__universal-slot\" part=\"universal-slot\">\n <slot name=\"universal\"></slot>\n </span>\n ) : null}\n {this.icon ? (\n <ch-image class=\"icon-md\" src={this.icon} part=\"icon\"></ch-image>\n ) : null}\n <span class=\"label__description\" part=\"description\">\n {this.itemValue ? this.itemValue : <slot></slot>}\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n\nexport type ItemData = {\n itemId: string;\n itemValue: string;\n itemIcon?: string;\n itemChecked: boolean;\n};\n"],"version":3}
|
|
@@ -8,10 +8,10 @@ const LANG_PREFIX = ".lang.";
|
|
|
8
8
|
const LANG_EXTENSION = ".json";
|
|
9
9
|
class Locale {
|
|
10
10
|
static getLang() {
|
|
11
|
-
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const lang = (_b = (_a = document
|
|
12
13
|
.getElementsByTagName("html")[0]
|
|
13
|
-
.getAttribute("lang")
|
|
14
|
-
?.valueOf() ?? DEFAULT_LANGUAGE;
|
|
14
|
+
.getAttribute("lang")) === null || _a === void 0 ? void 0 : _a.valueOf()) !== null && _b !== void 0 ? _b : DEFAULT_LANGUAGE;
|
|
15
15
|
// Normalize en-US
|
|
16
16
|
return lang === "en-US" ? "en" : lang;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"locale.js","mappings":";;AAEA,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,cAAc,GAAG,OAAO,CAAC;MAElB,MAAM;IAGT,OAAO,OAAO
|
|
1
|
+
{"file":"locale.js","mappings":";;AAEA,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,cAAc,GAAG,OAAO,CAAC;MAElB,MAAM;IAGT,OAAO,OAAO;;QACpB,MAAM,IAAI,GACR,MAAA,MAAA,QAAQ;aACL,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/B,YAAY,CAAC,MAAM,CAAC,0CACnB,OAAO,EAAE,mCAAI,gBAAgB,CAAC;;QAGpC,OAAO,IAAI,KAAK,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;KACvC;IAEO,OAAO,UAAU,CACvB,SAAiB,EACjB,IAAY,EACZ,MAAc;QAEd,IAAI,MAAM,KAAK,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC;SAC1B;QACD,MAAM,IAAI,GACR,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,EAAW,CAAC;QAExG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YACjC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAC5D,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACf,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC1B;qBAAM;oBACL,MAAM,EAAE,CAAC;iBACV;aACF,EAAE,MAAM,CAAC,CAAC;SACZ,CAAC,CAAC;KACJ;IAEM,aAAa,mBAAmB,CACrC,OAAoB,EACpB,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,EAAE;QAEd,IAAI,SAAS,KAAK,EAAE,EAAE;YACpB,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;SACzE;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KACzD;IAEM,OAAO,MAAM,CAAC,IAAY,EAAE,KAAe;QAChD,IAAI,GAAG,GAAW,IAAI,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACrD,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KACZ;;AArDa,uBAAgB,GAAG,EAAE;;;;","names":[],"sources":["src/common/locale.ts"],"sourcesContent":["import { Build } from \"@stencil/core\";\n\nconst ASSETS_FOLDER = \"gx-ide-assets/\";\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst DEFAULT_LANGUAGE = \"en\";\nconst LANGS_FOLDER = \"langs/\";\nconst LANG_PREFIX = \".lang.\";\nconst LANG_EXTENSION = \".json\";\n\nexport class Locale {\n public static commonAssetsPath = \"\";\n\n private static getLang(): string {\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n\n // Normalize en-US\n return lang === \"en-US\" ? \"en\" : lang;\n }\n\n private static getStrings(\n component: string,\n lang: string,\n folder: string\n ): Promise<any> {\n if (folder === \"\") {\n folder = `${component}/`;\n }\n const path =\n `${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise((resolve, reject): void => {\n fetch(Build.isTesting ? \"/build/\" + path : path).then(langFile => {\n if (langFile.ok) {\n resolve(langFile.json());\n } else {\n reject();\n }\n }, reject);\n });\n }\n\n public static async getComponentStrings(\n element: HTMLElement,\n folder = \"\",\n component = \"\"\n ): Promise<any> {\n if (component === \"\") {\n component = element.tagName.toLowerCase().replace(COMPONENT_PREFIX, \"\");\n }\n const lang = Locale.getLang();\n return await Locale.getStrings(component, lang, folder);\n }\n\n public static format(text: string, parms: string[]): string {\n let ret: string = text;\n parms.forEach(parm => {\n ret = ret.replace(`{${parms.indexOf(parm)}}`, parm);\n });\n return ret;\n }\n}\n"],"version":3}
|