@genexus/genexus-ide-ui 0.0.100 → 0.0.102
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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +16 -14
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-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-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +58 -8
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +9 -0
- package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/_helpers/card/card.css +333 -26
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +0 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.css +519 -13
- package/dist/collection/components/_starting-template/template.css +333 -26
- package/dist/collection/components/ai-assistant/ai-assistant.css +333 -26
- package/dist/collection/components/ai-assistant/ai-message.css +0 -1
- package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +333 -26
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +333 -26
- package/dist/collection/components/dashboard-home/dashboard-home.css +706 -41
- package/dist/collection/components/dashboard-home/dashboard-home.js +51 -14
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +333 -26
- package/dist/collection/components/import-from-design/import-from-design.css +333 -26
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +333 -26
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +333 -26
- package/dist/collection/components/new-environment/new-environment.css +333 -26
- package/dist/collection/components/new-kb/new-kb.css +333 -26
- package/dist/collection/components/new-object/new-object.css +333 -26
- package/dist/collection/components/new-object/new-object.js +74 -7
- package/dist/collection/components/new-object/new-object.js.map +1 -1
- package/dist/collection/components/object-selector/object-selector.css +333 -26
- package/dist/collection/components/references/references.css +333 -26
- package/dist/collection/components/share-kb/share-kb.css +333 -26
- package/dist/collection/components/start-page/recent-news.css +333 -26
- package/dist/collection/components/start-page/start-page.css +333 -26
- package/dist/collection/components/team-dev/commit/commit.css +333 -26
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +333 -26
- package/dist/collection/components/team-dev/update/update.css +333 -26
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +333 -26
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +333 -26
- package/dist/collection/components/ww-images/ww-images.css +333 -26
- package/dist/collection/pages/assets/common.js +1 -1
- package/dist/components/gx-ide-ai-assistant.js +1 -1
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +32 -47
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +1 -1
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-import-from-design.js +1 -1
- package/dist/components/gx-ide-import-from-design.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +1 -1
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +1 -1
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +1 -1
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +59 -8
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +1 -1
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -1
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +1 -1
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -1
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gx-ide-template.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/list-box.js +12 -1
- package/dist/components/list-box.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/recent-news.js +1 -1
- package/dist/components/recent-news.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +16 -14
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state_2.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
- package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-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-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +58 -8
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/gxg-list-box_2.entry.js +9 -0
- package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/p-05bc4d77.entry.js +598 -0
- package/dist/genexus-ide-ui/p-1346991a.entry.js +232 -0
- package/dist/genexus-ide-ui/p-1346991a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-2e6da0ef.entry.js +236 -0
- package/dist/genexus-ide-ui/{p-8bdaef96.entry.js → p-336ee17f.entry.js} +74 -74
- package/dist/genexus-ide-ui/p-336ee17f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-382fe6fa.entry.js +331 -0
- package/dist/genexus-ide-ui/p-40d52b2f.entry.js +487 -0
- package/dist/genexus-ide-ui/p-4a706d20.entry.js +583 -0
- package/dist/genexus-ide-ui/p-4bd869d3.entry.js +702 -0
- package/dist/genexus-ide-ui/p-5507f11d.entry.js +571 -0
- package/dist/genexus-ide-ui/p-5ac58299.entry.js +238 -0
- package/dist/genexus-ide-ui/p-5bce420c.entry.js +187 -0
- package/dist/genexus-ide-ui/p-5ed3968f.entry.js +183 -0
- package/dist/genexus-ide-ui/p-725fe015.entry.js +273 -0
- package/dist/genexus-ide-ui/p-72e5a0db.entry.js +111 -0
- package/dist/genexus-ide-ui/p-784d3d82.entry.js +119 -0
- package/dist/genexus-ide-ui/p-921fc4d4.entry.js +344 -0
- package/dist/genexus-ide-ui/p-9a333c79.entry.js +158 -0
- package/dist/genexus-ide-ui/p-a0180ad9.entry.js +614 -0
- package/dist/genexus-ide-ui/p-ac1a72d9.entry.js +344 -0
- package/dist/genexus-ide-ui/p-ac1a72d9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b25c9d3c.entry.js +472 -0
- package/dist/genexus-ide-ui/p-bddc1a7b.entry.js +305 -0
- package/dist/genexus-ide-ui/p-bf16cfca.entry.js +62 -0
- package/dist/genexus-ide-ui/{p-4e155cd5.entry.js → p-bf7c17a8.entry.js} +10 -1
- package/dist/genexus-ide-ui/p-bf7c17a8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-d648668d.entry.js +436 -0
- package/dist/genexus-ide-ui/p-e0704caf.entry.js +44 -0
- package/dist/genexus-ide-ui/p-e0d9ab03.entry.js +257 -0
- package/dist/types/components/dashboard-home/dashboard-home.d.ts +8 -5
- package/dist/types/components/new-object/new-object.d.ts +15 -1
- package/dist/types/components.d.ts +24 -0
- package/package.json +3 -3
- package/dist/genexus-ide-ui/p-007a3368.entry.js +0 -158
- package/dist/genexus-ide-ui/p-148ec5e4.entry.js +0 -293
- package/dist/genexus-ide-ui/p-148ec5e4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-317e4ff6.entry.js +0 -62
- package/dist/genexus-ide-ui/p-420a2b62.entry.js +0 -598
- package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-587f3ba5.entry.js +0 -344
- package/dist/genexus-ide-ui/p-5ba47216.entry.js +0 -305
- package/dist/genexus-ide-ui/p-6397feb4.entry.js +0 -472
- package/dist/genexus-ide-ui/p-66b88b9b.entry.js +0 -614
- package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +0 -273
- package/dist/genexus-ide-ui/p-7d719234.entry.js +0 -187
- package/dist/genexus-ide-ui/p-7fe9374d.entry.js +0 -238
- package/dist/genexus-ide-ui/p-8bdaef96.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-906845cd.entry.js +0 -571
- package/dist/genexus-ide-ui/p-9e7ea8be.entry.js +0 -44
- package/dist/genexus-ide-ui/p-a2805229.entry.js +0 -331
- package/dist/genexus-ide-ui/p-a3368c79.entry.js +0 -111
- package/dist/genexus-ide-ui/p-a3e07b86.entry.js +0 -240
- package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a592930e.entry.js +0 -183
- package/dist/genexus-ide-ui/p-ca86fe87.entry.js +0 -583
- package/dist/genexus-ide-ui/p-cd0c26a2.entry.js +0 -487
- package/dist/genexus-ide-ui/p-d4d72da2.entry.js +0 -436
- package/dist/genexus-ide-ui/p-e0924e3f.entry.js +0 -236
- package/dist/genexus-ide-ui/p-e240361a.entry.js +0 -702
- package/dist/genexus-ide-ui/p-e4b63012.entry.js +0 -119
- package/dist/genexus-ide-ui/p-ff794656.entry.js +0 -257
- /package/dist/genexus-ide-ui/{p-420a2b62.entry.js.map → p-05bc4d77.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e0924e3f.entry.js.map → p-2e6da0ef.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a2805229.entry.js.map → p-382fe6fa.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cd0c26a2.entry.js.map → p-40d52b2f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ca86fe87.entry.js.map → p-4a706d20.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e240361a.entry.js.map → p-4bd869d3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-906845cd.entry.js.map → p-5507f11d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7fe9374d.entry.js.map → p-5ac58299.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7d719234.entry.js.map → p-5bce420c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a592930e.entry.js.map → p-5ed3968f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-75f0ba9d.entry.js.map → p-725fe015.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a3368c79.entry.js.map → p-72e5a0db.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e4b63012.entry.js.map → p-784d3d82.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-587f3ba5.entry.js.map → p-921fc4d4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-007a3368.entry.js.map → p-9a333c79.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-66b88b9b.entry.js.map → p-a0180ad9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6397feb4.entry.js.map → p-b25c9d3c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5ba47216.entry.js.map → p-bddc1a7b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-317e4ff6.entry.js.map → p-bf16cfca.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d4d72da2.entry.js.map → p-d648668d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9e7ea8be.entry.js.map → p-e0704caf.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ff794656.entry.js.map → p-e0d9ab03.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-object.js","sourceRoot":"","sources":["../../../src/components/new-object/new-object.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n Watch,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { SelectionChangedEvent } from \"@genexus/gemini/dist/types/components/list-box/list-box\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\n\n@Component({\n tag: \"gx-ide-new-object\",\n styleUrl: \"new-object.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/new-object\"]\n})\nexport class GxIdeNewObject {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-object/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeNewObjectElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n private nameEl!: HTMLGxgFormTextElement;\n private descriptionEl!: HTMLGxgFormTextElement;\n private moduleFolderEl!: HTMLGxIdeEntitySelectorElement;\n private descriptionModifiedByUser = false;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedCategory: TypeCategoryData | null;\n @State() selectedType: TypeData | null;\n @Watch(\"selectedType\")\n watchSelectedTypeHandler() {\n this.descriptionModifiedByUser = false;\n }\n @State() nameIsValid = false;\n // Name of the new object\n @State() name: string = undefined;\n // Description of the new object\n @State() description: string = undefined;\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * Array containing category list and its corresponding types\n */\n @Prop() readonly typeCategories!: TypeCategoryData[];\n\n /**\n * Current value for Module/Folder\n */\n @Prop() readonly parent: EntityData;\n\n /**\n * Default value for the Module/Folder field.\n */\n @Prop() readonly defaultParent: EntityData;\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 * Callback invoked when you must validate a name. Returns error message or 'undefined' if name is not valid.\n */\n @Prop() readonly validateNameCallback: ValidateNameCallback;\n\n /**\n * Callback invoked when user wants to cancel object creation\n */\n @Prop() readonly createCallback: CreateCallback;\n\n /**\n * Callback invoked when user wants to confirm object creation\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event emm=its the data needed to create a new object\n */\n @Event() create: EventEmitter<NewObjectData>;\n\n /**\n * This event is trigger after a validation of the object name is made. Returns undefined if its valid, otherwise an error message\n */\n @Event() validateName: EventEmitter<string | undefined>;\n\n /**\n * This event emits the 'cancel' event\n */\n @Event() cancel: EventEmitter<boolean>;\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 * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this.init();\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.nameEl.focus();\n this.setFirstFocusableElement();\n this.validateInitialName();\n this.componentDidLoadEvent.emit(true);\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 // 8.PUBLIC METHODS API //\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n\n private setFirstFocusableElement = () => {\n this.el.addEventListener(\"focus\", () => {\n this.nameEl.focus();\n });\n };\n\n private validateInitialName = async () => {\n const result: string | undefined = await this.validateNameCallback(\n this.name\n );\n this.validateNameHandler(result);\n };\n\n private renderModuleFolder = () => {\n if (this.selectedType.hasModule || this.selectedType.hasFolder) {\n let labelDescription = this._componentLocale.moduleFolder;\n if (!this.selectedType.hasFolder) {\n labelDescription = this._componentLocale.moduleOnly;\n } else if (!this.selectedType.hasModule) {\n labelDescription = this._componentLocale.folderOnly;\n }\n return [\n <gxg-label labelPosition=\"start\">{labelDescription}</gxg-label>,\n <gx-ide-entity-selector\n value={this.parent}\n defaultValue={this.defaultParent}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.moduleFolderEl = el as HTMLGxIdeEntitySelectorElement)\n }\n id=\"module\"\n part=\"module\"\n ></gx-ide-entity-selector>\n ];\n }\n return null;\n };\n\n /**\n * This method initializes tha name value. It depends on 'this.selectedType'\n */\n private init = () => {\n this.selectedCategory = this.typeCategories[0];\n this.selectedType = this.typeCategories[0].types[0];\n\n if (this.selectedType && this.selectedType.name.length > 0) {\n this.name = this.getNameSuggestion(this.selectedType);\n this.description = this.selectedType.name;\n }\n };\n\n private getNameSuggestion = (selectedType:TypeData) => {\n //Type name can include whitespaces, we need to replace all whitespaces to avoid invalid suggestions:\n return selectedType.name.replace(/\\s/g, '');\n }\n\n private onInputNameHandler = (e: CustomEvent<string>) => {\n const name = e.detail;\n if (!this.descriptionModifiedByUser) {\n // description should be equal to name, unless the description was already modified by the user.\n this.descriptionEl.value = name;\n }\n };\n\n private onBlurNameHandler = async () => {\n const result: string | undefined = await this.validateNameCallback(\n this.nameEl.value\n );\n this.validateNameHandler(result);\n };\n\n private onNameValueChangedHandler = async (e: CustomEvent<string>) => {\n const name = e.detail;\n const result: string | undefined = await this.validateNameCallback(name);\n this.validateNameHandler(result);\n };\n\n private onInputDescriptionHandler = (e: CustomEvent<string>) => {\n this.description = e.detail;\n this.descriptionModifiedByUser = true;\n };\n\n /**\n * If the parameter is undefined, is because the name is valid. Otherwise, if it receives a string, is because the name is not valid. The string is the error message to display.\n */\n private validateNameHandler = (result: string | undefined): void => {\n if (result !== undefined) {\n // the name is not valid. display message\n this.nameEl.validationMessage = result;\n this.nameEl.validationStatus = \"error\";\n this.nameIsValid = false;\n } else {\n // valid name\n this.nameEl.validationMessage = null;\n this.nameEl.validationStatus = \"indeterminate\";\n this.nameIsValid = true;\n }\n };\n\n private createCallbackHandler = async (): Promise<void> => {\n const data: NewObjectData = {\n typeId: this.selectedType?.id,\n name: this.nameEl.value,\n description: !this.descriptionModifiedByUser\n ? undefined\n : this.descriptionEl.value,\n moduleId: this.moduleFolderEl?.value?.id\n };\n const result = await this.createCallback(data);\n this.validateNameHandler(result);\n };\n\n private cancelCallbackHandler = async (): Promise<void> => {\n await this.cancelCallback();\n };\n\n private categoryOnSelectionChangedHandler = (\n selectionEvent: CustomEvent<SelectionChangedEvent>\n ): void => {\n const selection = selectionEvent.detail.items;\n if (selection.length > 0) {\n const selectedCategory = this.typeCategories[selection[0].index];\n if (selectedCategory) {\n this.selectedCategory = selectedCategory;\n if (selectedCategory.types.length > 0) {\n this.selectedType = selectedCategory.types[0];\n }\n }\n }\n };\n\n private typeOnSelectionChangedHandler = (\n selectionEvent: CustomEvent<SelectionChangedEvent>\n ) => {\n const selection = selectionEvent.detail.items;\n if (selection.length > 0) {\n const selected = selection[0];\n this.selectedType = this.selectedCategory.types[selected.index];\n }\n };\n\n // 10.LOCAL METHODS (RENDER) //\n\n // 11.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noHeadingBorder\n >\n <main class=\"main\">\n <div class=\"categories-types-container\">\n <div class=\"categories\">\n {/* select a category listbox*/}\n {this.typeCategories.length > 0 ? (\n <gxg-list-box\n class=\"category\"\n single-selection\n noBorder\n borderEnd\n the-title={this._componentLocale.categorySelectionTitle}\n onSelectionChanged={\n this.categoryOnSelectionChangedHandler\n }\n >\n {this.typeCategories.map(category => (\n <gxg-list-box-item\n key={category.id}\n value={category.id}\n icon={category.icon}\n part={`category-${category.id}`}\n >\n {category.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n ) : null}\n </div>\n <div class=\"types\">\n {/* types listbox*/}\n {this.selectedCategory.types.length > 0 ? (\n <gxg-list-box\n class=\"types\"\n single-selection\n noBorder\n theTitle={\n this.selectedCategory.name\n ? `${this.selectedCategory.name} ${this._componentLocale.typeSelectionTitleSuffix}`\n : this._componentLocale.typeSelectionTitle\n }\n key={this.selectedCategory.id}\n onSelectionChanged={this.typeOnSelectionChangedHandler}\n >\n {this.selectedCategory.types.map(type => (\n <gxg-list-box-item\n key={`${this.selectedCategory.id}-${type.id}`}\n icon={type.icon}\n part={`type-${this.selectedCategory.id}-${type.id}`}\n >\n {type.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n ) : (\n <p>No Categories to display</p>\n )}\n </div>\n </div>\n <div class=\"api-description\">\n {/* api description title*/}\n <gxg-title type=\"title-05\">\n {this.selectedType?.description}\n </gxg-title>\n <div class=\"form\">\n {/* selected type name */}\n <gxg-label labelPosition=\"start\">\n {this._componentLocale.objectName}\n </gxg-label>\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"Name\"\n max-width=\"100%\"\n value={this.getNameSuggestion(this.selectedType)}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n onInput={this.onInputNameHandler as any}\n onBlur={this.onBlurNameHandler}\n onValueChanged={this.onNameValueChangedHandler}\n debounce\n part=\"name\"\n display-validation-styles\n display-validation-message\n ></gxg-form-text>\n\n {/* description */}\n <gxg-label labelPosition=\"start\">\n {this._componentLocale.objectDescription}\n </gxg-label>\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"Description\"\n max-width=\"100%\"\n value={this.selectedType.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.descriptionEl = el as HTMLGxgFormTextElement)\n }\n onInput={this.onInputDescriptionHandler as any}\n part=\"description\"\n display-validation-styles\n display-validation-message\n ></gxg-form-text>\n\n {this.renderModuleFolder()}\n </div>\n </div>\n </main>\n\n {/* Footer*/}\n {/* cancel button*/}\n <gxg-button\n id=\"button-cancel\"\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* create button*/}\n <gxg-button\n id=\"button-create\"\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.createCallbackHandler}\n disabled={!this.nameIsValid}\n part=\"gxg-button gxg-button--create\"\n >\n {this._componentLocale.footer.btnCreate}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface NewObjectData {\n typeId: string;\n name: string;\n description: string | undefined;\n moduleId: string;\n}\n\nexport type ValidateNameCallback = (\n name: string\n) => Promise<string | undefined>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type CreateCallback = (\n data: NewObjectData\n) => Promise<string | undefined>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type TypeCategoryData = {\n id: string;\n name: string;\n icon: string;\n types: TypeData[];\n};\n\nexport type TypeData = {\n id: string;\n name: string;\n icon: string;\n hasModule: boolean;\n hasFolder: boolean;\n description: string;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"new-object.js","sourceRoot":"","sources":["../../../src/components/new-object/new-object.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n Watch,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { SelectionChangedEvent } from \"@genexus/gemini/dist/types/components/list-box/list-box\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\n\n@Component({\n tag: \"gx-ide-new-object\",\n styleUrl: \"new-object.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/new-object\"]\n})\nexport class GxIdeNewObject {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-object/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeNewObjectElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n private nameEl!: HTMLGxgFormTextElement;\n private descriptionEl!: HTMLGxgFormTextElement;\n private moduleFolderEl!: HTMLGxIdeEntitySelectorElement;\n private descriptionModifiedByUser = false;\n private nameModifiedByUser = false;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private categoryListBox!: HTMLGxgListBoxElement;\n private typeListBox!: HTMLGxgListBoxElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedCategory: TypeCategoryData | null;\n @State() selectedType: TypeData | null;\n @Watch(\"selectedType\")\n watchSelectedTypeHandler() {\n this.descriptionModifiedByUser = false;\n }\n @State() nameIsValid = false;\n // Name of the new object\n @State() name: string = undefined;\n // Description of the new object\n @State() description: string = undefined;\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * Array containing category list and its corresponding types\n */\n @Prop() readonly typeCategories!: TypeCategoryData[];\n\n /**\n * Current value for Module/Folder\n */\n @Prop() readonly parent: EntityData;\n\n /**\n * Default value for the Module/Folder field.\n */\n @Prop() readonly defaultParent: EntityData;\n\n /**\n * Allows you to define the type selected by default when instantiating the dialog. Represented by the type identifier\n */\n @Prop() readonly defaultTypeId: string;\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 * Callback invoked when you must validate a name. Returns error message or 'undefined' if name is not valid.\n */\n @Prop() readonly validateNameCallback: ValidateNameCallback;\n\n /**\n * Callback invoked when user wants to cancel object creation\n */\n @Prop() readonly createCallback: CreateCallback;\n\n /**\n * Callback invoked when user wants to confirm object creation\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event emm=its the data needed to create a new object\n */\n @Event() create: EventEmitter<NewObjectData>;\n\n /**\n * This event is trigger after a validation of the object name is made. Returns undefined if its valid, otherwise an error message\n */\n @Event() validateName: EventEmitter<string | undefined>;\n\n /**\n * This event emits the 'cancel' event\n */\n @Event() cancel: EventEmitter<boolean>;\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 * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this.init();\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.nameEl.focus();\n this.setFirstFocusableElement();\n this.validateInitialName();\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n this.scrollIntoViewListBoxes();\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n\n /**\n * Scroll into view on both list-boxes. Only makes sense if defaultTypeId is not undefined, since otherwise in both list-boxes the initial selected item should be the first one, in which case is not needed to do scrollIntoView. Only call this method after the first render on new-object.\n */\n private scrollIntoViewListBoxes = () => {\n if (this.defaultTypeId) {\n this.categoryListBox.scrollToSelected();\n this.typeListBox.scrollToSelected();\n }\n };\n\n private setFirstFocusableElement = () => {\n this.el.addEventListener(\"focus\", () => {\n this.nameEl.focus();\n });\n };\n\n private validateInitialName = async () => {\n const result: string | undefined = await this.validateNameCallback(\n this.name\n );\n this.validateNameHandler(result);\n };\n\n private renderModuleFolder = () => {\n if (this.selectedType.hasModule || this.selectedType.hasFolder) {\n let labelDescription = this._componentLocale.moduleFolder;\n if (!this.selectedType.hasFolder) {\n labelDescription = this._componentLocale.moduleOnly;\n } else if (!this.selectedType.hasModule) {\n labelDescription = this._componentLocale.folderOnly;\n }\n return [\n <gxg-label labelPosition=\"start\">{labelDescription}</gxg-label>,\n <gx-ide-entity-selector\n value={this.parent}\n defaultValue={this.defaultParent}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.moduleFolderEl = el as HTMLGxIdeEntitySelectorElement)\n }\n id=\"module\"\n part=\"module\"\n ></gx-ide-entity-selector>\n ];\n }\n return null;\n };\n\n /**\n * This method defines the initial selected category and type, and it thens initializes tha name value.\n */\n private init = () => {\n const defaultTypeFound = this.setDefaultType(this.defaultTypeId);\n if (!defaultTypeFound) {\n this.selectedCategory = this.typeCategories[0];\n this.selectedType = this.selectedCategory.types[0];\n }\n if (this.selectedType && this.selectedType.name.length > 0) {\n this.name = this.getNameSuggestion(this.selectedType);\n this.description = this.selectedType.name;\n }\n };\n\n private setDefaultType = (typeId: string | undefined): boolean => {\n if (!typeId) {\n return false;\n }\n let found = false;\n outerLoop: for (let i = 0; i < this.typeCategories.length; i++) {\n for (let j = 0; j < this.typeCategories[i].types.length; j++) {\n const loopTypeId = this.typeCategories[i].types[j].id;\n if (loopTypeId === typeId) {\n this.selectedCategory = this.typeCategories[i];\n this.selectedType = this.typeCategories[i].types[j];\n found = true;\n break outerLoop;\n }\n }\n }\n return found;\n };\n\n private getNameSuggestion = (selectedType: TypeData) => {\n // Type name can include whitespaces, we need to replace all whitespaces to avoid invalid suggestions:\n return selectedType.name.replace(/\\s/g, \"\");\n };\n\n private nameValueHandler = (): string => {\n if (this.nameModifiedByUser) {\n return this.nameEl.value;\n } else {\n return this.getNameSuggestion(this.selectedType);\n }\n };\n\n private descriptionValueHandler = () => {\n if (this.nameModifiedByUser) {\n return this.descriptionEl.value;\n } else {\n return this.selectedType.name;\n }\n };\n\n private onInputNameHandler = (e: CustomEvent<string>) => {\n const name = e.detail;\n if (!this.descriptionModifiedByUser) {\n // description should be equal to name, unless the description was already modified by the user.\n this.descriptionEl.value = name;\n }\n this.nameModifiedByUser = true;\n };\n\n private onBlurNameHandler = async () => {\n const result: string | undefined = await this.validateNameCallback(\n this.nameEl.value\n );\n this.validateNameHandler(result);\n };\n\n private onNameValueChangedHandler = async (e: CustomEvent<string>) => {\n const name = e.detail;\n const result: string | undefined = await this.validateNameCallback(name);\n this.validateNameHandler(result);\n };\n\n private onInputDescriptionHandler = (e: CustomEvent<string>) => {\n this.description = e.detail;\n this.descriptionModifiedByUser = true;\n };\n\n /**\n * If the parameter is undefined, is because the name is valid. Otherwise, if it receives a string, is because the name is not valid. The string is the error message to display.\n */\n private validateNameHandler = (result: string | undefined): void => {\n if (result !== undefined) {\n // the name is not valid. display message\n this.nameEl.validationMessage = result;\n this.nameEl.validationStatus = \"error\";\n this.nameIsValid = false;\n } else {\n // valid name\n this.nameEl.validationMessage = null;\n this.nameEl.validationStatus = \"indeterminate\";\n this.nameIsValid = true;\n }\n };\n\n private createCallbackHandler = async (): Promise<void> => {\n const data: NewObjectData = {\n typeId: this.selectedType?.id,\n name: this.nameEl.value,\n description: !this.descriptionModifiedByUser\n ? undefined\n : this.descriptionEl.value,\n moduleId: this.moduleFolderEl?.value?.id\n };\n const result = await this.createCallback(data);\n this.validateNameHandler(result);\n };\n\n private cancelCallbackHandler = async (): Promise<void> => {\n await this.cancelCallback();\n };\n\n private categoryOnSelectionChangedHandler = (\n selectionEvent: CustomEvent<SelectionChangedEvent>\n ): void => {\n const selection = selectionEvent.detail.items;\n if (selection.length > 0) {\n const selectedCategory = this.typeCategories[selection[0].index];\n if (selectedCategory) {\n this.selectedCategory = selectedCategory;\n if (selectedCategory.types.length > 0) {\n this.selectedType = selectedCategory.types[0];\n }\n }\n }\n };\n\n private typeOnSelectionChangedHandler = (\n selectionEvent: CustomEvent<SelectionChangedEvent>\n ) => {\n const selection = selectionEvent.detail.items;\n if (selection.length > 0) {\n const selected = selection[0];\n this.selectedType = this.selectedCategory.types[selected.index];\n }\n };\n\n // 10.LOCAL METHODS (RENDER) //\n\n // 11.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noHeadingBorder\n >\n <main class=\"main\">\n <div class=\"categories-types-container\">\n <div class=\"categories\">\n {/* select a category listbox*/}\n {this.typeCategories.length > 0 ? (\n <gxg-list-box\n class=\"category\"\n single-selection\n noBorder\n borderEnd\n the-title={this._componentLocale.categorySelectionTitle}\n onSelectionChanged={\n this.categoryOnSelectionChangedHandler\n }\n ref={el =>\n (this.categoryListBox = el as HTMLGxgListBoxElement)\n }\n >\n {this.typeCategories.map(category => (\n <gxg-list-box-item\n key={category.id}\n value={category.id}\n icon={category.icon}\n part={`category-${category.id}`}\n selected={this.selectedCategory.id === category.id}\n >\n {category.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n ) : null}\n </div>\n <div class=\"types\">\n {/* types listbox*/}\n {this.selectedCategory.types.length > 0 ? (\n <gxg-list-box\n class=\"types\"\n single-selection\n noBorder\n theTitle={\n this.selectedCategory.name\n ? `${this.selectedCategory.name} ${this._componentLocale.typeSelectionTitleSuffix}`\n : this._componentLocale.typeSelectionTitle\n }\n key={this.selectedCategory.id}\n onSelectionChanged={this.typeOnSelectionChangedHandler}\n ref={el =>\n (this.typeListBox = el as HTMLGxgListBoxElement)\n }\n >\n {this.selectedCategory.types.map(type => (\n <gxg-list-box-item\n key={`${this.selectedCategory.id}-${type.id}`}\n icon={type.icon}\n part={`type-${this.selectedCategory.id}-${type.id}`}\n selected={this.selectedType.id === type.id}\n >\n {type.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n ) : (\n <p>No Categories to display</p>\n )}\n </div>\n </div>\n <div class=\"api-description\">\n {/* api description title*/}\n <gxg-title type=\"title-05\">\n {this.selectedType?.description}\n </gxg-title>\n <div class=\"form\">\n {/* selected type name */}\n <gxg-label labelPosition=\"start\">\n {this._componentLocale.objectName}\n </gxg-label>\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"Name\"\n max-width=\"100%\"\n value={this.nameValueHandler()}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n onInput={this.onInputNameHandler as any}\n onBlur={this.onBlurNameHandler}\n onValueChanged={this.onNameValueChangedHandler}\n debounce\n part=\"name\"\n display-validation-styles\n display-validation-message\n ></gxg-form-text>\n\n {/* description */}\n <gxg-label labelPosition=\"start\">\n {this._componentLocale.objectDescription}\n </gxg-label>\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"Description\"\n max-width=\"100%\"\n value={this.descriptionValueHandler()}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.descriptionEl = el as HTMLGxgFormTextElement)\n }\n onInput={this.onInputDescriptionHandler as any}\n part=\"description\"\n display-validation-styles\n display-validation-message\n ></gxg-form-text>\n\n {this.renderModuleFolder()}\n </div>\n </div>\n </main>\n\n {/* Footer*/}\n {/* cancel button*/}\n <gxg-button\n id=\"button-cancel\"\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* create button*/}\n <gxg-button\n id=\"button-create\"\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.createCallbackHandler}\n disabled={!this.nameIsValid}\n part=\"gxg-button gxg-button--create\"\n >\n {this._componentLocale.footer.btnCreate}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface NewObjectData {\n typeId: string;\n name: string;\n description: string | undefined;\n moduleId: string;\n}\n\nexport type ValidateNameCallback = (\n name: string\n) => Promise<string | undefined>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type CreateCallback = (\n data: NewObjectData\n) => Promise<string | undefined>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type TypeCategoryData = {\n id: string;\n name: string;\n icon: string;\n types: TypeData[];\n};\n\nexport type TypeData = {\n id: string;\n name: string;\n icon: string;\n hasModule: boolean;\n hasFolder: boolean;\n description: string;\n};\n"]}
|
|
@@ -1,4 +1,318 @@
|
|
|
1
|
-
|
|
1
|
+
:root {
|
|
2
|
+
--ui-animaton-speed: 0.2s;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
/*ALIGNMENT*/
|
|
6
|
+
/*Ellipsis*/
|
|
7
|
+
/*****************************************************
|
|
8
|
+
TYPOGRAPHY
|
|
9
|
+
*****************************************************/
|
|
10
|
+
/*Title 01 (Positive)*/
|
|
11
|
+
.gxg-title-01 {
|
|
12
|
+
font-family: var(--ds-base-font-family-primary);
|
|
13
|
+
font-weight: var(--ds-title-01-font-weight);
|
|
14
|
+
font-size: var(--ds-title-01-font-size);
|
|
15
|
+
letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
|
|
16
|
+
color: var(--ds-base-font-color);
|
|
17
|
+
text-align: start;
|
|
18
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/*Title 01 (Negative)*/
|
|
22
|
+
.gxg-title-01--negative {
|
|
23
|
+
font-family: var(--ds-base-font-family-primary);
|
|
24
|
+
font-weight: var(--ds-title-01-font-weight);
|
|
25
|
+
font-size: var(--ds-title-01-font-size);
|
|
26
|
+
letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
|
|
27
|
+
color: var(--ds-base-font-color);
|
|
28
|
+
text-align: start;
|
|
29
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
30
|
+
color: var(--ds-base-font-color--negative);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/*Title 02 (Positive)*/
|
|
34
|
+
.gxg-title-02 {
|
|
35
|
+
font-family: var(--ds-base-font-family-primary);
|
|
36
|
+
font-weight: var(--ds-title-02-font-weight);
|
|
37
|
+
font-size: var(--ds-title-02-font-size);
|
|
38
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
39
|
+
color: var(--ds-base-font-color);
|
|
40
|
+
text-align: start;
|
|
41
|
+
text-transform: uppercase;
|
|
42
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.gxg-title-02--negative {
|
|
46
|
+
font-family: var(--ds-base-font-family-primary);
|
|
47
|
+
font-weight: var(--ds-title-02-font-weight);
|
|
48
|
+
font-size: var(--ds-title-02-font-size);
|
|
49
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
50
|
+
color: var(--ds-base-font-color);
|
|
51
|
+
text-align: start;
|
|
52
|
+
text-transform: uppercase;
|
|
53
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
54
|
+
color: var(--color-on-primary);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/*Title 03*/
|
|
58
|
+
.gxg-title-03 {
|
|
59
|
+
font-family: var(--ds-base-font-family-primary);
|
|
60
|
+
font-weight: var(--ds-title-03-font-weight);
|
|
61
|
+
font-size: var(--ds-title-03-font-size);
|
|
62
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
63
|
+
color: var(--ds-base-font-color);
|
|
64
|
+
text-align: start;
|
|
65
|
+
text-transform: uppercase;
|
|
66
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.gxg-title-03--negative {
|
|
70
|
+
font-family: var(--ds-base-font-family-primary);
|
|
71
|
+
font-weight: var(--ds-title-03-font-weight);
|
|
72
|
+
font-size: var(--ds-title-03-font-size);
|
|
73
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
74
|
+
color: var(--ds-base-font-color);
|
|
75
|
+
text-align: start;
|
|
76
|
+
text-transform: uppercase;
|
|
77
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
78
|
+
color: var(--ds-base-font-color--negative);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/*Title 04*/
|
|
82
|
+
.gxg-title-04 {
|
|
83
|
+
font-family: var(--ds-base-font-family-primary);
|
|
84
|
+
font-weight: var(--ds-title-04-font-weight);
|
|
85
|
+
font-size: var(--ds-title-04-font-size);
|
|
86
|
+
letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
|
|
87
|
+
color: var(--ds-base-font-color);
|
|
88
|
+
text-align: start;
|
|
89
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.gxg-title-04--negative {
|
|
93
|
+
font-family: var(--ds-base-font-family-primary);
|
|
94
|
+
font-weight: var(--ds-title-04-font-weight);
|
|
95
|
+
font-size: var(--ds-title-04-font-size);
|
|
96
|
+
letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
|
|
97
|
+
color: var(--ds-base-font-color);
|
|
98
|
+
text-align: start;
|
|
99
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
100
|
+
color: var(--ds-base-font-color--negative);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/*Title 05*/
|
|
104
|
+
.gxg-title-05 {
|
|
105
|
+
font-family: var(--ds-base-font-family-primary);
|
|
106
|
+
font-weight: var(--ds-title-05-font-weight);
|
|
107
|
+
font-size: var(--ds-title-05-font-size);
|
|
108
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
109
|
+
color: var(--ds-base-font-color);
|
|
110
|
+
text-align: start;
|
|
111
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.gxg-title-05--negative {
|
|
115
|
+
font-family: var(--ds-base-font-family-primary);
|
|
116
|
+
font-weight: var(--ds-title-05-font-weight);
|
|
117
|
+
font-size: var(--ds-title-05-font-size);
|
|
118
|
+
letter-spacing: var(--ds-base-font-letter-spacing--regular);
|
|
119
|
+
color: var(--ds-base-font-color);
|
|
120
|
+
text-align: start;
|
|
121
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
122
|
+
color: var(--ds-base-font-color--negative);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/*Text*/
|
|
126
|
+
.gxg-text {
|
|
127
|
+
font-family: var(--ds-base-font-family-primary);
|
|
128
|
+
font-size: var(--ds-base-font-size);
|
|
129
|
+
color: var(--ds-base-font-size-color);
|
|
130
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
131
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.gxg-text--negative {
|
|
135
|
+
font-family: var(--ds-base-font-family-primary);
|
|
136
|
+
font-size: var(--ds-base-font-size);
|
|
137
|
+
color: var(--ds-base-font-size-color);
|
|
138
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
139
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
140
|
+
color: var(--ds-base-font-color--negative);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.gxg-text--gray {
|
|
144
|
+
font-family: var(--ds-base-font-family-primary);
|
|
145
|
+
font-size: var(--ds-base-font-size);
|
|
146
|
+
color: var(--ds-base-font-size-color);
|
|
147
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
148
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
149
|
+
color: var(--ds-base-font-color--dimmed);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/*Quote*/
|
|
153
|
+
.gxg-quote {
|
|
154
|
+
font-family: var(--ds-base-font-family-primary);
|
|
155
|
+
font-size: var(--ds-base-font-size);
|
|
156
|
+
color: var(--ds-base-font-size-color);
|
|
157
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
158
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
159
|
+
font-style: italic;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.gxg-quote--negative {
|
|
163
|
+
color: var(--ds-base-font-color--negative);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/*Link*/
|
|
167
|
+
.gxg-link {
|
|
168
|
+
line-height: unset;
|
|
169
|
+
font-family: var(--ds-base-font-family-primary);
|
|
170
|
+
font-size: var(--ds-base-font-size);
|
|
171
|
+
color: var(--ds-base-font-size-color);
|
|
172
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
173
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
174
|
+
color: var(--ds-base-font-color--link);
|
|
175
|
+
text-decoration: underline;
|
|
176
|
+
cursor: pointer;
|
|
177
|
+
display: inline-block;
|
|
178
|
+
}
|
|
179
|
+
.gxg-link:hover {
|
|
180
|
+
color: var(--ds-base-font-color--link-hover);
|
|
181
|
+
}
|
|
182
|
+
.gxg-link:active {
|
|
183
|
+
color: var(--ds-base-font-color--link-active);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.gxg-link-gray {
|
|
187
|
+
line-height: unset;
|
|
188
|
+
font-family: var(--ds-base-font-family-primary);
|
|
189
|
+
font-size: var(--ds-base-font-size);
|
|
190
|
+
color: var(--ds-base-font-size-color);
|
|
191
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
192
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
193
|
+
color: var(--ds-base-font-color--link);
|
|
194
|
+
text-decoration: underline;
|
|
195
|
+
cursor: pointer;
|
|
196
|
+
display: inline-block;
|
|
197
|
+
color: var(--ds-base-font-color--dimmed);
|
|
198
|
+
}
|
|
199
|
+
.gxg-link-gray:hover {
|
|
200
|
+
line-height: unset;
|
|
201
|
+
font-family: var(--ds-base-font-family-primary);
|
|
202
|
+
font-size: var(--ds-base-font-size);
|
|
203
|
+
color: var(--ds-base-font-size-color);
|
|
204
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
205
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
206
|
+
color: var(--ds-base-font-color--link);
|
|
207
|
+
text-decoration: underline;
|
|
208
|
+
cursor: pointer;
|
|
209
|
+
display: inline-block;
|
|
210
|
+
color: var(--ds-base-font-color--dimmed);
|
|
211
|
+
filter: brightness(1.4);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/*Alerts*/
|
|
215
|
+
.gxg-alert-error {
|
|
216
|
+
font-family: var(--ds-base-font-family-primary);
|
|
217
|
+
font-size: var(--ds-base-font-size);
|
|
218
|
+
color: var(--ds-base-font-size-color);
|
|
219
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
220
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
221
|
+
color: var(--ds-base-font-color--error);
|
|
222
|
+
display: inline-block;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.gxg-alert-warning {
|
|
226
|
+
font-family: var(--ds-base-font-family-primary);
|
|
227
|
+
font-size: var(--ds-base-font-size);
|
|
228
|
+
color: var(--ds-base-font-size-color);
|
|
229
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
230
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
231
|
+
color: var(--ds-base-font-color--warning);
|
|
232
|
+
display: inline-block;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.gxg-alert-success {
|
|
236
|
+
font-family: var(--ds-base-font-family-primary);
|
|
237
|
+
font-size: var(--ds-base-font-size);
|
|
238
|
+
color: var(--ds-base-font-size-color);
|
|
239
|
+
font-weight: var(--ds-base-font-size-weight);
|
|
240
|
+
line-height: var(--ds-base-font-line-height--comfortable);
|
|
241
|
+
color: var(--ds-base-font-color--success);
|
|
242
|
+
display: inline-block;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/*Tab*/
|
|
246
|
+
.gxg-tab--disabled {
|
|
247
|
+
color: var(--color-primary-disabled);
|
|
248
|
+
pointer-events: none;
|
|
249
|
+
}
|
|
250
|
+
.gxg-tab--disabled[disabled] {
|
|
251
|
+
color: var(--color-primary-disabled);
|
|
252
|
+
pointer-events: none;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/*Label*/
|
|
256
|
+
.gxg-label {
|
|
257
|
+
font-family: var(--ds-base-font-family-primary);
|
|
258
|
+
font-weight: var(--gxg-label-font-weight);
|
|
259
|
+
font-size: var(--gxg-label-font-size);
|
|
260
|
+
color: var(--gxg-label-color);
|
|
261
|
+
text-align: center;
|
|
262
|
+
line-height: 1.455em;
|
|
263
|
+
display: flex;
|
|
264
|
+
align-items: center;
|
|
265
|
+
}
|
|
266
|
+
.gxg-label:hover {
|
|
267
|
+
color: var(--color-primary-hover);
|
|
268
|
+
}
|
|
269
|
+
.gxg-label:focus {
|
|
270
|
+
color: var(--color-primary-active);
|
|
271
|
+
}
|
|
272
|
+
.gxg-label:active {
|
|
273
|
+
color: var(--color-primary-active);
|
|
274
|
+
}
|
|
275
|
+
.gxg-label[disabled] {
|
|
276
|
+
color: var(--color-primary-disabled);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.gxg-label--negative {
|
|
280
|
+
color: var(--color-on-primary);
|
|
281
|
+
}
|
|
282
|
+
.gxg-label--negative[disabled] {
|
|
283
|
+
color: var(--color-on-disabled);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/*****************************************************
|
|
287
|
+
GXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES
|
|
288
|
+
*****************************************************/
|
|
289
|
+
/*****************************************************
|
|
290
|
+
FORM ELEMENTS
|
|
291
|
+
*****************************************************/
|
|
292
|
+
.gxg-scrollbar {
|
|
293
|
+
/* Track */
|
|
294
|
+
/* Handle */
|
|
295
|
+
/* Handle on hover */
|
|
296
|
+
}
|
|
297
|
+
.gxg-scrollbar::-webkit-scrollbar {
|
|
298
|
+
width: var(--gxg-scrollbar-width);
|
|
299
|
+
height: var(--gxg-scrollbar-width);
|
|
300
|
+
}
|
|
301
|
+
.gxg-scrollbar::-webkit-scrollbar-track {
|
|
302
|
+
background-color: var(--gxg-scrollbar-track-background);
|
|
303
|
+
border-radius: var(--gxg-scrollbar-track-border-radius);
|
|
304
|
+
}
|
|
305
|
+
.gxg-scrollbar::-webkit-scrollbar-thumb {
|
|
306
|
+
background-color: var(--gxg-scrollbar-track-thumb-background);
|
|
307
|
+
border-radius: var(--gxg-scrollbar-track-thumb-radius);
|
|
308
|
+
}
|
|
309
|
+
.gxg-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
310
|
+
background-color: var(--gxg-scrollbar-track-thumb-hover-background);
|
|
311
|
+
}
|
|
312
|
+
.gxg-scrollbar::-webkit-scrollbar-corner {
|
|
313
|
+
background: rgba(0, 0, 0, 0);
|
|
314
|
+
}
|
|
315
|
+
|
|
2
316
|
/*Gx Ide*/
|
|
3
317
|
/*@container queries*/
|
|
4
318
|
/* hiChar styles
|
|
@@ -143,25 +457,22 @@ gxg-tabs {
|
|
|
143
457
|
/* Handle on hover */
|
|
144
458
|
}
|
|
145
459
|
.gx-ide-main::-webkit-scrollbar {
|
|
146
|
-
width:
|
|
147
|
-
height:
|
|
460
|
+
width: var(--gxg-scrollbar-width);
|
|
461
|
+
height: var(--gxg-scrollbar-width);
|
|
148
462
|
}
|
|
149
463
|
.gx-ide-main::-webkit-scrollbar-track {
|
|
150
|
-
background-color: var(--
|
|
151
|
-
border-radius:
|
|
464
|
+
background-color: var(--gxg-scrollbar-track-background);
|
|
465
|
+
border-radius: var(--gxg-scrollbar-track-border-radius);
|
|
152
466
|
}
|
|
153
467
|
.gx-ide-main::-webkit-scrollbar-thumb {
|
|
154
|
-
background: var(--
|
|
155
|
-
border-radius:
|
|
468
|
+
background-color: var(--gxg-scrollbar-track-thumb-background);
|
|
469
|
+
border-radius: var(--gxg-scrollbar-track-thumb-radius);
|
|
156
470
|
}
|
|
157
471
|
.gx-ide-main::-webkit-scrollbar-thumb:hover {
|
|
158
|
-
background: var(--
|
|
159
|
-
cursor: pointer;
|
|
472
|
+
background-color: var(--gxg-scrollbar-track-thumb-hover-background);
|
|
160
473
|
}
|
|
161
|
-
.gx-ide-main
|
|
162
|
-
|
|
163
|
-
overflow-y: auto;
|
|
164
|
-
padding-inline-end: 2px;
|
|
474
|
+
.gx-ide-main::-webkit-scrollbar-corner {
|
|
475
|
+
background: rgba(0, 0, 0, 0);
|
|
165
476
|
}
|
|
166
477
|
|
|
167
478
|
.gx-ide-overflow {
|
|
@@ -171,25 +482,22 @@ gxg-tabs {
|
|
|
171
482
|
/* Handle on hover */
|
|
172
483
|
}
|
|
173
484
|
.gx-ide-overflow::-webkit-scrollbar {
|
|
174
|
-
width:
|
|
175
|
-
height:
|
|
485
|
+
width: var(--gxg-scrollbar-width);
|
|
486
|
+
height: var(--gxg-scrollbar-width);
|
|
176
487
|
}
|
|
177
488
|
.gx-ide-overflow::-webkit-scrollbar-track {
|
|
178
|
-
background-color: var(--
|
|
179
|
-
border-radius:
|
|
489
|
+
background-color: var(--gxg-scrollbar-track-background);
|
|
490
|
+
border-radius: var(--gxg-scrollbar-track-border-radius);
|
|
180
491
|
}
|
|
181
492
|
.gx-ide-overflow::-webkit-scrollbar-thumb {
|
|
182
|
-
background: var(--
|
|
183
|
-
border-radius:
|
|
493
|
+
background-color: var(--gxg-scrollbar-track-thumb-background);
|
|
494
|
+
border-radius: var(--gxg-scrollbar-track-thumb-radius);
|
|
184
495
|
}
|
|
185
496
|
.gx-ide-overflow::-webkit-scrollbar-thumb:hover {
|
|
186
|
-
background: var(--
|
|
187
|
-
cursor: pointer;
|
|
497
|
+
background-color: var(--gxg-scrollbar-track-thumb-hover-background);
|
|
188
498
|
}
|
|
189
|
-
.gx-ide-overflow
|
|
190
|
-
|
|
191
|
-
overflow-y: auto;
|
|
192
|
-
padding-inline-end: 2px;
|
|
499
|
+
.gx-ide-overflow::-webkit-scrollbar-corner {
|
|
500
|
+
background: rgba(0, 0, 0, 0);
|
|
193
501
|
}
|
|
194
502
|
|
|
195
503
|
/*gxg-tree-view*/
|
|
@@ -200,7 +508,6 @@ gxg-tabs {
|
|
|
200
508
|
box-sizing: border-box;
|
|
201
509
|
}
|
|
202
510
|
|
|
203
|
-
/*Gemini*/
|
|
204
511
|
/*Gx Ide*/
|
|
205
512
|
/*@container queries*/
|
|
206
513
|
/* hiChar styles
|