@genexus/genexus-ide-ui 1.1.22 → 1.1.23

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.
@@ -1 +1 @@
1
- {"file":"gx-ide-plugin-details.js","mappings":"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","names":["GxIdePluginDetails"],"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"],"version":3}
1
+ {"file":"gx-ide-plugin-details.js","mappings":"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","names":["GxIdePluginDetails"],"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 #chMarkdownViewer: HTMLChMarkdownViewerElement;\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 componentDidLoad() {\n this.#chMarkdownViewer.addEventListener(\"click\", event => {\n // Listens for clicks on links inside <ch-markdown-viewer>.\n // If a link (<a>) is clicked and openLinkCallback is defined,\n // it prevents the default navigation and delegates the event\n // to this.#openLinkHandler, passing the link's href.\n const path = event.composedPath() as EventTarget[];\n\n const link = path.find(el => el instanceof HTMLAnchorElement) as\n | HTMLAnchorElement\n | undefined;\n\n if (link?.href) {\n this.#openLinkHandler(link.href)(event);\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 if (this.openLinkCallback) {\n event.preventDefault();\n this.openLinkCallback(link);\n }\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 ref={el =>\n (this.#chMarkdownViewer = el as HTMLChMarkdownViewerElement)\n }\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 #renderLinkTag = (\n href: string,\n label: string,\n cssClass?: string,\n chImageSrc?: string\n ): HTMLAnchorElement => {\n return (\n <a\n href={href}\n target=\"_blank\"\n onClick={this.#openLinkHandler(href)}\n class={cssClass}\n >\n {chImageSrc && <ch-image src={chImageSrc} class=\"icon-md\"></ch-image>}\n {label}\n </a>\n );\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 : this.#renderLinkTag(\n (field.value as LinkData).url,\n (field.value as LinkData).text,\n \"field__link\"\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 has-link\">\n {this.#renderLinkTag(\n titleLinkDataUrl,\n titleText as string,\n \"text-underline\"\n )}\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n {publisherHasLink ? (\n this.#renderLinkTag(\n publisherDataUrl,\n titleText as string,\n \"text-underline plugin__publisher tiny-semi-bold-l\",\n USER_ICON\n )\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"],"version":3}
@@ -20,7 +20,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
20
20
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
21
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
22
  };
23
- var _GxIdePluginDetails_componentLocale, _GxIdePluginDetails_docSectionIdDescriptionMap, _GxIdePluginDetails_versionsMenuOptionsModel, _GxIdePluginDetails_menuVersionSelectedHandler, _GxIdePluginDetails_renderUninstallButton, _GxIdePluginDetails_installClickedHandler, _GxIdePluginDetails_updateVersionHandler, _GxIdePluginDetails_openLinkHandler, _GxIdePluginDetails_uninstallClickedHandler, _GxIdePluginDetails_renderActionButtons, _GxIdePluginDetails_tabSelectionChangedHandler, _GxIdePluginDetails_renderDocSectionsSlots, _GxIdePluginDetails_returnFormatedId, _GxIdePluginDetails_renderAsideContent;
23
+ var _GxIdePluginDetails_componentLocale, _GxIdePluginDetails_chMarkdownViewer, _GxIdePluginDetails_docSectionIdDescriptionMap, _GxIdePluginDetails_versionsMenuOptionsModel, _GxIdePluginDetails_menuVersionSelectedHandler, _GxIdePluginDetails_renderUninstallButton, _GxIdePluginDetails_installClickedHandler, _GxIdePluginDetails_updateVersionHandler, _GxIdePluginDetails_openLinkHandler, _GxIdePluginDetails_uninstallClickedHandler, _GxIdePluginDetails_renderActionButtons, _GxIdePluginDetails_tabSelectionChangedHandler, _GxIdePluginDetails_renderDocSectionsSlots, _GxIdePluginDetails_returnFormatedId, _GxIdePluginDetails_renderLinkTag, _GxIdePluginDetails_renderAsideContent;
24
24
  const USER_ICON = getIconPath({
25
25
  category: "system",
26
26
  name: "user",
@@ -60,6 +60,7 @@ const GxIdePluginDetails = class {
60
60
  */
61
61
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
62
62
  _GxIdePluginDetails_componentLocale.set(this, void 0);
63
+ _GxIdePluginDetails_chMarkdownViewer.set(this, void 0);
63
64
  // A map between docSection "id", and docSection "description".
64
65
  // "id" is generated inside this component.
65
66
  _GxIdePluginDetails_docSectionIdDescriptionMap.set(this, new Map());
@@ -84,8 +85,10 @@ const GxIdePluginDetails = class {
84
85
  this.installCallback(id);
85
86
  });
86
87
  _GxIdePluginDetails_openLinkHandler.set(this, (link) => (event) => {
87
- event.preventDefault();
88
- this.openLinkCallback(link);
88
+ if (this.openLinkCallback) {
89
+ event.preventDefault();
90
+ this.openLinkCallback(link);
91
+ }
89
92
  });
90
93
  _GxIdePluginDetails_uninstallClickedHandler.set(this, () => {
91
94
  this.uninstallCallback();
@@ -121,13 +124,16 @@ const GxIdePluginDetails = class {
121
124
  return this.docsTabModel.map(docSectionTab => {
122
125
  if (docSectionTab.id === this.selectedTabId) {
123
126
  const markdownValue = __classPrivateFieldGet(this, _GxIdePluginDetails_docSectionIdDescriptionMap, "f").get(docSectionTab.id);
124
- return (h("ch-markdown-viewer", { slot: docSectionTab.id, key: docSectionTab.id, class: "markdown spacing-body scrollable", theme: "components/markdown-viewer", value: markdownValue }));
127
+ return (h("ch-markdown-viewer", { ref: el => (__classPrivateFieldSet(this, _GxIdePluginDetails_chMarkdownViewer, el, "f")), slot: docSectionTab.id, key: docSectionTab.id, class: "markdown spacing-body scrollable", theme: "components/markdown-viewer", value: markdownValue }));
125
128
  }
126
129
  });
127
130
  });
128
131
  _GxIdePluginDetails_returnFormatedId.set(this, (rawId) => {
129
132
  return rawId.toLowerCase().replace(/\s+/g, "-");
130
133
  });
134
+ _GxIdePluginDetails_renderLinkTag.set(this, (href, label, cssClass, chImageSrc) => {
135
+ return (h("a", { href: href, target: "_blank", onClick: __classPrivateFieldGet(this, _GxIdePluginDetails_openLinkHandler, "f").call(this, href), class: cssClass }, chImageSrc && h("ch-image", { src: chImageSrc, class: "icon-md" }), label));
136
+ });
131
137
  _GxIdePluginDetails_renderAsideContent.set(this, () => {
132
138
  return this.data.infoCategories.map(infoCategory => {
133
139
  return (h("div", { class: "plugin__info-category" }, h("h3", { class: "subtitle-semi-bold-s" }, infoCategory.name), h("ul", { class: {
@@ -135,7 +141,9 @@ const GxIdePluginDetails = class {
135
141
  "fields__list--as-tags": infoCategory.displayAsTags
136
142
  } }, infoCategory.fields.map(field => {
137
143
  // If the field name isn’t specified, only the value is shown — usually a link.
138
- const fieldValue = typeof field.value === "string" ? field.value : (h("a", { class: "field__link", onClick: __classPrivateFieldGet(this, _GxIdePluginDetails_openLinkHandler, "f").call(this, field.value.url) }, field.value.text));
144
+ const fieldValue = typeof field.value === "string"
145
+ ? field.value
146
+ : __classPrivateFieldGet(this, _GxIdePluginDetails_renderLinkTag, "f").call(this, field.value.url, field.value.text, "field__link");
139
147
  return (h("li", { class: "field__li" }, field.name && !infoCategory.displayAsTags
140
148
  ? // displaysAsTags forces the items to be displayed as tags
141
149
  // no span.field__name and span.field__value
@@ -171,6 +179,19 @@ const GxIdePluginDetails = class {
171
179
  });
172
180
  }
173
181
  }
182
+ componentDidLoad() {
183
+ __classPrivateFieldGet(this, _GxIdePluginDetails_chMarkdownViewer, "f").addEventListener("click", event => {
184
+ // Listens for clicks on links inside <ch-markdown-viewer>.
185
+ // If a link (<a>) is clicked and openLinkCallback is defined,
186
+ // it prevents the default navigation and delegates the event
187
+ // to this.#openLinkHandler, passing the link's href.
188
+ const path = event.composedPath();
189
+ const link = path.find(el => el instanceof HTMLAnchorElement);
190
+ if (link === null || link === void 0 ? void 0 : link.href) {
191
+ __classPrivateFieldGet(this, _GxIdePluginDetails_openLinkHandler, "f").call(this, link.href)(event);
192
+ }
193
+ });
194
+ }
174
195
  render() {
175
196
  const renderActionButtons = !this.data.installed ||
176
197
  (this.data.installed && !!this.data.updateVersion);
@@ -182,14 +203,14 @@ const GxIdePluginDetails = class {
182
203
  const publisherDataUrl = this.data.publisher.url;
183
204
  const publisherHasLink = publisherDataText && publisherDataUrl;
184
205
  const publisherText = publisherDataText || this.data.publisher;
185
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("header", { class: "header" }, h("img", { class: "plugin__icon", src: this.data.iconUrl || EXTENSION_ICON_IMG, alt: "plugin extension icon" }), h("div", { class: "plugin__details" }, titleHasLink ? (h("h2", { class: "heading-5" }, h("a", { href: titleLinkDataUrl, onClick: __classPrivateFieldGet(this, _GxIdePluginDetails_openLinkHandler, "f").call(this, titleLinkDataUrl), class: "text-underline" }, titleText))) : (h("h2", { class: "heading-5" }, titleText)), publisherHasLink ? (h("a", { href: publisherDataUrl, onClick: __classPrivateFieldGet(this, _GxIdePluginDetails_openLinkHandler, "f").call(this, publisherDataUrl), class: "text-underline plugin__publisher tiny-semi-bold-l" }, h("ch-image", { src: USER_ICON, class: "icon-md" }), publisherText)) : (h("p", { class: "plugin__publisher tiny-semi-bold-l" }, h("ch-image", { src: USER_ICON, class: "icon-md" }), publisherText)), h("p", { class: "plugin__description" }, this.data.description), h("div", { class: "buttons-spacer plugin__actions-container" }, renderActionButtons ? (__classPrivateFieldGet(this, _GxIdePluginDetails_renderActionButtons, "f").call(this)) : (
206
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("header", { class: "header" }, h("img", { class: "plugin__icon", src: this.data.iconUrl || EXTENSION_ICON_IMG, alt: "plugin extension icon" }), h("div", { class: "plugin__details" }, titleHasLink ? (h("h2", { class: "heading-5 has-link" }, __classPrivateFieldGet(this, _GxIdePluginDetails_renderLinkTag, "f").call(this, titleLinkDataUrl, titleText, "text-underline"))) : (h("h2", { class: "heading-5" }, titleText)), publisherHasLink ? (__classPrivateFieldGet(this, _GxIdePluginDetails_renderLinkTag, "f").call(this, publisherDataUrl, titleText, "text-underline plugin__publisher tiny-semi-bold-l", USER_ICON)) : (h("p", { class: "plugin__publisher tiny-semi-bold-l" }, h("ch-image", { src: USER_ICON, class: "icon-md" }), publisherText)), h("p", { class: "plugin__description" }, this.data.description), h("div", { class: "buttons-spacer plugin__actions-container" }, renderActionButtons ? (__classPrivateFieldGet(this, _GxIdePluginDetails_renderActionButtons, "f").call(this)) : (
186
207
  // installed and no updates
187
208
  h("p", { class: "installed-container subtitle-semi-bold-s" }, h("ch-image", { src: CHECK_CIRCLE_ICON, class: "icon-md" }), __classPrivateFieldGet(this, _GxIdePluginDetails_componentLocale, "f").actions.installed)), this.data.installed && __classPrivateFieldGet(this, _GxIdePluginDetails_renderUninstallButton, "f").call(this)))), h("div", { class: "main" }, this.docsTabModel.length > 0 && (h("ch-tab-render", { class: "tab docsTab scrollable", tabListPosition: "block-start", overflow: "auto", contain: "size", model: this.docsTabModel, onSelectedItemChange: __classPrivateFieldGet(this, _GxIdePluginDetails_tabSelectionChangedHandler, "f"), selectedId: this.selectedTabId }, __classPrivateFieldGet(this, _GxIdePluginDetails_renderDocSectionsSlots, "f").call(this)))), h("div", { class: "aside spacing-body scrollable" }, __classPrivateFieldGet(this, _GxIdePluginDetails_renderAsideContent, "f").call(this)))));
188
209
  }
189
210
  static get assetsDirs() { return ["gx-ide-assets/plugin-details"]; }
190
211
  get el() { return getElement(this); }
191
212
  };
192
- _GxIdePluginDetails_componentLocale = new WeakMap(), _GxIdePluginDetails_docSectionIdDescriptionMap = new WeakMap(), _GxIdePluginDetails_versionsMenuOptionsModel = new WeakMap(), _GxIdePluginDetails_menuVersionSelectedHandler = new WeakMap(), _GxIdePluginDetails_renderUninstallButton = new WeakMap(), _GxIdePluginDetails_installClickedHandler = new WeakMap(), _GxIdePluginDetails_updateVersionHandler = new WeakMap(), _GxIdePluginDetails_openLinkHandler = new WeakMap(), _GxIdePluginDetails_uninstallClickedHandler = new WeakMap(), _GxIdePluginDetails_renderActionButtons = new WeakMap(), _GxIdePluginDetails_tabSelectionChangedHandler = new WeakMap(), _GxIdePluginDetails_renderDocSectionsSlots = new WeakMap(), _GxIdePluginDetails_returnFormatedId = new WeakMap(), _GxIdePluginDetails_renderAsideContent = new WeakMap();
213
+ _GxIdePluginDetails_componentLocale = new WeakMap(), _GxIdePluginDetails_chMarkdownViewer = new WeakMap(), _GxIdePluginDetails_docSectionIdDescriptionMap = new WeakMap(), _GxIdePluginDetails_versionsMenuOptionsModel = new WeakMap(), _GxIdePluginDetails_menuVersionSelectedHandler = new WeakMap(), _GxIdePluginDetails_renderUninstallButton = new WeakMap(), _GxIdePluginDetails_installClickedHandler = new WeakMap(), _GxIdePluginDetails_updateVersionHandler = new WeakMap(), _GxIdePluginDetails_openLinkHandler = new WeakMap(), _GxIdePluginDetails_uninstallClickedHandler = new WeakMap(), _GxIdePluginDetails_renderActionButtons = new WeakMap(), _GxIdePluginDetails_tabSelectionChangedHandler = new WeakMap(), _GxIdePluginDetails_renderDocSectionsSlots = new WeakMap(), _GxIdePluginDetails_returnFormatedId = new WeakMap(), _GxIdePluginDetails_renderLinkTag = new WeakMap(), _GxIdePluginDetails_renderAsideContent = new WeakMap();
193
214
  GxIdePluginDetails.style = pluginDetailsCss;
194
215
 
195
216
  export { GxIdePluginDetails as gx_ide_plugin_details };
@@ -1 +1 @@
1
- {"file":"gx-ide-plugin-details.entry.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,2jFAA2jF;;;;;;;;;;;;;;;;;;;ACgBplF,MAAM,SAAS,GAAG,WAAW,CAAC;IAC5B,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC;IACpC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC;IACpC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH;AACA,MAAM,kBAAkB,GAAG,YAAY,CACrC,uDAAuD,CACxD,CAAC;AAEF,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,kBAAkB;CACnB,CAAC;MAQW,kBAAkB;;;;;;;QAK7B,sDAAsB;;;QAItB,yDAAmD,IAAI,GAAG,EAAE,EAAC;QAgD7D,uDAA4B;;YAC1B,MAAM,0BAA0B,GAAoB,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,0CAAE,GAAG,CACzE,OAAO;gBACL,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aAC1C,CACF,CAAC;YACF,OAAO,0BAA0B,CAAC;SACnC,EAAC;QAEF,yDAA8B,CAC5B,KAEE;YAEF,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACvC,EAAC;QAEF,oDAAyB;YACvB,QACE,cAAQ,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,uBAAA,IAAI,mDAAyB,IACnE,uBAAA,IAAI,2CAAiB,CAAC,OAAO,CAAC,SAAS,CACjC,EACT;SACH,EAAC;QAEF,oDAAyB;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC;QAEF,mDAAwB,CAAC,EAAU,KAAK;YACtC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;SAC1B,EAAC;QAEF,8CAAmB,CAAC,IAAY,KAAK,CAAC,KAAiB;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC7B,EAAC;QAEF,sDAA2B;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B,EAAC;QAEF,kDAAuB;;YACrB,IAAI,mBAAmB,CAAC;YACxB,IAAI,mBAAmB,GAAG,8BAA8B,CAAC;YACzD,IAAI,oBAAoB,CAAC;YACzB,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;YAExD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACxB,mBAAmB,GAAG,uBAAA,IAAI,2CAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC5D,oBAAoB,GAAG,uBAAA,IAAI,iDAAuB,CAAC;aACpD;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAClC,mBAAmB,GAAG,GAAG,uBAAA,IAAI,2CAAiB,CAAC,OAAO,CAAC,QAAQ,IAC7D,IAAI,CAAC,IAAI,CAAC,aACZ,EAAE,CAAC;gBACH,oBAAoB,GAAG,uBAAA,IAAI,gDAAsB,MAA1B,IAAI,EACzB,IAAI,CAAC,IAAI,CAAC,aAAa,CACxB,CAAC;aACH;iBAAM;gBACL,mBAAmB,GAAG,uBAAA,IAAI,2CAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/D;YAED,IAAI,oBAAoB,EAAE;gBACxB,mBAAmB,GAAG,GAAG,mBAAmB,0BAA0B,CAAC;aACxE;YAED,OAAO;gBACL,WAAK,KAAK,EAAC,2BAA2B,IACpC,cAAQ,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,IAC9D,mBAAmB,CACb,EACR,oBAAoB,IACnB,6BACE,KAAK,EAAC,0CAA0C,EAChD,UAAU,EAAC,aAAa,EACxB,WAAW,EAAC,cAAc,EAC1B,KAAK,EAAE,uBAAA,IAAI,oDAA0B,MAA9B,IAAI,CAA4B,EACvC,aAAa,EAAE,uBAAA,IAAI,sDAA4B,IAE/C,gBAAU,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAC,SAAS,GAAY,CACvC,IACtB,IAAI,CACJ;aACP,CAAC;SACH,EAAC;QAEF,yDAA8B,CAC5B,KAIE;YAEF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;SACjD,EAAC;QAEF,qDAA0B;YACxB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa;gBACxC,IAAI,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,EAAE;oBAC3C,MAAM,aAAa,GAAG,uBAAA,IAAI,sDAA4B,CAAC,GAAG,CACxD,aAAa,CAAC,EAAE,CACjB,CAAC;oBAEF,QACE,0BACE,IAAI,EAAE,aAAa,CAAC,EAAE,EACtB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,KAAK,EAAC,kCAAkC,EACxC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,aAAa,GACA,EACtB;iBACH;aACF,CAAC,CAAC;SACJ,EAAC;QAEF,+CAAoB,CAAC,KAAa;YAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACjD,EAAC;QAEF,iDAAsB;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY;gBAC9C,QACE,WAAK,KAAK,EAAC,uBAAuB,IAChC,UAAI,KAAK,EAAC,sBAAsB,IAAE,YAAY,CAAC,IAAI,CAAM,EACzD,UACE,KAAK,EAAE;wBACL,cAAc,EAAE,IAAI;wBACpB,uBAAuB,EAAE,YAAY,CAAC,aAAa;qBACpD,IAEA,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;;oBAE5B,MAAM,UAAU,GACd,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,GAC5B,KAAK,CAAC,KACR,IACC,SACE,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,uBAAA,IAAI,2CAAiB,MAArB,IAAI,EACV,KAAK,CAAC,KAAkB,CAAC,GAAG,CAC9B,IAEC,KAAK,CAAC,KAAkB,CAAC,IAAI,CAC7B,CACL,CAAC;oBACJ,QACE,UAAI,KAAK,EAAC,WAAW,IAClB,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa;;;4BAGtC;gCACE,YAAM,KAAK,EAAC,8BAA8B,IACvC,KAAK,CAAC,IAAI,CACN;gCACP,YAAM,KAAK,EAAC,6BAA6B,IACtC,UAAU,CACN;6BACR;0BACD,UAAU,CACX,EACL;iBACH,CAAC,CACC,CACD,EACN;aACH,CAAC,CAAC;SACJ,EAAC;4BApNgC,EAAE;;;;;;;IAwBpC,MAAM,iBAAiB;;QACrB,uBAAA,IAAI,uCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QAElE,IAAI,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,uBAAA,IAAI,4CAAkB,MAAtB,IAAI,EAAmB,UAAU,CAAC,IAAI,CAAC,CAAC;gBAE3D,uBAAA,IAAI,sDAA4B,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBAErE,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;iBACjC;gBACD,OAAO;oBACL,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,UAAU,CAAC,IAAI;iBACN,CAAC;aACnB,CAAC,CAAC;SACJ;KACF;IA4KD,MAAM;QACJ,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;aACnB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAI,IAAI,CAAC,IAAI,CAAC,IAAiB,CAAC,IAAI,CAAC;QAC5D,MAAM,gBAAgB,GAAI,IAAI,CAAC,IAAI,CAAC,IAAiB,CAAC,GAAG,CAAC;QAC1D,MAAM,YAAY,GAAG,iBAAiB,IAAI,gBAAgB,CAAC;QAC3D,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAEtD,MAAM,iBAAiB,GAAI,IAAI,CAAC,IAAI,CAAC,SAAsB,CAAC,IAAI,CAAC;QACjE,MAAM,gBAAgB,GAAI,IAAI,CAAC,IAAI,CAAC,SAAsB,CAAC,GAAG,CAAC;QAC/D,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,gBAAgB,CAAC;QAC/D,MAAM,aAAa,GAAG,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAE/D,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAClB,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,eAAS,KAAK,EAAC,SAAS,IACtB,cAAQ,KAAK,EAAC,QAAQ,IACpB,WACE,KAAK,EAAC,cAAc,EACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAC5C,GAAG,EAAC,uBAAuB,GAC3B,EACF,WAAK,KAAK,EAAC,iBAAiB,IACzB,YAAY,IACX,UAAI,KAAK,EAAC,WAAW,IACnB,SACE,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,2CAAiB,MAArB,IAAI,EAAkB,gBAAgB,CAAC,EAChD,KAAK,EAAC,gBAAgB,IAErB,SAAS,CACR,CACD,KAEL,UAAI,KAAK,EAAC,WAAW,IAAE,SAAS,CAAM,CACvC,EAEA,gBAAgB,IACf,SACE,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,2CAAiB,MAArB,IAAI,EAAkB,gBAAgB,CAAC,EAChD,KAAK,EAAC,mDAAmD,IAEzD,gBAAU,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,SAAS,GAAY,EACpD,aAAa,CACZ,KAEJ,SAAG,KAAK,EAAC,oCAAoC,IAC3C,gBAAU,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,SAAS,GAAY,EACpD,aAAa,CACZ,CACL,EAED,SAAG,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAK,EAC1D,WAAK,KAAK,EAAC,0CAA0C,IAClD,mBAAmB,IAClB,uBAAA,IAAI,+CAAqB,MAAzB,IAAI,CAAuB;;QAG3B,SAAG,KAAK,EAAC,0CAA0C,IACjD,gBACE,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAC,SAAS,GACL,EACX,uBAAA,IAAI,2CAAiB,CAAC,OAAO,CAAC,SAAS,CACtC,CACL,EACA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,uBAAA,IAAI,iDAAuB,MAA3B,IAAI,CAAyB,CACjD,CACF,CACC,EACT,WAAK,KAAK,EAAC,MAAM,IACd,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,KAC3B,qBACE,KAAK,EAAC,wBAAwB,EAC9B,eAAe,EAAC,aAAa,EAC7B,QAAQ,EAAC,MAAM,EACf,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,oBAAoB,EAAE,uBAAA,IAAI,sDAA4B,EACtD,UAAU,EAAE,IAAI,CAAC,aAAa,IAE7B,uBAAA,IAAI,kDAAwB,MAA5B,IAAI,CAA0B,CACjB,CACjB,CACG,EACN,WAAK,KAAK,EAAC,+BAA+B,IACvC,uBAAA,IAAI,8CAAoB,MAAxB,IAAI,CAAsB,CACvB,CACE,CAEL,EACP;KACH;;;;;;;;;","names":[],"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"],"version":3}
1
+ {"file":"gx-ide-plugin-details.entry.js","mappings":"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","names":[],"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 #chMarkdownViewer: HTMLChMarkdownViewerElement;\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 componentDidLoad() {\n this.#chMarkdownViewer.addEventListener(\"click\", event => {\n // Listens for clicks on links inside <ch-markdown-viewer>.\n // If a link (<a>) is clicked and openLinkCallback is defined,\n // it prevents the default navigation and delegates the event\n // to this.#openLinkHandler, passing the link's href.\n const path = event.composedPath() as EventTarget[];\n\n const link = path.find(el => el instanceof HTMLAnchorElement) as\n | HTMLAnchorElement\n | undefined;\n\n if (link?.href) {\n this.#openLinkHandler(link.href)(event);\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 if (this.openLinkCallback) {\n event.preventDefault();\n this.openLinkCallback(link);\n }\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 ref={el =>\n (this.#chMarkdownViewer = el as HTMLChMarkdownViewerElement)\n }\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 #renderLinkTag = (\n href: string,\n label: string,\n cssClass?: string,\n chImageSrc?: string\n ): HTMLAnchorElement => {\n return (\n <a\n href={href}\n target=\"_blank\"\n onClick={this.#openLinkHandler(href)}\n class={cssClass}\n >\n {chImageSrc && <ch-image src={chImageSrc} class=\"icon-md\"></ch-image>}\n {label}\n </a>\n );\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 : this.#renderLinkTag(\n (field.value as LinkData).url,\n (field.value as LinkData).text,\n \"field__link\"\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 has-link\">\n {this.#renderLinkTag(\n titleLinkDataUrl,\n titleText as string,\n \"text-underline\"\n )}\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n {publisherHasLink ? (\n this.#renderLinkTag(\n publisherDataUrl,\n titleText as string,\n \"text-underline plugin__publisher tiny-semi-bold-l\",\n USER_ICON\n )\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"],"version":3}
@@ -13,5 +13,5 @@ export { s as setNonce } from "./p-25a9f1d7.js";
13
13
  return e(t);
14
14
  };
15
15
 
16
- patchBrowser().then((e => a(JSON.parse('[["p-4328be14",[[1,"gx-ide-bpm-export-xpdl",{"displayTitle":[4,"display-title"],"exportCallback":[16],"cancelCallback":[16],"addCallback":[16],"referencesCallback":[16],"emptyInput":[32],"emptyObjects":[32],"notExporting":[32]}]]],["p-04c6bd23",[[1,"gx-ide-bpm-import-files",{"displayTitle":[4,"display-title"],"allowedExtensions":[16],"confirmCallback":[16],"cancelCallback":[16],"files":[32],"selectedFiles":[32]}]]],["p-45539ad0",[[1,"gx-ide-kb-manager-import",{"cancelCallback":[16],"importCallback":[16],"loadCallback":[16],"objectContextMenuCallback":[16],"optionsCallback":[16],"selectedFile":[1040],"statusMinimal":[4,"status-minimal"],"checkedObjectsIds":[32],"selectAllCheckboxValue":[32],"selectAllCheckboxIndeterminate":[32],"importStatusMessage":[32],"importTreeState":[32],"importedTreeFilterRegExp":[32],"importingIsInProcess":[32],"importTreeFilterList":[32],"noImport":[32],"noObjects":[32],"objectsTreeModel":[32],"showHiddenImportsMessage":[32],"someStatusVisible":[32],"statusInfo":[32],"addResultItem":[64]},null,{"importTreeState":["importTreeStateChanged","watchImportTreeStateHandler"],"objectsTreeModel":["watchObjectsTreeModelHandler"],"selectedFile":["selectedFileChanged"]}]]],["p-14165308",[[1,"gx-ide-team-dev-select-recent-comment",{"displayTitle":[4,"display-title"],"comments":[16],"confirmCallback":[16],"cancelCallback":[16]}]]],["p-fa52a417",[[1,"gx-ide-team-dev-update",{"displayTitle":[4,"display-title"],"confirmCallback":[16],"gridContextMenuCallback":[16],"loadCallback":[16],"objectsScopeCallback":[16],"openServerCallback":[16],"pendingItemsCheckedCallback":[16],"revisionScopeCallback":[16],"objectsContextMenuCallback":[16],"selectCallback":[16],"types":[16],"updateCallback":[16],"updateFrom":[16],"isLoading":[32],"objectScopeText":[32],"openTab":[32],"revisionScopeText":[32],"showFilter":[32],"updateData":[32],"updateResultData":[32],"reload":[64]}]]],["p-ca9978e1",[[17,"gx-ide-data-selector",{"cancelCallback":[16],"confirmCallback":[16],"defaultModule":[16],"displayTitle":[4,"display-title"],"editCallback":[16],"loadItemsCallback":[16],"loader":[4],"newVariableCallback":[16],"selectObjectCallback":[16],"selectionType":[1,"selection-type"],"loading":[32],"objects":[32],"selectedObjectsIds":[32],"suspendShortcuts":[64],"validate":[64]}]]],["p-c92332af",[[1,"gx-ide-manage-module-references",{"displayTitle":[4,"display-title"],"servers":[16],"serverSelectedCallback":[16],"executeActionCallback":[16],"addServerCallback":[16],"serverContextMenuCallback":[16],"showServerCommands":[4,"show-server-commands"],"modulesAll":[32],"filteredModules":[32],"selectedModule":[32],"selectedServerId":[32],"selectedModuleAction":[32],"modulesSelectedVersion":[32],"actionCompleted":[32],"closeProgressBar":[32],"progressValue":[32],"progressState":[32],"loadingServer":[32],"reRenderCounter":[32],"validate":[64]},null,{"modulesAll":["modulesAllWatcher","onPropValueChange"],"loadingServer":["loadingServerHandler"]}]]],["p-7ae2a57f",[[1,"gx-ide-manage-module-references-v2",{"displayTitle":[4,"display-title"],"servers":[16],"serverSelectedCallback":[16],"executeActionCallback":[16],"serverContextMenuCallback":[16],"showServerCommands":[4,"show-server-commands"],"searchModulesFilterValue":[32],"selectedButtonFilter":[32],"serverModules":[32],"serverModulesExtended":[32],"filteredServerModules":[32],"modulesMap":[32],"selectedModule":[32],"selectedServerId":[32],"selectedModuleAction":[32],"modulesSelectedVersionMap":[32],"actionCompleted":[32],"closeProgressBar":[32],"progressValue":[32],"progressState":[32],"loadingServer":[32]},null,{"loadingServer":["loadingServerHandler"]}]]],["p-de7f0c1f",[[1,"gx-ide-navigation-report",{"headerData":[16],"confirmCallback":[16],"cancelCallback":[16],"closeCallback":[16],"itemSelectedCallback":[16],"reportTreeItems":[32],"navigationItemsStatusRegExpString":[32],"navigationItemsCaptionRegExpString":[32],"navigationItemsRegExp":[32],"confirmed":[32],"headerState":[32],"statusInfo":[32],"someStatusVisible":[32],"addItem":[64],"clearItems":[64]},null,{"navigationItemsStatusRegExpString":["navigationItemsStatusRegExpStringChanged"],"navigationItemsCaptionRegExpString":["navigationItemsCaptionRegExpStringChanged"]}]]],["p-863ef4de",[[17,"gx-ide-object-selector",{"cancelCallback":[16],"categories":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"defaultType":[1,"default-type"],"loader":[4],"loadCallback":[16],"multiSelection":[4,"multi-selection"],"newObjectCallback":[16],"openSelectionCallback":[16],"patternValue":[1,"pattern-value"],"selectModuleCallback":[16],"types":[16],"filterModified":[32],"loading":[32],"modifiedAfterValue":[32],"objects":[32],"selectedObjectsIdsArray":[32],"suspendShortcuts":[64],"validate":[64]}]]],["p-ca706700",[[1,"gx-ide-team-dev-history",{"types":[16],"itemContextMenuCallback":[16],"gridContextMenuCallback":[16],"selectedVersionId":[1025,"selected-version-id"],"versions":[1040],"loadCallback":[16],"loadDetailCallback":[16],"selectedVersionChangeCallback":[16],"historyDetail":[32],"objects":[32],"isFirstLoad":[32],"sidebarExpanded":[32],"filtersHidden":[32],"loading":[32],"selectedRevisionId":[32],"hasActiveVersion":[32]},null,{"selectedVersionId":["selectedVersionIdChanged"],"versions":["versionsListChanged"]}]]],["p-d77582b8",[[1,"gx-ide-ww-attributes",{"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"objectActionCallback":[16],"objects":[16],"openSelectionCallback":[16],"selectionChangeCallback":[16],"types":[16],"attributes":[32],"selectedAttributesIds":[32],"filterMore":[32],"name":[32],"loading":[32],"object":[32],"type":[32],"reload":[64],"validate":[64]},[[1,"keydown","keyDownHandler"]]]]],["p-11b8f81d",[[1,"gx-ide-ww-images",{"displayTitle":[4,"display-title"],"secondaryFilter":[4,"secondary-filter"],"categories":[16],"densities":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"defaultType":[1,"default-type"],"filterModules":[16],"languages":[16],"layers":[16],"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"loadImageItemsCallback":[16],"newObjectCallback":[16],"openSelectionCallback":[16],"selectModuleCallback":[16],"selectionObjectChangedCallback":[16],"shadow":[4],"styles":[16],"types":[16],"filtersHidden":[32],"filterAfterType":[32],"filterModified":[32],"images":[32],"filteredImages":[32],"imagesSelectedItems":[32],"selectedObjectsIds":[32],"filterImagesInputValue":[32],"validate":[64],"reload":[64]},[[1,"keydown","keyDownHandler"]],{"filtersHidden":["filtersHiddenHandler"]}]]],["p-4b38fffc",[[1,"gx-ide-bpm-assign-roles",{"displayTitle":[4,"display-title"],"roles":[16],"assignedRoles":[16],"confirmCallback":[16],"cancelCallback":[16],"unassignedRolesState":[32],"assignedRolesState":[32],"filterUnassignedInput":[32],"filterAssignedInput":[32],"unassignedSelected":[32],"assignedSelected":[32]}]]],["p-e24902a0",[[1,"gx-ide-bpm-import-gxpm",{"displayTitle":[4,"display-title"],"confirmCallback":[16],"cancelCallback":[16],"selectedFile":[32],"pathValue":[32]}]]],["p-767e0f6d",[[1,"gx-ide-bpm-timer-duration",{"displayTitle":[4,"display-title"],"duration":[16],"confirmCallback":[16],"cancelCallback":[16]}]]],["p-a869ec48",[[1,"gx-ide-design-import",{"reactiveSettings":[16],"extensions":[16],"defaultModule":[16],"path":[1025],"accessToken":[1025,"access-token"],"importAsWebPanels":[4,"import-as-web-panels"],"selectModuleCallback":[16],"cancelCallback":[16],"confirmCallback":[16],"loadCallback":[16],"loadDesignSystemCallback":[16],"loadFontCallback":[16],"loadImageCallback":[16],"loadPanelDataCallback":[16],"requiresAccessTokenCallback":[16],"styles":[16],"textEditorFactoryCallback":[16],"reRenderCounter":[32],"stylesAsComboBoxModel":[32],"styleValue":[32],"accessTokenHasError":[32],"pathIsValid":[32],"tabsModel":[32],"activeTabs":[32],"renderedTabs":[32],"designData":[32],"detailTreeModel":[32],"isLoading":[32],"isLoaded":[32],"messages":[32],"selectedFile":[32],"selectedDesignType":[32],"selectedDesignItem":[32],"requiresAccessToken":[32],"designDataTreeDataModel":[32],"updateTabsActiveTab":[32],"fitImages":[32],"lastLoadCallbackSettingValues":[32]},null,{"pathIsValid":["pathIsValidChanged"],"designData":["designDataChanged"],"path":["pathChanged"],"accessToken":["accessTokenChanged"],"styles":["stylesChanged"],"messages":["watchMessagesHandler"]}]]],["p-45996535",[[1,"gx-ide-edit-module-server",{"types":[16],"name":[1],"source":[1],"type":[1],"confirmCallback":[16],"selectSourceCallback":[16],"cancelCallback":[16],"selectedType":[32]}]]],["p-fd440291",[[1,"gx-ide-kb-manager-export",{"addKBPropertiesCallback":[16],"addObjectsCallback":[16],"addReferencesCallback":[16],"cancelCallback":[16],"exportCallback":[16],"exportFileDirectoryCallback":[16],"fileName":[1,"file-name"],"kbPropertiesTypes":[16],"loader":[4],"objectTypes":[16],"optionsCallback":[16],"addKbPropertiesIsChecked":[32],"atLeastOnePropertyItemIsChecked":[32],"atLeastOneObjectItemIsChecked":[32],"checkedObjectsIds":[32],"checkedPropertiesIds":[32],"exportAllIsChecked":[32],"exportingIsInProcess":[32],"hasObjects":[32],"objectsTreeViewModel":[32]},null,{"objectsTreeViewModel":["objectsTreeViewModelChanged"],"objectTypes":["objectTypesChanged"]}]]],["p-641c79a9",[[1,"gx-ide-plugin-explorer",{"plugins":[1040],"filterCallback":[16],"showDetailsCallback":[16],"executeActionCallback":[16],"loading":[32],"pluginsActionListModel":[32]},null,{"plugins":["pluginsChangedHandler"]}]]],["p-4e6425f3",[[1,"gx-ide-sc-chat-container",{"mode":[1],"generatingResponse":[32],"loadingState":[32],"showAdditionalContent":[32],"conversationCopied":[32],"assistantStatus":[32],"chatItems":[32],"exitWelcome":[64]}]]],["p-54fb1287",[[1,"gx-ide-start-page",{"createKBCallback":[16],"openKbCallback":[16],"secondarySection":[16],"kbs":[16],"kbsFilterThreshold":[2,"kbs-filter-threshold"],"kbFilterValue":[32],"filteredKbs":[32],"loading":[32]},null,{"kbFilterValue":["kbFilterValueChanged"],"kbs":["kbsChanged"]}]]],["p-884e0ed9",[[1,"gx-ide-team-dev-bring-changes",{"commitDetail":[16],"commitInformation":[16],"commitObjects":[16],"enableRowOptions":[4,"enable-row-options"],"hideFilters":[4,"hide-filters"],"operationType":[1,"operation-type"],"mergeObjectsCallback":[16],"mergePillAsButton":[4,"merge-pill-as-button"],"alreadyMergedObjectsIdsArray":[32],"atLeastOneObjectIsChecked":[32],"loading":[32],"menuContextAction":[32],"objectsFiltered":[32],"searchValue":[32],"stateFilterValue":[32],"markedObjectsSet":[32],"objectsStatesMap":[32],"commitObjectsMessagesMap":[32],"merging":[32],"updateObjectState":[64]},null,{"objectsStatesMap":["objectsStatesMapChanged"],"commitObjects":["commitObjectsChanged"]}]]],["p-d4ef0c35",[[1,"gx-ide-team-dev-commit",{"categories":[16],"changeSet":[16],"commitCallback":[16],"folders":[16],"getRecentCommentCallback":[16],"loadCallback":[16],"objectsContextMenuCallback":[16],"pendingItemsCheckedCallback":[16],"selectCallback":[16],"types":[16],"comment":[32],"filterHasConditions":[32],"ignoredObjects":[32],"pendingCommits":[32],"commentInputHasError":[32],"commitingObjects":[32],"filtersHidden":[32],"folderOptionsModel":[32],"typeOptionsModel":[32],"changeSetOptionsModel":[32],"categoryOptionsModel":[32],"loading":[32],"reload":[64]},null,{"categories":["categoriesChangedHandler"],"changeSet":["changeSetChangedHandler"],"folders":["foldersChangedHandler"],"types":["typesChangedHandler"]}]]],["p-b1851e6b",[[1,"gx-ide-team-dev-update-partial-selection",{"displayTitle":[4,"display-title"],"addCallback":[16],"cancelCallback":[16],"confirmCallback":[16],"selection":[1040],"selectedObjectsIds":[32],"validate":[64]}]]],["p-f722955f",[[1,"gx-ide-team-dev-update-to-revision",{"displayTitle":[4,"display-title"],"cancelCallback":[16],"confirmCallback":[16],"currentRevision":[1,"current-revision"],"validate":[64]}]]],["p-b58fb87b",[[1,"gx-ide-template",{"displayTitle":[4,"display-title"]}]]],["p-b2928645",[[1,"gx-ide-wf-settings",{"displayTitle":[4,"display-title"],"configurationType":[1,"configuration-type"],"defaultConfiguration":[16],"saveCallback":[16],"cancelCallback":[16]}]]],["p-f49bb305",[[1,"gx-ide-ai-assistant",{"messages":[1040],"promptMaxHeight":[1,"prompt-max-height"],"assistantStatus":[1025,"assistant-status"],"focusShortcuts":[16],"userMessageCallback":[16],"clearCallback":[16],"promptValue":[1,"prompt-value"],"filter":[4],"userHasTyped":[32],"aIInProgress":[32],"showFilter":[32],"promptHasFocus":[32],"filterValue":[32],"clear":[64],"addMessage":[64]},[[2,"focus","handleFocus"]],{"aIInProgress":["watchAIInProgressHandler"],"messages":["watchMessagesHandler"]}]]],["p-7f65f9e3",[[1,"gx-ide-bpm-app-declaration",{"application":[1040],"cancelCallback":[16],"confirmCallback":[16],"getDataMappingCallback":[16],"selectApplicationCallback":[16],"selectMappingCallback":[16],"suggestApplicationsCallback":[16],"applicationComboBoxModel":[32]}]]],["p-1be1db4e",[[1,"gx-ide-bpm-task-documents",{"documents":[1040],"cancelCallback":[16],"confirmCallback":[16],"selectDocumentCallback":[16],"suggestDocumentsCallback":[16],"documentsActionListState":[32],"documentName":[32],"selectedDocument":[32],"suggestedDocuments":[32],"suspendShortcuts":[64]}]]],["p-72b5d3e4",[[1,"gx-ide-dashboard-home",{"kb":[16],"enableEditKBName":[4,"enable-edit-k-b-name"],"environment":[16],"enableEditEnvironmentName":[4,"enable-edit-environment-name"],"projectDescription":[1,"project-description"],"enableEditDescription":[4,"enable-edit-description"],"recentObjects":[16],"renameKBCallback":[16],"renameEnvironmentCallback":[16],"editDescriptionCallback":[16],"openObjectCallback":[16],"editingEnvName":[32],"editingProjectDescription":[32]},null,{"recentObjects":["recentObjectsHandler"]}]]],["p-7cece7a8",[[1,"gx-ide-data-type-selector",{"categories":[16],"dataTypeSelectedCallback":[16],"arrowUpOnFirstElement":[16],"focusType":[1,"focus-type"],"recentlyUsed":[16],"categoriesListBoxModel":[32],"selectedCategory":[32],"recentlyUsedActionListModel":[32],"loading":[32],"categoriesJustChanged":[32],"actionListDidRender":[32]},null,{"categories":["categoriesChanged"],"recentlyUsed":["recentlyUsedChanged"]}]]],["p-03dbccde",[[1,"gx-ide-deployment-tool",{"deploymentUnits":[16],"targetTypes":[16],"defaultTargetTypeId":[1,"default-target-type-id"],"newDeploymentUnitId":[1,"new-deployment-unit-id"],"objectTypes":[16],"getDeploymentUnitObjectsCallback":[16],"optionsCallback":[16],"deployCallback":[16],"addObjectsCallback":[16],"createDeploymentUnitCallback":[16],"checkedObjectsIds":[32],"noObjects":[32],"selectedDeployTargetData":[32],"addedObjects":[32],"allObjectTypes":[32],"treeModel":[32],"allowDeploy":[32]},null,{"treeModel":["watchTreeModelHandler"],"objectTypes":["watchObjectTypesHandler"]}]]],["p-7d7cf30d",[[1,"gx-ide-file-uploader",{"types":[16],"multiple":[4],"canEditName":[4,"can-edit-name"],"label":[1],"uploadFunction":[16],"cancelUploadFunction":[16],"fileUploadedCallback":[16],"dialogCanceledCallback":[16],"dialogConfirmedCallback":[16],"uploadCancelledCallback":[16],"fileRenamedCallback":[16],"fileValidationErrorCallback":[16],"fileDeletionErrorCallback":[16],"fileDeletedCallback":[16],"onBeforeDelete":[16],"fileStates":[32],"isDragging":[32],"clear":[64]}]]],["p-8bb9242a",[[1,"gx-ide-json-import",{"cancelCallback":[16],"confirmCallback":[16],"defaultParent":[16],"defaultRadioValue":[1,"default-radio-value"],"parent":[16],"selectModuleCallback":[16],"modeChangeCallback":[16],"fileChangeCallback":[16],"validateNameCallback":[16],"validateJSONCallback":[16],"onJsonContentChange":[16],"fileName":[32],"radioGroupValue":[32],"isFormValid":[32],"jsonContent":[32],"validatableControls":[32],"suspendShortcuts":[64]}]]],["p-1bc2613e",[[17,"gx-ide-new-object",{"defaultTypeId":[1,"default-type-id"],"defaultParent":[16],"displayTitle":[4,"display-title"],"cancelCallback":[16],"createCallback":[16],"shadow":[4],"typeCategories":[1040],"parent":[16],"selectModuleCallback":[16],"validateNameCallback":[16],"suggestNameCallback":[16],"suggestDescriptionCallback":[16],"description":[32],"name":[32],"nameValidationErrorMessage":[32],"selectedCategory":[32],"selectedType":[32],"typeCategoriesActionListModel":[32],"typesActionListModel":[32],"selectedTypeMap":[32],"suspendShortcuts":[64]},null,{"typeCategories":["typeCategoriesChanged"]}]]],["p-1292a6b9",[[1,"gx-ide-open-api-import",{"defaultParent":[16],"displayTitle":[4,"display-title"],"cancelCallback":[16],"importCallback":[16],"loadCallback":[16],"selectParentCallback":[16],"actionListItems":[32],"importingIsInProcess":[32],"operations":[32],"selectedFile":[32],"selectedOperationForDescription":[32],"selectedOperations":[32],"selectAllCheckboxValue":[32],"selectAllCheckboxIndeterminate":[32],"suspendShortcuts":[64]}]]],["p-c50b9883",[[1,"gx-ide-references",{"loadReferencesCallback":[16],"openObjectCallback":[16],"openSelectorDialogCallback":[16],"selectReferenceCallback":[16],"selectorSourceCallback":[16],"selectedObject":[1040],"barHidden":[32],"objectsSuggestions":[32],"referencedByTreeData":[32],"referencesToTreeData":[32]},null,{"selectedObject":["selectedObjectChanged"]}]]],["p-d095a37c",[[1,"gx-ide-select-user-team",{"cancelCallback":[16],"continueCallback":[16],"teams":[16],"slideIsVisible":[32],"teamsModelReady":[32]},null,{"teams":["teamsChanged"]}]]],["p-68969051",[[1,"gx-ide-sign-in-team",{"authStep":[1,"auth-step"],"continueCallback":[16],"signInCallback":[16],"termsConfirmationRequired":[4,"terms-confirmation-required"],"teams":[16],"termsCallback":[16],"privacyCallback":[16],"authStepInternal":[32],"slideIsVisible":[32],"termsAndConditionsAccepted":[32]},null,{"authStep":["authStepChanged"],"teams":["teamsChanged"]}]]],["p-476b74a1",[[1,"gx-ide-about",{"versions":[16],"detailsCallback":[16],"privacyPolicyCallback":[16],"termsAndConditionsCallback":[16],"copying":[32]}]]],["p-ded7444c",[[1,"gx-ide-bpm-sync-gam-roles",{"cancelCallback":[16],"saveCallback":[16],"suspendShortcuts":[64]}]]],["p-35f9ebbc",[[1,"gx-ide-card",{"cardTitle":[1,"card-title"],"cardSubTitle":[1,"card-sub-title"],"icon":[1]}]]],["p-b822181c",[[1,"gx-ide-connect-gx-server",{"authenticationTypes":[16],"cancelCallback":[16],"connectCallback":[16],"defaultConnectionData":[16],"enableCustomServer":[4,"enable-custom-server"],"serverUrls":[16],"authenticationTypesComboBoxModel":[32],"gxServerConnectionData":[32],"serverUrlsComboBoxModel":[32],"validatableControls":[32]},null,{"authenticationTypes":["authenticationTypesChanged"],"serverUrls":["serverUrlsChanged"]}]]],["p-760d8f2a",[[1,"gx-ide-create-kb-from-server",{"connectionData":[16],"cancelCallback":[16],"changeConnectionCallback":[16],"createKBCallback":[16],"getGXserverKBsCallback":[16],"selectKBVersionsCallback":[16],"enableSelectVersionsButton":[32],"localKbNameInputValue":[32],"filterValue":[32],"kbsFilteredActionListModel":[32],"validatableControls":[32],"versionSelectedType":[32],"versionsValueInput":[32]}]]],["p-7d107d2f",[[1,"gx-ide-current-user-info",{"userInfo":[16],"myAccountCallback":[16],"changeTeamCallback":[16],"changeLanguageCallback":[16],"changeModeCallback":[16],"menuAlign":[16],"signOutCallback":[16],"termsCallback":[16],"privacyCallback":[16],"showMenu":[32]}]]],["p-31beae9e",[[1,"gx-ide-directory-selector",{"accessibilityLabels":[16],"label":[1],"labelPosition":[513,"label-position"],"centerLabel":[1028,"center-label"],"labelWidth":[1,"label-width"],"selectDirectoryCallback":[16],"value":[1025],"icon":[32]}]]],["p-f7421997",[[1,"gx-ide-gam-installation-settings",{"cancelCallback":[16],"canSelectPanels":[4,"can-select-panels"],"configurationType":[1,"configuration-type"],"defaultConfiguration":[16],"repairCallback":[16],"saveCallback":[16]}]]],["p-19d197c5",[[1,"gx-ide-new-environment",{"cancelCallback":[16],"createCallback":[16],"dataStores":[1040],"environmentName":[1025,"environment-name"],"getDataSourcesCallback":[16],"getEnvironmentNameCallback":[16],"getFrontEndsCallback":[16],"isAdvanced":[4,"is-advanced"],"languages":[16],"runtimes":[16],"setAsTarget":[4,"set-as-target"],"advancedTabIsVisible":[32],"frontEnds":[32],"validatableControls":[32],"dataStoresComboBoxModel":[32],"languageComboBoxModel":[32],"runtimesRadioGroupModel":[32],"suspendShortcuts":[64]},null,{"dataStores":["dataStoresChanged"],"languages":["languagesChanged"],"runtimes":["runtimesChanged"]}]]],["p-012cfb1d",[[1,"gx-ide-new-kb",{"authenticationTypes":[16],"cancelCallback":[16],"collations":[16],"createCallback":[16],"createDataFilesInKBFolder":[4,"create-data-files-in-k-b-folder"],"databaseName":[1,"database-name"],"defaultDataSources":[1040],"getDataSourcesCallback":[16],"getFrontEndsCallback":[16],"isAdvanced":[4,"is-advanced"],"kbLocation":[1025,"kb-location"],"kbName":[1,"kb-name"],"password":[1],"prototypingEnvironments":[16],"prototypingTargets":[16],"savePassword":[4,"save-password"],"selectLocationCallback":[16],"serverNames":[16],"userInterfaceLanguages":[16],"userName":[1,"user-name"],"advancedTabIsVisible":[32],"frontEnds":[32],"validatableControls":[32],"createDataInKbDisabled":[32],"userNameVisible":[32],"passwordVisible":[32],"savePasswordVisible":[32],"authenticationTypesComboBoxModel":[32],"authenticationTypesInitialValue":[32],"collationsComboBoxModel":[32],"collationsInitialValue":[32],"defaultDataSourcesComboBoxModel":[32],"defaultDataSourcesInitialValue":[32],"prototypingTargetsComboBoxModel":[32],"prototypingTargetsInitialValue":[32],"prototypingEnvironmentsComboBoxModel":[32],"prototypingEnvironmentsInitialValue":[32],"serverNamesComboBoxModel":[32],"serverNamesInitialValue":[32],"userInterfaceLanguagesComboBoxModel":[32],"userInterfaceLanguagesInitialValue":[32],"suspendShortcuts":[64]},null,{"authenticationTypes":["watchAuthenticationTypes"],"collations":["watchCollations"],"defaultDataSources":["watchDefaultDataSources"],"prototypingEnvironments":["watchPrototypingEnvironments"],"prototypingTargets":["watchPrototypingTargets"],"serverNames":["watchServerNames"],"userInterfaceLanguages":["watchUserInterfaceLanguages"]}]]],["p-80c1ddc3",[[1,"gx-ide-new-version",{"isRemoteOperation":[4,"is-remote-operation"],"isFreezeOperation":[4,"is-freeze-operation"],"showLinkedLocalVersionCheckbox":[4,"show-linked-local-version-checkbox"],"cancelCallback":[16],"createCallback":[16],"defaultInputValues":[16],"versionName":[32],"versionDescription":[32],"setNewVersionAsActive":[32],"createLinkedLocalVersion":[32],"createAsProtectedVersion":[32],"validatableControls":[32]},null,{"defaultInputValues":["defaultInputValuesChanged"]}]]],["p-84c1c1bb",[[1,"gx-ide-plugin-details",{"data":[16],"installCallback":[16],"openLinkCallback":[16],"uninstallCallback":[16],"docsTabModel":[32],"selectedTabId":[32]}]]],["p-c9bca7c0",[[1,"gx-ide-entity-selector",{"defaultValue":[16],"disabled":[516],"labelCaption":[1,"label-caption"],"labelPosition":[513,"label-position"],"name":[513],"selectEntityCallback":[16],"value":[1040],"buttonHasFocus":[32],"iconSrc":[32]},null,{"value":["valueChangedHandler"]}]]],["p-385c9544",[[1,"gx-ide-ww-files",{"categories":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"filterModules":[16],"types":[16],"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"newFileCallback":[16],"openSelectionCallback":[16],"selectModuleCallback":[16],"selectionChangeCallback":[16],"showSearchContents":[4,"show-search-contents"],"showDescription":[4,"show-description"],"showModifiedDate":[4,"show-modified-date"],"showLastUser":[4,"show-last-user"],"showImportDate":[4,"show-import-date"],"showType":[4,"show-type"],"showLastBuildDate":[4,"show-last-build-date"],"categoriesComboBoxModel":[32],"afterCurrentValue":[32],"filterAfterOptions":[32],"enabledModifiedControls":[32],"filterModified":[32],"filterMore":[32],"objects":[32],"filterFilesInputValue":[32],"filteredFiles":[32],"selectedObjectsIds":[32],"advancedFilterAccordionExpanded":[32],"validate":[64],"reload":[64]},[[1,"keydown","keyDownHandler"]],{"categories":["categoriesChanged"]}]]],["p-ea02e5cf",[[1,"gx-ide-share-kb",{"connectionData":[16],"cancelCallback":[16],"changeConnectionCallback":[16],"kbName":[1025,"kb-name"],"shareKBCallback":[16],"selectKBVersionsCallback":[16],"enableSelectVersionsButton":[32],"validatableControls":[32],"versionSelectedType":[32],"versionsValueInput":[32]}]]],["p-6b957e82",[[1,"gx-ide-sign-in",{"termsCallback":[16],"signInCallback":[16]}]]],["p-bbb5b0fb",[[1,"gx-ide-splash",{"downloadDockerCallback":[16],"quitCallback":[16],"messages":[16],"openLogCallback":[16],"showQuitButton":[4,"show-quit-button"],"showOpenLogLink":[4,"show-open-log-link"],"showDockerMissingError":[4,"show-docker-missing-error"],"ariaBusy":[32]}]]],["p-304d5629",[[1,"gx-ide-switch-panel"]]],["p-c58e0a92",[[1,"gx-ide-switcher"]]],["p-46ffec64",[[1,"gx-ide-test",{"name":[1],"filterOn":[32]}]]],["p-cbe2dd13",[[1,"gx-ide-top-bar",{"topBarTitle":[1,"top-bar-title"]}]]],["p-93cdb6f8",[[1,"gx-ide-welcome-page",{"transitionType":[1,"transition-type"],"wordsPerMinute":[2,"words-per-minute"],"closeCallback":[16],"slides":[16],"activeSlideIndex":[32],"displaySlider":[32],"copyrightsVisible":[32],"lastSlideReached":[32],"sliderVisible":[32],"slideTransitioning":[32],"userHasChangedSlide":[32]}]]],["p-86365635",[[1,"gx-ide-empty-state",{"isAnimated":[4,"is-animated"],"stateDescription":[1,"state-description"],"stateIconSrc":[1,"state-icon-src"],"stateTitle":[1,"state-title"]}]]],["p-1dd7be84",[[1,"gx-ide-container",{"inactiveTitle":[4,"inactive-title"],"containerTitle":[1,"container-title"],"titleType":[1,"title-type"],"displayBorder":[4,"display-border"],"displayBorderTop":[4,"display-border-top"],"displayBorderEnd":[4,"display-border-end"],"displayBorderBottom":[4,"display-border-bottom"],"displayBorderStart":[4,"display-border-start"],"sectionsPadding":[1,"sections-padding"],"titleAlignment":[1,"title-alignment"],"noHeadingBorder":[4,"no-heading-border"],"noHeadingGap":[4,"no-heading-gap"],"noHeadingPadding":[4,"no-heading-padding"],"noHeadingPaddingBlockEnd":[4,"no-heading-padding-block-end"],"headingPaddingTop":[4,"heading-padding-top"],"headingJustify":[1,"heading-justify"],"titleHeightAsInput":[4,"title-height-as-input"],"flexRow":[4,"flex-row"],"flexContent":[4,"flex-content"],"noContentBorderTop":[4,"no-content-border-top"],"noContentPadding":[4,"no-content-padding"],"noContentGap":[4,"no-content-gap"],"alignItems":[1,"align-items"],"justifyContent":[1,"justify-content"],"contentBorderEnd":[4,"content-border-end"],"slimmerAboveFooter":[4,"slimmer-above-footer"],"noAboveFooterPadding":[4,"no-above-footer-padding"],"noBorderAboveFooter":[4,"no-border-above-footer"],"slimmerFooter":[4,"slimmer-footer"],"noFooterPadding":[4,"no-footer-padding"],"footerJustify":[1,"footer-justify"],"noBorderFooter":[4,"no-border-footer"],"hasHeaderSlot":[32],"hasSlottedContent":[32],"hasFooterSlot":[32],"hasAboveFooterSlot":[32],"hasOnlyHeading":[32],"hasOnlyContent":[32],"hasOnlyFooter":[32]}],[1,"gx-ide-title",{"titleCaption":[1,"title-caption"],"type":[1],"alignment":[1],"padding":[516],"noPaddingBottom":[516,"no-padding-bottom"],"border":[516]}]]],["p-d8379699",[[1,"gx-ide-bpm-objects-selector",{"displayTitle":[4,"display-title"],"selection":[1040],"addCallback":[16],"referencesCallback":[16],"objects":[32],"selectedObjects":[32]}]]],["p-52f37ec7",[[1,"gx-ide-select-kb-items",{"activeItemCallback":[16],"cancelCallback":[16],"checkboxType":[1,"checkbox-type"],"expandOnClick":[4,"expand-on-click"],"checkedChanged":[16],"confirmCallback":[16],"dialogActions":[16],"itemContextMenuCallback":[16],"itemsList":[16],"multiSelection":[4,"multi-selection"],"showActiveItemLink":[4,"show-active-item-link"],"selectionChanged":[16],"activeItemNode":[32],"renderFooter":[32],"nodeListFlattenedTreeModel":[32],"loading":[32],"nodesVersionsViewType":[32],"nodeVersionsListTreeModel":[32],"searchPatternValue":[32],"toggleCheckboxes":[32],"suspendShortcuts":[64],"updateSelection":[64]},null,{"itemsList":["watchNodeListHandler"]}]]],["p-810ad95f",[[0,"gx-ide-ai-message",{"aiAssistantHostRef":[16],"message":[1],"messageType":[1,"message-type"],"filterValue":[1,"filter-value"],"hidden":[4],"translations":[16],"visible":[32],"showCopiedMessage":[32]}]]],["p-7053c38e",[[1,"gx-ide-file-item",{"file":[16],"editable":[4],"fileDeletedCallback":[16],"fileDeletionErrorCallback":[16],"isEditing":[32],"currentName":[32]},null,{"file":["handleFileChange"]}]]],["p-05b04291",[[1,"gx-ide-list-selector",{"ordered":[4],"readonly":[4],"type":[1],"required":[4],"ellipsis":[4],"value":[1025],"listName":[1,"list-name"],"noItemsBorder":[4,"no-items-border"],"noListBorder":[516,"no-list-border"]},[[2,"itemSelectionChanged","itemSelectionChangedHandler"]]],[4,"gx-ide-list-selector-item",{"itemId":[513,"item-id"],"itemValue":[1,"item-value"],"itemChecked":[1028,"item-checked"],"readonly":[1540],"ellipsis":[1540],"icon":[1],"noBorder":[1540,"no-border"],"universalSlotEnd":[516,"universal-slot-end"]}]]],["p-e7fb3ee3",[[1,"gx-ide-status-buttons",{"active":[4],"errors":[2],"hideError":[4,"hide-error"],"warnings":[2],"hideWarning":[4,"hide-warning"],"successes":[2],"hideSuccess":[4,"hide-success"],"messages":[2],"hideMessage":[4,"hide-message"],"minimal":[4],"compact":[516],"noInnerBorders":[516,"no-inner-borders"],"iconsSize":[32]}]]],["p-0cd3ab87",[[4,"gx-ide-chat-container",{"chatTitle":[1,"chat-title"],"copyConversationCallback":[16],"deleteConversationCallback":[16],"displayWelcomeScreen":[4,"display-welcome-screen"],"displayConversationCopiedMessage":[32],"menuIsExpanded":[32],"showCopyConversationMessage":[64]}],[1,"gx-ide-chat-welcome",{"welcomeTitle":[1025,"welcome-title"],"welcomeGreeting":[1025,"welcome-greeting"],"suggestedPrompts":[1040],"suggestedPrompRequestedCallback":[16],"showHeader":[32],"showSuggestedPrompts":[32],"hideWelcome":[32],"exitWelcome":[64]}]]],["p-94904819",[[1,"gx-ide-loader",{"abortTime":[2,"abort-time"],"cancelCallback":[16],"cancelLabel":[1,"cancel-label"],"description":[1],"displayBorder":[516,"display-border"],"loaderTitle":[1,"loader-title"],"show":[1028],"showWrapper":[32]}]]]]'), e)));
16
+ patchBrowser().then((e => a(JSON.parse('[["p-4328be14",[[1,"gx-ide-bpm-export-xpdl",{"displayTitle":[4,"display-title"],"exportCallback":[16],"cancelCallback":[16],"addCallback":[16],"referencesCallback":[16],"emptyInput":[32],"emptyObjects":[32],"notExporting":[32]}]]],["p-04c6bd23",[[1,"gx-ide-bpm-import-files",{"displayTitle":[4,"display-title"],"allowedExtensions":[16],"confirmCallback":[16],"cancelCallback":[16],"files":[32],"selectedFiles":[32]}]]],["p-45539ad0",[[1,"gx-ide-kb-manager-import",{"cancelCallback":[16],"importCallback":[16],"loadCallback":[16],"objectContextMenuCallback":[16],"optionsCallback":[16],"selectedFile":[1040],"statusMinimal":[4,"status-minimal"],"checkedObjectsIds":[32],"selectAllCheckboxValue":[32],"selectAllCheckboxIndeterminate":[32],"importStatusMessage":[32],"importTreeState":[32],"importedTreeFilterRegExp":[32],"importingIsInProcess":[32],"importTreeFilterList":[32],"noImport":[32],"noObjects":[32],"objectsTreeModel":[32],"showHiddenImportsMessage":[32],"someStatusVisible":[32],"statusInfo":[32],"addResultItem":[64]},null,{"importTreeState":["importTreeStateChanged","watchImportTreeStateHandler"],"objectsTreeModel":["watchObjectsTreeModelHandler"],"selectedFile":["selectedFileChanged"]}]]],["p-14165308",[[1,"gx-ide-team-dev-select-recent-comment",{"displayTitle":[4,"display-title"],"comments":[16],"confirmCallback":[16],"cancelCallback":[16]}]]],["p-fa52a417",[[1,"gx-ide-team-dev-update",{"displayTitle":[4,"display-title"],"confirmCallback":[16],"gridContextMenuCallback":[16],"loadCallback":[16],"objectsScopeCallback":[16],"openServerCallback":[16],"pendingItemsCheckedCallback":[16],"revisionScopeCallback":[16],"objectsContextMenuCallback":[16],"selectCallback":[16],"types":[16],"updateCallback":[16],"updateFrom":[16],"isLoading":[32],"objectScopeText":[32],"openTab":[32],"revisionScopeText":[32],"showFilter":[32],"updateData":[32],"updateResultData":[32],"reload":[64]}]]],["p-ca9978e1",[[17,"gx-ide-data-selector",{"cancelCallback":[16],"confirmCallback":[16],"defaultModule":[16],"displayTitle":[4,"display-title"],"editCallback":[16],"loadItemsCallback":[16],"loader":[4],"newVariableCallback":[16],"selectObjectCallback":[16],"selectionType":[1,"selection-type"],"loading":[32],"objects":[32],"selectedObjectsIds":[32],"suspendShortcuts":[64],"validate":[64]}]]],["p-c92332af",[[1,"gx-ide-manage-module-references",{"displayTitle":[4,"display-title"],"servers":[16],"serverSelectedCallback":[16],"executeActionCallback":[16],"addServerCallback":[16],"serverContextMenuCallback":[16],"showServerCommands":[4,"show-server-commands"],"modulesAll":[32],"filteredModules":[32],"selectedModule":[32],"selectedServerId":[32],"selectedModuleAction":[32],"modulesSelectedVersion":[32],"actionCompleted":[32],"closeProgressBar":[32],"progressValue":[32],"progressState":[32],"loadingServer":[32],"reRenderCounter":[32],"validate":[64]},null,{"modulesAll":["modulesAllWatcher","onPropValueChange"],"loadingServer":["loadingServerHandler"]}]]],["p-7ae2a57f",[[1,"gx-ide-manage-module-references-v2",{"displayTitle":[4,"display-title"],"servers":[16],"serverSelectedCallback":[16],"executeActionCallback":[16],"serverContextMenuCallback":[16],"showServerCommands":[4,"show-server-commands"],"searchModulesFilterValue":[32],"selectedButtonFilter":[32],"serverModules":[32],"serverModulesExtended":[32],"filteredServerModules":[32],"modulesMap":[32],"selectedModule":[32],"selectedServerId":[32],"selectedModuleAction":[32],"modulesSelectedVersionMap":[32],"actionCompleted":[32],"closeProgressBar":[32],"progressValue":[32],"progressState":[32],"loadingServer":[32]},null,{"loadingServer":["loadingServerHandler"]}]]],["p-de7f0c1f",[[1,"gx-ide-navigation-report",{"headerData":[16],"confirmCallback":[16],"cancelCallback":[16],"closeCallback":[16],"itemSelectedCallback":[16],"reportTreeItems":[32],"navigationItemsStatusRegExpString":[32],"navigationItemsCaptionRegExpString":[32],"navigationItemsRegExp":[32],"confirmed":[32],"headerState":[32],"statusInfo":[32],"someStatusVisible":[32],"addItem":[64],"clearItems":[64]},null,{"navigationItemsStatusRegExpString":["navigationItemsStatusRegExpStringChanged"],"navigationItemsCaptionRegExpString":["navigationItemsCaptionRegExpStringChanged"]}]]],["p-863ef4de",[[17,"gx-ide-object-selector",{"cancelCallback":[16],"categories":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"defaultType":[1,"default-type"],"loader":[4],"loadCallback":[16],"multiSelection":[4,"multi-selection"],"newObjectCallback":[16],"openSelectionCallback":[16],"patternValue":[1,"pattern-value"],"selectModuleCallback":[16],"types":[16],"filterModified":[32],"loading":[32],"modifiedAfterValue":[32],"objects":[32],"selectedObjectsIdsArray":[32],"suspendShortcuts":[64],"validate":[64]}]]],["p-ca706700",[[1,"gx-ide-team-dev-history",{"types":[16],"itemContextMenuCallback":[16],"gridContextMenuCallback":[16],"selectedVersionId":[1025,"selected-version-id"],"versions":[1040],"loadCallback":[16],"loadDetailCallback":[16],"selectedVersionChangeCallback":[16],"historyDetail":[32],"objects":[32],"isFirstLoad":[32],"sidebarExpanded":[32],"filtersHidden":[32],"loading":[32],"selectedRevisionId":[32],"hasActiveVersion":[32]},null,{"selectedVersionId":["selectedVersionIdChanged"],"versions":["versionsListChanged"]}]]],["p-d77582b8",[[1,"gx-ide-ww-attributes",{"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"objectActionCallback":[16],"objects":[16],"openSelectionCallback":[16],"selectionChangeCallback":[16],"types":[16],"attributes":[32],"selectedAttributesIds":[32],"filterMore":[32],"name":[32],"loading":[32],"object":[32],"type":[32],"reload":[64],"validate":[64]},[[1,"keydown","keyDownHandler"]]]]],["p-11b8f81d",[[1,"gx-ide-ww-images",{"displayTitle":[4,"display-title"],"secondaryFilter":[4,"secondary-filter"],"categories":[16],"densities":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"defaultType":[1,"default-type"],"filterModules":[16],"languages":[16],"layers":[16],"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"loadImageItemsCallback":[16],"newObjectCallback":[16],"openSelectionCallback":[16],"selectModuleCallback":[16],"selectionObjectChangedCallback":[16],"shadow":[4],"styles":[16],"types":[16],"filtersHidden":[32],"filterAfterType":[32],"filterModified":[32],"images":[32],"filteredImages":[32],"imagesSelectedItems":[32],"selectedObjectsIds":[32],"filterImagesInputValue":[32],"validate":[64],"reload":[64]},[[1,"keydown","keyDownHandler"]],{"filtersHidden":["filtersHiddenHandler"]}]]],["p-4b38fffc",[[1,"gx-ide-bpm-assign-roles",{"displayTitle":[4,"display-title"],"roles":[16],"assignedRoles":[16],"confirmCallback":[16],"cancelCallback":[16],"unassignedRolesState":[32],"assignedRolesState":[32],"filterUnassignedInput":[32],"filterAssignedInput":[32],"unassignedSelected":[32],"assignedSelected":[32]}]]],["p-e24902a0",[[1,"gx-ide-bpm-import-gxpm",{"displayTitle":[4,"display-title"],"confirmCallback":[16],"cancelCallback":[16],"selectedFile":[32],"pathValue":[32]}]]],["p-767e0f6d",[[1,"gx-ide-bpm-timer-duration",{"displayTitle":[4,"display-title"],"duration":[16],"confirmCallback":[16],"cancelCallback":[16]}]]],["p-a869ec48",[[1,"gx-ide-design-import",{"reactiveSettings":[16],"extensions":[16],"defaultModule":[16],"path":[1025],"accessToken":[1025,"access-token"],"importAsWebPanels":[4,"import-as-web-panels"],"selectModuleCallback":[16],"cancelCallback":[16],"confirmCallback":[16],"loadCallback":[16],"loadDesignSystemCallback":[16],"loadFontCallback":[16],"loadImageCallback":[16],"loadPanelDataCallback":[16],"requiresAccessTokenCallback":[16],"styles":[16],"textEditorFactoryCallback":[16],"reRenderCounter":[32],"stylesAsComboBoxModel":[32],"styleValue":[32],"accessTokenHasError":[32],"pathIsValid":[32],"tabsModel":[32],"activeTabs":[32],"renderedTabs":[32],"designData":[32],"detailTreeModel":[32],"isLoading":[32],"isLoaded":[32],"messages":[32],"selectedFile":[32],"selectedDesignType":[32],"selectedDesignItem":[32],"requiresAccessToken":[32],"designDataTreeDataModel":[32],"updateTabsActiveTab":[32],"fitImages":[32],"lastLoadCallbackSettingValues":[32]},null,{"pathIsValid":["pathIsValidChanged"],"designData":["designDataChanged"],"path":["pathChanged"],"accessToken":["accessTokenChanged"],"styles":["stylesChanged"],"messages":["watchMessagesHandler"]}]]],["p-45996535",[[1,"gx-ide-edit-module-server",{"types":[16],"name":[1],"source":[1],"type":[1],"confirmCallback":[16],"selectSourceCallback":[16],"cancelCallback":[16],"selectedType":[32]}]]],["p-fd440291",[[1,"gx-ide-kb-manager-export",{"addKBPropertiesCallback":[16],"addObjectsCallback":[16],"addReferencesCallback":[16],"cancelCallback":[16],"exportCallback":[16],"exportFileDirectoryCallback":[16],"fileName":[1,"file-name"],"kbPropertiesTypes":[16],"loader":[4],"objectTypes":[16],"optionsCallback":[16],"addKbPropertiesIsChecked":[32],"atLeastOnePropertyItemIsChecked":[32],"atLeastOneObjectItemIsChecked":[32],"checkedObjectsIds":[32],"checkedPropertiesIds":[32],"exportAllIsChecked":[32],"exportingIsInProcess":[32],"hasObjects":[32],"objectsTreeViewModel":[32]},null,{"objectsTreeViewModel":["objectsTreeViewModelChanged"],"objectTypes":["objectTypesChanged"]}]]],["p-641c79a9",[[1,"gx-ide-plugin-explorer",{"plugins":[1040],"filterCallback":[16],"showDetailsCallback":[16],"executeActionCallback":[16],"loading":[32],"pluginsActionListModel":[32]},null,{"plugins":["pluginsChangedHandler"]}]]],["p-4e6425f3",[[1,"gx-ide-sc-chat-container",{"mode":[1],"generatingResponse":[32],"loadingState":[32],"showAdditionalContent":[32],"conversationCopied":[32],"assistantStatus":[32],"chatItems":[32],"exitWelcome":[64]}]]],["p-54fb1287",[[1,"gx-ide-start-page",{"createKBCallback":[16],"openKbCallback":[16],"secondarySection":[16],"kbs":[16],"kbsFilterThreshold":[2,"kbs-filter-threshold"],"kbFilterValue":[32],"filteredKbs":[32],"loading":[32]},null,{"kbFilterValue":["kbFilterValueChanged"],"kbs":["kbsChanged"]}]]],["p-884e0ed9",[[1,"gx-ide-team-dev-bring-changes",{"commitDetail":[16],"commitInformation":[16],"commitObjects":[16],"enableRowOptions":[4,"enable-row-options"],"hideFilters":[4,"hide-filters"],"operationType":[1,"operation-type"],"mergeObjectsCallback":[16],"mergePillAsButton":[4,"merge-pill-as-button"],"alreadyMergedObjectsIdsArray":[32],"atLeastOneObjectIsChecked":[32],"loading":[32],"menuContextAction":[32],"objectsFiltered":[32],"searchValue":[32],"stateFilterValue":[32],"markedObjectsSet":[32],"objectsStatesMap":[32],"commitObjectsMessagesMap":[32],"merging":[32],"updateObjectState":[64]},null,{"objectsStatesMap":["objectsStatesMapChanged"],"commitObjects":["commitObjectsChanged"]}]]],["p-d4ef0c35",[[1,"gx-ide-team-dev-commit",{"categories":[16],"changeSet":[16],"commitCallback":[16],"folders":[16],"getRecentCommentCallback":[16],"loadCallback":[16],"objectsContextMenuCallback":[16],"pendingItemsCheckedCallback":[16],"selectCallback":[16],"types":[16],"comment":[32],"filterHasConditions":[32],"ignoredObjects":[32],"pendingCommits":[32],"commentInputHasError":[32],"commitingObjects":[32],"filtersHidden":[32],"folderOptionsModel":[32],"typeOptionsModel":[32],"changeSetOptionsModel":[32],"categoryOptionsModel":[32],"loading":[32],"reload":[64]},null,{"categories":["categoriesChangedHandler"],"changeSet":["changeSetChangedHandler"],"folders":["foldersChangedHandler"],"types":["typesChangedHandler"]}]]],["p-b1851e6b",[[1,"gx-ide-team-dev-update-partial-selection",{"displayTitle":[4,"display-title"],"addCallback":[16],"cancelCallback":[16],"confirmCallback":[16],"selection":[1040],"selectedObjectsIds":[32],"validate":[64]}]]],["p-f722955f",[[1,"gx-ide-team-dev-update-to-revision",{"displayTitle":[4,"display-title"],"cancelCallback":[16],"confirmCallback":[16],"currentRevision":[1,"current-revision"],"validate":[64]}]]],["p-b58fb87b",[[1,"gx-ide-template",{"displayTitle":[4,"display-title"]}]]],["p-b2928645",[[1,"gx-ide-wf-settings",{"displayTitle":[4,"display-title"],"configurationType":[1,"configuration-type"],"defaultConfiguration":[16],"saveCallback":[16],"cancelCallback":[16]}]]],["p-f49bb305",[[1,"gx-ide-ai-assistant",{"messages":[1040],"promptMaxHeight":[1,"prompt-max-height"],"assistantStatus":[1025,"assistant-status"],"focusShortcuts":[16],"userMessageCallback":[16],"clearCallback":[16],"promptValue":[1,"prompt-value"],"filter":[4],"userHasTyped":[32],"aIInProgress":[32],"showFilter":[32],"promptHasFocus":[32],"filterValue":[32],"clear":[64],"addMessage":[64]},[[2,"focus","handleFocus"]],{"aIInProgress":["watchAIInProgressHandler"],"messages":["watchMessagesHandler"]}]]],["p-7f65f9e3",[[1,"gx-ide-bpm-app-declaration",{"application":[1040],"cancelCallback":[16],"confirmCallback":[16],"getDataMappingCallback":[16],"selectApplicationCallback":[16],"selectMappingCallback":[16],"suggestApplicationsCallback":[16],"applicationComboBoxModel":[32]}]]],["p-1be1db4e",[[1,"gx-ide-bpm-task-documents",{"documents":[1040],"cancelCallback":[16],"confirmCallback":[16],"selectDocumentCallback":[16],"suggestDocumentsCallback":[16],"documentsActionListState":[32],"documentName":[32],"selectedDocument":[32],"suggestedDocuments":[32],"suspendShortcuts":[64]}]]],["p-72b5d3e4",[[1,"gx-ide-dashboard-home",{"kb":[16],"enableEditKBName":[4,"enable-edit-k-b-name"],"environment":[16],"enableEditEnvironmentName":[4,"enable-edit-environment-name"],"projectDescription":[1,"project-description"],"enableEditDescription":[4,"enable-edit-description"],"recentObjects":[16],"renameKBCallback":[16],"renameEnvironmentCallback":[16],"editDescriptionCallback":[16],"openObjectCallback":[16],"editingEnvName":[32],"editingProjectDescription":[32]},null,{"recentObjects":["recentObjectsHandler"]}]]],["p-7cece7a8",[[1,"gx-ide-data-type-selector",{"categories":[16],"dataTypeSelectedCallback":[16],"arrowUpOnFirstElement":[16],"focusType":[1,"focus-type"],"recentlyUsed":[16],"categoriesListBoxModel":[32],"selectedCategory":[32],"recentlyUsedActionListModel":[32],"loading":[32],"categoriesJustChanged":[32],"actionListDidRender":[32]},null,{"categories":["categoriesChanged"],"recentlyUsed":["recentlyUsedChanged"]}]]],["p-03dbccde",[[1,"gx-ide-deployment-tool",{"deploymentUnits":[16],"targetTypes":[16],"defaultTargetTypeId":[1,"default-target-type-id"],"newDeploymentUnitId":[1,"new-deployment-unit-id"],"objectTypes":[16],"getDeploymentUnitObjectsCallback":[16],"optionsCallback":[16],"deployCallback":[16],"addObjectsCallback":[16],"createDeploymentUnitCallback":[16],"checkedObjectsIds":[32],"noObjects":[32],"selectedDeployTargetData":[32],"addedObjects":[32],"allObjectTypes":[32],"treeModel":[32],"allowDeploy":[32]},null,{"treeModel":["watchTreeModelHandler"],"objectTypes":["watchObjectTypesHandler"]}]]],["p-7d7cf30d",[[1,"gx-ide-file-uploader",{"types":[16],"multiple":[4],"canEditName":[4,"can-edit-name"],"label":[1],"uploadFunction":[16],"cancelUploadFunction":[16],"fileUploadedCallback":[16],"dialogCanceledCallback":[16],"dialogConfirmedCallback":[16],"uploadCancelledCallback":[16],"fileRenamedCallback":[16],"fileValidationErrorCallback":[16],"fileDeletionErrorCallback":[16],"fileDeletedCallback":[16],"onBeforeDelete":[16],"fileStates":[32],"isDragging":[32],"clear":[64]}]]],["p-8bb9242a",[[1,"gx-ide-json-import",{"cancelCallback":[16],"confirmCallback":[16],"defaultParent":[16],"defaultRadioValue":[1,"default-radio-value"],"parent":[16],"selectModuleCallback":[16],"modeChangeCallback":[16],"fileChangeCallback":[16],"validateNameCallback":[16],"validateJSONCallback":[16],"onJsonContentChange":[16],"fileName":[32],"radioGroupValue":[32],"isFormValid":[32],"jsonContent":[32],"validatableControls":[32],"suspendShortcuts":[64]}]]],["p-1bc2613e",[[17,"gx-ide-new-object",{"defaultTypeId":[1,"default-type-id"],"defaultParent":[16],"displayTitle":[4,"display-title"],"cancelCallback":[16],"createCallback":[16],"shadow":[4],"typeCategories":[1040],"parent":[16],"selectModuleCallback":[16],"validateNameCallback":[16],"suggestNameCallback":[16],"suggestDescriptionCallback":[16],"description":[32],"name":[32],"nameValidationErrorMessage":[32],"selectedCategory":[32],"selectedType":[32],"typeCategoriesActionListModel":[32],"typesActionListModel":[32],"selectedTypeMap":[32],"suspendShortcuts":[64]},null,{"typeCategories":["typeCategoriesChanged"]}]]],["p-1292a6b9",[[1,"gx-ide-open-api-import",{"defaultParent":[16],"displayTitle":[4,"display-title"],"cancelCallback":[16],"importCallback":[16],"loadCallback":[16],"selectParentCallback":[16],"actionListItems":[32],"importingIsInProcess":[32],"operations":[32],"selectedFile":[32],"selectedOperationForDescription":[32],"selectedOperations":[32],"selectAllCheckboxValue":[32],"selectAllCheckboxIndeterminate":[32],"suspendShortcuts":[64]}]]],["p-c50b9883",[[1,"gx-ide-references",{"loadReferencesCallback":[16],"openObjectCallback":[16],"openSelectorDialogCallback":[16],"selectReferenceCallback":[16],"selectorSourceCallback":[16],"selectedObject":[1040],"barHidden":[32],"objectsSuggestions":[32],"referencedByTreeData":[32],"referencesToTreeData":[32]},null,{"selectedObject":["selectedObjectChanged"]}]]],["p-d095a37c",[[1,"gx-ide-select-user-team",{"cancelCallback":[16],"continueCallback":[16],"teams":[16],"slideIsVisible":[32],"teamsModelReady":[32]},null,{"teams":["teamsChanged"]}]]],["p-68969051",[[1,"gx-ide-sign-in-team",{"authStep":[1,"auth-step"],"continueCallback":[16],"signInCallback":[16],"termsConfirmationRequired":[4,"terms-confirmation-required"],"teams":[16],"termsCallback":[16],"privacyCallback":[16],"authStepInternal":[32],"slideIsVisible":[32],"termsAndConditionsAccepted":[32]},null,{"authStep":["authStepChanged"],"teams":["teamsChanged"]}]]],["p-476b74a1",[[1,"gx-ide-about",{"versions":[16],"detailsCallback":[16],"privacyPolicyCallback":[16],"termsAndConditionsCallback":[16],"copying":[32]}]]],["p-ded7444c",[[1,"gx-ide-bpm-sync-gam-roles",{"cancelCallback":[16],"saveCallback":[16],"suspendShortcuts":[64]}]]],["p-35f9ebbc",[[1,"gx-ide-card",{"cardTitle":[1,"card-title"],"cardSubTitle":[1,"card-sub-title"],"icon":[1]}]]],["p-b822181c",[[1,"gx-ide-connect-gx-server",{"authenticationTypes":[16],"cancelCallback":[16],"connectCallback":[16],"defaultConnectionData":[16],"enableCustomServer":[4,"enable-custom-server"],"serverUrls":[16],"authenticationTypesComboBoxModel":[32],"gxServerConnectionData":[32],"serverUrlsComboBoxModel":[32],"validatableControls":[32]},null,{"authenticationTypes":["authenticationTypesChanged"],"serverUrls":["serverUrlsChanged"]}]]],["p-760d8f2a",[[1,"gx-ide-create-kb-from-server",{"connectionData":[16],"cancelCallback":[16],"changeConnectionCallback":[16],"createKBCallback":[16],"getGXserverKBsCallback":[16],"selectKBVersionsCallback":[16],"enableSelectVersionsButton":[32],"localKbNameInputValue":[32],"filterValue":[32],"kbsFilteredActionListModel":[32],"validatableControls":[32],"versionSelectedType":[32],"versionsValueInput":[32]}]]],["p-7d107d2f",[[1,"gx-ide-current-user-info",{"userInfo":[16],"myAccountCallback":[16],"changeTeamCallback":[16],"changeLanguageCallback":[16],"changeModeCallback":[16],"menuAlign":[16],"signOutCallback":[16],"termsCallback":[16],"privacyCallback":[16],"showMenu":[32]}]]],["p-31beae9e",[[1,"gx-ide-directory-selector",{"accessibilityLabels":[16],"label":[1],"labelPosition":[513,"label-position"],"centerLabel":[1028,"center-label"],"labelWidth":[1,"label-width"],"selectDirectoryCallback":[16],"value":[1025],"icon":[32]}]]],["p-f7421997",[[1,"gx-ide-gam-installation-settings",{"cancelCallback":[16],"canSelectPanels":[4,"can-select-panels"],"configurationType":[1,"configuration-type"],"defaultConfiguration":[16],"repairCallback":[16],"saveCallback":[16]}]]],["p-19d197c5",[[1,"gx-ide-new-environment",{"cancelCallback":[16],"createCallback":[16],"dataStores":[1040],"environmentName":[1025,"environment-name"],"getDataSourcesCallback":[16],"getEnvironmentNameCallback":[16],"getFrontEndsCallback":[16],"isAdvanced":[4,"is-advanced"],"languages":[16],"runtimes":[16],"setAsTarget":[4,"set-as-target"],"advancedTabIsVisible":[32],"frontEnds":[32],"validatableControls":[32],"dataStoresComboBoxModel":[32],"languageComboBoxModel":[32],"runtimesRadioGroupModel":[32],"suspendShortcuts":[64]},null,{"dataStores":["dataStoresChanged"],"languages":["languagesChanged"],"runtimes":["runtimesChanged"]}]]],["p-012cfb1d",[[1,"gx-ide-new-kb",{"authenticationTypes":[16],"cancelCallback":[16],"collations":[16],"createCallback":[16],"createDataFilesInKBFolder":[4,"create-data-files-in-k-b-folder"],"databaseName":[1,"database-name"],"defaultDataSources":[1040],"getDataSourcesCallback":[16],"getFrontEndsCallback":[16],"isAdvanced":[4,"is-advanced"],"kbLocation":[1025,"kb-location"],"kbName":[1,"kb-name"],"password":[1],"prototypingEnvironments":[16],"prototypingTargets":[16],"savePassword":[4,"save-password"],"selectLocationCallback":[16],"serverNames":[16],"userInterfaceLanguages":[16],"userName":[1,"user-name"],"advancedTabIsVisible":[32],"frontEnds":[32],"validatableControls":[32],"createDataInKbDisabled":[32],"userNameVisible":[32],"passwordVisible":[32],"savePasswordVisible":[32],"authenticationTypesComboBoxModel":[32],"authenticationTypesInitialValue":[32],"collationsComboBoxModel":[32],"collationsInitialValue":[32],"defaultDataSourcesComboBoxModel":[32],"defaultDataSourcesInitialValue":[32],"prototypingTargetsComboBoxModel":[32],"prototypingTargetsInitialValue":[32],"prototypingEnvironmentsComboBoxModel":[32],"prototypingEnvironmentsInitialValue":[32],"serverNamesComboBoxModel":[32],"serverNamesInitialValue":[32],"userInterfaceLanguagesComboBoxModel":[32],"userInterfaceLanguagesInitialValue":[32],"suspendShortcuts":[64]},null,{"authenticationTypes":["watchAuthenticationTypes"],"collations":["watchCollations"],"defaultDataSources":["watchDefaultDataSources"],"prototypingEnvironments":["watchPrototypingEnvironments"],"prototypingTargets":["watchPrototypingTargets"],"serverNames":["watchServerNames"],"userInterfaceLanguages":["watchUserInterfaceLanguages"]}]]],["p-80c1ddc3",[[1,"gx-ide-new-version",{"isRemoteOperation":[4,"is-remote-operation"],"isFreezeOperation":[4,"is-freeze-operation"],"showLinkedLocalVersionCheckbox":[4,"show-linked-local-version-checkbox"],"cancelCallback":[16],"createCallback":[16],"defaultInputValues":[16],"versionName":[32],"versionDescription":[32],"setNewVersionAsActive":[32],"createLinkedLocalVersion":[32],"createAsProtectedVersion":[32],"validatableControls":[32]},null,{"defaultInputValues":["defaultInputValuesChanged"]}]]],["p-75c1634c",[[1,"gx-ide-plugin-details",{"data":[16],"installCallback":[16],"openLinkCallback":[16],"uninstallCallback":[16],"docsTabModel":[32],"selectedTabId":[32]}]]],["p-c9bca7c0",[[1,"gx-ide-entity-selector",{"defaultValue":[16],"disabled":[516],"labelCaption":[1,"label-caption"],"labelPosition":[513,"label-position"],"name":[513],"selectEntityCallback":[16],"value":[1040],"buttonHasFocus":[32],"iconSrc":[32]},null,{"value":["valueChangedHandler"]}]]],["p-385c9544",[[1,"gx-ide-ww-files",{"categories":[16],"defaultCategory":[1,"default-category"],"defaultModule":[16],"filterModules":[16],"types":[16],"contextMenuCallback":[16],"deleteSelectionCallback":[16],"loadCallback":[16],"newFileCallback":[16],"openSelectionCallback":[16],"selectModuleCallback":[16],"selectionChangeCallback":[16],"showSearchContents":[4,"show-search-contents"],"showDescription":[4,"show-description"],"showModifiedDate":[4,"show-modified-date"],"showLastUser":[4,"show-last-user"],"showImportDate":[4,"show-import-date"],"showType":[4,"show-type"],"showLastBuildDate":[4,"show-last-build-date"],"categoriesComboBoxModel":[32],"afterCurrentValue":[32],"filterAfterOptions":[32],"enabledModifiedControls":[32],"filterModified":[32],"filterMore":[32],"objects":[32],"filterFilesInputValue":[32],"filteredFiles":[32],"selectedObjectsIds":[32],"advancedFilterAccordionExpanded":[32],"validate":[64],"reload":[64]},[[1,"keydown","keyDownHandler"]],{"categories":["categoriesChanged"]}]]],["p-ea02e5cf",[[1,"gx-ide-share-kb",{"connectionData":[16],"cancelCallback":[16],"changeConnectionCallback":[16],"kbName":[1025,"kb-name"],"shareKBCallback":[16],"selectKBVersionsCallback":[16],"enableSelectVersionsButton":[32],"validatableControls":[32],"versionSelectedType":[32],"versionsValueInput":[32]}]]],["p-6b957e82",[[1,"gx-ide-sign-in",{"termsCallback":[16],"signInCallback":[16]}]]],["p-bbb5b0fb",[[1,"gx-ide-splash",{"downloadDockerCallback":[16],"quitCallback":[16],"messages":[16],"openLogCallback":[16],"showQuitButton":[4,"show-quit-button"],"showOpenLogLink":[4,"show-open-log-link"],"showDockerMissingError":[4,"show-docker-missing-error"],"ariaBusy":[32]}]]],["p-304d5629",[[1,"gx-ide-switch-panel"]]],["p-c58e0a92",[[1,"gx-ide-switcher"]]],["p-46ffec64",[[1,"gx-ide-test",{"name":[1],"filterOn":[32]}]]],["p-cbe2dd13",[[1,"gx-ide-top-bar",{"topBarTitle":[1,"top-bar-title"]}]]],["p-93cdb6f8",[[1,"gx-ide-welcome-page",{"transitionType":[1,"transition-type"],"wordsPerMinute":[2,"words-per-minute"],"closeCallback":[16],"slides":[16],"activeSlideIndex":[32],"displaySlider":[32],"copyrightsVisible":[32],"lastSlideReached":[32],"sliderVisible":[32],"slideTransitioning":[32],"userHasChangedSlide":[32]}]]],["p-86365635",[[1,"gx-ide-empty-state",{"isAnimated":[4,"is-animated"],"stateDescription":[1,"state-description"],"stateIconSrc":[1,"state-icon-src"],"stateTitle":[1,"state-title"]}]]],["p-1dd7be84",[[1,"gx-ide-container",{"inactiveTitle":[4,"inactive-title"],"containerTitle":[1,"container-title"],"titleType":[1,"title-type"],"displayBorder":[4,"display-border"],"displayBorderTop":[4,"display-border-top"],"displayBorderEnd":[4,"display-border-end"],"displayBorderBottom":[4,"display-border-bottom"],"displayBorderStart":[4,"display-border-start"],"sectionsPadding":[1,"sections-padding"],"titleAlignment":[1,"title-alignment"],"noHeadingBorder":[4,"no-heading-border"],"noHeadingGap":[4,"no-heading-gap"],"noHeadingPadding":[4,"no-heading-padding"],"noHeadingPaddingBlockEnd":[4,"no-heading-padding-block-end"],"headingPaddingTop":[4,"heading-padding-top"],"headingJustify":[1,"heading-justify"],"titleHeightAsInput":[4,"title-height-as-input"],"flexRow":[4,"flex-row"],"flexContent":[4,"flex-content"],"noContentBorderTop":[4,"no-content-border-top"],"noContentPadding":[4,"no-content-padding"],"noContentGap":[4,"no-content-gap"],"alignItems":[1,"align-items"],"justifyContent":[1,"justify-content"],"contentBorderEnd":[4,"content-border-end"],"slimmerAboveFooter":[4,"slimmer-above-footer"],"noAboveFooterPadding":[4,"no-above-footer-padding"],"noBorderAboveFooter":[4,"no-border-above-footer"],"slimmerFooter":[4,"slimmer-footer"],"noFooterPadding":[4,"no-footer-padding"],"footerJustify":[1,"footer-justify"],"noBorderFooter":[4,"no-border-footer"],"hasHeaderSlot":[32],"hasSlottedContent":[32],"hasFooterSlot":[32],"hasAboveFooterSlot":[32],"hasOnlyHeading":[32],"hasOnlyContent":[32],"hasOnlyFooter":[32]}],[1,"gx-ide-title",{"titleCaption":[1,"title-caption"],"type":[1],"alignment":[1],"padding":[516],"noPaddingBottom":[516,"no-padding-bottom"],"border":[516]}]]],["p-d8379699",[[1,"gx-ide-bpm-objects-selector",{"displayTitle":[4,"display-title"],"selection":[1040],"addCallback":[16],"referencesCallback":[16],"objects":[32],"selectedObjects":[32]}]]],["p-52f37ec7",[[1,"gx-ide-select-kb-items",{"activeItemCallback":[16],"cancelCallback":[16],"checkboxType":[1,"checkbox-type"],"expandOnClick":[4,"expand-on-click"],"checkedChanged":[16],"confirmCallback":[16],"dialogActions":[16],"itemContextMenuCallback":[16],"itemsList":[16],"multiSelection":[4,"multi-selection"],"showActiveItemLink":[4,"show-active-item-link"],"selectionChanged":[16],"activeItemNode":[32],"renderFooter":[32],"nodeListFlattenedTreeModel":[32],"loading":[32],"nodesVersionsViewType":[32],"nodeVersionsListTreeModel":[32],"searchPatternValue":[32],"toggleCheckboxes":[32],"suspendShortcuts":[64],"updateSelection":[64]},null,{"itemsList":["watchNodeListHandler"]}]]],["p-810ad95f",[[0,"gx-ide-ai-message",{"aiAssistantHostRef":[16],"message":[1],"messageType":[1,"message-type"],"filterValue":[1,"filter-value"],"hidden":[4],"translations":[16],"visible":[32],"showCopiedMessage":[32]}]]],["p-7053c38e",[[1,"gx-ide-file-item",{"file":[16],"editable":[4],"fileDeletedCallback":[16],"fileDeletionErrorCallback":[16],"isEditing":[32],"currentName":[32]},null,{"file":["handleFileChange"]}]]],["p-05b04291",[[1,"gx-ide-list-selector",{"ordered":[4],"readonly":[4],"type":[1],"required":[4],"ellipsis":[4],"value":[1025],"listName":[1,"list-name"],"noItemsBorder":[4,"no-items-border"],"noListBorder":[516,"no-list-border"]},[[2,"itemSelectionChanged","itemSelectionChangedHandler"]]],[4,"gx-ide-list-selector-item",{"itemId":[513,"item-id"],"itemValue":[1,"item-value"],"itemChecked":[1028,"item-checked"],"readonly":[1540],"ellipsis":[1540],"icon":[1],"noBorder":[1540,"no-border"],"universalSlotEnd":[516,"universal-slot-end"]}]]],["p-e7fb3ee3",[[1,"gx-ide-status-buttons",{"active":[4],"errors":[2],"hideError":[4,"hide-error"],"warnings":[2],"hideWarning":[4,"hide-warning"],"successes":[2],"hideSuccess":[4,"hide-success"],"messages":[2],"hideMessage":[4,"hide-message"],"minimal":[4],"compact":[516],"noInnerBorders":[516,"no-inner-borders"],"iconsSize":[32]}]]],["p-0cd3ab87",[[4,"gx-ide-chat-container",{"chatTitle":[1,"chat-title"],"copyConversationCallback":[16],"deleteConversationCallback":[16],"displayWelcomeScreen":[4,"display-welcome-screen"],"displayConversationCopiedMessage":[32],"menuIsExpanded":[32],"showCopyConversationMessage":[64]}],[1,"gx-ide-chat-welcome",{"welcomeTitle":[1025,"welcome-title"],"welcomeGreeting":[1025,"welcome-greeting"],"suggestedPrompts":[1040],"suggestedPrompRequestedCallback":[16],"showHeader":[32],"showSuggestedPrompts":[32],"hideWelcome":[32],"exitWelcome":[64]}]]],["p-94904819",[[1,"gx-ide-loader",{"abortTime":[2,"abort-time"],"cancelCallback":[16],"cancelLabel":[1,"cancel-label"],"description":[1],"displayBorder":[516,"display-border"],"loaderTitle":[1,"loader-title"],"show":[1028],"showWrapper":[32]}]]]]'), e)));
17
17
  //# sourceMappingURL=genexus-ide-ui.esm.js.map