@genexus/genexus-ide-ui 1.1.13 → 1.1.15

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.
Files changed (142) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-about.cjs.entry.js +29 -15
  3. package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +2 -2
  5. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +121 -40
  7. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +0 -13
  11. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +201 -0
  13. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +159 -0
  15. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +0 -1
  17. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +3 -1
  20. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +4 -0
  21. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +1 -1
  22. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
  23. package/dist/collection/components/{_branding/about → about}/about.css +44 -15
  24. package/dist/collection/components/{_branding/about → about}/about.js +46 -62
  25. package/dist/collection/components/about/about.js.map +1 -0
  26. package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/langs/about.lang.en.json +3 -3
  27. package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/langs/about.lang.ja.json +3 -3
  28. package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/langs/about.lang.zh.json +3 -3
  29. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +2 -2
  30. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  31. package/dist/collection/components/data-type-selector/data-type-selector.css +1 -0
  32. package/dist/collection/components/data-type-selector/data-type-selector.js +165 -43
  33. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  34. package/dist/collection/components/data-type-selector/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  35. package/dist/collection/components/data-type-selector/helpers.js +2 -0
  36. package/dist/collection/components/data-type-selector/helpers.js.map +1 -1
  37. package/dist/collection/components/file-uploader/file-uploader.js +0 -13
  38. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  39. package/dist/collection/components/plugin-details/gx-ide-assets/plugin-details/langs/plugin-details.lang.en.json +9 -0
  40. package/dist/collection/components/plugin-details/gx-ide-assets/plugin-details/langs/plugin-details.lang.ja.json +9 -0
  41. package/dist/collection/components/plugin-details/gx-ide-assets/plugin-details/langs/plugin-details.lang.zh.json +9 -0
  42. package/dist/collection/components/plugin-details/plugin-details.css +168 -0
  43. package/dist/collection/components/plugin-details/plugin-details.js +292 -0
  44. package/dist/collection/components/plugin-details/plugin-details.js.map +1 -0
  45. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/images/plugin-icon.svg +10 -0
  46. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +10 -0
  47. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.ja.json +10 -0
  48. package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +10 -0
  49. package/dist/collection/components/plugin-explorer/plugin-explorer.css +106 -0
  50. package/dist/collection/components/plugin-explorer/plugin-explorer.js +263 -0
  51. package/dist/collection/components/plugin-explorer/plugin-explorer.js.map +1 -0
  52. package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.ja.json +45 -45
  53. package/dist/collection/pages/assets/images/plugin/docker-iso.svg +12 -0
  54. package/dist/collection/showcase/chat-container/callbacks.js +0 -1
  55. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  56. package/dist/collection/testing/locale.e2e.js +2 -0
  57. package/dist/collection/testing/locale.e2e.js.map +1 -1
  58. package/dist/components/gx-ide-about.js +32 -19
  59. package/dist/components/gx-ide-about.js.map +1 -1
  60. package/dist/components/gx-ide-bpm-export-xpdl.js +2 -2
  61. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  62. package/dist/components/gx-ide-data-type-selector.js +126 -42
  63. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  64. package/dist/components/gx-ide-empty-state2.js +2 -2
  65. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  66. package/dist/components/gx-ide-file-uploader.js +0 -13
  67. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  68. package/dist/components/gx-ide-plugin-details.d.ts +11 -0
  69. package/dist/components/gx-ide-plugin-details.js +222 -0
  70. package/dist/components/gx-ide-plugin-details.js.map +1 -0
  71. package/dist/components/gx-ide-plugin-explorer.d.ts +11 -0
  72. package/dist/components/gx-ide-plugin-explorer.js +194 -0
  73. package/dist/components/gx-ide-plugin-explorer.js.map +1 -0
  74. package/dist/components/gx-ide-sc-chat-container.js +0 -1
  75. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  76. package/dist/esm/genexus-ide-ui.js +1 -1
  77. package/dist/esm/gx-ide-about.entry.js +29 -15
  78. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  79. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +2 -2
  80. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  81. package/dist/esm/gx-ide-data-type-selector.entry.js +121 -40
  82. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  83. package/dist/esm/gx-ide-empty-state.entry.js +2 -2
  84. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  85. package/dist/esm/gx-ide-file-uploader.entry.js +0 -13
  86. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  87. package/dist/esm/gx-ide-plugin-details.entry.js +197 -0
  88. package/dist/esm/gx-ide-plugin-details.entry.js.map +1 -0
  89. package/dist/esm/gx-ide-plugin-explorer.entry.js +155 -0
  90. package/dist/esm/gx-ide-plugin-explorer.entry.js.map +1 -0
  91. package/dist/esm/gx-ide-sc-chat-container.entry.js +0 -1
  92. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  93. package/dist/esm/loader.js +1 -1
  94. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  95. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  96. package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.en.json +3 -3
  97. package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.ja.json +3 -3
  98. package/dist/genexus-ide-ui/gx-ide-assets/about/langs/about.lang.zh.json +3 -3
  99. package/dist/genexus-ide-ui/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  100. package/dist/genexus-ide-ui/gx-ide-assets/plugin-details/langs/plugin-details.lang.en.json +9 -0
  101. package/dist/genexus-ide-ui/gx-ide-assets/plugin-details/langs/plugin-details.lang.ja.json +9 -0
  102. package/dist/genexus-ide-ui/gx-ide-assets/plugin-details/langs/plugin-details.lang.zh.json +9 -0
  103. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/images/plugin-icon.svg +10 -0
  104. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +10 -0
  105. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.ja.json +10 -0
  106. package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +10 -0
  107. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.ja.json +45 -45
  108. package/dist/genexus-ide-ui/{p-a47d71eb.entry.js → p-4328be14.entry.js} +7 -7
  109. package/dist/genexus-ide-ui/p-4328be14.entry.js.map +1 -0
  110. package/dist/genexus-ide-ui/p-476b74a1.entry.js +109 -0
  111. package/dist/genexus-ide-ui/p-476b74a1.entry.js.map +1 -0
  112. package/dist/genexus-ide-ui/{p-6d996621.entry.js → p-4e6425f3.entry.js} +1 -2
  113. package/dist/genexus-ide-ui/p-4e6425f3.entry.js.map +1 -0
  114. package/dist/genexus-ide-ui/p-641c79a9.entry.js +198 -0
  115. package/dist/genexus-ide-ui/p-641c79a9.entry.js.map +1 -0
  116. package/dist/genexus-ide-ui/p-6b4fdf55.entry.js +344 -0
  117. package/dist/genexus-ide-ui/p-6b4fdf55.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-17dc4c9c.entry.js → p-7d7cf30d.entry.js} +35 -51
  119. package/dist/genexus-ide-ui/p-7d7cf30d.entry.js.map +1 -0
  120. package/dist/genexus-ide-ui/p-84c1c1bb.entry.js +270 -0
  121. package/dist/genexus-ide-ui/p-84c1c1bb.entry.js.map +1 -0
  122. package/dist/genexus-ide-ui/{p-844b7117.entry.js → p-86365635.entry.js} +3 -3
  123. package/dist/genexus-ide-ui/p-86365635.entry.js.map +1 -0
  124. package/dist/types/components/{_branding/about → about}/about.d.ts +6 -10
  125. package/dist/types/components/data-type-selector/data-type-selector.d.ts +16 -12
  126. package/dist/types/components/plugin-details/plugin-details.d.ts +55 -0
  127. package/dist/types/components/plugin-explorer/plugin-explorer.d.ts +43 -0
  128. package/dist/types/components.d.ts +126 -26
  129. package/package.json +1 -1
  130. package/dist/collection/components/_branding/about/about.js.map +0 -1
  131. package/dist/genexus-ide-ui/p-0550fd5f.entry.js +0 -96
  132. package/dist/genexus-ide-ui/p-0550fd5f.entry.js.map +0 -1
  133. package/dist/genexus-ide-ui/p-17dc4c9c.entry.js.map +0 -1
  134. package/dist/genexus-ide-ui/p-6d996621.entry.js.map +0 -1
  135. package/dist/genexus-ide-ui/p-844b7117.entry.js.map +0 -1
  136. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +0 -1
  137. package/dist/genexus-ide-ui/p-ca6eb9fd.entry.js +0 -255
  138. package/dist/genexus-ide-ui/p-ca6eb9fd.entry.js.map +0 -1
  139. /package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/images/copyrights-illustration.png +0 -0
  140. /package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/images/next-arrow.svg +0 -0
  141. /package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/images/next-logo.svg +0 -0
  142. /package/dist/collection/components/{_branding/about → about}/gx-ide-assets/about/images/next-square.svg +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pluginDetailsCss","USER_ICON","getIconPath","category","name","colorType","CHEVRON_DOWN_ICON","CHECK_CIRCLE_ICON","EXTENSION_ICON_IMG","getAssetPath","CSS_BUNDLES","GxIdePluginDetails","_GxIdePluginDetails_componentLocale","set","this","_GxIdePluginDetails_docSectionIdDescriptionMap","Map","_GxIdePluginDetails_versionsMenuOptionsModel","versionsToUpdateMenusModel","_a","data","versions","map","version","id","caption","_GxIdePluginDetails_menuVersionSelectedHandler","event","selectedVersion","detail","installCallback","_GxIdePluginDetails_renderUninstallButton","h","class","onClick","__classPrivateFieldGet","_GxIdePluginDetails_uninstallClickedHandler","actions","uninstall","_GxIdePluginDetails_installClickedHandler","_GxIdePluginDetails_updateVersionHandler","_GxIdePluginDetails_openLinkHandler","link","preventDefault","openLinkCallback","uninstallCallback","_GxIdePluginDetails_renderActionButtons","actionButtonCaption","actionButtonClasses","actionButtonCallback","moreVersionsToUpdate","length","installed","install","updateVersion","updateTo","call","blockAlign","inlineAlign","model","onButtonClick","src","_GxIdePluginDetails_tabSelectionChangedHandler","selectedTabId","newSelectedId","_GxIdePluginDetails_renderDocSectionsSlots","docsTabModel","docSectionTab","markdownValue","get","slot","key","theme","value","_GxIdePluginDetails_returnFormatedId","rawId","toLowerCase","replace","_GxIdePluginDetails_renderAsideContent","infoCategories","infoCategory","fields__list","displayAsTags","fields","field","fieldValue","url","text","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","docSections","docSection","i","formatedId","content","render","renderActionButtons","titleLinkDataText","titleLinkDataUrl","titleHasLink","titleText","publisherDataText","publisher","publisherDataUrl","publisherHasLink","publisherText","Host","iconUrl","alt","href","description","tabListPosition","overflow","contain","onSelectedItemChange","selectedId"],"sources":["src/components/plugin-details/plugin-details.scss?tag=gx-ide-plugin-details&encapsulation=shadow","src/components/plugin-details/plugin-details.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-areas:\n \"header header\"\n \"main aside\";\n grid-template-rows: max-content 1fr;\n grid-template-columns: 1fr 280px;\n row-gap: 12px;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n display: grid;\n grid-area: header;\n grid-template-areas: \"plugin-icon plugin-details\";\n grid-template-columns: 64px 1fr;\n column-gap: 16px;\n padding: 24px 24px 16px 24px;\n}\n.plugin__icon {\n grid-area: plugin-icon;\n max-width: 100%;\n}\n.plugin__details {\n grid-area: plugin-details;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.plugin__publisher {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n.plugin__description {\n line-height: 1.5; // WA: Text appears too tight.\n}\n.plugin__actions-container {\n margin-block-start: 8px;\n align-items: center;\n}\n.action-button {\n min-inline-size: 100px;\n\n &.more-versions-available {\n border-start-end-radius: 0 !important;\n border-end-end-radius: 0 !important;\n }\n}\n.installed-container {\n display: flex;\n align-items: center;\n gap: 6px;\n\n // WA Biggest Mercury icon (icon-md) looks small in this case.\n // Mercury should expose more icon sizes.\n ch-image {\n --ch-image-size: 20px;\n }\n}\n\n// main\n.main {\n grid-area: main;\n}\n.docsTab {\n block-size: 100%;\n}\n\n// aside\n.aside {\n grid-area: aside;\n overflow: auto;\n border-block-start: 1px solid var(--items-container__border-color);\n}\n.fields__list {\n list-style: none;\n padding: 0;\n margin: 0;\n font-size: 12px;\n}\n.plugin__info-category {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:first-child) {\n $space: 16px;\n padding-block-start: $space;\n margin-block-start: $space;\n border-block-start: 1px solid var(--mer-border-color__on-elevation--01);\n }\n}\n.fields__list:not(.fields__list--as-tags) {\n display: flex;\n flex-direction: column;\n gap: 8px;\n .field__li {\n display: flex;\n gap: 16px;\n }\n}\n.fields__list--as-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .field__li {\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: 2px 8px;\n border-radius: 4px;\n\n text-transform: lowercase;\n }\n .field__link {\n color: var(--mer-text__on-surface);\n\n &:hover {\n color: var(--mer-accent__primary);\n }\n &:active {\n color: var(--mer-accent__primary--hover);\n }\n }\n}\n\n.field__name,\n.field__value {\n flex: 1;\n}\n// WA: Link styles should be defined Mercury\n.field__link {\n color: var(--mer-accent__primary);\n &:hover {\n color: var(--mer-accent__primary--hover);\n }\n &:active {\n color: var(--mer-accent__primary--active);\n }\n}\n// WA: Remove tab elevation background color\n.docsTab {\n background-color: transparent !important;\n}\n\n// WA: Styles for \"button-icon-only\" should be defined on mercury\n.dropdown.button-icon-only::part(expandable-button) {\n padding: calc(\n (\n var(--control__block-size) - 2 * var(--control__border-width) -\n var(--mer-icon__box--md)\n ) / 2\n ) !important;\n border-start-start-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.version-buttons-container {\n display: flex;\n align-items: center;\n gap: 1px;\n}\n\nch-markdown-viewer {\n block-size: 100%;\n overflow: auto;\n}\n\n// WA: Need text with underline. This should be defined on Mercury\n.text-underline {\n text-decoration: underline;\n}\n","import {\n Component,\n Host,\n State,\n Prop,\n Element,\n h,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ActionMenuModel, TabModel } from \"@genexus/chameleon-controls-library\";\nimport { TabItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tab/types\";\n\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"system\",\n name: \"chevron-down\",\n colorType: \"on-primary\"\n});\nconst CHECK_CIRCLE_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"success\"\n});\n\n// plugin icon if no iconUri was provided\nconst EXTENSION_ICON_IMG = getAssetPath(\n `./gx-ide-assets/plugin-manager/images/plugin-icon.svg`\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/dropdown\",\n \"components/edit\",\n \"components/icon\",\n \"components/list-box\",\n \"components/tab\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-plugin-details\",\n styleUrl: \"plugin-details.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/plugin-details\"]\n})\nexport class GxIdePluginDetails {\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 // A map between docSection \"id\", and docSection \"description\".\n // \"id\" is generated inside this component.\n #docSectionIdDescriptionMap: Map<string, string> = new Map();\n\n @Element() el: HTMLGxIdePluginDetailsElement;\n\n @State() docsTabModel: TabModel = [];\n @State() selectedTabId: string;\n\n /**\n * Specifies all the information related to a plugin.\n */\n @Prop() readonly data!: PluginDetailsData;\n\n /**\n * Callback that should be invoked when the user performs the install or update action.\n * Receives an optional version string when a specific version is selected.\n */\n @Prop() readonly installCallback!: (version?: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user attempts to open any link displayed in this component.\n */\n @Prop() readonly openLinkCallback!: (url: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user performs the uninstall action.\n */\n @Prop() readonly uninstallCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n if (this.data.docSections?.length) {\n this.docsTabModel = this.data.docSections.map((docSection, i) => {\n const formatedId = this.#returnFormatedId(docSection.name);\n\n this.#docSectionIdDescriptionMap.set(formatedId, docSection.content);\n\n if (i === 0) {\n this.selectedTabId = formatedId;\n }\n return {\n id: formatedId,\n name: docSection.name\n } as TabItemModel;\n });\n }\n }\n\n #versionsMenuOptionsModel = (): ActionMenuModel => {\n const versionsToUpdateMenusModel: ActionMenuModel = this.data.versions?.map(\n version => {\n return { id: version, caption: version };\n }\n );\n return versionsToUpdateMenusModel;\n };\n\n #menuVersionSelectedHandler = (\n event: CustomEvent<{\n id?: string;\n }>\n ) => {\n const selectedVersion = event.detail.id;\n this.installCallback(selectedVersion);\n };\n\n #renderUninstallButton = (): JSX.Element => {\n return (\n <button class=\"button-tertiary\" onClick={this.#uninstallClickedHandler}>\n {this.#componentLocale.actions.uninstall}\n </button>\n );\n };\n\n #installClickedHandler = () => {\n this.installCallback();\n };\n\n #updateVersionHandler = (id: string) => () => {\n this.installCallback(id);\n };\n\n #openLinkHandler = (link: string) => (event: MouseEvent) => {\n event.preventDefault();\n this.openLinkCallback(link);\n };\n\n #uninstallClickedHandler = () => {\n this.uninstallCallback();\n };\n\n #renderActionButtons = (): JSX.Element => {\n let actionButtonCaption;\n let actionButtonClasses = \"button-primary action-button\";\n let actionButtonCallback;\n const moreVersionsToUpdate = this.data.versions?.length;\n\n if (!this.data.installed) {\n actionButtonCaption = this.#componentLocale.actions.install;\n actionButtonCallback = this.#installClickedHandler;\n } else if (this.data.updateVersion) {\n actionButtonCaption = `${this.#componentLocale.actions.updateTo} ${\n this.data.updateVersion\n }`;\n actionButtonCallback = this.#updateVersionHandler(\n this.data.updateVersion\n );\n } else {\n actionButtonCaption = this.#componentLocale.actions.installed;\n }\n\n if (moreVersionsToUpdate) {\n actionButtonClasses = `${actionButtonClasses} more-versions-available`;\n }\n\n return [\n <div class=\"version-buttons-container\">\n <button class={actionButtonClasses} onClick={actionButtonCallback}>\n {actionButtonCaption}\n </button>\n {moreVersionsToUpdate ? (\n <ch-action-menu-render\n class=\"dropdown button-primary button-icon-only\"\n blockAlign=\"outside-end\"\n inlineAlign=\"inside-start\"\n model={this.#versionsMenuOptionsModel()}\n onButtonClick={this.#menuVersionSelectedHandler}\n >\n <ch-image src={CHEVRON_DOWN_ICON} class=\"icon-md\"></ch-image>\n </ch-action-menu-render>\n ) : null}\n </div>\n ];\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.selectedTabId = event.detail.newSelectedId;\n };\n\n #renderDocSectionsSlots = (): JSX.Element => {\n return this.docsTabModel.map(docSectionTab => {\n if (docSectionTab.id === this.selectedTabId) {\n const markdownValue = this.#docSectionIdDescriptionMap.get(\n docSectionTab.id\n );\n\n return (\n <ch-markdown-viewer\n slot={docSectionTab.id}\n key={docSectionTab.id}\n class=\"markdown spacing-body scrollable\"\n theme=\"components/markdown-viewer\"\n value={markdownValue}\n ></ch-markdown-viewer>\n );\n }\n });\n };\n\n #returnFormatedId = (rawId: string): string => {\n return rawId.toLowerCase().replace(/\\s+/g, \"-\");\n };\n\n #renderAsideContent = (): JSX.Element => {\n return this.data.infoCategories.map(infoCategory => {\n return (\n <div class=\"plugin__info-category\">\n <h3 class=\"subtitle-semi-bold-s\">{infoCategory.name}</h3>\n <ul\n class={{\n \"fields__list\": true,\n \"fields__list--as-tags\": infoCategory.displayAsTags\n }}\n >\n {infoCategory.fields.map(field => {\n // If the field name isn’t specified, only the value is shown — usually a link.\n const fieldValue: string | HTMLAnchorElement =\n typeof field.value === \"string\" ? (\n (field.value as string)\n ) : (\n <a\n class=\"field__link\"\n onClick={this.#openLinkHandler(\n (field.value as LinkData).url\n )}\n >\n {(field.value as LinkData).text}\n </a>\n );\n return (\n <li class=\"field__li\">\n {field.name && !infoCategory.displayAsTags\n ? // displaysAsTags forces the items to be displayed as tags\n // no span.field__name and span.field__value\n [\n <span class=\"field__name body-semi-bold-s\">\n {field.name}\n </span>,\n <span class=\"field__value body-regular-s\">\n {fieldValue}\n </span>\n ]\n : fieldValue}\n </li>\n );\n })}\n </ul>\n </div>\n );\n });\n };\n\n render() {\n const renderActionButtons =\n !this.data.installed ||\n (this.data.installed && !!this.data.updateVersion);\n\n const titleLinkDataText = (this.data.name as LinkData).text;\n const titleLinkDataUrl = (this.data.name as LinkData).url;\n const titleHasLink = titleLinkDataText && titleLinkDataUrl;\n const titleText = titleLinkDataText || this.data.name;\n\n const publisherDataText = (this.data.publisher as LinkData).text;\n const publisherDataUrl = (this.data.publisher as LinkData).url;\n const publisherHasLink = publisherDataText && publisherDataUrl;\n const publisherText = publisherDataText || this.data.publisher;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <img\n class=\"plugin__icon\"\n src={this.data.iconUrl || EXTENSION_ICON_IMG}\n alt=\"plugin extension icon\"\n />\n <div class=\"plugin__details\">\n {titleHasLink ? (\n <h2 class=\"heading-5\">\n <a\n href={titleLinkDataUrl}\n onClick={this.#openLinkHandler(titleLinkDataUrl)}\n class=\"text-underline\"\n >\n {titleText}\n </a>\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n\n {publisherHasLink ? (\n <a\n href={publisherDataUrl}\n onClick={this.#openLinkHandler(publisherDataUrl)}\n class=\"text-underline plugin__publisher tiny-semi-bold-l\"\n >\n <ch-image src={USER_ICON} class=\"icon-md\"></ch-image>\n {publisherText}\n </a>\n ) : (\n <p class=\"plugin__publisher tiny-semi-bold-l\">\n <ch-image src={USER_ICON} class=\"icon-md\"></ch-image>\n {publisherText}\n </p>\n )}\n\n <p class=\"plugin__description\">{this.data.description}</p>\n <div class=\"buttons-spacer plugin__actions-container\">\n {renderActionButtons ? (\n this.#renderActionButtons()\n ) : (\n // installed and no updates\n <p class=\"installed-container subtitle-semi-bold-s\">\n <ch-image\n src={CHECK_CIRCLE_ICON}\n class=\"icon-md\"\n ></ch-image>\n {this.#componentLocale.actions.installed}\n </p>\n )}\n {this.data.installed && this.#renderUninstallButton()}\n </div>\n </div>\n </header>\n <div class=\"main\">\n {this.docsTabModel.length > 0 && (\n <ch-tab-render\n class=\"tab docsTab scrollable\"\n tabListPosition=\"block-start\"\n overflow=\"auto\"\n contain=\"size\"\n model={this.docsTabModel}\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n selectedId={this.selectedTabId}\n >\n {this.#renderDocSectionsSlots()}\n </ch-tab-render>\n )}\n </div>\n <div class=\"aside spacing-body scrollable\">\n {this.#renderAsideContent()}\n </div>\n </section>\n {/* <slot></slot> */}\n </Host>\n );\n }\n}\n\n// plugin-details.types.ts\n\nexport type LinkData = {\n text: string;\n url: string;\n};\n\nexport type PluginFieldData = {\n name?: string;\n value: string | LinkData;\n};\n\nexport type PluginInfoCategoryData = {\n name: string;\n fields: PluginFieldData[];\n displayAsTags: boolean;\n};\n\nexport type DocSectionData = {\n name: string;\n content: string;\n};\n\nexport type PluginDetailsData = {\n id: string;\n name: string | LinkData;\n publisher: string | LinkData;\n installed: boolean;\n updateVersion?: string;\n versions: string[];\n iconUrl: string;\n description: string;\n docSections: DocSectionData[];\n infoCategories: PluginInfoCategoryData[];\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { r as e, h as r, H as a, a as t } from "./p-25a9f1d7.js";
2
2
 
3
- const o = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:flex;align-items:center;justify-content:center;text-align:center;inline-size:100%;position:relative}:host(.animate){animation:fadeIn var(--mer-timing--fast) forwards;inset-block-start:0}.main-container{max-width:320px;margin:0 auto;gap:var(--mer-spacing--md);padding:var(--mer-spacing--md)}.main-container__icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;pointer-events:none}.main-container__content{gap:var(--mer-spacing--sm)}.main-container,.main-container__content{display:flex;align-items:center;flex-direction:column}@keyframes fadeIn{0%{opacity:0;inset-block-start:5px}}";
3
+ const o = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:flex;align-items:center;justify-content:center;text-align:center;inline-size:100%;position:relative}:host(.animate){animation:fadeIn var(--mer-timing--fast) forwards;inset-block-start:0}.main-container{max-width:320px;margin:0 auto;gap:var(--mer-spacing--md);padding:var(--mer-spacing--md)}.main-container__icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;pointer-events:none}.main-container__content{gap:var(--mer-spacing--sm)}.main-container,.main-container__content{display:flex;align-items:center;flex-direction:column}.description{line-height:1.5 !important}@keyframes fadeIn{0%{opacity:0;inset-block-start:5px}}";
4
4
 
5
5
  const i = [ "resets/box-sizing", "components/button", "components/icon", "utils/typography" ];
6
6
 
@@ -31,7 +31,7 @@ const n = class {
31
31
  }, this.stateTitle && r("h2", {
32
32
  class: "body-regular-m"
33
33
  }, this.stateTitle), this.stateDescription && r("p", {
34
- class: "body-regular-s"
34
+ class: "body-regular-s description"
35
35
  }, this.stateDescription)), r("slot", null)));
36
36
  }
37
37
  get el() {
@@ -42,4 +42,4 @@ const n = class {
42
42
  n.style = o;
43
43
 
44
44
  export { n as gx_ide_empty_state };
45
- //# sourceMappingURL=p-844b7117.entry.js.map
45
+ //# sourceMappingURL=p-86365635.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["gxIdeEmptyStateCss","CSS_BUNDLES","GxIdeEmptyState","render","h","Host","class","animate","this","isAnimated","model","stateIconSrc","src","stateTitle","stateDescription"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n\n:host {\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n inline-size: 100%;\n position: relative;\n}\n:host(.animate) {\n animation: fadeIn var(--mer-timing--fast) forwards;\n inset-block-start: 0;\n}\n.main-container {\n max-width: 320px;\n margin: 0 auto;\n gap: var(--mer-spacing--md);\n padding: var(--mer-spacing--md);\n\n &__icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n }\n\n &__content {\n gap: var(--mer-spacing--sm);\n }\n}\n.main-container,\n.main-container__content {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.description {\n // WA: current font style (.body-regular-m) has a tight line-height\n line-height: 1.5 !important;\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n inset-block-start: 5px;\n }\n}\n","import { Component, Host, h, Prop, Element } from \"@stencil/core\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n @Element() el: HTMLGxIdeEmptyStateElement;\n\n /**\n * Includes a subtle entry animation\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() readonly isAnimated: boolean = false;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The state icon\n */\n @Prop() readonly stateIconSrc?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n render() {\n return (\n <Host class={{ animate: this.isAnimated }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <article class=\"main-container\">\n {this.stateIconSrc && (\n <span class=\"main-container__icon-wrapper\">\n <ch-image src={this.stateIconSrc} class=\"icon-md\"></ch-image>\n </span>\n )}\n <div class=\"main-container__content\">\n {this.stateTitle && (\n <h2 class=\"body-regular-m\">{this.stateTitle}</h2>\n )}\n {this.stateDescription && (\n <p class=\"body-regular-s description\">{this.stateDescription}</p>\n )}\n </div>\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n"],"mappings":";;AAAA,MAAMA,IAAqB;;ACG3B,MAAMC,IAA8B,EAClC,qBACA,qBACA,mBACA;;MAQWC,IAAe;;;sBAOa;;;;;EAiBvC,MAAAC;IACE,OACEC,EAACC,GAAI;MAACC,OAAO;QAAEC,SAASC,KAAKC;;OAC3BL,EAAA;MAAUM,OAAOT;QACjBG,EAAA;MAASE,OAAM;OACZE,KAAKG,gBACJP,EAAA;MAAME,OAAM;OACVF,EAAA;MAAUQ,KAAKJ,KAAKG;MAAcL,OAAM;SAG5CF,EAAA;MAAKE,OAAM;OACRE,KAAKK,cACJT,EAAA;MAAIE,OAAM;OAAkBE,KAAKK,aAElCL,KAAKM,oBACJV,EAAA;MAAGE,OAAM;OAA8BE,KAAKM,oBAGhDV,EAAA"}
@@ -2,17 +2,9 @@ export declare class GxIdeAbout {
2
2
  #private;
3
3
  el: HTMLGxIdeAboutElement;
4
4
  /**
5
- * The version of GeneXus
5
+ * GeneXus Next version, and also related dependencies versions
6
6
  */
7
- readonly version: string;
8
- /**
9
- * The version of GeneXus IDE
10
- */
11
- readonly ideVersion: string;
12
- /**
13
- * The version of GeneXus BL
14
- */
15
- readonly blVersion: string;
7
+ readonly versions: string[];
16
8
  /**
17
9
  * Callback invoked when the user clicks on "Details & Acknowledgements"
18
10
  */
@@ -25,6 +17,10 @@ export declare class GxIdeAbout {
25
17
  * Callback invoked when the user clicks on "Terms and conditions"
26
18
  */
27
19
  readonly termsAndConditionsCallback: TermsAndConditionsCallback;
20
+ /**
21
+ * True when the user copies the versions
22
+ */
23
+ copying: boolean;
28
24
  componentWillLoad(): Promise<void>;
29
25
  render(): any;
30
26
  }
@@ -4,18 +4,27 @@ export declare class GxIdeKbManagerImport {
4
4
  el: HTMLGxIdeDataTypeSelectorElement;
5
5
  categoriesListBoxModel: ActionListItemModel[];
6
6
  selectedCategory: string;
7
- statusInfo: StatusInfo[];
8
7
  recentlyUsedActionListModel: ActionListModel;
9
8
  loading: boolean;
9
+ categoriesJustChanged: boolean;
10
+ actionListDidRender: boolean;
10
11
  /**
11
12
  * All possible types and its category
12
13
  */
13
14
  readonly categories: DataTypeCategoryData[];
14
15
  categoriesChanged(newCategories: DataTypeCategoryData[]): void;
15
16
  /**
16
- * Callback invoked when user select an item type
17
+ * Callback invoked when the user has selected an item type
17
18
  */
18
19
  readonly dataTypeSelectedCallback: DataTypeSelectedCallback;
20
+ /**
21
+ * Defines the type of focus applied when the component renders for the first time.
22
+ */
23
+ readonly arrowUpOnFirstElement: ArrowFirstOnFirstElement;
24
+ /**
25
+ * Defines the type of focus applied when the component renders for the first time.
26
+ */
27
+ readonly focusType: "first-element" | "selected";
19
28
  /**
20
29
  * All recently used types list
21
30
  */
@@ -25,22 +34,17 @@ export declare class GxIdeKbManagerImport {
25
34
  private selectedCategoryHandler;
26
35
  render(): void;
27
36
  }
28
- type StatusInfo = {
29
- [key: string]: {
30
- display: boolean;
31
- };
32
- };
33
37
  export type DataTypeCategoryData = {
38
+ id: string;
34
39
  name: string;
35
40
  icon: string;
36
41
  types: DataTypeData[];
37
42
  };
38
43
  export type DataTypeData = {
44
+ id: string;
39
45
  name: string;
40
46
  icon: string;
47
+ selected: boolean;
41
48
  };
42
- export type DataTypeSelectedCallback = (data: {
43
- name: string;
44
- icon: string;
45
- }) => Promise<void>;
46
- export {};
49
+ export type DataTypeSelectedCallback = (data: DataTypeData) => Promise<void>;
50
+ export type ArrowFirstOnFirstElement = () => Promise<void>;
@@ -0,0 +1,55 @@
1
+ import { TabModel } from "@genexus/chameleon-controls-library";
2
+ export declare class GxIdePluginDetails {
3
+ #private;
4
+ el: HTMLGxIdePluginDetailsElement;
5
+ docsTabModel: TabModel;
6
+ selectedTabId: string;
7
+ /**
8
+ * Specifies all the information related to a plugin.
9
+ */
10
+ readonly data: PluginDetailsData;
11
+ /**
12
+ * Callback that should be invoked when the user performs the install or update action.
13
+ * Receives an optional version string when a specific version is selected.
14
+ */
15
+ readonly installCallback: (version?: string) => Promise<void>;
16
+ /**
17
+ * Callback that should be invoked when the user attempts to open any link displayed in this component.
18
+ */
19
+ readonly openLinkCallback: (url: string) => Promise<void>;
20
+ /**
21
+ * Callback that should be invoked when the user performs the uninstall action.
22
+ */
23
+ readonly uninstallCallback: () => Promise<void>;
24
+ componentWillLoad(): Promise<void>;
25
+ render(): any;
26
+ }
27
+ export type LinkData = {
28
+ text: string;
29
+ url: string;
30
+ };
31
+ export type PluginFieldData = {
32
+ name?: string;
33
+ value: string | LinkData;
34
+ };
35
+ export type PluginInfoCategoryData = {
36
+ name: string;
37
+ fields: PluginFieldData[];
38
+ displayAsTags: boolean;
39
+ };
40
+ export type DocSectionData = {
41
+ name: string;
42
+ content: string;
43
+ };
44
+ export type PluginDetailsData = {
45
+ id: string;
46
+ name: string | LinkData;
47
+ publisher: string | LinkData;
48
+ installed: boolean;
49
+ updateVersion?: string;
50
+ versions: string[];
51
+ iconUrl: string;
52
+ description: string;
53
+ docSections: DocSectionData[];
54
+ infoCategories: PluginInfoCategoryData[];
55
+ };
@@ -0,0 +1,43 @@
1
+ import { ActionListModel } from "@genexus/chameleon-controls-library";
2
+ export declare class GxIdePluginManager {
3
+ #private;
4
+ el: HTMLGxIdePluginExplorerElement;
5
+ /**
6
+ * If true it will hide the content, and display a loader
7
+ */
8
+ loading: boolean;
9
+ /**
10
+ * The plugins model as ActionListModel, which is the model the ch-action-list expects
11
+ */
12
+ pluginsActionListModel: ActionListModel;
13
+ /**
14
+ * List of plugins to display. Usually used to initialize the component.
15
+ */
16
+ plugins: PluginData[];
17
+ pluginsChangedHandler(newPlugins: PluginData[]): void;
18
+ /**
19
+ * Callback that should be invoked when the user updates the filter.
20
+ * A debounce should be applied before invoking this function.
21
+ */
22
+ readonly filterCallback: (text: string) => Promise<PluginData[]>;
23
+ /**
24
+ * Callback that should be invoked when the user clicks or presses Enter
25
+ * on a selected plugin item.
26
+ */
27
+ readonly showDetailsCallback: (pluginId: string) => Promise<void>;
28
+ /**
29
+ * Callback that should be invoked when the user clicks on a plugin's action button.
30
+ */
31
+ readonly executeActionCallback: (pluginId: string, action: PluginAction) => Promise<void>;
32
+ componentWillLoad(): Promise<void>;
33
+ render(): any;
34
+ }
35
+ export type PluginData = {
36
+ id: string;
37
+ iconUrl: string;
38
+ name: string;
39
+ description: string;
40
+ publisher: string;
41
+ action?: PluginAction;
42
+ };
43
+ export type PluginAction = "install" | "update";
@@ -5,7 +5,7 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { DetailsCallback, PrivacyPolicyCallback, TermsAndConditionsCallback } from "./components/_branding/about/about";
8
+ import { DetailsCallback, PrivacyPolicyCallback, TermsAndConditionsCallback } from "./components/about/about";
9
9
  import { AiStatus, Message, UserMessageCallback } from "./components/ai-assistant/ai-assistant";
10
10
  import { MessageType } from "./components/ai-assistant/ai-assistant";
11
11
  import { Translations } from "./components/ai-assistant/ai-message";
@@ -29,7 +29,7 @@ import { KBData, KBVersion, KnowledgeBaseInfo } from "./components/team-dev/crea
29
29
  import { MenuAlign, Mode, UserInfo } from "./components/current-user-info/current-user-info";
30
30
  import { EditResult, EnvironmentData, KBData as KBData1, recentObjectData } from "./components/dashboard-home/dashboard-home";
31
31
  import { CancelCallback as CancelCallback4, ConfirmCallback as ConfirmCallback3, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
32
- import { DataTypeCategoryData, DataTypeData, DataTypeSelectedCallback } from "./components/data-type-selector/data-type-selector";
32
+ import { ArrowFirstOnFirstElement, DataTypeCategoryData, DataTypeData, DataTypeSelectedCallback } from "./components/data-type-selector/data-type-selector";
33
33
  import { AddObjectsCallback, CreateDeploymentUnitCallback, DeployCallback, DeployTargetData, GetDeploymentUnitObjectsCallback, ObjectTypeData, OptionsCallback } from "./components/deployment-tool/deployment-tool";
34
34
  import { CancelCallback as CancelCallback5, ConfirmCallback as ConfirmCallback4, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, ReactiveSettings, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/design-import/design-import";
35
35
  import { DirectorySelectorLabels, LabelPosition } from "./components/_helpers/directory-selector/directory-selector";
@@ -52,6 +52,8 @@ import { NewVersionData } from "./components/new-version/new-version";
52
52
  import { ContextMenuInfo as ContextMenuInfo1, FormSubmitResult as FormSubmitResult1 } from "./components";
53
53
  import { CancelCallback as CancelCallback14, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
54
54
  import { CancelCallback as CancelCallback15, ImportCallback as ImportCallback1, LoadCallback as LoadCallback3, SelectParentCallback } from "./components/open-api-import/open-api-import";
55
+ import { PluginDetailsData } from "./components/plugin-details/plugin-details";
56
+ import { PluginAction, PluginData } from "./components/plugin-explorer/plugin-explorer";
55
57
  import { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
56
58
  import { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
57
59
  import { TeamData } from "./components/select-user-team/select-user-team";
@@ -74,7 +76,7 @@ import { WFConfigData } from "./components/wf-settings/wf-settings";
74
76
  import { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback7, ObjectActionCallback, OpenSelectionCallback as OpenSelectionCallback1, SelectionChangeCallback } from "./components/ww-attributes/ww-attributes";
75
77
  import { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as DeleteSelectionCallback1, LoadCallback as LoadCallback8, NewFileCallback, OpenSelectionCallback as OpenSelectionCallback2, SelectionChangeCallback as SelectionChangeCallback1, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-files/ww-files";
76
78
  import { ContextMenuCallback as ContextMenuCallback2, DeleteSelectionCallback as DeleteSelectionCallback2, LoadCallback as LoadCallback9, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback3, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/ww-images/ww-images";
77
- export { DetailsCallback, PrivacyPolicyCallback, TermsAndConditionsCallback } from "./components/_branding/about/about";
79
+ export { DetailsCallback, PrivacyPolicyCallback, TermsAndConditionsCallback } from "./components/about/about";
78
80
  export { AiStatus, Message, UserMessageCallback } from "./components/ai-assistant/ai-assistant";
79
81
  export { MessageType } from "./components/ai-assistant/ai-assistant";
80
82
  export { Translations } from "./components/ai-assistant/ai-message";
@@ -98,7 +100,7 @@ export { KBData, KBVersion, KnowledgeBaseInfo } from "./components/team-dev/crea
98
100
  export { MenuAlign, Mode, UserInfo } from "./components/current-user-info/current-user-info";
99
101
  export { EditResult, EnvironmentData, KBData as KBData1, recentObjectData } from "./components/dashboard-home/dashboard-home";
100
102
  export { CancelCallback as CancelCallback4, ConfirmCallback as ConfirmCallback3, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
101
- export { DataTypeCategoryData, DataTypeData, DataTypeSelectedCallback } from "./components/data-type-selector/data-type-selector";
103
+ export { ArrowFirstOnFirstElement, DataTypeCategoryData, DataTypeData, DataTypeSelectedCallback } from "./components/data-type-selector/data-type-selector";
102
104
  export { AddObjectsCallback, CreateDeploymentUnitCallback, DeployCallback, DeployTargetData, GetDeploymentUnitObjectsCallback, ObjectTypeData, OptionsCallback } from "./components/deployment-tool/deployment-tool";
103
105
  export { CancelCallback as CancelCallback5, ConfirmCallback as ConfirmCallback4, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, ReactiveSettings, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/design-import/design-import";
104
106
  export { DirectorySelectorLabels, LabelPosition } from "./components/_helpers/directory-selector/directory-selector";
@@ -121,6 +123,8 @@ export { NewVersionData } from "./components/new-version/new-version";
121
123
  export { ContextMenuInfo as ContextMenuInfo1, FormSubmitResult as FormSubmitResult1 } from "./components";
122
124
  export { CancelCallback as CancelCallback14, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
123
125
  export { CancelCallback as CancelCallback15, ImportCallback as ImportCallback1, LoadCallback as LoadCallback3, SelectParentCallback } from "./components/open-api-import/open-api-import";
126
+ export { PluginDetailsData } from "./components/plugin-details/plugin-details";
127
+ export { PluginAction, PluginData } from "./components/plugin-explorer/plugin-explorer";
124
128
  export { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
125
129
  export { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
126
130
  export { TeamData } from "./components/select-user-team/select-user-team";
@@ -145,18 +149,10 @@ export { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as
145
149
  export { ContextMenuCallback as ContextMenuCallback2, DeleteSelectionCallback as DeleteSelectionCallback2, LoadCallback as LoadCallback9, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback3, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/ww-images/ww-images";
146
150
  export namespace Components {
147
151
  interface GxIdeAbout {
148
- /**
149
- * The version of GeneXus BL
150
- */
151
- "blVersion": string;
152
152
  /**
153
153
  * Callback invoked when the user clicks on "Details & Acknowledgements"
154
154
  */
155
155
  "detailsCallback": DetailsCallback;
156
- /**
157
- * The version of GeneXus IDE
158
- */
159
- "ideVersion": string;
160
156
  /**
161
157
  * Callback invoked when the user clicks on "Privacy policy"
162
158
  */
@@ -166,9 +162,9 @@ export namespace Components {
166
162
  */
167
163
  "termsAndConditionsCallback": TermsAndConditionsCallback;
168
164
  /**
169
- * The version of GeneXus
165
+ * GeneXus Next version, and also related dependencies versions
170
166
  */
171
- "version": string;
167
+ "versions": string[];
172
168
  }
173
169
  interface GxIdeAiAssistant {
174
170
  /**
@@ -824,14 +820,22 @@ export namespace Components {
824
820
  "validate": () => Promise<boolean>;
825
821
  }
826
822
  interface GxIdeDataTypeSelector {
823
+ /**
824
+ * Defines the type of focus applied when the component renders for the first time.
825
+ */
826
+ "arrowUpOnFirstElement": ArrowFirstOnFirstElement;
827
827
  /**
828
828
  * All possible types and its category
829
829
  */
830
830
  "categories": DataTypeCategoryData[];
831
831
  /**
832
- * Callback invoked when user select an item type
832
+ * Callback invoked when the user has selected an item type
833
833
  */
834
834
  "dataTypeSelectedCallback": DataTypeSelectedCallback;
835
+ /**
836
+ * Defines the type of focus applied when the component renders for the first time.
837
+ */
838
+ "focusType": "first-element" | "selected";
835
839
  /**
836
840
  * All recently used types list
837
841
  */
@@ -1773,6 +1777,45 @@ export namespace Components {
1773
1777
  */
1774
1778
  "suspendShortcuts": (suspendShortcuts: boolean) => Promise<void>;
1775
1779
  }
1780
+ interface GxIdePluginDetails {
1781
+ /**
1782
+ * Specifies all the information related to a plugin.
1783
+ */
1784
+ "data": PluginDetailsData;
1785
+ /**
1786
+ * Callback that should be invoked when the user performs the install or update action. Receives an optional version string when a specific version is selected.
1787
+ */
1788
+ "installCallback": (version?: string) => Promise<void>;
1789
+ /**
1790
+ * Callback that should be invoked when the user attempts to open any link displayed in this component.
1791
+ */
1792
+ "openLinkCallback": (url: string) => Promise<void>;
1793
+ /**
1794
+ * Callback that should be invoked when the user performs the uninstall action.
1795
+ */
1796
+ "uninstallCallback": () => Promise<void>;
1797
+ }
1798
+ interface GxIdePluginExplorer {
1799
+ /**
1800
+ * Callback that should be invoked when the user clicks on a plugin's action button.
1801
+ */
1802
+ "executeActionCallback": (
1803
+ pluginId: string,
1804
+ action: PluginAction
1805
+ ) => Promise<void>;
1806
+ /**
1807
+ * Callback that should be invoked when the user updates the filter. A debounce should be applied before invoking this function.
1808
+ */
1809
+ "filterCallback": (text: string) => Promise<PluginData[]>;
1810
+ /**
1811
+ * List of plugins to display. Usually used to initialize the component.
1812
+ */
1813
+ "plugins": PluginData[];
1814
+ /**
1815
+ * Callback that should be invoked when the user clicks or presses Enter on a selected plugin item.
1816
+ */
1817
+ "showDetailsCallback": (pluginId: string) => Promise<void>;
1818
+ }
1776
1819
  interface GxIdeReferences {
1777
1820
  /**
1778
1821
  * Callback invoked when a node is expanded in any references panels
@@ -3283,6 +3326,18 @@ declare global {
3283
3326
  prototype: HTMLGxIdeOpenApiImportElement;
3284
3327
  new (): HTMLGxIdeOpenApiImportElement;
3285
3328
  };
3329
+ interface HTMLGxIdePluginDetailsElement extends Components.GxIdePluginDetails, HTMLStencilElement {
3330
+ }
3331
+ var HTMLGxIdePluginDetailsElement: {
3332
+ prototype: HTMLGxIdePluginDetailsElement;
3333
+ new (): HTMLGxIdePluginDetailsElement;
3334
+ };
3335
+ interface HTMLGxIdePluginExplorerElement extends Components.GxIdePluginExplorer, HTMLStencilElement {
3336
+ }
3337
+ var HTMLGxIdePluginExplorerElement: {
3338
+ prototype: HTMLGxIdePluginExplorerElement;
3339
+ new (): HTMLGxIdePluginExplorerElement;
3340
+ };
3286
3341
  interface HTMLGxIdeReferencesElement extends Components.GxIdeReferences, HTMLStencilElement {
3287
3342
  }
3288
3343
  var HTMLGxIdeReferencesElement: {
@@ -3624,6 +3679,8 @@ declare global {
3624
3679
  "gx-ide-new-version": HTMLGxIdeNewVersionElement;
3625
3680
  "gx-ide-object-selector": HTMLGxIdeObjectSelectorElement;
3626
3681
  "gx-ide-open-api-import": HTMLGxIdeOpenApiImportElement;
3682
+ "gx-ide-plugin-details": HTMLGxIdePluginDetailsElement;
3683
+ "gx-ide-plugin-explorer": HTMLGxIdePluginExplorerElement;
3627
3684
  "gx-ide-references": HTMLGxIdeReferencesElement;
3628
3685
  "gx-ide-sc-chat-container": HTMLGxIdeScChatContainerElement;
3629
3686
  "gx-ide-select-kb-items": HTMLGxIdeSelectKbItemsElement;
@@ -3656,18 +3713,10 @@ declare global {
3656
3713
  }
3657
3714
  declare namespace LocalJSX {
3658
3715
  interface GxIdeAbout {
3659
- /**
3660
- * The version of GeneXus BL
3661
- */
3662
- "blVersion"?: string;
3663
3716
  /**
3664
3717
  * Callback invoked when the user clicks on "Details & Acknowledgements"
3665
3718
  */
3666
3719
  "detailsCallback"?: DetailsCallback;
3667
- /**
3668
- * The version of GeneXus IDE
3669
- */
3670
- "ideVersion"?: string;
3671
3720
  /**
3672
3721
  * Callback invoked when the user clicks on "Privacy policy"
3673
3722
  */
@@ -3677,9 +3726,9 @@ declare namespace LocalJSX {
3677
3726
  */
3678
3727
  "termsAndConditionsCallback"?: TermsAndConditionsCallback;
3679
3728
  /**
3680
- * The version of GeneXus
3729
+ * GeneXus Next version, and also related dependencies versions
3681
3730
  */
3682
- "version"?: string;
3731
+ "versions"?: string[];
3683
3732
  }
3684
3733
  interface GxIdeAiAssistant {
3685
3734
  /**
@@ -4351,14 +4400,22 @@ declare namespace LocalJSX {
4351
4400
  "selectionType"?: "single" | "multiple";
4352
4401
  }
4353
4402
  interface GxIdeDataTypeSelector {
4403
+ /**
4404
+ * Defines the type of focus applied when the component renders for the first time.
4405
+ */
4406
+ "arrowUpOnFirstElement"?: ArrowFirstOnFirstElement;
4354
4407
  /**
4355
4408
  * All possible types and its category
4356
4409
  */
4357
4410
  "categories"?: DataTypeCategoryData[];
4358
4411
  /**
4359
- * Callback invoked when user select an item type
4412
+ * Callback invoked when the user has selected an item type
4360
4413
  */
4361
4414
  "dataTypeSelectedCallback"?: DataTypeSelectedCallback;
4415
+ /**
4416
+ * Defines the type of focus applied when the component renders for the first time.
4417
+ */
4418
+ "focusType"?: "first-element" | "selected";
4362
4419
  /**
4363
4420
  * All recently used types list
4364
4421
  */
@@ -5332,6 +5389,45 @@ declare namespace LocalJSX {
5332
5389
  */
5333
5390
  "selectParentCallback"?: SelectParentCallback;
5334
5391
  }
5392
+ interface GxIdePluginDetails {
5393
+ /**
5394
+ * Specifies all the information related to a plugin.
5395
+ */
5396
+ "data": PluginDetailsData;
5397
+ /**
5398
+ * Callback that should be invoked when the user performs the install or update action. Receives an optional version string when a specific version is selected.
5399
+ */
5400
+ "installCallback": (version?: string) => Promise<void>;
5401
+ /**
5402
+ * Callback that should be invoked when the user attempts to open any link displayed in this component.
5403
+ */
5404
+ "openLinkCallback": (url: string) => Promise<void>;
5405
+ /**
5406
+ * Callback that should be invoked when the user performs the uninstall action.
5407
+ */
5408
+ "uninstallCallback": () => Promise<void>;
5409
+ }
5410
+ interface GxIdePluginExplorer {
5411
+ /**
5412
+ * Callback that should be invoked when the user clicks on a plugin's action button.
5413
+ */
5414
+ "executeActionCallback": (
5415
+ pluginId: string,
5416
+ action: PluginAction
5417
+ ) => Promise<void>;
5418
+ /**
5419
+ * Callback that should be invoked when the user updates the filter. A debounce should be applied before invoking this function.
5420
+ */
5421
+ "filterCallback": (text: string) => Promise<PluginData[]>;
5422
+ /**
5423
+ * List of plugins to display. Usually used to initialize the component.
5424
+ */
5425
+ "plugins"?: PluginData[];
5426
+ /**
5427
+ * Callback that should be invoked when the user clicks or presses Enter on a selected plugin item.
5428
+ */
5429
+ "showDetailsCallback": (pluginId: string) => Promise<void>;
5430
+ }
5335
5431
  interface GxIdeReferences {
5336
5432
  /**
5337
5433
  * Callback invoked when a node is expanded in any references panels
@@ -6227,6 +6323,8 @@ declare namespace LocalJSX {
6227
6323
  "gx-ide-new-version": GxIdeNewVersion;
6228
6324
  "gx-ide-object-selector": GxIdeObjectSelector;
6229
6325
  "gx-ide-open-api-import": GxIdeOpenApiImport;
6326
+ "gx-ide-plugin-details": GxIdePluginDetails;
6327
+ "gx-ide-plugin-explorer": GxIdePluginExplorer;
6230
6328
  "gx-ide-references": GxIdeReferences;
6231
6329
  "gx-ide-sc-chat-container": GxIdeScChatContainer;
6232
6330
  "gx-ide-select-kb-items": GxIdeSelectKbItems;
@@ -6306,6 +6404,8 @@ declare module "@stencil/core" {
6306
6404
  "gx-ide-new-version": LocalJSX.GxIdeNewVersion & JSXBase.HTMLAttributes<HTMLGxIdeNewVersionElement>;
6307
6405
  "gx-ide-object-selector": LocalJSX.GxIdeObjectSelector & JSXBase.HTMLAttributes<HTMLGxIdeObjectSelectorElement>;
6308
6406
  "gx-ide-open-api-import": LocalJSX.GxIdeOpenApiImport & JSXBase.HTMLAttributes<HTMLGxIdeOpenApiImportElement>;
6407
+ "gx-ide-plugin-details": LocalJSX.GxIdePluginDetails & JSXBase.HTMLAttributes<HTMLGxIdePluginDetailsElement>;
6408
+ "gx-ide-plugin-explorer": LocalJSX.GxIdePluginExplorer & JSXBase.HTMLAttributes<HTMLGxIdePluginExplorerElement>;
6309
6409
  "gx-ide-references": LocalJSX.GxIdeReferences & JSXBase.HTMLAttributes<HTMLGxIdeReferencesElement>;
6310
6410
  "gx-ide-sc-chat-container": LocalJSX.GxIdeScChatContainer & JSXBase.HTMLAttributes<HTMLGxIdeScChatContainerElement>;
6311
6411
  "gx-ide-select-kb-items": LocalJSX.GxIdeSelectKbItems & JSXBase.HTMLAttributes<HTMLGxIdeSelectKbItemsElement>;