@genexus/genexus-ide-ui 1.1.61 → 1.1.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/cjs/{common-f2540d3e.js → common-51d68918.js} +1 -31
  2. package/dist/cjs/common-51d68918.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +111 -49
  5. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +358 -266
  9. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-progress-bar.cjs.entry.js +141 -0
  13. package/dist/cjs/gx-ide-progress-bar.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/common/common.js +0 -21
  19. package/dist/collection/common/common.js.map +1 -1
  20. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -1
  21. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
  22. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
  23. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
  24. package/dist/collection/components/_helpers/progress-bar/progress-bar.css +210 -0
  25. package/dist/collection/components/_helpers/progress-bar/progress-bar.js +320 -0
  26. package/dist/collection/components/_helpers/progress-bar/progress-bar.js.map +1 -0
  27. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +30 -639
  28. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +179 -110
  29. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  30. package/dist/collection/components/modules/edit-module-server/gx-ide-assets/edit-module-server/shortcuts.json +15 -0
  31. package/dist/collection/components/modules/edit-module-server/helpers.js +12 -0
  32. package/dist/collection/components/modules/edit-module-server/helpers.js.map +1 -0
  33. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
  34. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
  35. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
  36. package/dist/collection/components/modules/manage-module-references/helpers.js +32 -0
  37. package/dist/collection/components/modules/manage-module-references/helpers.js.map +1 -0
  38. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +116 -789
  39. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +378 -373
  40. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  41. package/dist/collection/testing/locale.e2e.js +1 -0
  42. package/dist/collection/testing/locale.e2e.js.map +1 -1
  43. package/dist/components/common.js +1 -30
  44. package/dist/components/common.js.map +1 -1
  45. package/dist/components/gx-ide-edit-module-server.js +118 -68
  46. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  47. package/dist/components/gx-ide-empty-state2.js +1 -1
  48. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  49. package/dist/components/gx-ide-manage-module-references.js +384 -291
  50. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  51. package/dist/components/gx-ide-progress-bar.d.ts +11 -0
  52. package/dist/components/gx-ide-progress-bar.js +8 -0
  53. package/dist/components/gx-ide-progress-bar.js.map +1 -0
  54. package/dist/components/gx-ide-ww-images.js +1 -1
  55. package/dist/components/progress-bar.js +166 -0
  56. package/dist/components/progress-bar.js.map +1 -0
  57. package/dist/esm/{common-b811a822.js → common-dc966e64.js} +2 -31
  58. package/dist/esm/common-dc966e64.js.map +1 -0
  59. package/dist/esm/genexus-ide-ui.js +1 -1
  60. package/dist/esm/gx-ide-edit-module-server.entry.js +112 -50
  61. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  62. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  63. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  64. package/dist/esm/gx-ide-manage-module-references.entry.js +359 -267
  65. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  66. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  67. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  68. package/dist/esm/gx-ide-progress-bar.entry.js +137 -0
  69. package/dist/esm/gx-ide-progress-bar.entry.js.map +1 -0
  70. package/dist/esm/gx-ide-splash.entry.js +1 -1
  71. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  72. package/dist/esm/loader.js +1 -1
  73. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  74. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  75. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-server/shortcuts.json +15 -0
  76. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
  77. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
  78. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
  79. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
  80. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
  81. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
  82. package/dist/genexus-ide-ui/p-29ac6b13.entry.js +582 -0
  83. package/dist/genexus-ide-ui/p-29ac6b13.entry.js.map +1 -0
  84. package/dist/genexus-ide-ui/p-3a22af5d.entry.js +249 -0
  85. package/dist/genexus-ide-ui/p-3a22af5d.entry.js.map +1 -0
  86. package/dist/genexus-ide-ui/p-45d9dcbc.entry.js +166 -0
  87. package/dist/genexus-ide-ui/p-45d9dcbc.entry.js.map +1 -0
  88. package/dist/genexus-ide-ui/{p-84d39fc6.entry.js → p-5f7de718.entry.js} +2 -2
  89. package/dist/genexus-ide-ui/{p-84d39fc6.entry.js.map → p-5f7de718.entry.js.map} +1 -1
  90. package/dist/genexus-ide-ui/{p-f5734cc7.entry.js → p-630581df.entry.js} +2 -2
  91. package/dist/genexus-ide-ui/{p-d41d52f6.entry.js → p-70038e09.entry.js} +2 -2
  92. package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js → p-8f2f8995.entry.js} +2 -2
  93. package/dist/genexus-ide-ui/{p-ae33da9a.entry.js → p-9606ebed.entry.js} +19 -19
  94. package/dist/genexus-ide-ui/p-97bbd54c.js +132 -0
  95. package/dist/genexus-ide-ui/p-97bbd54c.js.map +1 -0
  96. package/dist/types/common/common.d.ts +0 -2
  97. package/dist/types/components/_helpers/progress-bar/progress-bar.d.ts +61 -0
  98. package/dist/types/components/modules/edit-module-server/edit-module-server.d.ts +15 -30
  99. package/dist/types/components/modules/edit-module-server/helpers.d.ts +3 -0
  100. package/dist/types/components/modules/manage-module-references/helpers.d.ts +5 -0
  101. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +43 -88
  102. package/dist/types/components.d.ts +109 -42
  103. package/package.json +1 -1
  104. package/dist/cjs/common-f2540d3e.js.map +0 -1
  105. package/dist/esm/common-b811a822.js.map +0 -1
  106. package/dist/genexus-ide-ui/p-67e3486a.entry.js +0 -498
  107. package/dist/genexus-ide-ui/p-67e3486a.entry.js.map +0 -1
  108. package/dist/genexus-ide-ui/p-714b37c0.js +0 -159
  109. package/dist/genexus-ide-ui/p-714b37c0.js.map +0 -1
  110. package/dist/genexus-ide-ui/p-e13998a5.entry.js +0 -141
  111. package/dist/genexus-ide-ui/p-e13998a5.entry.js.map +0 -1
  112. /package/dist/genexus-ide-ui/{p-f5734cc7.entry.js.map → p-630581df.entry.js.map} +0 -0
  113. /package/dist/genexus-ide-ui/{p-d41d52f6.entry.js.map → p-70038e09.entry.js.map} +0 -0
  114. /package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js.map → p-8f2f8995.entry.js.map} +0 -0
  115. /package/dist/genexus-ide-ui/{p-ae33da9a.entry.js.map → p-9606ebed.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-manage-module-references.entry.cjs.js","mappings":"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","names":["getIconPath","h","Locale","Host","renderModuleDataProperties"],"sources":["src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--2xs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--2xs);\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n #filterIcon = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n });\n #moduleIcon = getIconPath({\n category: \"objects\",\n name: \"module\"\n });\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @State() reRenderCounter: number = 0;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n // this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n value = value.trim().toLowerCase();\n if (value) {\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(value);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n private handleFilterChangeHandler = (e: CustomEvent<string>) => {\n const value = e.detail;\n return this.handleFilterChange(value);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <gxg-icon\n type=\"objects/module\"\n data-action={this.moduleVersionIconColor(module)}\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIconSrc={this.#filterIcon}\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n const moduleCurrentVersion = module.currentVersion;\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {/* <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon> */}\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.getModuleData(\n this.selectedModule,\n \"warningMessage\"\n );\n if (warningMessage) {\n return <p class=\"module-info__alert-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n this.reRenderCounter++;\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderVersionName()}\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {/* {this.renderNotInstallable()} */}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={this.#moduleIcon}\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"version":3}
1
+ {"file":"gx-ide-manage-module-references.entry.cjs.js","mappings":"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","names":["h","getIconPath","config","hiChar","Locale","Host"],"sources":["src/components/modules/manage-module-references/helpers.tsx","src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport {\n ModulePropertyData,\n ModuleServerData,\n ModuleVersionData\n} from \"../types\";\n\nexport const mapModuleServerDataToComboBoxModel = (\n servers: ModuleServerData[]\n): ComboBoxModel =>\n servers.map(server => ({\n value: server.id,\n caption: server.name\n }));\n\nexport const mapModuleVersionDataToComboBoxModel = (\n moduleVersions: ModuleVersionData[]\n): ComboBoxModel =>\n moduleVersions.map(moduleVersion => ({\n value: moduleVersion.id,\n caption: moduleVersion.name\n }));\n\nexport const renderModuleDataProperties = (\n options: Array<ModulePropertyData>\n): ModulePropertyData[] => {\n if (options.length) {\n const items: ModulePropertyData[] = [];\n\n options.forEach(option => {\n const isArray = Array.isArray(option.value);\n\n if (isArray && option.value.length) {\n const item = (\n <div class=\"md-property__list-container\">\n <p class=\"md-property__key subtitle-semi-bold-xs\">\n {option.name} :\n </p>\n <ul class=\"md-property__list\">\n {(option.value as string[]).map(subItem => {\n return (\n <li class=\"md-property__list-item body-regular-s\">\n {subItem}\n </li>\n );\n })}\n </ul>\n </div>\n );\n items.push(item);\n } else if (!isArray) {\n const item = (\n <div\n class={\n option.inline\n ? \"md-property md-property--inline\"\n : \"md-property md-property--block\"\n }\n >\n <p class=\"md-property__key subtitle-semi-bold-xs\">\n {option.name} :\n </p>\n <p class=\"md-property__value body-regular-s\">{option.value}</p>\n </div>\n );\n items.push(item);\n }\n });\n return items;\n }\n return null;\n};\n","@import \"../../../global/gx-ide-mixins.scss\";\n@include hiChar();\n$insideInlinePadding: var(--mer-spacing--sm);\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-areas:\n \"modules-container module-info\"\n \"footer footer\";\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr max-content;\n}\n\n.main {\n display: contents;\n}\n\n// - - - - - - - - - - - - - - - - -\n// left section (modules list)\n// - - - - - - - - - - - - - - - - -\n\n.modules__container {\n padding-inline-end: $insideInlinePadding;\n grid-area: modules-container;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n // border-inline-end: var(--section-common-border);\n}\n.combo-box-servers {\n flex-shrink: 0;\n flex-grow: 1;\n}\n\n// main\n$searchModulesGap: var(--mer-spacing--xs);\n.modules__main {\n display: grid;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n}\n.modules__main-header {\n display: grid;\n gap: $searchModulesGap;\n}\n// buttons\n.browse-modules button {\n flex-grow: 1;\n}\n\n// Mercury DS designed ch-segmented-control-render to use inline-grid by default\n// grid\n.module-icon {\n // WA: align icon with title\n margin-block-start: var(--mer-spacing--xs);\n transform: scale(1) translateX(var(--mer-spacing--2xs));\n}\n.module-grid-item-info {\n grid-template-columns: max-content 1fr;\n}\n\n// grid\n.grid-or-loader-container {\n display: grid;\n position: relative;\n overflow: hidden;\n margin-block-start: var(--mer-spacing--sm);\n}\n.tabular-grid {\n overflow: hidden;\n}\n.tabular-grid-column-set {\n display: none;\n}\n.tabular-grid-cell-icon {\n pointer-events: none;\n}\ngx-ide-empty-state {\n // WA to block align center\n position: absolute;\n}\n\n// - - - - - - - - - - - - - - - - -\n// right section (module information)\n// - - - - - - - - - - - - - - - - -\n\n.module-info {\n padding-inline-start: $insideInlinePadding;\n grid-area: module-info;\n position: relative;\n}\n.modules-container,\n.module-info {\n overflow: auto;\n}\n\n.module-info {\n display: grid;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n}\n.module-info__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n inline-size: var(--mer-spacing--xs);\n block-size: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed {\n color: var(--mer-text__success);\n }\n &--installed:before {\n background-color: var(--mer-text__success);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n}\n\n// header\n.module-info__header {\n display: grid;\n gap: var(--mer-spacing--xs);\n}\n.module-info__title {\n display: grid;\n grid-template-columns: max-content 1fr;\n align-items: center;\n gap: var(--mer-spacing--md);\n}\n.module-info__icon {\n transform: scale(1) translateX(var(--mer-spacing--2xs));\n}\n.module-info__alert-message {\n // TODO: this warning message styles should be defined by a Mercury class.\n padding: var(--mer-spacing--xs) var(--mer-spacing--sm);\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__bright);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n text-align: center;\n line-height: var(--mer-line-height--spaced);\n}\n\n// properties\n$propertiesCommonBorder: var(--mer-border__width--sm) solid\n var(--elevation-border-color, var(--mer-border-color__on-surface));\n\n.module-info__properties {\n display: grid;\n overflow: auto;\n grid-auto-rows: max-content;\n\n &-inner-wrapper {\n }\n}\n.md-property,\n.md-property__list-container {\n padding-block: var(--mer-spacing--xs);\n display: grid;\n gap: var(--mer-spacing--2xs);\n border-block-end: $propertiesCommonBorder;\n &:last-child {\n border-block-end: 0;\n }\n}\n.md-property__list {\n margin: 0;\n list-style-type: none;\n display: inline-flex;\n padding: 0;\n gap: var(--mer-spacing--2xs);\n flex-wrap: wrap;\n}\n.md-property__list-item {\n background-color: var(--mer-surface__elevation--02);\n padding: var(--mer-spacing--3xs) var(--mer-spacing--xs);\n border-radius: var(--mer-border__radius--sm);\n text-transform: lowercase;\n}\n.md-property--inline {\n grid-template-columns: max-content 1fr;\n align-items: start;\n gap: var(--mer-spacing--xs);\n}\n\n.available-versions {\n .versions {\n flex: 1;\n }\n .button-status {\n min-inline-size: var(--mer-spacing--3xl);\n inline-size: max-content;\n box-sizing: border-box;\n }\n}\n\n// - - - - - - - - - - - - - - - - -\n// footer\n// - - - - - - - - - - - - - - - - -\n\n.footer {\n grid-area: footer;\n}\n\n// - - - - - - - - - - - - - - - - -\n// General\n// - - - - - - - - - - - - - - - - -\n\n// WA: Improve line spacing for module descriptions\np.body-regular-s,\nli.body-regular-s {\n line-height: var(--mer-line-height--regular);\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n Listen\n} from \"@stencil/core\";\n// Other Libraries\nimport {\n ComboBoxModel,\n TabularGridSelectionChangedEvent,\n SegmentedControlModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n// Custom Imports\nimport { TopStateBarType } from \"../../../components\";\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModuleVersionData\n} from \"../types\";\nimport {\n mapModuleServerDataToComboBoxModel,\n mapModuleVersionDataToComboBoxModel,\n renderModuleDataProperties\n} from \"./helpers\";\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\nimport { hiChar } from \"../../../common/helpers\";\nimport { ComboBoxItemValue } from \"@genexus/gemini\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/icon\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/segmented-control\",\n \"chameleon/scrollbar\",\n \"utils/spacing\"\n];\n\n// icons\nconst SHOW_MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\nconst MODULE_ICON = getIconPath({\n category: \"objects\",\n name: \"module\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n});\nconst MVS = \"__\"; // The separator between module-id, and module-version-id\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n #componentLocale: any;\n\n /**\n * #moduleVersionsMap maps a module version (identified as module-id + version-id), with the ModuleVersionData\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #moduleVersionsMap: ModulesVersionsMap = new Map();\n\n /**\n * maps a module-id, with the module current installed version, and the list of versions as a ComboBoxModel representation.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #modulesMap: ModulesMap = new Map();\n\n // #modulesJustFetched is used to select the current module on componentDidRender\n #modulesJustFetched: boolean = false;\n #searchModulesFilterValue: string;\n #modulesGrid: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n #progressBarEl: HTMLGxIdeProgressBarElement;\n\n @State() actionInProgress = false;\n @State() executeActionCallbackInProgress = false;\n @State() filteredModules: ModuleData[] = [];\n @State() loadingServer = false;\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllChanged(newModules: ModuleData[]) {\n let currentSelectedVersion: string;\n if (this.selectedModuleId) {\n // If this.selectedModuleId has a value, serverSelectedCallback was called\n // but the server is the same. This occurs when a user action (e.g., install\n // or restore) requires modules to update. The selected module and version\n // remain unchanged. We must save the current version before #clearAll().\n currentSelectedVersion = this.#modulesMap.get(\n this.selectedModuleId\n ).currentSelectedVersion;\n }\n\n this.#clearAll();\n newModules.forEach(module => {\n let currentSelectedVersionValue = module.versions[0].id;\n if (currentSelectedVersion && this.selectedModuleId === module.id) {\n currentSelectedVersionValue = currentSelectedVersion;\n currentSelectedVersion === undefined; // found. prevent the if in the following iteration.\n }\n\n // fulfill #modulesMap\n const moduleVersionsComboBoxModel = mapModuleVersionDataToComboBoxModel(\n module.versions\n );\n this.#modulesMap.set(module.id, {\n moduleData: module,\n currentInstalledVersion: module.currentVersion,\n currentSelectedVersion: currentSelectedVersionValue,\n comboBoxVersionsModel: moduleVersionsComboBoxModel\n });\n\n // fulfill #moduleVersionsMap.\n module.versions.forEach(version => {\n const moduleVersionCombinedId = `${module.id}${MVS}${version.id}`;\n this.#moduleVersionsMap.set(moduleVersionCombinedId, {\n id: version.id,\n action: version.action,\n description: version.description,\n properties: version.properties,\n name: version.name,\n warningMessage: version.warningMessage\n });\n });\n });\n\n this.#modulesJustFetched = true;\n this.#filterModules();\n }\n\n @State() progressState: TopStateBarType = \"in-progress\";\n @State() progressValue: number = 0;\n @State() reRenderCounter: number = 0;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() selectedModuleId: string;\n @State() selectedModuleType: ModuleFilterType = \"browse\";\n @State() selectedServerId: string;\n @State() selectedServerValue: string;\n // serversComboBoxModel is a model representation of the servers ModuleServerData[]\n @State() serversComboBoxModel: ComboBoxModel = [];\n @State() selectedModuleVersions: ComboBoxModel = [];\n #segmentedControlModel: SegmentedControlModel = [];\n\n /**\n * If true, the progress bar will close automatically once the progress has reached 100%.\n */\n @Prop() readonly autoCloseProgressBar: boolean = false;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback!: ExecuteActionCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n @Watch(\"servers\")\n serversChanged(newServers: ModuleServerData[]) {\n if (newServers.length) {\n this.serversComboBoxModel =\n mapModuleServerDataToComboBoxModel(newServers);\n this.selectedServerValue = this.serversComboBoxModel[0].value;\n }\n }\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.serversChanged(this.servers); // map ModuleServerData to ComboBoxModel\n\n this.#segmentedControlModel = [\n {\n id: \"browse\",\n caption: this.#componentLocale.modules.buttonsContainer.browse\n },\n {\n id: \"installed\",\n caption: this.#componentLocale.modules.buttonsContainer.installed\n },\n {\n id: \"updates\",\n caption: this.#componentLocale.modules.buttonsContainer.updates\n }\n ];\n }\n\n async componentDidLoad() {\n await this.#serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n componentDidRender() {\n if (this.#modulesJustFetched && this.selectedModuleId) {\n // set selected module as selected on the grid after server reload.\n this.#modulesGrid.selectRow(this.selectedModuleId, true);\n this.#modulesJustFetched = false;\n }\n }\n\n @Listen(\"progressBarClosed\")\n progressBarClosedHandler() {\n // set it to false, to fire a re-render the next time the progress-bar is active.\n this.actionInProgress = false;\n }\n\n #clearAll = () => {\n this.#modulesMap.clear();\n this.#moduleVersionsMap.clear();\n };\n\n #filterModules = () => {\n let filteredModules;\n // 1. Filter by type first\n // browse\n if (this.selectedModuleType === \"browse\") {\n filteredModules = this.modulesAll;\n }\n // installed\n else if (this.selectedModuleType === \"installed\") {\n filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (this.selectedModuleType === \"updates\") {\n filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n\n // 2. Then filter by user input\n if (this.#searchModulesFilterValue) {\n filteredModules = filteredModules.filter(module => {\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${module.id}${MVS}${\n this.#modulesMap.get(module.id).currentSelectedVersion\n }`\n );\n const moduleSelectedVersionName =\n moduleSelectedVersion.name.toLowerCase();\n const moduleSelectedVersionDescription =\n moduleSelectedVersion.description.toLowerCase();\n\n return (\n moduleSelectedVersionName?.includes(this.#searchModulesFilterValue) ||\n moduleSelectedVersionDescription?.includes(\n this.#searchModulesFilterValue\n )\n );\n });\n }\n\n this.filteredModules = filteredModules;\n };\n\n #getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n ).action;\n return action || \"install\";\n };\n\n #handleFilterChangeHandler = (event: CustomEvent<string> | InputEvent) => {\n const searchValue = (event.detail as string).trim().toLowerCase();\n this.#searchModulesFilterValue = searchValue;\n this.#filterModules();\n };\n\n #handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedModuleId = event.detail.rowsId[0];\n\n // update selected versions comboBox model\n const selectedModuleVersionsInfoArray = this.#modulesMap.get(\n this.selectedModuleId\n ).comboBoxVersionsModel;\n\n this.selectedModuleVersions = selectedModuleVersionsInfoArray.map(\n versionInfo => {\n return {\n caption: versionInfo.value,\n value: versionInfo.value\n } as ComboBoxItemValue;\n }\n );\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #moduleActionHandler = (module: ModuleData) => async () => {\n await this.#progressBarEl.reset(); // sets the progress bar to 0\n this.executeActionCallbackInProgress = true;\n this.actionInProgress = true;\n\n const moduleSelectedVersionId = this.#modulesMap.get(\n this.selectedModuleId\n ).currentSelectedVersion;\n\n const actionSuccessful = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.#getActionFromCurrentModuleVersion(),\n this.#onProgress\n );\n this.executeActionCallbackInProgress = false;\n if (actionSuccessful) {\n this.#serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n };\n\n #moduleTypeButtonClicked = (event: CustomEvent<string>): void => {\n this.selectedModuleType = event.detail as ModuleFilterType;\n this.#filterModules();\n };\n\n #moduleVersionsValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const versionId = event.detail;\n const currentModuleMapValue = this.#modulesMap.get(this.selectedModuleId);\n currentModuleMapValue.currentSelectedVersion = versionId.toString();\n this.#modulesMap.set(this.selectedModuleId, currentModuleMapValue);\n this.reRenderCounter++;\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #onProgress = (\n message: string,\n progress: number,\n state: TopStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n #progressBarCloseHandler = () => {};\n\n #reloadServer = () => {\n this.#serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n #renderEmptyStateModules = (): HTMLGxIdeEmptyStateElement => {\n return (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n #renderInstalledVersion = () => {\n const currentInstalledVersion = this.#modulesMap.get(\n this.selectedModuleId\n ).currentInstalledVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentInstalledVersion) {\n caption = `${\n this.#componentLocale.modulesInformation.moduleProperties.installed\n }: ${currentInstalledVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this.#componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <p class=\"body-regular-m\">{caption}</p>\n </div>\n );\n };\n\n #renderModuleVersions = () => {\n const currentSelectedModule = this.#modulesMap.get(this.selectedModuleId);\n const selectedVersionValue = currentSelectedModule.currentSelectedVersion;\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n );\n const moduleSelectedVersionAction = moduleSelectedVersion.action;\n\n return (\n <div class=\"field field-block available-versions\">\n <label class=\"label\" htmlFor=\"available-versions\">\n {this.#componentLocale.availableVersions}\n </label>\n <div class=\"buttons-spacer combo-and-button\">\n <ch-combo-box-render\n id=\"available-versions\"\n class=\"combo-box versions\"\n value={selectedVersionValue}\n onInput={this.#moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n model={this.selectedModuleVersions}\n ></ch-combo-box-render>\n <button\n class=\"button-primary button-status\"\n disabled={\n this.executeActionCallbackInProgress ||\n moduleSelectedVersionAction === \"incompatible\" ||\n moduleSelectedVersionAction === \"not-installable\"\n }\n onClick={this.#moduleActionHandler(\n currentSelectedModule.moduleData\n )}\n >\n {this.#getActionFromCurrentModuleVersion()}\n </button>\n </div>\n </div>\n );\n };\n\n #renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n // TODO: Evaluate if the tabular-grid is the right tool for this job.\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid scrollable\"\n onSelectionChanged={this.#handleModuleChange}\n ref={el => (this.#modulesGrid = el as HTMLChTabularGridElement)}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredModules.map((module: ModuleData) => {\n const moduleIsInstalled = module.currentVersion;\n\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${module.id}${MVS}${\n this.#modulesMap.get(module.id).currentSelectedVersion\n }`\n );\n\n const moduleSelectedVersionName = moduleSelectedVersion.name;\n const moduleSelectedVersionDescription =\n moduleSelectedVersion.description;\n\n return (\n <ch-tabular-grid-row\n // TODO: Replace tabular grid with other control, since it does not makes sense to use a grid with only one column.\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <div class=\"module-grid-item-info field-group\">\n <ch-image\n class=\"icon-md module-icon\"\n src={MODULE_ICON}\n disabled={!moduleIsInstalled}\n ></ch-image>\n <div class=\"field field-block\">\n <h6 class=\"subtitle-semi-bold-xs\">\n {hiChar(\n moduleSelectedVersionName,\n this.#searchModulesFilterValue\n )}\n </h6>\n\n <p class=\"body-regular-s\">\n {hiChar(\n moduleSelectedVersionDescription,\n this.#searchModulesFilterValue\n )}\n </p>\n </div>\n </div>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n );\n })}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.#renderEmptyStateModules()}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n /* module details/information renders*/\n #renderVersionName = (): HTMLElement => {\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n );\n\n const selectedModule = this.#modulesMap.get(this.selectedModuleId);\n const moduleIsInstalled = selectedModule.currentInstalledVersion;\n\n return (\n <div class=\"module-info__title\">\n <ch-image\n class=\"icon-md module-info__icon\"\n src={MODULE_ICON}\n disabled={!moduleIsInstalled}\n ></ch-image>\n <h6 class=\"subtitle-semi-bold-xs\">{moduleSelectedVersion.name}</h6>\n </div>\n );\n };\n\n #renderVersionWarningMessage = () => {\n const moduleVersionWarningMessage = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n ).warningMessage;\n\n if (moduleVersionWarningMessage) {\n return (\n <p class=\"module-info__alert-message\">{moduleVersionWarningMessage}</p>\n );\n }\n };\n\n #serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.selectedServerId = id;\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.modulesAll = [...resolvedObjects];\n this.loadingServer = false;\n }\n };\n\n #serverValueChangedHandler = (event: CustomEvent<string> | InputEvent) => {\n this.selectedModuleId = undefined; // clear selected module\n this.#searchModulesFilterValue = \"\"; // clear filter\n this.selectedModuleType = \"browse\"; // set \"browse\" as the default selected type\n const serverId = event.detail;\n this.#serverSelectedCallbackHandler(serverId, false);\n };\n\n #showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"main\">\n <div class=\"modules__container field-group\">\n <header class=\"modules__header field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"servers-list\">\n {this.#componentLocale.modules.selectServer}\n </label>\n <div class=\"modules__header-controls buttons-spacer\">\n <ch-combo-box-render\n // select server\n id=\"servers-list\"\n class=\"combo-box combo-box-servers\"\n model={this.serversComboBoxModel}\n value={this.selectedServerValue}\n disabled={this.loadingServer}\n onInput={this.#serverValueChangedHandler}\n ></ch-combo-box-render>\n\n <div\n // action buttons\n >\n {this.showServerCommands && (\n <button\n // server context menu button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#showModuleMenu}\n aria-label={this.#componentLocale.showServerMenu}\n title={this.#componentLocale.showServerMenu}\n >\n <ch-image\n src={SHOW_MORE_ICON}\n class=\"icon-md\"\n ></ch-image>\n </button>\n )}\n\n <button\n // reload server selected button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#reloadServer}\n aria-label={this.#componentLocale.reloadModules}\n title={this.#componentLocale.reloadModules}\n >\n <ch-image src={RESET_ICON} class=\"icon-md\"></ch-image>\n </button>\n </div>\n </div>\n </div>\n </header>\n\n <div\n // Modules main\n class=\"modules__main\"\n >\n <div class=\"modules__main-header\">\n <div\n // search modules\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"search-modules\">\n {this.#componentLocale.modules.searchModules}\n </label>\n <ch-edit\n class=\"input\"\n value={this.#searchModulesFilterValue}\n onInput={this.#handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></ch-edit>\n </div>\n\n <div class=\"browse-modules\">\n <ch-segmented-control-render\n class=\"segmented-control-filled\"\n model={this.#segmentedControlModel}\n selectedId={this.selectedModuleType}\n onSelectedItemChange={this.#moduleTypeButtonClicked}\n ></ch-segmented-control-render>\n </div>\n </div>\n\n <div class=\"grid-or-loader-container\">\n {this.loadingServer ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.servers.loading}\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#renderModulesGrid()\n )}\n </div>\n </div>\n </div>\n\n <div class=\"module-info field-group\">\n {this.selectedModuleId ? (\n [\n <header class=\"module-info__header\">\n {this.#renderVersionName()}\n {this.#renderInstalledVersion()}\n {this.#renderModuleVersions()}\n {this.#renderVersionWarningMessage()}\n </header>,\n <div class=\"module-info__properties scrollable\">\n <div class=\"module-info__properties-inner-wrapper\">\n {renderModuleDataProperties(\n this.#moduleVersionsMap.get(\n `${this.selectedModuleId}__${\n this.#modulesMap.get(this.selectedModuleId)\n .currentSelectedVersion\n }`\n ).properties\n )}\n </div>\n </div>\n ]\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={MODULE_ICON}\n stateTitle={\n this.#componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this.#componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </div>\n\n <footer class=\"footer\">\n <gx-ide-progress-bar\n class=\"border-block-start\"\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n caption={\n this.selectedModuleAction.message ||\n this.#componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={this.actionInProgress}\n closeType={this.autoCloseProgressBar ? \"auto-close\" : \"button\"}\n closedCallback={this.#progressBarCloseHandler}\n ref={el =>\n (this.#progressBarEl = el as HTMLGxIdeProgressBarElement)\n }\n ></gx-ide-progress-bar>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: TopStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: TopStateBarType;\n}\n\nexport type ModuleVersionsMap = Map<string, { value: string; caption: string }>;\nexport type ModulesMap = Map<string, ModuleMapValue>;\nexport type ModuleMapValue = {\n moduleData: ModuleData;\n currentInstalledVersion: string;\n currentSelectedVersion: string;\n comboBoxVersionsModel: ComboBoxModel;\n};\nexport type ModulesVersionsMap = Map<string, ModuleVersionData>;\n"],"version":3}
@@ -6,7 +6,7 @@ const index = require('./index-75aef097.js');
6
6
  const config = require('./config-3bb95f39.js');
7
7
  const locale = require('./locale-ff30a5f3.js');
8
8
  const helpers = require('./helpers-b1b58657.js');
9
- const common = require('./common-f2540d3e.js');
9
+ const common = require('./common-51d68918.js');
10
10
  const formValidation = require('./form-validation-54acc775.js');
11
11
  const array = require('./array-b1e04a85.js');
12
12
 
@@ -10,7 +10,7 @@ require('lit/directives/when.js');
10
10
  require('lit/directives/if-defined.js');
11
11
  const config = require('./config-3bb95f39.js');
12
12
  const locale = require('./locale-ff30a5f3.js');
13
- const common = require('./common-f2540d3e.js');
13
+ const common = require('./common-51d68918.js');
14
14
  const helpers = require('./helpers-b1b58657.js');
15
15
  const formValidation = require('./form-validation-54acc775.js');
16
16
  const array = require('./array-b1e04a85.js');
@@ -0,0 +1,141 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-75aef097.js');
6
+ const assetsManager = require('./assets-manager-089e91b1.js');
7
+ require('./mer-animated-dots-001c7465.js');
8
+ require('lit');
9
+ require('lit/directives/when.js');
10
+ require('lit/directives/if-defined.js');
11
+
12
+ const progressBarCss = ":host{--top-bar-progress:0%;display:grid;grid-template-rows:0fr;transition:var(--mer-timing--fast) grid-template-rows;overflow:hidden;--ds-icon-size-box--small:var(--mer-font__size--2xs);--ds-icon-size--small:100%}:host>*{overflow:hidden}:host(.disable-transition){--progress-bar-transition-speed:0 !important}:host(.visible){grid-template-rows:1fr}.top-state-bar{position:relative;display:flex;flex-direction:column;gap:var(--mer-spacing--sm);border-radius:var(--mer-border__width--lg);list-style:var(--mer-font__size--2xs);display:flex;}.top-state-bar>*{position:relative;z-index:1}.top-state-bar__outer-wrapper{position:relative;flex:1;display:flex;flex-direction:column;gap:var(--mer-spacing--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.top-state-bar__outer-wrapper::after,.top-state-bar__outer-wrapper::before{border-radius:var(--mer-border__width--lg)}.top-state-bar__outer-wrapper::before{content:\"\";width:100%;height:100%;left:0;top:0;position:absolute;background-color:var(--mer-border-color__dim);z-index:0}.top-state-bar__outer-wrapper::after{content:\"\";left:var(--mer-border__width--sm);top:var(--mer-border__width--sm);width:calc(100% - var(--mer-border__width--sm) * 2);height:calc(100% - var(--mer-border__width--sm) * 2);position:absolute;background-color:var(--mer-surface);z-index:1}.top-state-bar__inner-wrapper{flex:1;display:flex;flex-direction:row;justify-content:space-between;gap:var(--mer-spacing--xs);position:relative;z-index:2}.top-state-bar__caption{color:var(--mer-text__on-surface);font-size:var(--mer-font__size--2xs);line-height:var(--mer-font__size--2xs);font-weight:var(--mer-font__weight--regular);display:flex;align-items:center;font-style:italic}.top-state-bar__progress-wrapper{height:var(--mer-spacing--2xs);background-color:var(--mer-surface__elevation--01);position:relative;z-index:2}.top-state-bar__close{cursor:pointer;transition:var(--mer-timing--fast) background-color}.top-state-bar__inner-wrapper,.top-state-bar__progress-wrapper,.top-state-bar__close{opacity:0;transition:150ms opacity}.top-state-bar--accent .progress-bar{background-color:var(--mer-accent__primary)}.top-state-bar--success .progress-bar{background-color:var(--mer-color__message-green--100)}.top-state-bar--warning .progress-bar{background-color:var(--mer-color__message-yellow--100)}.top-state-bar--error .progress-bar{background-color:var(--mer-color__message-red--100)}.top-state-bar--in-progress .top-state-bar__outer-wrapper:before{height:0;width:120%;padding-top:60%;padding-bottom:60%;background:linear-gradient(90deg, rgba(91, 167, 255, 0.4) 0%, rgba(63, 168, 155, 0.4) 100%);top:50%;left:50%;transform:translate(-50%, -50%);-webkit-animation:inProgressBackgroundColor 1s linear infinite;animation:inProgressBackgroundColor 1s linear infinite}.top-state-bar--in-progress .progress-bar{position:relative;overflow:hidden;z-index:1}.top-state-bar--in-progress .progress-bar:after{content:\"\";position:absolute;z-index:0;width:300%;height:100%;left:0;background:linear-gradient(90deg, #93f5eb 0%, #1aa3ff 33%, #93f5eb 66%, #1aa3ff 100%);animation-name:inProgressBar;animation-duration:2s;animation-iteration-count:infinite}.top-state-bar--visible .top-state-bar__inner-wrapper,.top-state-bar--visible .top-state-bar__progress-wrapper,.top-state-bar--visible .top-state-bar__close{opacity:1}.top-state-bar--visible .top-state-bar__close:hover{opacity:0.75}.top-state-bar--visible .top-state-bar__close:active{opacity:0.5}:host(.with-close-button) .top-state-bar__outer-wrapper{padding-top:var(--mer-spacing--2xs);gap:var(--mer-spacing--2xs)}@-webkit-keyframes inProgressBackgroundColor{0%{transform:translate(-50%, -50%) rotate(0)}100%{transform:translate(-50%, -50%) rotate(1turn)}}@-webkit-keyframes inProgressBar{0%{left:0%}100%{left:-200%}}@-moz-keyframes inProgressBar{0%{left:0%}100%{left:200%}}@keyframes inProgressBar{0%{left:0%}100%{left:-200%}}.progress-bar{display:block;transition:all var(--progress-bar-transition-speed);width:var(--top-bar-progress);border-radius:calc(var(--mer-spacing--2xs) / 2);height:100%}:host(.no-border) .top-state-bar__outer-wrapper:before,:host(.border-block-start) .top-state-bar__outer-wrapper:before,:host(.border-block-end) .top-state-bar__outer-wrapper:before{display:none}:host(.border-block-start) .top-state-bar__outer-wrapper{border-block-start:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01)}:host(.border-block-end) .top-state-bar__outer-wrapper{border-block-start:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01)}";
13
+
14
+ const CSS_BUNDLES = [
15
+ "resets/box-sizing",
16
+ "utils/form",
17
+ "utils/layout",
18
+ "utils/typography",
19
+ "components/button",
20
+ "components/icon",
21
+ "components/combo-box",
22
+ "components/edit",
23
+ "components/tabular-grid"
24
+ ];
25
+ const CLOSE_ICON = assetsManager.getIconPath({
26
+ category: "system",
27
+ name: "close",
28
+ colorType: "primary"
29
+ });
30
+ const PROGRESS_TRANSITION_SPEED = 200;
31
+ const GxIdeProgressBar = class {
32
+ constructor(hostRef) {
33
+ index.registerInstance(this, hostRef);
34
+ this.progressBarClosed = index.createEvent(this, "progressBarClosed", 7);
35
+ this.evaluateInitialProgress = () => {
36
+ if (this.progress === undefined &&
37
+ (this.stateType === "error" ||
38
+ this.stateType === "warning" ||
39
+ this.stateType === "success")) {
40
+ this.progress = 100;
41
+ }
42
+ else if (this.progress === undefined &&
43
+ this.stateType === "in-progress") {
44
+ this.progress = 0;
45
+ }
46
+ this.el.style.setProperty("--top-bar-progress", `${this.progress}%`);
47
+ };
48
+ this.closeClickHandler = () => {
49
+ this.active = false;
50
+ this.closedCallback();
51
+ };
52
+ this.renderClose = () => {
53
+ return (this.closeType === "button" && (index.h("button", { class: "button-tertiary button-icon-only", "aria-label": "close", onClick: this.closeClickHandler, role: "button", tabIndex: this.visible ? 0 : -1 }, index.h("ch-image", { src: CLOSE_ICON, class: "icon-md" }))));
54
+ };
55
+ this.topStateBarVisible = false;
56
+ this.disableTransition = false;
57
+ this.visible = false;
58
+ this.caption = undefined;
59
+ this.minimal = false;
60
+ this.active = false;
61
+ this.stateType = "in-progress";
62
+ this.progress = undefined;
63
+ this.closeType = "button";
64
+ this.closedCallback = () => { };
65
+ }
66
+ watchActiveHandler(active) {
67
+ if (active) {
68
+ this.visible = true;
69
+ setTimeout(() => {
70
+ this.topStateBarVisible = true;
71
+ }, 300);
72
+ }
73
+ else {
74
+ this.topStateBarVisible = false;
75
+ setTimeout(() => {
76
+ this.visible = false;
77
+ this.el.style.setProperty("--top-bar-progress", `0%`);
78
+ this.progressBarClosed.emit();
79
+ }, 300);
80
+ }
81
+ }
82
+ watchProgressHandler(progress) {
83
+ if (progress >= 0 && progress <= 100) {
84
+ this.el.style.setProperty("--top-bar-progress", `${progress}%`);
85
+ }
86
+ if (progress === 100 && this.closeType === "auto-close") {
87
+ setTimeout(() => {
88
+ this.active = false;
89
+ }, 200);
90
+ }
91
+ }
92
+ componentWillLoad() {
93
+ this.evaluateInitialProgress();
94
+ if (this.active) {
95
+ this.visible = true;
96
+ this.topStateBarVisible = true;
97
+ }
98
+ }
99
+ /**
100
+ * Sets the progress bar to zero instantly (no transition) and changes the type
101
+ * to 'accent'. Useful when reusing the progress bar for a new process.
102
+ */
103
+ async reset() {
104
+ // Resetting involves setting the progress to zero. In this case it is preferable
105
+ // to disable the transition.
106
+ this.disableTransition = true;
107
+ this.progress = 0;
108
+ this.stateType = "accent";
109
+ setTimeout(() => {
110
+ this.disableTransition = false; // enable transition for the nex process.
111
+ }, PROGRESS_TRANSITION_SPEED);
112
+ }
113
+ render() {
114
+ return (index.h(index.Host, { class: {
115
+ "visible": this.visible,
116
+ "with-close-button": this.closeType === "button",
117
+ "disable-transition": this.disableTransition
118
+ }, "aria-hidden": !this.active, style: {
119
+ "--progress-bar-transition-speed": `${PROGRESS_TRANSITION_SPEED}ms`
120
+ } }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("div", { role: "status", "aria-labelledby": "label", "aria-hidden": !this.active, class: {
121
+ "top-state-bar": true,
122
+ [`top-state-bar--${this.stateType}`]: true,
123
+ "top-state-bar--visible": this.topStateBarVisible
124
+ } }, index.h("div", { class: "top-state-bar__outer-wrapper" }, !this.minimal ? (index.h("div", { class: "top-state-bar__inner-wrapper" }, index.h("label", { id: "label", class: {
125
+ "top-state-bar__caption": true
126
+ }, part: "label" }, this.caption), this.renderClose())) : null, index.h("div", { class: {
127
+ "top-state-bar__progress-wrapper": true
128
+ }, part: "progress-wrapper" }, index.h("span", { class: "progress-bar" }))))));
129
+ }
130
+ static get assetsDirs() { return ["gx-ide-assets/progress-bar"]; }
131
+ get el() { return index.getElement(this); }
132
+ static get watchers() { return {
133
+ "active": ["watchActiveHandler"],
134
+ "progress": ["watchProgressHandler"]
135
+ }; }
136
+ };
137
+ GxIdeProgressBar.style = progressBarCss;
138
+
139
+ exports.gx_ide_progress_bar = GxIdeProgressBar;
140
+
141
+ //# sourceMappingURL=gx-ide-progress-bar.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-progress-bar.entry.cjs.js","mappings":"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","names":["getIconPath","h","Host"],"sources":["src/components/_helpers/progress-bar/progress-bar.scss?tag=gx-ide-progress-bar&encapsulation=shadow","src/components/_helpers/progress-bar/progress-bar.tsx"],"sourcesContent":["// --progress-bar-transition-speed is defined on the Host in the .tsx\n$border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n\n:host {\n --top-bar-progress: 0%;\n display: grid;\n grid-template-rows: 0fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n overflow: hidden;\n\n //icon\n --ds-icon-size-box--small: var(--mer-font__size--2xs);\n --ds-icon-size--small: 100%;\n\n > * {\n overflow: hidden;\n }\n}\n:host(.disable-transition) {\n --progress-bar-transition-speed: 0 !important;\n}\n:host(.visible) {\n grid-template-rows: 1fr;\n}\n.top-state-bar {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n > * {\n position: relative;\n z-index: 1;\n }\n border-radius: var(--mer-border__width--lg);\n list-style: var(--mer-font__size--2xs);\n display: flex;\n\n &__outer-wrapper {\n &::after,\n &::before {\n border-radius: var(--mer-border__width--lg);\n }\n &::before {\n content: \"\";\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n position: absolute;\n background-color: var(--mer-border-color__dim);\n z-index: 0;\n }\n &::after {\n content: \"\";\n left: var(--mer-border__width--sm);\n top: var(--mer-border__width--sm);\n width: calc(100% - var(--mer-border__width--sm) * 2);\n height: calc(100% - var(--mer-border__width--sm) * 2);\n position: absolute;\n background-color: var(--mer-surface);\n z-index: 1;\n }\n\n position: relative;\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n }\n &__inner-wrapper {\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: var(--mer-spacing--xs);\n position: relative;\n z-index: 2;\n }\n &__caption {\n color: var(--mer-text__on-surface);\n font-size: var(--mer-font__size--2xs);\n line-height: var(--mer-font__size--2xs);\n font-weight: var(--mer-font__weight--regular);\n display: flex;\n align-items: center;\n font-style: italic;\n }\n &__progress-wrapper {\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-surface__elevation--01);\n position: relative;\n z-index: 2;\n }\n &__close {\n cursor: pointer;\n transition: var(--mer-timing--fast) background-color;\n }\n &__inner-wrapper,\n &__progress-wrapper,\n &__close {\n opacity: 0;\n transition: 150ms opacity;\n }\n\n /*states*/\n &--accent {\n .progress-bar {\n background-color: var(--mer-accent__primary);\n }\n }\n &--success {\n .progress-bar {\n background-color: var(--mer-color__message-green--100);\n }\n }\n &--warning {\n .progress-bar {\n background-color: var(--mer-color__message-yellow--100);\n }\n }\n &--error {\n .progress-bar {\n background-color: var(--mer-color__message-red--100);\n }\n }\n &--in-progress {\n .top-state-bar__outer-wrapper:before {\n height: 0;\n width: 120%;\n padding-top: 60%;\n padding-bottom: 60%;\n background: linear-gradient(\n 90deg,\n rgba(91, 167, 255, 0.4) 0%,\n rgba(63, 168, 155, 0.4) 100%\n );\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n -webkit-animation: inProgressBackgroundColor 1s linear infinite;\n animation: inProgressBackgroundColor 1s linear infinite;\n }\n .progress-bar {\n position: relative;\n overflow: hidden;\n z-index: 1;\n &:after {\n content: \"\";\n position: absolute;\n z-index: 0;\n width: 300%;\n height: 100%;\n left: 0;\n background: linear-gradient(\n 90deg,\n rgba(147, 245, 235, 1) 0%,\n rgba(26, 163, 255, 1) 33%,\n rgba(147, 245, 235, 1) 66%,\n rgba(26, 163, 255, 1) 100%\n );\n animation-name: inProgressBar;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n }\n }\n }\n &--visible {\n .top-state-bar__inner-wrapper,\n .top-state-bar__progress-wrapper,\n .top-state-bar__close {\n opacity: 1;\n }\n .top-state-bar__close {\n &:hover {\n opacity: 0.75;\n }\n &:active {\n opacity: 0.5;\n }\n }\n }\n}\n\n// With Close Button (some spacing needs to be adjusted)\n:host(.with-close-button) {\n .top-state-bar {\n &__outer-wrapper {\n padding-top: var(--mer-spacing--2xs);\n gap: var(--mer-spacing--2xs);\n }\n }\n}\n\n/*in progress animation*/\n@-webkit-keyframes inProgressBackgroundColor {\n 0% {\n transform: translate(-50%, -50%) rotate(0);\n }\n 100% {\n transform: translate(-50%, -50%) rotate(1turn);\n }\n}\n@-webkit-keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: -200%;\n }\n}\n@-moz-keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: 200%;\n }\n}\n@keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: -200%;\n }\n}\n\n.progress-bar {\n display: block;\n transition: all var(--progress-bar-transition-speed);\n width: var(--top-bar-progress);\n border-radius: calc(var(--mer-spacing--2xs) / 2);\n height: 100%;\n}\n\n:host(.no-border),\n:host(.border-block-start),\n:host(.border-block-end) {\n .top-state-bar__outer-wrapper {\n &:before {\n display: none;\n }\n }\n}\n:host(.border-block-start) {\n .top-state-bar__outer-wrapper {\n border-block-start: $border;\n }\n}\n:host(.border-block-end) {\n .top-state-bar__outer-wrapper {\n border-block-start: $border;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n Event,\n EventEmitter,\n Method\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/icon\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n\nconst CLOSE_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"primary\"\n});\nconst PROGRESS_TRANSITION_SPEED = 200;\n\n@Component({\n tag: \"gx-ide-progress-bar\",\n styleUrl: \"progress-bar.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/progress-bar\"]\n})\nexport class GxIdeProgressBar {\n @Element() el: HTMLGxIdeProgressBarElement;\n\n /**\n * If true it will display the caption\n */\n @State() topStateBarVisible: boolean = false;\n\n /**\n * If true the progress will be updated instantly, without transition. This is required when the host user is calling the \"reset\" method.\n */\n @State() disableTransition: boolean = false;\n\n /**\n * If true it will display bar\n */\n @State() visible: boolean = false;\n\n /**\n * The top-bar title\n */\n @Prop() readonly caption: string;\n\n /**\n * It will only display the bar (no title, no close button)\n */\n @Prop({ reflect: true }) readonly minimal: boolean = false;\n\n /**\n * The top-bar active state. If false it will be hidden\n */\n @Prop({ mutable: true }) active: boolean = false;\n @Watch(\"active\")\n watchActiveHandler(active: boolean) {\n if (active) {\n this.visible = true;\n setTimeout(() => {\n this.topStateBarVisible = true;\n }, 300);\n } else {\n this.topStateBarVisible = false;\n setTimeout(() => {\n this.visible = false;\n this.el.style.setProperty(\"--top-bar-progress\", `0%`);\n this.progressBarClosed.emit();\n }, 300);\n }\n }\n\n /**\n * The top-bar state\n */\n @Prop({ mutable: true }) stateType: TopStateBarType = \"in-progress\";\n\n /**\n * The progress bar progress\n */\n @Prop({ mutable: true }) progress: number = undefined;\n @Watch(\"progress\")\n watchProgressHandler(progress: number) {\n if (progress >= 0 && progress <= 100) {\n this.el.style.setProperty(\"--top-bar-progress\", `${progress}%`);\n }\n if (progress === 100 && this.closeType === \"auto-close\") {\n setTimeout(() => {\n this.active = false;\n }, 200);\n }\n }\n\n /**\n * How to display the close button\n */\n @Prop() readonly closeType: \"auto-close\" | \"button\" = \"button\";\n\n /**\n * A callback that gets called when the top-state-bar is closed\n */\n @Prop() readonly closedCallback: () => void = () => {};\n\n /**\n * Emitted every time the progress bar is closed.\n */\n @Event() progressBarClosed: EventEmitter;\n\n componentWillLoad() {\n this.evaluateInitialProgress();\n if (this.active) {\n this.visible = true;\n this.topStateBarVisible = true;\n }\n }\n\n /**\n * Sets the progress bar to zero instantly (no transition) and changes the type\n * to 'accent'. Useful when reusing the progress bar for a new process.\n */\n @Method()\n async reset() {\n // Resetting involves setting the progress to zero. In this case it is preferable\n // to disable the transition.\n this.disableTransition = true;\n this.progress = 0;\n this.stateType = \"accent\";\n setTimeout(() => {\n this.disableTransition = false; // enable transition for the nex process.\n }, PROGRESS_TRANSITION_SPEED);\n }\n\n private evaluateInitialProgress = () => {\n if (\n this.progress === undefined &&\n (this.stateType === \"error\" ||\n this.stateType === \"warning\" ||\n this.stateType === \"success\")\n ) {\n this.progress = 100;\n } else if (\n this.progress === undefined &&\n this.stateType === \"in-progress\"\n ) {\n this.progress = 0;\n }\n this.el.style.setProperty(\"--top-bar-progress\", `${this.progress}%`);\n };\n\n private closeClickHandler = () => {\n this.active = false;\n this.closedCallback();\n };\n\n private renderClose = () => {\n return (\n this.closeType === \"button\" && (\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label=\"close\"\n onClick={this.closeClickHandler}\n role=\"button\"\n tabIndex={this.visible ? 0 : -1}\n >\n <ch-image src={CLOSE_ICON} class=\"icon-md\"></ch-image>\n </button>\n )\n );\n };\n\n render() {\n return (\n <Host\n class={{\n \"visible\": this.visible,\n \"with-close-button\": this.closeType === \"button\",\n \"disable-transition\": this.disableTransition\n }}\n aria-hidden={!this.active}\n style={{\n \"--progress-bar-transition-speed\": `${PROGRESS_TRANSITION_SPEED}ms`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n role=\"status\"\n aria-labelledby=\"label\"\n aria-hidden={!this.active}\n class={{\n \"top-state-bar\": true,\n [`top-state-bar--${this.stateType}`]: true,\n \"top-state-bar--visible\": this.topStateBarVisible\n }}\n >\n <div class=\"top-state-bar__outer-wrapper\">\n {!this.minimal ? (\n <div class=\"top-state-bar__inner-wrapper\">\n <label\n id=\"label\"\n class={{\n \"top-state-bar__caption\": true\n }}\n part=\"label\"\n >\n {this.caption}\n </label>\n\n {this.renderClose()}\n </div>\n ) : null}\n <div\n class={{\n \"top-state-bar__progress-wrapper\": true\n }}\n part=\"progress-wrapper\"\n >\n <span class=\"progress-bar\"></span>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type TopStateBarType =\n | \"accent\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"in-progress\";\n"],"version":3}
@@ -9,7 +9,7 @@ require('lit');
9
9
  require('lit/directives/when.js');
10
10
  require('lit/directives/if-defined.js');
11
11
  const locale = require('./locale-ff30a5f3.js');
12
- const common = require('./common-f2540d3e.js');
12
+ const common = require('./common-51d68918.js');
13
13
 
14
14
  const splashCss = ":host{--wrapper-copacity:0;--wrapper-min-inline-size:700px;--wrapper-max-inline-size:1040px;--wrapper-block-size:640px;transition:var(--mer-timing--regular) opacity;display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;padding:16px;overflow:auto}.wrapper{flex:1;display:grid;grid-template-columns:1fr var(--wrapper-block-size);block-size:var(--wrapper-block-size);max-inline-size:var(--wrapper-max-inline-size);background-color:var(--mer-surface__elevation--01);border-radius:var(--mer-spacing--sm);overflow:auto;transform:translateY(6px)}.side-inline-start{background-size:cover}.side-inline-end{position:relative;display:grid;grid-template-rows:max-content 1fr max-content;padding:64px 80px;transition:1000ms grid-template-rows;overflow:auto}.close-button{position:absolute;inset-inline-end:0;inset-block-start:0}.header{display:grid;gap:var(--mer-spacing--md);margin-block-end:92px}.header__logo__close-button{display:flex;justify-content:space-between}.title{color:var(--mer-text__on-surface);font-size:var(--mer-font__size--xl);font-weight:var(--mer-font__weight--semi-bold);letter-spacing:0.02em}.next-version{color:var(--mer-text__on-surface)}.header__description{color:var(--mer-text__complementary);line-height:1.45 !important}.main{display:flex;flex-direction:column;gap:var(--mer-spacing--sm);overflow:auto}.log__container{--logVisibleLines:6;--logFontSize:12px;--logLineHeight:1.2;--logGap:4px;--logContainerBlockSize:calc(\n var(--logFontSize) * var(--logLineHeight) * var(--logVisibleLines) +\n calc(var(--logGap) * (var(--logVisibleLines) - 1))\n );block-size:var(--logContainerBlockSize);font-family:monospace;color:var(--mer-text__complementary);display:flex;flex-direction:column-reverse;gap:var(--logGap);overflow:hidden}.log__container:hover{overflow:auto}.log__message{opacity:0;transition:var(--mer-timing--regular) opacity;animation:fadeInLogMessage 0.45s ease-out forwards}.log__message--error{color:var(--mer-text__error)}.footer{display:grid;grid-auto-rows:max-content;gap:var(--mer-spacing--sm);margin-block-start:var(--mer-spacing--lg)}.error-message{font-family:monospace;font-size:13px;line-height:1.5;color:var(--mer-text__error);margin-block-start:auto;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.status--processing{display:flex;flex-direction:row;align-items:baseline;gap:4px}@keyframes fadeInLogMessage{from{opacity:0}to{opacity:1}}";
15
15
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-75aef097.js');
6
6
  const locale = require('./locale-ff30a5f3.js');
7
7
  const config = require('./config-3bb95f39.js');
8
- const common = require('./common-f2540d3e.js');
8
+ const common = require('./common-51d68918.js');
9
9
  const constants = require('./constants-96a42315.js');
10
10
  const helpers = require('./helpers-b1b58657.js');
11
11