@genexus/genexus-ide-ui 1.0.65 → 1.0.67
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/{common-f7361979.js → common-72f91a78.js} +16 -1
- package/dist/cjs/common-72f91a78.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js +60 -0
- package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +6 -3
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +53 -28
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/common.js +8 -0
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/components/_branding/about/about.css +64 -0
- package/dist/collection/components/_branding/about/about.js +178 -0
- package/dist/collection/components/_branding/about/about.js.map +1 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/images/next-arrow.svg +3 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/images/next-logo.svg +4 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/images/next-square.svg +3 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/langs/about.lang.en.json +11 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/langs/about.lang.ja.json +11 -0
- package/dist/collection/components/_branding/about/gx-ide-assets/about/langs/about.lang.zh.json +11 -0
- package/dist/collection/components/select-kb-items/helpers.js +6 -3
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/splash/gx-ide-assets/splash/images/copyrights-illustration.svg +118 -0
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.en.json +12 -11
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.ja.json +12 -11
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.zh.json +12 -11
- package/dist/collection/components/splash/splash.css +147 -36
- package/dist/collection/components/splash/splash.js +149 -43
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/common.js +15 -1
- package/dist/components/common.js.map +1 -1
- package/dist/components/gx-ide-about.d.ts +11 -0
- package/dist/components/gx-ide-about.js +81 -0
- package/dist/components/gx-ide-about.js.map +1 -0
- package/dist/components/gx-ide-select-kb-items.js +6 -3
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-splash.js +61 -33
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/esm/{code-render-36275eb4.js → code-render-f3d41da4.js} +2 -2
- package/dist/esm/{code-render-36275eb4.js.map → code-render-f3d41da4.js.map} +1 -1
- package/dist/esm/{common-2a1e4e67.js → common-ccb4504a.js} +17 -3
- package/dist/esm/common-ccb4504a.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +3 -3
- package/dist/esm/gx-ide-about.entry.js +56 -0
- package/dist/esm/gx-ide-about.entry.js.map +1 -0
- package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-chat-container.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
- package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
- package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +3 -3
- package/dist/esm/gx-ide-new-kb.entry.js +3 -3
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +2 -2
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +2 -2
- package/dist/esm/gx-ide-select-kb-items.entry.js +7 -4
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +1 -1
- package/dist/esm/gx-ide-sign-in.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +54 -29
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
- package/dist/esm/gx-ide-switcher.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +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 +3 -3
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-top-bar.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +3 -3
- package/dist/esm/{helpers-ec4585e5.js → helpers-10479d69.js} +2 -2
- package/dist/esm/{helpers-ec4585e5.js.map → helpers-10479d69.js.map} +1 -1
- package/dist/esm/{index-6a0d98df.js → index-10af18cf.js} +2 -2
- package/dist/esm/{index-6a0d98df.js.map → index-10af18cf.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-combo-items-70aa3ecf.js → render-combo-items-e9c8df5e.js} +2 -2
- package/dist/esm/{render-combo-items-70aa3ecf.js.map → render-combo-items-e9c8df5e.js.map} +1 -1
- package/dist/esm/{render-list-item-2ad96b71.js → render-list-item-f5836c31.js} +2 -2
- package/dist/esm/{render-list-item-2ad96b71.js.map → render-list-item-f5836c31.js.map} +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/about/images/next-arrow.svg +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/about/images/next-logo.svg +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/about/images/next-square.svg +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.en.json +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.ja.json +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.zh.json +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/images/copyrights-illustration.svg +118 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.en.json +12 -11
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.ja.json +12 -11
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.zh.json +12 -11
- package/dist/genexus-ide-ui/index.esm.js +2 -2
- package/dist/genexus-ide-ui/{p-97114eef.entry.js → p-0078926e.entry.js} +3 -3
- package/dist/genexus-ide-ui/p-0550fd5f.entry.js +96 -0
- package/dist/genexus-ide-ui/p-0550fd5f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1364f700.entry.js → p-0e48ff82.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-1cfcec9e.entry.js → p-10fe69d7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-de589873.entry.js → p-10ff4729.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-5dc54e85.entry.js → p-1b21927c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-bc395bef.entry.js → p-1bc2613e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-502f2b47.entry.js → p-1cc0ca07.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3e15089e.entry.js → p-1dd7be84.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-2cf37639.js → p-25a9f1d7.js} +2 -2
- package/dist/genexus-ide-ui/{p-b3e352c8.entry.js → p-26815be2.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d8c7e0b5.entry.js → p-290bb089.entry.js} +31 -31
- package/dist/genexus-ide-ui/{p-9ffe118a.entry.js → p-304d5629.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-df8bf481.entry.js → p-31beae9e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e07c97d5.entry.js → p-33d12207.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-6637e817.entry.js → p-351d9a30.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-fbab024e.entry.js → p-38aee3da.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3d2bdcb9.entry.js → p-3c70b7a7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-24af7f98.entry.js → p-3f5112f4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-afc73c6f.entry.js → p-42910d15.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1a53cc60.entry.js → p-46ffec64.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f654f86d.entry.js → p-4cc35270.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-df4249e1.entry.js → p-4dd463ed.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-ebe6d71f.entry.js → p-5825c3c1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-03265b1b.entry.js → p-5e8326dd.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-eaab7765.entry.js → p-628d0a3f.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-0d9a25ad.entry.js → p-6331b2f2.entry.js} +27 -24
- package/dist/genexus-ide-ui/p-6331b2f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8900c81a.entry.js → p-68969051.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d6c2e256.js → p-6ade96a2.js} +2 -2
- package/dist/genexus-ide-ui/{p-8ff555f4.entry.js → p-6d8d4428.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-85eb72eb.entry.js → p-6ec79fd8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6374dabb.entry.js → p-739058a1.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-b2af0c95.entry.js → p-81b673db.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1c36217e.entry.js → p-82e107c8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3468662b.entry.js → p-842a081e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-2de01408.js → p-8c0b4d9f.js} +2 -2
- package/dist/genexus-ide-ui/{p-e9f77ad0.entry.js → p-94904819.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-dcb1516d.entry.js → p-94b4993e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4cd56d14.entry.js → p-950953d1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-70024ecb.entry.js → p-9678ac9d.entry.js} +20 -20
- package/dist/genexus-ide-ui/{p-49f9f6bf.entry.js → p-98b30c5d.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-9a609b51.js +143 -0
- package/dist/genexus-ide-ui/p-9a609b51.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5b1576cc.js → p-9ddea83b.js} +9 -9
- package/dist/genexus-ide-ui/{p-c21300fb.entry.js → p-a0529222.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-a76d8ad7.entry.js +160 -0
- package/dist/genexus-ide-ui/p-a76d8ad7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a6dd3f03.entry.js → p-b3d615da.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-22908448.entry.js → p-ba7d1472.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-f2f9e36e.entry.js → p-bb44d9f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-c58e0a92.entry.js +17 -0
- package/dist/genexus-ide-ui/{p-acaed500.entry.js → p-c624a8da.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9a604798.entry.js → p-c6aeddf9.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-aa821b66.entry.js → p-caed0369.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-34b5a494.entry.js → p-cbe2dd13.entry.js} +5 -5
- package/dist/genexus-ide-ui/{p-71f3b66e.entry.js → p-d095a37c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4fcde4d0.entry.js → p-d5d40477.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-1105c966.entry.js → p-d83fc68d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d7169c07.entry.js → p-dbcb6152.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-57986b2e.entry.js → p-dd515807.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5a734013.entry.js → p-dd9136a4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b238a545.entry.js → p-de7f0c1f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-822090ba.entry.js → p-e502c2fd.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-52af77c2.entry.js → p-e7fb3ee3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6e667dde.entry.js → p-eaa68fb2.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-f3aa0e41.js → p-f549f6e1.js} +2 -2
- package/dist/genexus-ide-ui/{p-c74d18fe.entry.js → p-fb314685.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-26aff07c.entry.js → p-fcee5a81.entry.js} +3 -3
- package/dist/types/common/common.d.ts +1 -0
- package/dist/types/components/_branding/about/about.d.ts +33 -0
- package/dist/types/components/select-kb-items/select-kb-items.d.ts +2 -1
- package/dist/types/components/splash/splash.d.ts +32 -8
- package/dist/types/components.d.ts +113 -8
- package/package.json +1 -1
- package/dist/cjs/common-f7361979.js.map +0 -1
- package/dist/esm/common-2a1e4e67.js.map +0 -1
- package/dist/genexus-ide-ui/p-0d9a25ad.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bb1394ca.entry.js +0 -113
- package/dist/genexus-ide-ui/p-bb1394ca.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f194af32.js +0 -97
- package/dist/genexus-ide-ui/p-f194af32.js.map +0 -1
- package/dist/genexus-ide-ui/p-f963b96e.entry.js +0 -17
- /package/dist/collection/components/{splash/gx-ide-assets/splash → _branding/about/gx-ide-assets/about}/images/copyrights-illustration.png +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{splash → about}/images/copyrights-illustration.png +0 -0
- /package/dist/genexus-ide-ui/{p-97114eef.entry.js.map → p-0078926e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1364f700.entry.js.map → p-0e48ff82.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1cfcec9e.entry.js.map → p-10fe69d7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-de589873.entry.js.map → p-10ff4729.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5dc54e85.entry.js.map → p-1b21927c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bc395bef.entry.js.map → p-1bc2613e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-502f2b47.entry.js.map → p-1cc0ca07.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3e15089e.entry.js.map → p-1dd7be84.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2cf37639.js.map → p-25a9f1d7.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b3e352c8.entry.js.map → p-26815be2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d8c7e0b5.entry.js.map → p-290bb089.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9ffe118a.entry.js.map → p-304d5629.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-df8bf481.entry.js.map → p-31beae9e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e07c97d5.entry.js.map → p-33d12207.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6637e817.entry.js.map → p-351d9a30.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fbab024e.entry.js.map → p-38aee3da.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3d2bdcb9.entry.js.map → p-3c70b7a7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-24af7f98.entry.js.map → p-3f5112f4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-afc73c6f.entry.js.map → p-42910d15.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1a53cc60.entry.js.map → p-46ffec64.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f654f86d.entry.js.map → p-4cc35270.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-df4249e1.entry.js.map → p-4dd463ed.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ebe6d71f.entry.js.map → p-5825c3c1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-03265b1b.entry.js.map → p-5e8326dd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-eaab7765.entry.js.map → p-628d0a3f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8900c81a.entry.js.map → p-68969051.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d6c2e256.js.map → p-6ade96a2.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8ff555f4.entry.js.map → p-6d8d4428.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-85eb72eb.entry.js.map → p-6ec79fd8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6374dabb.entry.js.map → p-739058a1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b2af0c95.entry.js.map → p-81b673db.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1c36217e.entry.js.map → p-82e107c8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3468662b.entry.js.map → p-842a081e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2de01408.js.map → p-8c0b4d9f.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e9f77ad0.entry.js.map → p-94904819.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-dcb1516d.entry.js.map → p-94b4993e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4cd56d14.entry.js.map → p-950953d1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-70024ecb.entry.js.map → p-9678ac9d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-49f9f6bf.entry.js.map → p-98b30c5d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5b1576cc.js.map → p-9ddea83b.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c21300fb.entry.js.map → p-a0529222.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a6dd3f03.entry.js.map → p-b3d615da.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-22908448.entry.js.map → p-ba7d1472.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f2f9e36e.entry.js.map → p-bb44d9f9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f963b96e.entry.js.map → p-c58e0a92.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-acaed500.entry.js.map → p-c624a8da.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9a604798.entry.js.map → p-c6aeddf9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-aa821b66.entry.js.map → p-caed0369.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-34b5a494.entry.js.map → p-cbe2dd13.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-71f3b66e.entry.js.map → p-d095a37c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4fcde4d0.entry.js.map → p-d5d40477.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1105c966.entry.js.map → p-d83fc68d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d7169c07.entry.js.map → p-dbcb6152.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-57986b2e.entry.js.map → p-dd515807.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5a734013.entry.js.map → p-dd9136a4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b238a545.entry.js.map → p-de7f0c1f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-822090ba.entry.js.map → p-e502c2fd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-52af77c2.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6e667dde.entry.js.map → p-eaa68fb2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f3aa0e41.js.map → p-f549f6e1.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c74d18fe.entry.js.map → p-fb314685.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-26aff07c.entry.js.map → p-fcee5a81.entry.js.map} +0 -0
|
@@ -17,12 +17,27 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
17
17
|
var _GxIdeUiSplash_componentLocale;
|
|
18
18
|
// Stencil
|
|
19
19
|
import { Host, h, getAssetPath } from "@stencil/core";
|
|
20
|
-
|
|
20
|
+
import { getIconPath } from "@genexus/mercury";
|
|
21
21
|
import { Locale } from "../../common/locale";
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const CSS_BUNDLES = [
|
|
22
|
+
import { ANIMATION_DOTS } from "../../common/common";
|
|
23
|
+
const COPYRIGHTS_ILLUSTRATION = getAssetPath(`./gx-ide-assets/splash/images/copyrights-illustration.svg`);
|
|
24
|
+
const LOGO_NEXT = getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
|
|
25
|
+
const CSS_BUNDLES = [
|
|
26
|
+
"resets/box-sizing",
|
|
27
|
+
"utils/typography",
|
|
28
|
+
"components/button",
|
|
29
|
+
"chameleon/scrollbar"
|
|
30
|
+
];
|
|
31
|
+
const OPEN_LOG_ICON = getIconPath({
|
|
32
|
+
category: "system",
|
|
33
|
+
name: "launch",
|
|
34
|
+
colorType: "primary"
|
|
35
|
+
});
|
|
36
|
+
const CLOSE_ICON = getIconPath({
|
|
37
|
+
category: "system",
|
|
38
|
+
name: "close",
|
|
39
|
+
colorType: "on-elevation"
|
|
40
|
+
});
|
|
26
41
|
export class GxIdeUiSplash {
|
|
27
42
|
constructor() {
|
|
28
43
|
/**
|
|
@@ -30,31 +45,42 @@ export class GxIdeUiSplash {
|
|
|
30
45
|
*/
|
|
31
46
|
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
32
47
|
_GxIdeUiSplash_componentLocale.set(this, void 0);
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// wait until the slide disappears, then remove.
|
|
42
|
-
this.el.remove();
|
|
43
|
-
}, SLIDE_FADE_DURATION);
|
|
44
|
-
}
|
|
48
|
+
this.ariaBusy = true;
|
|
49
|
+
this.downloadDockerCallback = undefined;
|
|
50
|
+
this.quitCallback = undefined;
|
|
51
|
+
this.messages = [];
|
|
52
|
+
this.openLogCallback = undefined;
|
|
53
|
+
this.showQuitButton = false;
|
|
54
|
+
this.showOpenLogLink = false;
|
|
55
|
+
this.showDockerMissingError = false;
|
|
45
56
|
}
|
|
46
57
|
async componentWillLoad() {
|
|
47
58
|
__classPrivateFieldSet(this, _GxIdeUiSplash_componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
48
59
|
}
|
|
49
|
-
componentDidLoad() {
|
|
50
|
-
this.splashVisible = true;
|
|
51
|
-
}
|
|
52
60
|
render() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const renderOpenLogLink = this.showOpenLogLink && this.openLogCallback;
|
|
63
|
+
const renderInstallationErrorMessage = this.showQuitButton && this.quitCallback && this.messages.length > 0;
|
|
64
|
+
const renderInitializingMessage = !(this.showQuitButton && this.quitCallback) && ((_a = this.messages) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
65
|
+
const renderErrorMessage = this.showDockerMissingError || !renderInitializingMessage;
|
|
66
|
+
let installationErrorMessage = __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").warnings.installationFailed;
|
|
67
|
+
if (renderOpenLogLink) {
|
|
68
|
+
installationErrorMessage = `${installationErrorMessage} ${__classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").warnings.checkTheLog}`;
|
|
69
|
+
}
|
|
70
|
+
return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("div", { class: {
|
|
71
|
+
scrollable: true,
|
|
72
|
+
wrapper: true
|
|
73
|
+
} }, h("div", { class: "side-inline-start", style: { backgroundImage: `url(${COPYRIGHTS_ILLUSTRATION})` }, role: "img" }), h("section", { class: "side-inline-end scrollable" }, this.quitCallback && this.showQuitButton && (h("button", { class: "button-close", "aria-label": "close presentation", onClick: this.quitCallback }, h("ch-image", { class: "icon-md", src: CLOSE_ICON }))), h("header", { class: "header" }, h("img", { src: LOGO_NEXT, alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAlternativeText }), h("h2", { class: "title" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").title), h("p", { class: "body-italic-m header__description" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").allRightsReserved), h("p", { class: "body-italic-m header__description" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").copyright)), h("main", { class: "main" }, renderInitializingMessage && (h("p", { class: {
|
|
74
|
+
"body-regular-m": true,
|
|
75
|
+
"status--processing": true
|
|
76
|
+
} }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").initializingServices, ANIMATION_DOTS("tiny", "on-surface"))), h("code", { class: "log__container scrollable", role: "status", "aria-live": "polite", "aria-busy": this.ariaBusy }, (_b = this.messages) === null || _b === void 0 ? void 0 : _b.reverse().map((message, i) => {
|
|
77
|
+
return (h("p", { class: {
|
|
78
|
+
"tiny-regular-l": true,
|
|
79
|
+
"log__message": true,
|
|
80
|
+
"log__message--error": message.type === "error"
|
|
81
|
+
}, key: this.messages.length - i }, message.text));
|
|
82
|
+
})), renderErrorMessage && (h("p", { class: "error-message status--error" }, renderInstallationErrorMessage && (h("span", null, installationErrorMessage)), renderInstallationErrorMessage &&
|
|
83
|
+
this.showDockerMissingError && h("span", null, " - "), this.showDockerMissingError && (h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").warnings.dockerMissing))))), h("footer", { class: "footer" }, h("div", { class: "buttons-spacer" }, this.showDockerMissingError && (h("button", { key: "download-docker", class: "button-secondary button-icon-and-text download-docker-button", onClick: this.downloadDockerCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").downloadDocker)), renderOpenLogLink && (h("button", { key: "open-log", class: "button-tertiary button-icon-and-text", onClick: this.openLogCallback }, h("ch-image", { class: "icon-md", src: OPEN_LOG_ICON }), __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").openLog))))))));
|
|
58
84
|
}
|
|
59
85
|
static get is() { return "gx-ide-splash"; }
|
|
60
86
|
static get encapsulation() { return "shadow"; }
|
|
@@ -71,24 +97,92 @@ export class GxIdeUiSplash {
|
|
|
71
97
|
static get assetsDirs() { return ["gx-ide-assets/splash"]; }
|
|
72
98
|
static get properties() {
|
|
73
99
|
return {
|
|
74
|
-
"
|
|
75
|
-
"type": "
|
|
100
|
+
"downloadDockerCallback": {
|
|
101
|
+
"type": "unknown",
|
|
102
|
+
"mutable": false,
|
|
103
|
+
"complexType": {
|
|
104
|
+
"original": "() => void",
|
|
105
|
+
"resolved": "() => void",
|
|
106
|
+
"references": {}
|
|
107
|
+
},
|
|
108
|
+
"required": false,
|
|
109
|
+
"optional": false,
|
|
110
|
+
"docs": {
|
|
111
|
+
"tags": [],
|
|
112
|
+
"text": "Callback invoked when the user clicks the 'Download Docker' button."
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"quitCallback": {
|
|
116
|
+
"type": "unknown",
|
|
117
|
+
"mutable": false,
|
|
118
|
+
"complexType": {
|
|
119
|
+
"original": "() => void",
|
|
120
|
+
"resolved": "() => void",
|
|
121
|
+
"references": {}
|
|
122
|
+
},
|
|
123
|
+
"required": false,
|
|
124
|
+
"optional": false,
|
|
125
|
+
"docs": {
|
|
126
|
+
"tags": [],
|
|
127
|
+
"text": "Callback invoked when the user clicks the quit button."
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"messages": {
|
|
131
|
+
"type": "unknown",
|
|
132
|
+
"mutable": false,
|
|
133
|
+
"complexType": {
|
|
134
|
+
"original": "MessageType[]",
|
|
135
|
+
"resolved": "MessageType[]",
|
|
136
|
+
"references": {
|
|
137
|
+
"MessageType": {
|
|
138
|
+
"location": "local",
|
|
139
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/splash/splash.tsx",
|
|
140
|
+
"id": "src/components/splash/splash.tsx::MessageType"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"required": false,
|
|
145
|
+
"optional": false,
|
|
146
|
+
"docs": {
|
|
147
|
+
"tags": [],
|
|
148
|
+
"text": "Array of messages to display in the text box.\nThis property updates whenever a message is added,\nand the scroll should position itself at the bottom to keep the last message visible."
|
|
149
|
+
},
|
|
150
|
+
"defaultValue": "[]"
|
|
151
|
+
},
|
|
152
|
+
"openLogCallback": {
|
|
153
|
+
"type": "unknown",
|
|
76
154
|
"mutable": false,
|
|
77
155
|
"complexType": {
|
|
78
|
-
"original": "
|
|
79
|
-
"resolved": "
|
|
156
|
+
"original": "() => void",
|
|
157
|
+
"resolved": "() => void",
|
|
80
158
|
"references": {}
|
|
81
159
|
},
|
|
82
|
-
"required":
|
|
160
|
+
"required": false,
|
|
161
|
+
"optional": false,
|
|
162
|
+
"docs": {
|
|
163
|
+
"tags": [],
|
|
164
|
+
"text": "Callback invoked when the user clicks the 'Open log' link."
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"showQuitButton": {
|
|
168
|
+
"type": "boolean",
|
|
169
|
+
"mutable": false,
|
|
170
|
+
"complexType": {
|
|
171
|
+
"original": "boolean",
|
|
172
|
+
"resolved": "boolean",
|
|
173
|
+
"references": {}
|
|
174
|
+
},
|
|
175
|
+
"required": false,
|
|
83
176
|
"optional": false,
|
|
84
177
|
"docs": {
|
|
85
178
|
"tags": [],
|
|
86
|
-
"text": "
|
|
179
|
+
"text": "Set to `true` to display the quit button."
|
|
87
180
|
},
|
|
88
|
-
"attribute": "
|
|
89
|
-
"reflect": false
|
|
181
|
+
"attribute": "show-quit-button",
|
|
182
|
+
"reflect": false,
|
|
183
|
+
"defaultValue": "false"
|
|
90
184
|
},
|
|
91
|
-
"
|
|
185
|
+
"showOpenLogLink": {
|
|
92
186
|
"type": "boolean",
|
|
93
187
|
"mutable": false,
|
|
94
188
|
"complexType": {
|
|
@@ -100,9 +194,27 @@ export class GxIdeUiSplash {
|
|
|
100
194
|
"optional": false,
|
|
101
195
|
"docs": {
|
|
102
196
|
"tags": [],
|
|
103
|
-
"text": "
|
|
197
|
+
"text": "Set to `true` to display the 'Open log' link."
|
|
104
198
|
},
|
|
105
|
-
"attribute": "
|
|
199
|
+
"attribute": "show-open-log-link",
|
|
200
|
+
"reflect": false,
|
|
201
|
+
"defaultValue": "false"
|
|
202
|
+
},
|
|
203
|
+
"showDockerMissingError": {
|
|
204
|
+
"type": "boolean",
|
|
205
|
+
"mutable": false,
|
|
206
|
+
"complexType": {
|
|
207
|
+
"original": "boolean",
|
|
208
|
+
"resolved": "boolean",
|
|
209
|
+
"references": {}
|
|
210
|
+
},
|
|
211
|
+
"required": false,
|
|
212
|
+
"optional": false,
|
|
213
|
+
"docs": {
|
|
214
|
+
"tags": [],
|
|
215
|
+
"text": "Set to `true` to display \"Docker is not installed\" error message and to display \"Download Docker\" button."
|
|
216
|
+
},
|
|
217
|
+
"attribute": "show-docker-missing-error",
|
|
106
218
|
"reflect": false,
|
|
107
219
|
"defaultValue": "false"
|
|
108
220
|
}
|
|
@@ -110,16 +222,10 @@ export class GxIdeUiSplash {
|
|
|
110
222
|
}
|
|
111
223
|
static get states() {
|
|
112
224
|
return {
|
|
113
|
-
"
|
|
225
|
+
"ariaBusy": {}
|
|
114
226
|
};
|
|
115
227
|
}
|
|
116
228
|
static get elementRef() { return "el"; }
|
|
117
|
-
static get watchers() {
|
|
118
|
-
return [{
|
|
119
|
-
"propName": "removeSplash",
|
|
120
|
-
"methodName": "removeSplashChanged"
|
|
121
|
-
}];
|
|
122
|
-
}
|
|
123
229
|
}
|
|
124
230
|
_GxIdeUiSplash_componentLocale = new WeakMap();
|
|
125
231
|
//# sourceMappingURL=splash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash.js","sourceRoot":"","sources":["../../../src/components/splash/splash.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst SLIDE_FADE_DURATION = 200;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"splash.js","sourceRoot":"","sources":["../../../src/components/splash/splash.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { ANIMATION_DOTS } from \"../../common/common\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/splash/images/copyrights-illustration.svg`\n);\nconst LOGO_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\nconst OPEN_LOG_ICON = getIconPath({\n category: \"system\",\n name: \"launch\",\n colorType: \"primary\"\n});\nconst CLOSE_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * Set this to true if installation is in process\n */\n @State() ariaBusy: boolean = true;\n\n /**\n * Callback invoked when the user clicks the 'Download Docker' button.\n */\n @Prop() readonly downloadDockerCallback: () => void;\n\n /**\n * Callback invoked when the user clicks the quit button.\n */\n @Prop() readonly quitCallback: () => void;\n\n /**\n * Array of messages to display in the text box.\n * This property updates whenever a message is added,\n * and the scroll should position itself at the bottom to keep the last message visible.\n */\n @Prop() readonly messages: MessageType[] = [];\n\n /**\n * Callback invoked when the user clicks the 'Open log' link.\n */\n @Prop() readonly openLogCallback: () => void;\n\n /**\n * Set to `true` to display the quit button.\n */\n @Prop() readonly showQuitButton: boolean = false;\n\n /**\n * Set to `true` to display the 'Open log' link.\n */\n @Prop() readonly showOpenLogLink: boolean = false;\n\n /**\n * Set to `true` to display \"Docker is not installed\" error message and to display \"Download Docker\" button.\n */\n @Prop() readonly showDockerMissingError: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n const renderOpenLogLink = this.showOpenLogLink && this.openLogCallback;\n const renderInstallationErrorMessage =\n this.showQuitButton && this.quitCallback && this.messages.length > 0;\n const renderInitializingMessage =\n !(this.showQuitButton && this.quitCallback) && this.messages?.length > 0;\n const renderErrorMessage =\n this.showDockerMissingError || !renderInitializingMessage;\n\n let installationErrorMessage =\n this.#componentLocale.warnings.installationFailed;\n if (renderOpenLogLink) {\n installationErrorMessage = `${installationErrorMessage} ${\n this.#componentLocale.warnings.checkTheLog\n }`;\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n scrollable: true,\n wrapper: true\n }}\n >\n <div\n class=\"side-inline-start\"\n style={{ backgroundImage: `url(${COPYRIGHTS_ILLUSTRATION})` }}\n role=\"img\"\n ></div>\n\n <section class=\"side-inline-end scrollable\">\n {this.quitCallback && this.showQuitButton && (\n <button\n class=\"button-close\"\n aria-label=\"close presentation\"\n onClick={this.quitCallback}\n >\n <ch-image class=\"icon-md\" src={CLOSE_ICON}></ch-image>\n </button>\n )}\n\n <header class=\"header\">\n <img\n src={LOGO_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"title\">{this.#componentLocale.title}</h2>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.allRightsReserved}\n </p>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.copyright}\n </p>\n </header>\n\n <main class=\"main\">\n {renderInitializingMessage && (\n <p\n class={{\n \"body-regular-m\": true,\n \"status--processing\": true\n }}\n >\n {this.#componentLocale.initializingServices}\n {ANIMATION_DOTS(\"tiny\", \"on-surface\")}\n </p>\n )}\n\n <code\n class=\"log__container scrollable\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy={this.ariaBusy}\n >\n {this.messages?.reverse().map((message, i) => {\n return (\n <p\n class={{\n \"tiny-regular-l\": true,\n \"log__message\": true,\n \"log__message--error\": message.type === \"error\"\n }}\n key={this.messages.length - i}\n >\n {message.text}\n </p>\n );\n })}\n </code>\n\n {renderErrorMessage && (\n <p class=\"error-message status--error\">\n {renderInstallationErrorMessage && (\n <span>{installationErrorMessage}</span>\n )}\n\n {renderInstallationErrorMessage &&\n this.showDockerMissingError && <span> - </span>}\n\n {this.showDockerMissingError && (\n <span>{this.#componentLocale.warnings.dockerMissing}</span>\n )}\n </p>\n )}\n </main>\n\n <footer class=\"footer\">\n <div class=\"buttons-spacer\">\n {this.showDockerMissingError && (\n <button\n key=\"download-docker\"\n class=\"button-secondary button-icon-and-text download-docker-button\"\n onClick={this.downloadDockerCallback}\n >\n {this.#componentLocale.downloadDocker}\n </button>\n )}\n\n {renderOpenLogLink && (\n <button\n key=\"open-log\"\n class=\"button-tertiary button-icon-and-text\"\n onClick={this.openLogCallback}\n >\n <ch-image class=\"icon-md\" src={OPEN_LOG_ICON}></ch-image>\n {this.#componentLocale.openLog}\n </button>\n )}\n </div>\n </footer>\n </section>\n </div>\n </Host>\n );\n }\n}\n\nexport type MessageType = {\n type: \"info\" | \"error\";\n text: string;\n};\n"]}
|
|
@@ -83,6 +83,7 @@ const testLocale = (componentNameWithPrefix) => {
|
|
|
83
83
|
};
|
|
84
84
|
// TypeScript does not have a built-in type to exhaust a list with union types
|
|
85
85
|
const allGeneXusIdeUIComponents = {
|
|
86
|
+
"gx-ide-about": 0,
|
|
86
87
|
"gx-ide-ai-assistant": 0,
|
|
87
88
|
"gx-ide-ai-message": 0,
|
|
88
89
|
"gx-ide-bpm-app-declaration": 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-ai-assistant\": 0,\n \"gx-ide-ai-message\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-dashboard-home\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-manage-module-references-v2\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0\n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-ai-message\",\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
|
|
1
|
+
{"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,SAAS,GAAqC;IAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;CACjC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,uBAAoD,EAAE,EAAE;IAC1E,QAAQ,CAAC,YAAY,uBAAuB,GAAG,EAAE,GAAG,EAAE;QACpD,IAAI,IAAa,CAAC;QAClB,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAE5E,8EAA8E;QAC9E,2EAA2E;QAC3E,cAAc;QACd,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;;YACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC;YACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC;YAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC;YAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC7B,MAAM,cAAc,GAAG,OAAO,CAAC;YAC/B,MAAM,IAAI,GACR,MAAA,MAAA,QAAQ;iBACL,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC/B,YAAY,CAAC,MAAM,CAAC,0CACnB,OAAO,EAAE,mCAAI,gBAAgB,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC;YAE/B,MAAM,IAAI,GACR,UAAU,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,EAAW,CAAC;YAE/G,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC;qBACR,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;oBACrB,IAAI,QAAQ,CAAC,EAAE,EAAE;wBACf,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACzC,OAAO,CAAC,UAAU,CAAC,CAAC;qBACrB;yBAAM;wBACL,OAAO,CAAC,SAAS,CAAC,CAAC;qBACpB;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,aAAa,CAAC,CAAC;QAEpB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,GAAG,MAAM,UAAU,CAAC;gBACtB,kBAAkB,EAAE,IAAI;gBACxB,IAAI,EAAE,EAAE,CAAC,YAAY;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,YAAY,GAAoB,MAAM,eAAe,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,YAAY,GAAoB,MAAM,eAAe,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;YAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CACpD,CAAC;YAEF,MAAM,mBAAmB,GAAoB,MAAM,eAAe,EAAE,CAAC;YACrE,MAAM,CAAC,mBAAmB,CAAC,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,EAAE,CAAC,oBAAoB,QAAQ,CAAC,IAAI,WAAW,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EACrE,QAAQ,CAAC,IAAI,CACd,CAAC;gBACF,MAAM,YAAY,GAAoB,MAAM,eAAe,EAAE,CAAC;gBAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAEvC,wEAAwE;YACxE,qCAAqC;YACrC,EAAE,CAAC,uCAAuC,SAAS,CAAC,IAAI,QAAQ,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE;gBAC5F,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EACrE,SAAS,CAAC,IAAI,CACf,CAAC;gBACF,MAAM,aAAa,GAAoB,MAAM,eAAe,EAAE,CAAC;gBAE/D,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EACrE,SAAS,CAAC,IAAI,CACf,CAAC;gBACF,MAAM,aAAa,GAAoB,MAAM,eAAe,EAAE,CAAC;gBAE/D,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,yBAAyB,GAAgD;IAC7E,cAAc,EAAE,CAAC;IACjB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,CAAC;IACtB,4BAA4B,EAAE,CAAC;IAC/B,yBAAyB,EAAE,CAAC;IAC5B,yBAAyB,EAAE,CAAC;IAC5B,wBAAwB,EAAE,CAAC;IAC3B,6BAA6B,EAAE,CAAC;IAChC,2BAA2B,EAAE,CAAC;IAC9B,aAAa,EAAE,CAAC;IAChB,uBAAuB,EAAE,CAAC;IAC1B,0BAA0B,EAAE,CAAC;IAC7B,0BAA0B,EAAE,CAAC;IAC7B,kBAAkB,EAAE,CAAC;IACrB,8BAA8B,EAAE,CAAC;IACjC,0BAA0B,EAAE,CAAC;IAC7B,uBAAuB,EAAE,CAAC;IAC1B,sBAAsB,EAAE,CAAC;IACzB,2BAA2B,EAAE,CAAC;IAC9B,sBAAsB,EAAE,CAAC;IACzB,2BAA2B,EAAE,CAAC;IAC9B,2BAA2B,EAAE,CAAC;IAC9B,oBAAoB,EAAE,CAAC;IACvB,wBAAwB,EAAE,CAAC;IAC3B,kCAAkC,EAAE,CAAC;IACrC,0BAA0B,EAAE,CAAC;IAC7B,0BAA0B,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC;IACzB,2BAA2B,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC;IAClB,iCAAiC,EAAE,CAAC;IACpC,oCAAoC,EAAE,CAAC;IACvC,wBAAwB,EAAE,CAAC;IAC3B,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,CAAC;IACtB,wBAAwB,EAAE,CAAC;IAC3B,mBAAmB,EAAE,CAAC;IACtB,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE,CAAC;IAC5B,gBAAgB,EAAE,CAAC;IACnB,qBAAqB,EAAE,CAAC;IACxB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC;IACtB,uBAAuB,EAAE,CAAC;IAC1B,qBAAqB,EAAE,CAAC;IACxB,iBAAiB,EAAE,CAAC;IACpB,wBAAwB,EAAE,CAAC;IAC3B,uCAAuC,EAAE,CAAC;IAC1C,wBAAwB,EAAE,CAAC;IAC3B,0CAA0C,EAAE,CAAC;IAC7C,oCAAoC,EAAE,CAAC;IACvC,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,oBAAoB,EAAE,CAAC;IACvB,kBAAkB,EAAE,CAAC;IACrB,sBAAsB,EAAE,CAAC;IACzB,0BAA0B,EAAE,CAAC;IAC7B,eAAe,EAAE,CAAC;IAClB,qBAAqB,EAAE,CAAC;IACxB,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAA8B;IACzE,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,0BAA0B;IAC1B,2BAA2B;IAC3B,oBAAoB;IACpB,sBAAsB;IACtB,2BAA2B;IAC3B,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAC5C,yBAAyB,CAC1B,CAAC,MAAM,CACN,SAAS,CAAC,EAAE,CACV,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAwC,CAAC,CAC/E,CAAC;AAEF,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-about\": 0,\n \"gx-ide-ai-assistant\": 0,\n \"gx-ide-ai-message\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-dashboard-home\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-manage-module-references-v2\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0\n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-ai-message\",\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
|
|
@@ -73,7 +73,21 @@ const getSelectedItem = (gxOptions) => {
|
|
|
73
73
|
return gxOptions[0].id;
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
+
// Dots animation used in ch-chat code-render (or other components)
|
|
77
|
+
const ANIMATION_DOTS = (size = "regular", color = "primary") => {
|
|
78
|
+
const n = size === "regular" ? 1 : 4;
|
|
79
|
+
const colorVar = color === "primary"
|
|
80
|
+
? "var(--mer-color__primary--200)"
|
|
81
|
+
: "var(--mer-text__on-surface)";
|
|
82
|
+
return (h("svg", { width: 36 / n, height: 8 / n, fill: "transparent" },
|
|
83
|
+
h("circle", { cx: 4 / n, cy: 4 / n, r: 4 / n, opacity: "0", fill: colorVar },
|
|
84
|
+
h("animate", { attributeName: "opacity", values: "0;1;0", dur: "1s", repeatCount: "indefinite" })),
|
|
85
|
+
h("circle", { cx: 18 / n, cy: 4 / n, r: 4 / n, opacity: "0", fill: colorVar },
|
|
86
|
+
h("animate", { attributeName: "opacity", values: "0;1;0", dur: "1s", begin: "0.15s", repeatCount: "indefinite" })),
|
|
87
|
+
h("circle", { cx: 32 / n, cy: 4 / n, r: 4 / n, opacity: "0", fill: colorVar },
|
|
88
|
+
h("animate", { attributeName: "opacity", values: "0;1;0", dur: "1s", begin: "0.30s", repeatCount: "indefinite" }))));
|
|
89
|
+
};
|
|
76
90
|
|
|
77
|
-
export { renderFormItems as a, getSelectedItem as g, renderModuleDataProperties as r };
|
|
91
|
+
export { ANIMATION_DOTS as A, renderFormItems as a, getSelectedItem as g, renderModuleDataProperties as r };
|
|
78
92
|
|
|
79
93
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"common.js","mappings":";;AAAA;MAMa,eAAe,GAAG,CAC7B,gBAGuB,oBAAoB,EAC3C,OAAwB,EACxB,KAAK,GAAG,iBAAiB,EACzB,QAAc;IAEd,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,OAAO,CAAC,OAAO,CAAC,MAAM;YACpB,IAAI,IAAI,CAAC;YACT,QAAQ,aAAa;gBACnB,KAAK,mBAAmB;oBACtB,IAAI,IACF,yBACE,UAAU,EAAE,MAAM,CAAC,EAAE,EACrB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,EACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE,EAAE,GACV,CACtB,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,IACF,0BACE,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE,EAAE,IAE5B,MAAM,CAAC,KAAK,CACM,CACtB,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,IACF,sBACE,OAAO,EAAE,MAAM,CAAC,EAAE,EAClB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE,EAAE,GACb,CACnB,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM;aAGT;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,EAAE;MAEW,0BAA0B,GAAG,CACxC,OAAkC;IAElC,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,KAAK,GAAyB,EAAE,CAAC;QAEvC,OAAO,CAAC,OAAO,CAAC,MAAM;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,IAAI,IACR,WAAK,KAAK,EAAC,mBAAmB;oBAC5B,SAAG,KAAK,EAAC,kBAAkB;wBAAE,MAAM,CAAC,IAAI;6BAAO;oBAC/C,cACG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;wBACvB,OAAO,cAAK,OAAO,CAAM,CAAC;qBAC3B,CAAC,CACC,CACD,CACP,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,MAAM,IAAI,IACR,WACE,KAAK,EACH,MAAM,CAAC,MAAM;0BACT,iCAAiC;0BACjC,oBAAoB;oBAG1B,SAAG,KAAK,EAAC,kBAAkB;wBAAE,MAAM,CAAC,IAAI;6BAAO;oBAC/C,SAAG,KAAK,EAAC,oBAAoB,IAAE,MAAM,CAAC,KAAK,CAAK,CAC5C,CACP,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,EAAE;AA2BF;;;;MAIa,eAAe,GAAG,CAAC,SAAqB;IACnD,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzB,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM;SACP;KACF;IACD,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,EAAE,CAAC;KACjB;SAAM;QACL,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB;AACH;;;;","names":[],"sources":["src/common/common.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { GxgFormItemsArray, GxOption } from \"./types\";\nimport { ModulePropertyData } from \"../components/modules/types\";\nexport const renderFormItems = (\n componentType:\n | \"gxg-combo-box-item\"\n | \"gxg-form-checkbox\"\n | \"gxg-form-radio\" = \"gxg-combo-box-item\",\n options: Array<GxOption>,\n group = \"undefined-group\",\n callback?: any\n): GxgFormItemsArray => {\n if (options.length) {\n const items: GxgFormItemsArray = [];\n options.forEach(option => {\n let item;\n switch (componentType) {\n case \"gxg-form-checkbox\":\n item = (\n <gxg-form-checkbox\n checkboxId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n onChange={callback ? callback : null}\n iconName={option.iconName}\n part={`${group}-${option.id}`}\n ></gxg-form-checkbox>\n );\n items.push(item);\n break;\n case \"gxg-combo-box-item\":\n item = (\n <gxg-combo-box-item\n value={option.id}\n icon={option.iconName}\n part={`${group}-${option.id}`}\n >\n {option.label}\n </gxg-combo-box-item>\n );\n items.push(item);\n break;\n case \"gxg-form-radio\":\n item = (\n <gxg-form-radio\n radioId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n name={group}\n part={`${group}-${option.id}`}\n ></gxg-form-radio>\n );\n items.push(item);\n break;\n default:\n break;\n }\n });\n return items;\n }\n return null;\n};\n\nexport const renderModuleDataProperties = (\n options: Array<ModulePropertyData>\n): ModulePropertyData[] => {\n if (options.length) {\n const items: ModulePropertyData[] = [];\n\n options.forEach(option => {\n if (Array.isArray(option.value)) {\n const item = (\n <div class=\"md-property__list\">\n <p class=\"md-property__key\">{option.name} :</p>\n <ul>\n {option.value.map(subItem => {\n return <li>{subItem}</li>;\n })}\n </ul>\n </div>\n );\n items.push(item);\n } else {\n const item = (\n <div\n class={\n option.inline\n ? \"md-property md-property--inline\"\n : \"md-property--block\"\n }\n >\n <p class=\"md-property__key\">{option.name} :</p>\n <p class=\"md-property__value\">{option.value}</p>\n </div>\n );\n items.push(item);\n }\n });\n\n return items;\n }\n return null;\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The first option in the array that is 'selected'. If no one found it returns null.\n */\nexport const getSelectedGxOption = (\n gxOptions: GxOption[],\n onlyId = true\n): GxOption | string | void => {\n if (gxOptions?.length > 0) {\n let found = null;\n for (let i = 0; i < gxOptions.length; i++) {\n if (gxOptions[i].selected) {\n found = gxOptions[i];\n break;\n }\n }\n if (found && onlyId) {\n return found.id;\n } else if (!found && onlyId) {\n return gxOptions[0].id;\n }\n return found;\n }\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The value of the selected item, or the first item, if no one is selected.\n */\nexport const getSelectedItem = (gxOptions: GxOption[]): string => {\n let found = undefined;\n for (let i = 0; i < gxOptions.length; i++) {\n if (gxOptions[i].selected) {\n found = gxOptions[i];\n break;\n }\n }\n if (found) {\n return found.id;\n } else {\n return gxOptions[0].id;\n }\n};\n\nexport const getSelectedItem2 = (\n gxOptions: GxOption[] | undefined\n): string | undefined =>\n gxOptions\n ? (gxOptions.find(item => item.selected) ?? gxOptions[0]).id\n : undefined;\n"],"version":3}
|
|
1
|
+
{"file":"common.js","mappings":"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","names":[],"sources":["src/common/common.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { GxgFormItemsArray, GxOption } from \"./types\";\nimport { ModulePropertyData } from \"../components/modules/types\";\nexport const renderFormItems = (\n componentType:\n | \"gxg-combo-box-item\"\n | \"gxg-form-checkbox\"\n | \"gxg-form-radio\" = \"gxg-combo-box-item\",\n options: Array<GxOption>,\n group = \"undefined-group\",\n callback?: any\n): GxgFormItemsArray => {\n if (options.length) {\n const items: GxgFormItemsArray = [];\n options.forEach(option => {\n let item;\n switch (componentType) {\n case \"gxg-form-checkbox\":\n item = (\n <gxg-form-checkbox\n checkboxId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n onChange={callback ? callback : null}\n iconName={option.iconName}\n part={`${group}-${option.id}`}\n ></gxg-form-checkbox>\n );\n items.push(item);\n break;\n case \"gxg-combo-box-item\":\n item = (\n <gxg-combo-box-item\n value={option.id}\n icon={option.iconName}\n part={`${group}-${option.id}`}\n >\n {option.label}\n </gxg-combo-box-item>\n );\n items.push(item);\n break;\n case \"gxg-form-radio\":\n item = (\n <gxg-form-radio\n radioId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n name={group}\n part={`${group}-${option.id}`}\n ></gxg-form-radio>\n );\n items.push(item);\n break;\n default:\n break;\n }\n });\n return items;\n }\n return null;\n};\n\nexport const renderModuleDataProperties = (\n options: Array<ModulePropertyData>\n): ModulePropertyData[] => {\n if (options.length) {\n const items: ModulePropertyData[] = [];\n\n options.forEach(option => {\n if (Array.isArray(option.value)) {\n const item = (\n <div class=\"md-property__list\">\n <p class=\"md-property__key\">{option.name} :</p>\n <ul>\n {option.value.map(subItem => {\n return <li>{subItem}</li>;\n })}\n </ul>\n </div>\n );\n items.push(item);\n } else {\n const item = (\n <div\n class={\n option.inline\n ? \"md-property md-property--inline\"\n : \"md-property--block\"\n }\n >\n <p class=\"md-property__key\">{option.name} :</p>\n <p class=\"md-property__value\">{option.value}</p>\n </div>\n );\n items.push(item);\n }\n });\n\n return items;\n }\n return null;\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The first option in the array that is 'selected'. If no one found it returns null.\n */\nexport const getSelectedGxOption = (\n gxOptions: GxOption[],\n onlyId = true\n): GxOption | string | void => {\n if (gxOptions?.length > 0) {\n let found = null;\n for (let i = 0; i < gxOptions.length; i++) {\n if (gxOptions[i].selected) {\n found = gxOptions[i];\n break;\n }\n }\n if (found && onlyId) {\n return found.id;\n } else if (!found && onlyId) {\n return gxOptions[0].id;\n }\n return found;\n }\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The value of the selected item, or the first item, if no one is selected.\n */\nexport const getSelectedItem = (gxOptions: GxOption[]): string => {\n let found = undefined;\n for (let i = 0; i < gxOptions.length; i++) {\n if (gxOptions[i].selected) {\n found = gxOptions[i];\n break;\n }\n }\n if (found) {\n return found.id;\n } else {\n return gxOptions[0].id;\n }\n};\n\nexport const getSelectedItem2 = (\n gxOptions: GxOption[] | undefined\n): string | undefined =>\n gxOptions\n ? (gxOptions.find(item => item.selected) ?? gxOptions[0]).id\n : undefined;\n\n// Dots animation used in ch-chat code-render (or other components)\nexport const ANIMATION_DOTS = (\n size: \"regular\" | \"tiny\" = \"regular\",\n color: \"primary\" | \"on-surface\" = \"primary\"\n): SVGElement => {\n const n = size === \"regular\" ? 1 : 4;\n const colorVar =\n color === \"primary\"\n ? \"var(--mer-color__primary--200)\"\n : \"var(--mer-text__on-surface)\";\n\n return (\n <svg width={36 / n} height={8 / n} fill=\"transparent\">\n <circle cx={4 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorVar}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur=\"1s\"\n repeatCount=\"indefinite\"\n />\n </circle>\n <circle cx={18 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorVar}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur=\"1s\"\n begin=\"0.15s\"\n repeatCount=\"indefinite\"\n />\n </circle>\n <circle cx={32 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorVar}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur=\"1s\"\n begin=\"0.30s\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n );\n};\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GxIdeAbout extends Components.GxIdeAbout, HTMLElement {}
|
|
4
|
+
export const GxIdeAbout: {
|
|
5
|
+
prototype: GxIdeAbout;
|
|
6
|
+
new (): GxIdeAbout;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, getAssetPath, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { L as Locale } from './locale.js';
|
|
3
|
+
|
|
4
|
+
const aboutCss = ":host{--spacing-body-block-start:var(--mer-spacing--lg);--spacing-body-block-end:var(--mer-spacing--lg);--spacing-body-inline-start:var(--mer-spacing--md);--spacing-body-inline-end:var(--mer-spacing--md);display:grid;block-size:100%;overflow:auto;grid-template-rows:1fr max-content;background-color:var(--elevation-background-color, var(--mer-surface));color:var(--mer-text__on-elevation);text-align:center}.section{display:contents}.main{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.version__container{display:flex;justify-content:center;flex-direction:column;gap:var(--mer-spacing--xs)}.logo__container{display:flex;flex-direction:column;gap:var(--mer-spacing--sm);align-items:center;margin:unset}.logo__img{inline-size:28px;block-size:28px}.link-underlined{text-decoration:underline;color:var(--mer-text__on-elevation)}.link-underlined:hover{color:var(--mer-text__highlighted)}.link-underlined:active{color:var(--mer-text__elevation)}.links-container{display:flex;gap:var(--mer-spacing--xs)}.copyrights{color:var(--mer-text__complementary)}";
|
|
5
|
+
|
|
6
|
+
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m")
|
|
8
|
+
throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f)
|
|
10
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
11
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
12
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
13
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
14
|
+
};
|
|
15
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
16
|
+
if (kind === "a" && !f)
|
|
17
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
19
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
+
};
|
|
22
|
+
var _GxIdeAbout_componentLocale, _GxIdeAbout_nextLogo;
|
|
23
|
+
const CSS_BUNDLES = [
|
|
24
|
+
"resets/box-sizing",
|
|
25
|
+
"utils/typography",
|
|
26
|
+
"components/button"
|
|
27
|
+
];
|
|
28
|
+
const GxIdeAbout$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeAbout extends HTMLElement {
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
this.__registerHost();
|
|
32
|
+
this.__attachShadow();
|
|
33
|
+
_GxIdeAbout_componentLocale.set(this, void 0);
|
|
34
|
+
_GxIdeAbout_nextLogo.set(this, getAssetPath(`./gx-ide-assets/about/images/next-logo.svg`));
|
|
35
|
+
this.version = undefined;
|
|
36
|
+
this.ideVersion = undefined;
|
|
37
|
+
this.blVersion = undefined;
|
|
38
|
+
this.detailsCallback = undefined;
|
|
39
|
+
this.privacyPolicyCallback = undefined;
|
|
40
|
+
this.termsAndConditionsCallback = undefined;
|
|
41
|
+
}
|
|
42
|
+
async componentWillLoad() {
|
|
43
|
+
__classPrivateFieldSet(this, _GxIdeAbout_componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
44
|
+
}
|
|
45
|
+
render() {
|
|
46
|
+
const renderPrivacyAndTerms = this.privacyPolicyCallback && this.termsAndConditionsCallback;
|
|
47
|
+
const renderPrivacyOrTerms = this.privacyPolicyCallback || this.termsAndConditionsCallback;
|
|
48
|
+
return (h(Host, { class: "scrollable" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main" }, h("figure", { class: "logo__container" }, h("img", { class: "logo__img", src: __classPrivateFieldGet(this, _GxIdeAbout_nextLogo, "f"), alt: __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").logoAlt }), h("figcaption", { class: "body-semi-bold-m" }, "GeneXus Next")), h("div", { class: "version__container" }, h("p", { class: "body-semi-bold-s" }, __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").version, " ", this.version), h("p", { class: "body-regular-m" }, `(${__classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").ide}=${this.ideVersion}, ${__classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").bl}=${this.blVersion})`)), this.detailsCallback && (h("button", { class: "button-tertiary", type: "button", onClick: this.detailsCallback }, __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").detailsAndAcknowledgmentes)), renderPrivacyOrTerms && (h("div", { class: "links-container", hidden: !renderPrivacyAndTerms }, this.privacyPolicyCallback && (h("button", { class: "link-underlined tiny-regular-s", type: "button", onClick: this.privacyPolicyCallback }, __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").privacyPolicy)), renderPrivacyAndTerms && "|", this.termsAndConditionsCallback && (h("button", { class: "link-underlined tiny-regular-s", type: "button", onClick: this.termsAndConditionsCallback }, __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").termsAndConditions))))), h("footer", { class: "body-regular-s copyrights" }, __classPrivateFieldGet(this, _GxIdeAbout_componentLocale, "f").copyright))));
|
|
49
|
+
}
|
|
50
|
+
static get assetsDirs() { return ["gx-ide-assets/about"]; }
|
|
51
|
+
get el() { return this; }
|
|
52
|
+
static get style() { return aboutCss; }
|
|
53
|
+
}, [1, "gx-ide-about", {
|
|
54
|
+
"version": [1],
|
|
55
|
+
"ideVersion": [1, "ide-version"],
|
|
56
|
+
"blVersion": [1, "bl-version"],
|
|
57
|
+
"detailsCallback": [16],
|
|
58
|
+
"privacyPolicyCallback": [16],
|
|
59
|
+
"termsAndConditionsCallback": [16]
|
|
60
|
+
}]);
|
|
61
|
+
_GxIdeAbout_componentLocale = new WeakMap(), _GxIdeAbout_nextLogo = new WeakMap();
|
|
62
|
+
function defineCustomElement$1() {
|
|
63
|
+
if (typeof customElements === "undefined") {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const components = ["gx-ide-about"];
|
|
67
|
+
components.forEach(tagName => { switch (tagName) {
|
|
68
|
+
case "gx-ide-about":
|
|
69
|
+
if (!customElements.get(tagName)) {
|
|
70
|
+
customElements.define(tagName, GxIdeAbout$1);
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
} });
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const GxIdeAbout = GxIdeAbout$1;
|
|
77
|
+
const defineCustomElement = defineCustomElement$1;
|
|
78
|
+
|
|
79
|
+
export { GxIdeAbout, defineCustomElement };
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=gx-ide-about.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-about.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,+jCAA+jC;;;;;;;;;;;;;;;;;;;ACKhlC,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC;MAQWA,YAAU;;;;;QACrB,8CAAsB;QACtB,+BAAY,YAAY,CAAC,4CAA4C,CAAC,EAAC;;;;;;;;IAkCvE,MAAM,iBAAiB;QACrB,uBAAA,IAAI,+BAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;KACnE;IAED,MAAM;QACJ,MAAM,qBAAqB,GACzB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAChE,MAAM,oBAAoB,GACxB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAEhE,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,YAAY,IACtB,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,eAAS,KAAK,EAAC,SAAS,IACtB,WAAK,KAAK,EAAC,MAAM,IACf,cAAQ,KAAK,EAAC,iBAAiB,IAC7B,WACE,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE,uBAAA,IAAI,4BAAU,EACnB,GAAG,EAAE,uBAAA,IAAI,mCAAiB,CAAC,OAAO,GAClC,EACF,kBAAY,KAAK,EAAC,kBAAkB,mBAA0B,CACvD,EAET,WAAK,KAAK,EAAC,oBAAoB,IAC7B,SAAG,KAAK,EAAC,kBAAkB,IACxB,uBAAA,IAAI,mCAAiB,CAAC,OAAO,OAAG,IAAI,CAAC,OAAO,CAC3C,EACJ,SAAG,KAAK,EAAC,gBAAgB,IACtB,IAAI,uBAAA,IAAI,mCAAiB,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,KAC/C,uBAAA,IAAI,mCAAiB,CAAC,EACxB,IAAI,IAAI,CAAC,SAAS,GAAG,CACnB,CACA,EAEL,IAAI,CAAC,eAAe,KACnB,cACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,IAE5B,uBAAA,IAAI,mCAAiB,CAAC,0BAA0B,CAC1C,CACV,EAEA,oBAAoB,KACnB,WAAK,KAAK,EAAC,iBAAiB,EAAC,MAAM,EAAE,CAAC,qBAAqB,IACxD,IAAI,CAAC,qBAAqB,KACzB,cACE,KAAK,EAAC,gCAAgC,EACtC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,IAElC,uBAAA,IAAI,mCAAiB,CAAC,aAAa,CAC7B,CACV,EAEA,qBAAqB,IAAI,GAAG,EAE5B,IAAI,CAAC,0BAA0B,KAC9B,cACE,KAAK,EAAC,gCAAgC,EACtC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,0BAA0B,IAEvC,uBAAA,IAAI,mCAAiB,CAAC,kBAAkB,CAClC,CACV,CACG,CACP,CACG,EAEN,cAAQ,KAAK,EAAC,2BAA2B,IACtC,uBAAA,IAAI,mCAAiB,CAAC,SAAS,CACzB,CACD,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["GxIdeAbout"],"sources":["src/components/_branding/about/about.scss?tag=gx-ide-about&encapsulation=shadow","src/components/_branding/about/about.tsx"],"sourcesContent":[":host {\n --spacing-body-block-start: var(--mer-spacing--lg);\n --spacing-body-block-end: var(--mer-spacing--lg);\n --spacing-body-inline-start: var(--mer-spacing--md);\n --spacing-body-inline-end: var(--mer-spacing--md);\n\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n\n background-color: var(--elevation-background-color, var(--mer-surface));\n color: var(--mer-text__on-elevation);\n text-align: center;\n}\n.section {\n // section was addad for semantics, in order to allow a footer tag.\n display: contents;\n}\n\n.main {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 20px;\n}\n\n.version__container {\n display: flex;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n}\n.logo {\n &__container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n align-items: center;\n margin: unset;\n }\n &__img {\n $logoSize: 28px;\n inline-size: $logoSize;\n block-size: $logoSize;\n }\n}\n\n.link-underlined {\n // TODO: Add link helper class in Mercury\n text-decoration: underline;\n color: var(--mer-text__on-elevation);\n &:hover {\n color: var(--mer-text__highlighted);\n }\n &:active {\n color: var(--mer-text__elevation);\n }\n}\n\n.links-container {\n display: flex;\n gap: var(--mer-spacing--xs);\n}\n\n.copyrights {\n // TODO: Add color helper classes in Mercury\n color: var(--mer-text__complementary);\n}\n","import { Component, Host, h, Prop, Element, getAssetPath } from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-about\",\n styleUrl: \"about.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/about\"]\n})\nexport class GxIdeAbout {\n #componentLocale: any;\n #nextLogo = getAssetPath(`./gx-ide-assets/about/images/next-logo.svg`);\n\n @Element() el: HTMLGxIdeAboutElement;\n\n /**\n * The version of GeneXus\n */\n @Prop() readonly version: string;\n\n /**\n * The version of GeneXus IDE\n */\n @Prop() readonly ideVersion: string;\n\n /**\n * The version of GeneXus BL\n */\n @Prop() readonly blVersion: string;\n\n /**\n * Callback invoked when the user clicks on \"Details & Acknowledgements\"\n */\n @Prop() readonly detailsCallback: DetailsCallback;\n\n /**\n * Callback invoked when the user clicks on \"Privacy policy\"\n */\n @Prop() readonly privacyPolicyCallback: PrivacyPolicyCallback;\n\n /**\n * Callback invoked when the user clicks on \"Terms and conditions\"\n */\n @Prop() readonly termsAndConditionsCallback: TermsAndConditionsCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n const renderPrivacyAndTerms =\n this.privacyPolicyCallback && this.termsAndConditionsCallback;\n const renderPrivacyOrTerms =\n this.privacyPolicyCallback || this.termsAndConditionsCallback;\n\n return (\n <Host class=\"scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <div class=\"main\">\n <figure class=\"logo__container\">\n <img\n class=\"logo__img\"\n src={this.#nextLogo}\n alt={this.#componentLocale.logoAlt}\n />\n <figcaption class=\"body-semi-bold-m\">GeneXus Next</figcaption>\n </figure>\n\n <div class=\"version__container\">\n <p class=\"body-semi-bold-s\">\n {this.#componentLocale.version} {this.version}\n </p>\n <p class=\"body-regular-m\">\n {`(${this.#componentLocale.ide}=${this.ideVersion}, ${\n this.#componentLocale.bl\n }=${this.blVersion})`}\n </p>\n </div>\n\n {this.detailsCallback && (\n <button\n class=\"button-tertiary\"\n type=\"button\"\n onClick={this.detailsCallback}\n >\n {this.#componentLocale.detailsAndAcknowledgmentes}\n </button>\n )}\n\n {renderPrivacyOrTerms && (\n <div class=\"links-container\" hidden={!renderPrivacyAndTerms}>\n {this.privacyPolicyCallback && (\n <button\n class=\"link-underlined tiny-regular-s\"\n type=\"button\"\n onClick={this.privacyPolicyCallback}\n >\n {this.#componentLocale.privacyPolicy}\n </button>\n )}\n\n {renderPrivacyAndTerms && \"|\"}\n\n {this.termsAndConditionsCallback && (\n <button\n class=\"link-underlined tiny-regular-s\"\n type=\"button\"\n onClick={this.termsAndConditionsCallback}\n >\n {this.#componentLocale.termsAndConditions}\n </button>\n )}\n </div>\n )}\n </div>\n\n <footer class=\"body-regular-s copyrights\">\n {this.#componentLocale.copyright}\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type DetailsCallback = () => Promise<void>;\nexport type PrivacyPolicyCallback = () => Promise<void>;\nexport type TermsAndConditionsCallback = () => Promise<void>;\n"],"version":3}
|
|
@@ -22,7 +22,8 @@ const convertItemsNodeListToFlattenedTreeViewModel = (itemsList, checkboxType) =
|
|
|
22
22
|
checked: item.checked,
|
|
23
23
|
checkbox: checkbox,
|
|
24
24
|
expanded: item.expanded,
|
|
25
|
-
startImgSrc: item.
|
|
25
|
+
startImgSrc: item.iconStart,
|
|
26
|
+
endImgSrc: item.iconEnd,
|
|
26
27
|
items: null,
|
|
27
28
|
leaf: leaf,
|
|
28
29
|
selected: item.selected
|
|
@@ -40,7 +41,8 @@ const convertItemsListToTreeViewModel = (itemsList, checkboxType) => {
|
|
|
40
41
|
var _a;
|
|
41
42
|
const leaf = !((_a = item.nodes) === null || _a === void 0 ? void 0 : _a.length);
|
|
42
43
|
const expanded = item.expanded;
|
|
43
|
-
const
|
|
44
|
+
const iconStart = item.iconStart;
|
|
45
|
+
const iconEnd = item.iconEnd;
|
|
44
46
|
const order = parseInt(item.id);
|
|
45
47
|
const checkbox = checkboxType === "all" ||
|
|
46
48
|
(checkboxType === "custom" && item.checkbox) ||
|
|
@@ -57,7 +59,8 @@ const convertItemsListToTreeViewModel = (itemsList, checkboxType) => {
|
|
|
57
59
|
order: order,
|
|
58
60
|
selected: item.selected,
|
|
59
61
|
expanded: expanded,
|
|
60
|
-
startImgSrc:
|
|
62
|
+
startImgSrc: iconStart,
|
|
63
|
+
endImgSrc: iconEnd,
|
|
61
64
|
items: !leaf
|
|
62
65
|
? convertItemsListToTreeViewModel(item.nodes, checkboxType)
|
|
63
66
|
: null,
|