@c8y/ngx-components 1023.17.6 → 1023.17.11

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 (200) hide show
  1. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  2. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  3. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +9 -9
  4. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +12 -12
  5. package/fesm2022/c8y-ngx-components-ai.mjs +3 -3
  6. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +34 -34
  7. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +4 -4
  8. package/fesm2022/c8y-ngx-components-alarms.mjs +76 -76
  9. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  10. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  11. package/fesm2022/c8y-ngx-components-asset-properties.mjs +39 -39
  12. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CHjd7Q21.mjs → c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs} +13 -13
  13. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CHjd7Q21.mjs.map → c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs.map} +1 -1
  14. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +32 -32
  15. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +114 -114
  16. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  17. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  18. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  19. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  20. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  21. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  22. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
  23. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
  24. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
  25. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +36 -36
  26. package/fesm2022/c8y-ngx-components-branding-shared.mjs +13 -13
  27. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  28. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  29. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-Bl18pHcM.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-SA0syLy7.mjs} +4 -4
  30. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-Bl18pHcM.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-SA0syLy7.mjs.map} +1 -1
  31. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-C5QMFdX1.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BOmgJI14.mjs} +4 -4
  32. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-C5QMFdX1.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BOmgJI14.mjs.map} +1 -1
  33. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-C-Lc5Ble.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-CaTb9cph.mjs} +4 -4
  34. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-C-Lc5Ble.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-CaTb9cph.mjs.map} +1 -1
  35. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BXfM7hTQ.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DkrSvf9F.mjs} +4 -4
  36. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BXfM7hTQ.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DkrSvf9F.mjs.map} +1 -1
  37. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +6 -6
  38. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  39. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  40. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  41. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  42. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BuGMpNrA.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DM3hASUP.mjs} +4 -4
  43. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BuGMpNrA.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DM3hASUP.mjs.map} +1 -1
  44. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DN-f35bA.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-CC5346kW.mjs} +10 -10
  45. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DN-f35bA.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-CC5346kW.mjs.map} +1 -1
  46. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-BlIVEV__.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CHuc--XM.mjs} +4 -4
  47. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-BlIVEV__.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CHuc--XM.mjs.map} +1 -1
  48. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  49. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  50. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +3 -3
  51. package/fesm2022/c8y-ngx-components-context-dashboard-state.mjs +3 -3
  52. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +102 -102
  53. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-m7YeEj9R.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs} +16 -16
  54. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-m7YeEj9R.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs.map} +1 -1
  55. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  56. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs +6 -6
  57. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  58. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  59. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  60. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  61. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  62. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +13 -13
  63. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  64. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  65. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  66. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  67. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +40 -40
  68. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +33 -33
  69. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  70. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  71. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  72. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  73. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  74. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  75. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  76. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  77. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  78. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  79. package/fesm2022/c8y-ngx-components-echart.mjs +35 -33
  80. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  82. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  83. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  84. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  85. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  86. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  87. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  88. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +4 -4
  89. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  90. package/fesm2022/c8y-ngx-components-events.mjs +3 -3
  91. package/fesm2022/c8y-ngx-components-exports-list.mjs +6 -6
  92. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  93. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  94. package/fesm2022/c8y-ngx-components-global-context.mjs +130 -130
  95. package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +6 -6
  96. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  97. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  98. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  99. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  100. package/fesm2022/c8y-ngx-components-map.mjs +19 -19
  101. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  102. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  103. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  104. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  105. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  106. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  107. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  108. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  109. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +3 -3
  110. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  111. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  112. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  113. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  114. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  115. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  116. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  117. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +10 -12
  118. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  119. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  120. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  121. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  122. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  123. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  124. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  125. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  126. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  127. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  128. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  129. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  130. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  131. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  132. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  133. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  134. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  135. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  136. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  137. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  138. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  139. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  140. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  141. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  142. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  143. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  144. package/fesm2022/c8y-ngx-components-replace-device.mjs +10 -10
  145. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  146. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  147. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  148. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  149. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  150. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  151. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  152. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  153. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +6 -6
  154. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +7 -7
  155. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  156. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  157. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  158. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  159. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  160. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  161. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +9 -9
  162. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  163. package/fesm2022/c8y-ngx-components-sub-assets.mjs +60 -60
  164. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  165. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  166. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  167. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  168. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  169. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  170. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  171. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  172. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  173. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  174. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
  175. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +3 -3
  176. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +6 -6
  177. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +19 -19
  178. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  179. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  180. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  181. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +7 -7
  182. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  183. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +27 -27
  184. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  185. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +7 -7
  186. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  187. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +24 -24
  188. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  189. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
  190. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  191. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  192. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  193. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  194. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  195. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  196. package/fesm2022/c8y-ngx-components.mjs +1371 -1371
  197. package/locales/de.po +50 -70
  198. package/locales/zh_TW.po +2 -1
  199. package/operations/operations-timeline/index.d.ts.map +1 -1
  200. package/package.json +1 -1
@@ -23,18 +23,18 @@ class PluginSetupStepperComponent {
23
23
  back() {
24
24
  this.stepper.previous();
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperComponent, deps: [{ token: i1.AppStateService }, { token: i1.C8yStepper }, { token: i1.SetupComponent }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PluginSetupStepperComponent, isStandalone: true, selector: "c8y-plugin-setup-stepper", host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div class=\"container-fluid flex-no-shrink fit-w\">\n <div class=\"row\">\n <div class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 p-t-24 p-l-16 p-r-16\">\n <h3 translate class=\"text-medium l-h-base\">Plugins</h3>\n <p class=\"lead text-normal\" translate>\n Manage the application plugins.\n </p>\n </div>\n </div>\n</div>\n<div class=\"inner-scroll flex-grow\">\n <c8y-app-plugins *ngIf=\"appId$ | async as appId\" [appId]=\"appId\"></c8y-app-plugins>\n</div>\n<div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n data-cy=\"c8y-plugin-setup-stepper--cancel-button\"\n *ngIf=\"stepper.selectedIndex !== 0\"\n (click)=\"back()\"\n translate\n >\n Previous\n </button>\n <button class=\"btn btn-primary\" type=\"submit\" data-cy=\"c8y-plugin-setup-stepper--continue-button\" (click)=\"next()\" translate>\n Continue\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ApplicationPluginsModule }, { kind: "component", type: i2.ApplicationPluginsComponent, selector: "c8y-app-plugins", inputs: ["appId"] }, { kind: "ngmodule", type: LicenseConfirmModule }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperComponent, deps: [{ token: i1.AppStateService }, { token: i1.C8yStepper }, { token: i1.SetupComponent }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PluginSetupStepperComponent, isStandalone: true, selector: "c8y-plugin-setup-stepper", host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div class=\"container-fluid flex-no-shrink fit-w\">\n <div class=\"row\">\n <div class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 p-t-24 p-l-16 p-r-16\">\n <h3 translate class=\"text-medium l-h-base\">Plugins</h3>\n <p class=\"lead text-normal\" translate>\n Manage the application plugins.\n </p>\n </div>\n </div>\n</div>\n<div class=\"inner-scroll flex-grow\">\n <c8y-app-plugins *ngIf=\"appId$ | async as appId\" [appId]=\"appId\"></c8y-app-plugins>\n</div>\n<div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n data-cy=\"c8y-plugin-setup-stepper--cancel-button\"\n *ngIf=\"stepper.selectedIndex !== 0\"\n (click)=\"back()\"\n translate\n >\n Previous\n </button>\n <button class=\"btn btn-primary\" type=\"submit\" data-cy=\"c8y-plugin-setup-stepper--continue-button\" (click)=\"next()\" translate>\n Continue\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ApplicationPluginsModule }, { kind: "component", type: i2.ApplicationPluginsComponent, selector: "c8y-app-plugins", inputs: ["appId"] }, { kind: "ngmodule", type: LicenseConfirmModule }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'c8y-plugin-setup-stepper', standalone: true, imports: [NgIf, AsyncPipe, ApplicationPluginsModule, LicenseConfirmModule, C8yTranslateDirective], host: { class: 'd-contents' }, template: "<div class=\"container-fluid flex-no-shrink fit-w\">\n <div class=\"row\">\n <div class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 p-t-24 p-l-16 p-r-16\">\n <h3 translate class=\"text-medium l-h-base\">Plugins</h3>\n <p class=\"lead text-normal\" translate>\n Manage the application plugins.\n </p>\n </div>\n </div>\n</div>\n<div class=\"inner-scroll flex-grow\">\n <c8y-app-plugins *ngIf=\"appId$ | async as appId\" [appId]=\"appId\"></c8y-app-plugins>\n</div>\n<div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n data-cy=\"c8y-plugin-setup-stepper--cancel-button\"\n *ngIf=\"stepper.selectedIndex !== 0\"\n (click)=\"back()\"\n translate\n >\n Previous\n </button>\n <button class=\"btn btn-primary\" type=\"submit\" data-cy=\"c8y-plugin-setup-stepper--continue-button\" (click)=\"next()\" translate>\n Continue\n </button>\n</div>\n" }]
32
32
  }], ctorParameters: () => [{ type: i1.AppStateService }, { type: i1.C8yStepper }, { type: i1.SetupComponent }] });
33
33
 
34
34
  class PluginSetupStepperModule {
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperModule, imports: [PluginSetupStepperComponent] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperModule, providers: [
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperModule, imports: [PluginSetupStepperComponent] }); }
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperModule, providers: [
38
38
  hookStepper([
39
39
  {
40
40
  stepperId: Steppers.SETUP,
@@ -46,7 +46,7 @@ class PluginSetupStepperModule {
46
46
  ])
47
47
  ], imports: [PluginSetupStepperComponent] }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PluginSetupStepperModule, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PluginSetupStepperModule, decorators: [{
50
50
  type: NgModule,
51
51
  args: [{
52
52
  imports: [PluginSetupStepperComponent],
@@ -1042,10 +1042,10 @@ class EcosystemService {
1042
1042
  isNameLengthExceeded(name, appType) {
1043
1043
  return name.length > MICROSERVICE_NAME_MAX_LENGTH && appType === ApplicationType.MICROSERVICE;
1044
1044
  }
1045
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EcosystemService, deps: [{ token: i1.ModalService }, { token: i1.AlertService }, { token: i1.HumanizeAppNamePipe }, { token: i3.TranslateService }, { token: i3$1.ApplicationService }, { token: i1.AppStateService }, { token: i1.ZipService }, { token: i3$1.TenantService }, { token: i3$1.InventoryService }, { token: i1.WizardModalService }, { token: i1.PluginsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1046
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EcosystemService, providedIn: 'root' }); }
1045
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: EcosystemService, deps: [{ token: i1.ModalService }, { token: i1.AlertService }, { token: i1.HumanizeAppNamePipe }, { token: i3.TranslateService }, { token: i3$1.ApplicationService }, { token: i1.AppStateService }, { token: i1.ZipService }, { token: i3$1.TenantService }, { token: i3$1.InventoryService }, { token: i1.WizardModalService }, { token: i1.PluginsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1046
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: EcosystemService, providedIn: 'root' }); }
1047
1047
  }
1048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EcosystemService, decorators: [{
1048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: EcosystemService, decorators: [{
1049
1049
  type: Injectable,
1050
1050
  args: [{
1051
1051
  providedIn: 'root'
@@ -1126,10 +1126,10 @@ class PackageAvailabilityService {
1126
1126
  cancel: gettext('Cancel')
1127
1127
  });
1128
1128
  }
1129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageAvailabilityService, deps: [{ token: i1.AppStateService }, { token: i1.AlertService }, { token: i1.ModalService }, { token: i3$1.ApplicationService }, { token: i1.GainsightService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1130
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageAvailabilityService, providedIn: 'root' }); }
1129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageAvailabilityService, deps: [{ token: i1.AppStateService }, { token: i1.AlertService }, { token: i1.ModalService }, { token: i3$1.ApplicationService }, { token: i1.GainsightService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1130
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageAvailabilityService, providedIn: 'root' }); }
1131
1131
  }
1132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageAvailabilityService, decorators: [{
1132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageAvailabilityService, decorators: [{
1133
1133
  type: Injectable,
1134
1134
  args: [{ providedIn: 'root' }]
1135
1135
  }], ctorParameters: () => [{ type: i1.AppStateService }, { type: i1.AlertService }, { type: i1.ModalService }, { type: i3$1.ApplicationService }, { type: i1.GainsightService }, { type: i3.TranslateService }] });
@@ -1208,10 +1208,10 @@ class AddApplicationComponent {
1208
1208
  this.ecosystemService.cancelAppCreation(this.createdApp);
1209
1209
  this.createdApp = null;
1210
1210
  }
1211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AddApplicationComponent, deps: [{ token: EcosystemService }, { token: i1.AlertService }, { token: i3$1.ApplicationService }, { token: i1.WizardComponent }, { token: i3.TranslateService }, { token: PackageAvailabilityService }], target: i0.ɵɵFactoryTarget.Component }); }
1212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AddApplicationComponent, isStandalone: true, selector: "c8y-add-application", inputs: { headerText: "headerText", headerIcon: "headerIcon", successText: "successText", createApplicationHandler: "createApplicationHandler", uploadApplicationHandler: "uploadApplicationHandler", canGoBack: "canGoBack", applicationType: "applicationType" }, viewQueries: [{ propertyName: "dropAreaComponent", first: true, predicate: DropAreaComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"headerIcon\"></i>\n <h4 id=\"modal-title\">{{ headerText | translate }}</h4>\n</c8y-wizard-header>\n\n<c8y-wizard-body>\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-component\">\n {{ 'Upload a *.zip file' | translate }}\n </p>\n <c8y-form-group\n class=\"m-t-16 m-l-auto m-r-auto\"\n style=\"max-width: 265px\"\n id=\"modal-body\"\n *ngIf=\"!isAppCreated; else appCreated\"\n [hasError]=\"!!errorMessage\"\n >\n <c8y-drop-area\n class=\"drop-area\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [accept]=\"'.zip'\"\n [loading]=\"isLoading\"\n [maxAllowedFiles]=\"1\"\n [progress]=\"progress | async\"\n ></c8y-drop-area>\n <c8y-messages>\n <c8y-message *ngIf=\"errorMessage\">\n {{ errorMessage | translate }}\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <div class=\"card-block\" *ngIf=\"applicationType === 'package'\">\n <c8y-form-group>\n <label\n class=\"m-r-8 d-inline-block\"\n id=\"availabilitySelectorLabel\"\n for=\"availabilitySelector\"\n >\n {{ 'Select extension availability' | translate }}\n </label>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"availabilityHelpPopover\"\n placement=\"top\"\n triggers=\"focus\"\n type=\"button\"\n ></button>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availabilitySelector\"\n name=\"availabilitySelector\"\n [(ngModel)]=\"selectedAvailability\"\n >\n <option\n *ngFor=\"let availability of packageAvailability.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <ng-template #appCreated>\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 285px\"\n >\n <c8y-operation-result\n class=\"lead\"\n type=\"success\"\n text=\"{{ successText | translate }}\"\n [vertical]=\"true\"\n [size]=\"84\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n <ng-template #availabilityHelpPopover>\n <div [innerHtml]=\"availabilityHelpPopoverText | translate\"></div>\n </ng-template>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"back()\"\n *ngIf=\"!isAppCreated && canGoBack\"\n translate\n >\n Back\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n *ngIf=\"!isAppCreated\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Done' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n *ngIf=\"isAppCreated\"\n translate\n >\n Done\n </button>\n <a\n class=\"btn btn-primary\"\n title=\"{{ 'Open' | translate }}\"\n target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"isAppCreated && canOpenInBrowser\"\n [href]=\"getHref(createdApp)\"\n rel=\"noopener noreferrer\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </a>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AddApplicationComponent, deps: [{ token: EcosystemService }, { token: i1.AlertService }, { token: i3$1.ApplicationService }, { token: i1.WizardComponent }, { token: i3.TranslateService }, { token: PackageAvailabilityService }], target: i0.ɵɵFactoryTarget.Component }); }
1212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AddApplicationComponent, isStandalone: true, selector: "c8y-add-application", inputs: { headerText: "headerText", headerIcon: "headerIcon", successText: "successText", createApplicationHandler: "createApplicationHandler", uploadApplicationHandler: "uploadApplicationHandler", canGoBack: "canGoBack", applicationType: "applicationType" }, viewQueries: [{ propertyName: "dropAreaComponent", first: true, predicate: DropAreaComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"headerIcon\"></i>\n <h4 id=\"modal-title\">{{ headerText | translate }}</h4>\n</c8y-wizard-header>\n\n<c8y-wizard-body>\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-component\">\n {{ 'Upload a *.zip file' | translate }}\n </p>\n <c8y-form-group\n class=\"m-t-16 m-l-auto m-r-auto\"\n style=\"max-width: 265px\"\n id=\"modal-body\"\n *ngIf=\"!isAppCreated; else appCreated\"\n [hasError]=\"!!errorMessage\"\n >\n <c8y-drop-area\n class=\"drop-area\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [accept]=\"'.zip'\"\n [loading]=\"isLoading\"\n [maxAllowedFiles]=\"1\"\n [progress]=\"progress | async\"\n ></c8y-drop-area>\n <c8y-messages>\n <c8y-message *ngIf=\"errorMessage\">\n {{ errorMessage | translate }}\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <div class=\"card-block\" *ngIf=\"applicationType === 'package'\">\n <c8y-form-group>\n <label\n class=\"m-r-8 d-inline-block\"\n id=\"availabilitySelectorLabel\"\n for=\"availabilitySelector\"\n >\n {{ 'Select extension availability' | translate }}\n </label>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"availabilityHelpPopover\"\n placement=\"top\"\n triggers=\"focus\"\n type=\"button\"\n ></button>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availabilitySelector\"\n name=\"availabilitySelector\"\n [(ngModel)]=\"selectedAvailability\"\n >\n <option\n *ngFor=\"let availability of packageAvailability.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n </div>\n </c8y-form-group>\n </div>\n <ng-template #appCreated>\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 285px\"\n >\n <c8y-operation-result\n class=\"lead\"\n type=\"success\"\n text=\"{{ successText | translate }}\"\n [vertical]=\"true\"\n [size]=\"84\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n <ng-template #availabilityHelpPopover>\n <div [innerHtml]=\"availabilityHelpPopoverText | translate\"></div>\n </ng-template>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"back()\"\n *ngIf=\"!isAppCreated && canGoBack\"\n translate\n >\n Back\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n *ngIf=\"!isAppCreated\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Done' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n *ngIf=\"isAppCreated\"\n translate\n >\n Done\n </button>\n <a\n class=\"btn btn-primary\"\n title=\"{{ 'Open' | translate }}\"\n target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"isAppCreated && canOpenInBrowser\"\n [href]=\"getHref(createdApp)\"\n rel=\"noopener noreferrer\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </a>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1213
1213
  }
1214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AddApplicationComponent, decorators: [{
1214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AddApplicationComponent, decorators: [{
1215
1215
  type: Component,
1216
1216
  args: [{ selector: 'c8y-add-application', imports: [
1217
1217
  WizardHeaderComponent,
@@ -1261,10 +1261,10 @@ class TranslatePackageLabelPipe {
1261
1261
  }
1262
1262
  return rawPackageLabel;
1263
1263
  }
1264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TranslatePackageLabelPipe, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1265
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TranslatePackageLabelPipe, isStandalone: true, name: "translatePackageLabel" }); }
1264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TranslatePackageLabelPipe, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1265
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TranslatePackageLabelPipe, isStandalone: true, name: "translatePackageLabel" }); }
1266
1266
  }
1267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TranslatePackageLabelPipe, decorators: [{
1267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TranslatePackageLabelPipe, decorators: [{
1268
1268
  type: Pipe,
1269
1269
  args: [{ name: 'translatePackageLabel' }]
1270
1270
  }], ctorParameters: () => [{ type: i3.TranslateService }] });
@@ -1397,10 +1397,10 @@ class ApplicationCardComponent {
1397
1397
  }
1398
1398
  }
1399
1399
  }
1400
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ApplicationCardComponent, deps: [{ token: i3$1.ApplicationService }, { token: EcosystemService }, { token: i1.AlertService }, { token: i4.Router }, { token: i1.WizardModalService }, { token: i1.AlertService }, { token: i1.PluginsService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1401
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ApplicationCardComponent, isStandalone: true, selector: "c8y-application-card", inputs: { app: "app", canEdit: "canEdit" }, outputs: { onAppDeleted: "onAppDeleted", onAppCloned: "onAppCloned" }, ngImport: i0, template: "<div\n class=\"card pointer card--d-col notFeature\"\n data-cy=\"application-card--extensions-list\"\n *ngIf=\"!isFeature\"\n>\n <div\n class=\"card-block text-center card-column-40\"\n data-cy=\"application-card--package-name\"\n (click)=\"detail()\"\n >\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (app.label || app.manifest?.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"right\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL,\n 'bg-warning': packageType === PACKAGE_TYPE.ARCHIVED\n }\"\n >\n {{ app.label || app.manifest?.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"card-appicon\">\n <c8y-app-icon\n *ngIf=\"!isPackage && !isFeature && !isMicroservice && !isExternal\"\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n ></c8y-app-icon>\n <i\n c8yIcon=\"big-parcel\"\n *ngIf=\"isPackage\"\n ></i>\n <i\n c8yIcon=\"microchip\"\n *ngIf=\"isMicroservice\"\n ></i>\n <i\n c8yIcon=\"globe1\"\n *ngIf=\"isExternal\"\n ></i>\n </div>\n <div style=\"line-height: 1.3\">\n <p class=\"e2e-appCardName text-medium text-break-word\">\n {{ app | humanizeAppName | async }}\n </p>\n <ng-container *ngIf=\"isShowVersion\">\n <p class=\"small text-muted\">\n <em>{{ app.manifest.version }}</em>\n <button\n class=\"btn-clean m-l-4\"\n [attr.aria-label]=\"'Update available' | translate\"\n [tooltip]=\"'Update available' | translate\"\n *ngIf=\"shouldUpgradePackage && isUnpacked\"\n >\n <i\n class=\"text-warning icon-16\"\n c8yIcon=\"exclamation-triangle\"\n ></i>\n </button>\n </p>\n </ng-container>\n <p\n class=\"small text-break-word\"\n *ngIf=\"app.manifest?.author\"\n >\n {{ app.manifest.author }}\n </p>\n </div>\n </div>\n <div\n class=\"card-block p-0 no-min-height card--d-col card-column-80 flex-grow\"\n (click)=\"detail()\"\n >\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-80\">\n <div class=\"text-center-grid\">\n <div class=\"p-b-8 card-hidden-grid\"></div>\n <p\n class=\"small l-h-tight p-b-8 p-l-0 p-r-0 text-break-word\"\n *ngIf=\"app.description || app.manifest?.description\"\n >\n {{ app.description || app.manifest?.description | translate }}\n </p>\n <p\n class=\"small l-h-tight p-b-8 p-l-0 p-r-0\"\n *ngIf=\"!app.description && !app.manifest?.description\"\n >\n <em class=\"text-muted\">{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n </div>\n <div\n class=\"card-block no-min-height p-t-0 p-b-0 d-flex card-column-20 text-center-grid flex-wrap gap-8\"\n >\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n ((isUnpacked ? UNPACKED_LABEL : appState?.label) | translate) +\n ': ' +\n (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip\n ? packageContentState?.tooltip\n : PACKAGE_CONTENT_UNDETERMINED_LABEL) | translate\n \"\n [tooltip]=\"\n (packageContentState?.tooltip\n ? packageContentState?.tooltip\n : PACKAGE_CONTENT_UNDETERMINED_LABEL\n ) | translate\n \"\n placement=\"top\"\n *ngIf=\"isPackage\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class ? packageContentState?.class : 'label-danger'\"\n >\n {{\n packageContentState?.label || packageTypeLabels[PACKAGE_TYPE.UNKNOWN].label | translate\n }}\n </span>\n </button>\n </div>\n <div class=\"card-footer no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\">\n <div class=\"p-b-16 card-hidden-list\"></div>\n <button\n class=\"btn btn-sm btn-default\"\n [title]=\"openButtonTitle | translate\"\n type=\"button\"\n (click)=\"openApp(); $event.stopPropagation()\"\n *ngIf=\"canOpenInBrowser\"\n [disabled]=\"disableOpenInBrowser\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </button>\n <div class=\"p-b-32 card-hidden-list\"></div>\n </div>\n </div>\n <div class=\"p-r-40 card-hidden-grid\"></div>\n <div\n class=\"card-actions m-t-0\"\n *ngIf=\"canEdit || canOpenInBrowser || canDelete\"\n >\n <div\n class=\"dropdown\"\n #appCardDropdown=\"bs-dropdown\"\n dropdown\n [cdkTrapFocus]=\"appCardDropdown.isOpen\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n title=\"{{ 'Settings' | translate }}\"\n data-cy=\"application-card--settings-button\"\n type=\"button\"\n dropdownToggle\n >\n <i c8yIcon=\"ellipsis-v\"></i>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n *dropdownMenu\n >\n <li *ngIf=\"canEdit\">\n <button\n title=\"{{ 'Edit' | translate }}\"\n data-cy=\"application-card--edit-button\"\n (click)=\"detail()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"pencil\"\n ></i>\n {{ 'Edit' | translate }}\n </button>\n </li>\n <ng-container *c8yIfAllowed=\"['ROLE_APPLICATION_MANAGEMENT_ADMIN']\">\n <li>\n <button\n [title]=\"canDelete ? ('Delete' | translate) : (CANNOT_DELETE_HINT | translate)\"\n type=\"button\"\n data-cy=\"application-card--delete-button\"\n [disabled]=\"!canDelete\"\n (click)=\"delete()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"delete\"\n ></i>\n {{ 'Delete' | translate }}\n </button>\n </li>\n <li *ngIf=\"canClone\">\n <button\n [title]=\"'Clone`package,verb`' | translate\"\n type=\"button\"\n *ngIf=\"isPackage\"\n (click)=\"clone()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"copy\"\n ></i>\n {{ 'Clone`package,verb`' | translate }}\n </button>\n <button\n [title]=\"'Clone`application,verb`' | translate\"\n type=\"button\"\n *ngIf=\"!isPackage\"\n (click)=\"clone()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"copy\"\n ></i>\n {{ 'Clone`application,verb`' | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</div>\n\n<button\n class=\"card pointer card--d-col\"\n type=\"button\"\n (click)=\"detail()\"\n *ngIf=\"isFeature\"\n>\n <div class=\"card-block text-center card-column-40\">\n <div class=\"card-appicon\">\n <c8y-app-icon\n *ngIf=\"!isPackage && !isFeature && !isMicroservice && !isExternal\"\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n ></c8y-app-icon>\n <i c8yIcon=\"tab\"></i>\n </div>\n <div>\n <p\n class=\"e2e-appCardName text-medium\"\n title=\"{{ app | humanizeAppName | async }}\"\n >\n {{ app | humanizeAppName | async }}\n </p>\n <ng-container *ngIf=\"isShowVersion\">\n <p class=\"small text-muted\">\n <em>{{ app.manifest.version }}</em>\n <i\n class=\"text-warning m-l-4\"\n c8yIcon=\"exclamation-triangle\"\n [tooltip]=\"'Update available' | translate\"\n *ngIf=\"shouldUpgradePackage && isUnpacked\"\n ></i>\n </p>\n </ng-container>\n </div>\n </div>\n <div class=\"card-block p-0 no-min-height card--d-col card-column-80 flex-grow\">\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-80\">\n <div\n class=\"text-center-grid\"\n *ngIf=\"app.description || app.manifest?.description\"\n >\n <div class=\"p-b-8 card-hidden-grid\"></div>\n <p class=\"small l-h-tight p-b-8 p-l-0 p-r-0\">\n {{ app.description || app.manifest?.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\">\n <span\n class=\"label\"\n [ngClass]=\"appState.class\"\n >\n {{ appState.label | translate }}\n </span>\n </div>\n <div\n class=\"card-block no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\"\n *ngIf=\"isPackage\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState.class\"\n >\n {{ packageContentState.label | translate }}\n </span>\n </div>\n <div class=\"p-b-32 card-hidden-list\"></div>\n </div>\n</button>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AppIconComponent, selector: "c8y-app-icon", inputs: ["contextPath", "name", "app"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: IfAllowedDirective, selector: "[c8yIfAllowed]", inputs: ["c8yIfAllowed", "c8yIfAllowedAllowAny"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "pipe", type: TranslatePackageLabelPipe, name: "translatePackageLabel" }] }); }
1400
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationCardComponent, deps: [{ token: i3$1.ApplicationService }, { token: EcosystemService }, { token: i1.AlertService }, { token: i4.Router }, { token: i1.WizardModalService }, { token: i1.AlertService }, { token: i1.PluginsService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1401
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ApplicationCardComponent, isStandalone: true, selector: "c8y-application-card", inputs: { app: "app", canEdit: "canEdit" }, outputs: { onAppDeleted: "onAppDeleted", onAppCloned: "onAppCloned" }, ngImport: i0, template: "<div\n class=\"card pointer card--d-col notFeature\"\n data-cy=\"application-card--extensions-list\"\n *ngIf=\"!isFeature\"\n>\n <div\n class=\"card-block text-center card-column-40\"\n data-cy=\"application-card--package-name\"\n (click)=\"detail()\"\n >\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (app.label || app.manifest?.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"right\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL,\n 'bg-warning': packageType === PACKAGE_TYPE.ARCHIVED\n }\"\n >\n {{ app.label || app.manifest?.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"card-appicon\">\n <c8y-app-icon\n *ngIf=\"!isPackage && !isFeature && !isMicroservice && !isExternal\"\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n ></c8y-app-icon>\n <i\n c8yIcon=\"big-parcel\"\n *ngIf=\"isPackage\"\n ></i>\n <i\n c8yIcon=\"microchip\"\n *ngIf=\"isMicroservice\"\n ></i>\n <i\n c8yIcon=\"globe1\"\n *ngIf=\"isExternal\"\n ></i>\n </div>\n <div style=\"line-height: 1.3\">\n <p class=\"e2e-appCardName text-medium text-break-word\">\n {{ app | humanizeAppName | async }}\n </p>\n <ng-container *ngIf=\"isShowVersion\">\n <p class=\"small text-muted\">\n <em>{{ app.manifest.version }}</em>\n <button\n class=\"btn-clean m-l-4\"\n [attr.aria-label]=\"'Update available' | translate\"\n [tooltip]=\"'Update available' | translate\"\n *ngIf=\"shouldUpgradePackage && isUnpacked\"\n >\n <i\n class=\"text-warning icon-16\"\n c8yIcon=\"exclamation-triangle\"\n ></i>\n </button>\n </p>\n </ng-container>\n <p\n class=\"small text-break-word\"\n *ngIf=\"app.manifest?.author\"\n >\n {{ app.manifest.author }}\n </p>\n </div>\n </div>\n <div\n class=\"card-block p-0 no-min-height card--d-col card-column-80 flex-grow\"\n (click)=\"detail()\"\n >\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-80\">\n <div class=\"text-center-grid\">\n <div class=\"p-b-8 card-hidden-grid\"></div>\n <p\n class=\"small l-h-tight p-b-8 p-l-0 p-r-0 text-break-word\"\n *ngIf=\"app.description || app.manifest?.description\"\n >\n {{ app.description || app.manifest?.description | translate }}\n </p>\n <p\n class=\"small l-h-tight p-b-8 p-l-0 p-r-0\"\n *ngIf=\"!app.description && !app.manifest?.description\"\n >\n <em class=\"text-muted\">{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n </div>\n <div\n class=\"card-block no-min-height p-t-0 p-b-0 d-flex card-column-20 text-center-grid flex-wrap gap-8\"\n >\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n ((isUnpacked ? UNPACKED_LABEL : appState?.label) | translate) +\n ': ' +\n (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip\n ? packageContentState?.tooltip\n : PACKAGE_CONTENT_UNDETERMINED_LABEL) | translate\n \"\n [tooltip]=\"\n (packageContentState?.tooltip\n ? packageContentState?.tooltip\n : PACKAGE_CONTENT_UNDETERMINED_LABEL\n ) | translate\n \"\n placement=\"top\"\n *ngIf=\"isPackage\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class ? packageContentState?.class : 'label-danger'\"\n >\n {{\n packageContentState?.label || packageTypeLabels[PACKAGE_TYPE.UNKNOWN].label | translate\n }}\n </span>\n </button>\n </div>\n <div class=\"card-footer no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\">\n <div class=\"p-b-16 card-hidden-list\"></div>\n <button\n class=\"btn btn-sm btn-default\"\n [title]=\"openButtonTitle | translate\"\n type=\"button\"\n (click)=\"openApp(); $event.stopPropagation()\"\n *ngIf=\"canOpenInBrowser\"\n [disabled]=\"disableOpenInBrowser\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </button>\n <div class=\"p-b-32 card-hidden-list\"></div>\n </div>\n </div>\n <div class=\"p-r-40 card-hidden-grid\"></div>\n <div\n class=\"card-actions m-t-0\"\n *ngIf=\"canEdit || canOpenInBrowser || canDelete\"\n >\n <div\n class=\"dropdown\"\n #appCardDropdown=\"bs-dropdown\"\n dropdown\n [cdkTrapFocus]=\"appCardDropdown.isOpen\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n title=\"{{ 'Settings' | translate }}\"\n data-cy=\"application-card--settings-button\"\n type=\"button\"\n dropdownToggle\n >\n <i c8yIcon=\"ellipsis-v\"></i>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n *dropdownMenu\n >\n <li *ngIf=\"canEdit\">\n <button\n title=\"{{ 'Edit' | translate }}\"\n data-cy=\"application-card--edit-button\"\n (click)=\"detail()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"pencil\"\n ></i>\n {{ 'Edit' | translate }}\n </button>\n </li>\n <ng-container *c8yIfAllowed=\"['ROLE_APPLICATION_MANAGEMENT_ADMIN']\">\n <li>\n <button\n [title]=\"canDelete ? ('Delete' | translate) : (CANNOT_DELETE_HINT | translate)\"\n type=\"button\"\n data-cy=\"application-card--delete-button\"\n [disabled]=\"!canDelete\"\n (click)=\"delete()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"delete\"\n ></i>\n {{ 'Delete' | translate }}\n </button>\n </li>\n <li *ngIf=\"canClone\">\n <button\n [title]=\"'Clone`package,verb`' | translate\"\n type=\"button\"\n *ngIf=\"isPackage\"\n (click)=\"clone()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"copy\"\n ></i>\n {{ 'Clone`package,verb`' | translate }}\n </button>\n <button\n [title]=\"'Clone`application,verb`' | translate\"\n type=\"button\"\n *ngIf=\"!isPackage\"\n (click)=\"clone()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"copy\"\n ></i>\n {{ 'Clone`application,verb`' | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</div>\n\n<button\n class=\"card pointer card--d-col\"\n type=\"button\"\n (click)=\"detail()\"\n *ngIf=\"isFeature\"\n>\n <div class=\"card-block text-center card-column-40\">\n <div class=\"card-appicon\">\n <c8y-app-icon\n *ngIf=\"!isPackage && !isFeature && !isMicroservice && !isExternal\"\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n ></c8y-app-icon>\n <i c8yIcon=\"tab\"></i>\n </div>\n <div>\n <p\n class=\"e2e-appCardName text-medium\"\n title=\"{{ app | humanizeAppName | async }}\"\n >\n {{ app | humanizeAppName | async }}\n </p>\n <ng-container *ngIf=\"isShowVersion\">\n <p class=\"small text-muted\">\n <em>{{ app.manifest.version }}</em>\n <i\n class=\"text-warning m-l-4\"\n c8yIcon=\"exclamation-triangle\"\n [tooltip]=\"'Update available' | translate\"\n *ngIf=\"shouldUpgradePackage && isUnpacked\"\n ></i>\n </p>\n </ng-container>\n </div>\n </div>\n <div class=\"card-block p-0 no-min-height card--d-col card-column-80 flex-grow\">\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-80\">\n <div\n class=\"text-center-grid\"\n *ngIf=\"app.description || app.manifest?.description\"\n >\n <div class=\"p-b-8 card-hidden-grid\"></div>\n <p class=\"small l-h-tight p-b-8 p-l-0 p-r-0\">\n {{ app.description || app.manifest?.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"card-block no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\">\n <span\n class=\"label\"\n [ngClass]=\"appState.class\"\n >\n {{ appState.label | translate }}\n </span>\n </div>\n <div\n class=\"card-block no-min-height p-t-0 p-b-0 card-column-20 text-center-grid\"\n *ngIf=\"isPackage\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState.class\"\n >\n {{ packageContentState.label | translate }}\n </span>\n </div>\n <div class=\"p-b-32 card-hidden-list\"></div>\n </div>\n</button>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AppIconComponent, selector: "c8y-app-icon", inputs: ["contextPath", "name", "app"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: IfAllowedDirective, selector: "[c8yIfAllowed]", inputs: ["c8yIfAllowed", "c8yIfAllowedAllowAny"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "pipe", type: TranslatePackageLabelPipe, name: "translatePackageLabel" }] }); }
1402
1402
  }
1403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ApplicationCardComponent, decorators: [{
1403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationCardComponent, decorators: [{
1404
1404
  type: Component,
1405
1405
  args: [{ selector: 'c8y-application-card', imports: [
1406
1406
  NgIf,
@@ -1454,10 +1454,10 @@ class ApplicationPropertiesFormComponent {
1454
1454
  setForm(applicationConfig) {
1455
1455
  this.formGroup.patchValue({ ...applicationConfig });
1456
1456
  }
1457
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ApplicationPropertiesFormComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
1458
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ApplicationPropertiesFormComponent, isStandalone: true, selector: "c8y-application-properties-form", inputs: { application: "application", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "<form\n class=\"c8y-wizard-form text-left\"\n name=\"appDeployForm\"\n (ngSubmit)=\"(formGroup.valid)\"\n [formGroup]=\"formGroup\"\n novalidate\n>\n <c8y-form-group>\n <label\n for=\"name\"\n translate\n >\n Name\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. My application' | translate }}\"\n name=\"name\"\n type=\"text\"\n required\n formControlName=\"name\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"key\"\n translate\n >\n Application key\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my-application-key' | translate }}\"\n name=\"key\"\n type=\"text\"\n required\n formControlName=\"key\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"contextPath\"\n translate\n >\n Path\n </label>\n <div class=\"input-group\">\n <span class=\"input-group-addon\">/apps/</span>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my-application' | translate }}\"\n name=\"contextPath\"\n type=\"text\"\n required\n formControlName=\"contextPath\"\n />\n </div>\n </c8y-form-group>\n <c8y-form-group>\n <label>{{ 'Select icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
1457
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationPropertiesFormComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
1458
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ApplicationPropertiesFormComponent, isStandalone: true, selector: "c8y-application-properties-form", inputs: { application: "application", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "<form\n class=\"c8y-wizard-form text-left\"\n name=\"appDeployForm\"\n (ngSubmit)=\"(formGroup.valid)\"\n [formGroup]=\"formGroup\"\n novalidate\n>\n <c8y-form-group>\n <label\n for=\"name\"\n translate\n >\n Name\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. My application' | translate }}\"\n name=\"name\"\n type=\"text\"\n required\n formControlName=\"name\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"key\"\n translate\n >\n Application key\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my-application-key' | translate }}\"\n name=\"key\"\n type=\"text\"\n required\n formControlName=\"key\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"contextPath\"\n translate\n >\n Path\n </label>\n <div class=\"input-group\">\n <span class=\"input-group-addon\">/apps/</span>\n <input\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my-application' | translate }}\"\n name=\"contextPath\"\n type=\"text\"\n required\n formControlName=\"contextPath\"\n />\n </div>\n </c8y-form-group>\n <c8y-form-group>\n <label>{{ 'Select icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
1459
1459
  }
1460
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ApplicationPropertiesFormComponent, decorators: [{
1460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ApplicationPropertiesFormComponent, decorators: [{
1461
1461
  type: Component,
1462
1462
  args: [{ selector: 'c8y-application-properties-form', imports: [
1463
1463
  FormsModule,
@@ -1490,10 +1490,10 @@ class DuplicateApplicationListComponent {
1490
1490
  back() {
1491
1491
  this.wizardComponent.reset();
1492
1492
  }
1493
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationListComponent, deps: [{ token: EcosystemService }, { token: i1.WizardComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1494
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DuplicateApplicationListComponent, isStandalone: true, selector: "c8y-duplicate-application-list", inputs: { stepper: "stepper", existingApps: "existingApps" }, outputs: { onSelectedApp: "onSelectedApp" }, ngImport: i0, template: "<div class=\"c8y-wizard-list-nav\">\n <button\n (click)=\"select(app)\"\n *ngFor=\"let app of existingApps\"\n class=\"list-group-item text-truncate p-t-8 p-b-8 bg-level-0\"\n type=\"button\"\n >\n <c8y-app-icon\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n class=\"list-group-icon\"\n ></c8y-app-icon>\n <span [innerText]=\"app | humanizeAppName | async\" class=\"pointer\"></span>\n <span [ngClass]=\"ecosystemService.getAppState(app).class\" class=\"label m-l-16\">\n {{ ecosystemService.getAppState(app).label | translate }}\n </span>\n </button>\n</div>\n<c8y-wizard-footer>\n <button (click)=\"back()\" class=\"btn btn-default\" title=\"{{ 'Back' | translate }}\" type=\"button\">\n {{ 'Back' | translate }}\n </button>\n <button\n (click)=\"cancel()\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n >\n {{ 'Cancel' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AppIconComponent, selector: "c8y-app-icon", inputs: ["contextPath", "name", "app"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: HumanizeAppNamePipe, name: "humanizeAppName" }] }); }
1493
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationListComponent, deps: [{ token: EcosystemService }, { token: i1.WizardComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1494
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DuplicateApplicationListComponent, isStandalone: true, selector: "c8y-duplicate-application-list", inputs: { stepper: "stepper", existingApps: "existingApps" }, outputs: { onSelectedApp: "onSelectedApp" }, ngImport: i0, template: "<div class=\"c8y-wizard-list-nav\">\n <button\n (click)=\"select(app)\"\n *ngFor=\"let app of existingApps\"\n class=\"list-group-item text-truncate p-t-8 p-b-8 bg-level-0\"\n type=\"button\"\n >\n <c8y-app-icon\n [app]=\"app\"\n [contextPath]=\"app.contextPath\"\n [name]=\"app.name\"\n class=\"list-group-icon\"\n ></c8y-app-icon>\n <span [innerText]=\"app | humanizeAppName | async\" class=\"pointer\"></span>\n <span [ngClass]=\"ecosystemService.getAppState(app).class\" class=\"label m-l-16\">\n {{ ecosystemService.getAppState(app).label | translate }}\n </span>\n </button>\n</div>\n<c8y-wizard-footer>\n <button (click)=\"back()\" class=\"btn btn-default\" title=\"{{ 'Back' | translate }}\" type=\"button\">\n {{ 'Back' | translate }}\n </button>\n <button\n (click)=\"cancel()\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n >\n {{ 'Cancel' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AppIconComponent, selector: "c8y-app-icon", inputs: ["contextPath", "name", "app"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: HumanizeAppNamePipe, name: "humanizeAppName" }] }); }
1495
1495
  }
1496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationListComponent, decorators: [{
1496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationListComponent, decorators: [{
1497
1497
  type: Component,
1498
1498
  args: [{ selector: 'c8y-duplicate-application-list', imports: [
1499
1499
  NgFor,
@@ -1610,10 +1610,10 @@ class DuplicateApplicationPropertiesComponent {
1610
1610
  return;
1611
1611
  }
1612
1612
  }
1613
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationPropertiesComponent, deps: [{ token: i1$2.BsModalRef }, { token: EcosystemService }, { token: i3$1.ApplicationService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DuplicateApplicationPropertiesComponent, isStandalone: true, selector: "c8y-duplicate-application-properties", inputs: { stepper: "stepper", existingApps: "existingApps", selectedApp: "selectedApp", isFirstStep: "isFirstStep" }, outputs: { duplicatedApp: "duplicatedApp" }, viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<p\n class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0 fit-w\"\n *ngIf=\"!inProgress\"\n>\n {{ 'Provide application details' | translate }}\n</p>\n\n<ng-container *ngIf=\"!inProgress\">\n <label class=\"c8y-switch\" *ngIf=\"isSubscribedApp$ | async\">\n <input type=\"checkbox\" [(ngModel)]=\"disableForm\" (change)=\"getAppConfig()\" />\n <span></span> {{ 'Overrule subscribed application' | translate }}\n </label>\n\n <c8y-application-properties-form\n [application]=\"newAppConfig\"\n class=\"d-block fit-w\"\n [disabled]=\"disableForm\"\n ></c8y-application-properties-form>\n</ng-container>\n<c8y-loading\n *ngIf=\"inProgress\"\n [message]=\"'Duplicating\u2026' | translate\"\n layout=\"application\"\n class=\"text-center d-block\"\n></c8y-loading>\n\n<c8y-wizard-footer>\n <button\n *ngIf=\"!isFirstStep\"\n (click)=\"back()\"\n [disabled]=\"inProgress\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Back' | translate }}\"\n >\n {{ 'Back' | translate }}\n </button>\n <button (click)=\"cancel()\" class=\"btn btn-default\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n (click)=\"duplicateApp()\"\n [disabled]=\"inProgress\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Duplicate' | translate }}\"\n >\n {{ 'Duplicate' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1613
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationPropertiesComponent, deps: [{ token: i1$2.BsModalRef }, { token: EcosystemService }, { token: i3$1.ApplicationService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1614
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DuplicateApplicationPropertiesComponent, isStandalone: true, selector: "c8y-duplicate-application-properties", inputs: { stepper: "stepper", existingApps: "existingApps", selectedApp: "selectedApp", isFirstStep: "isFirstStep" }, outputs: { duplicatedApp: "duplicatedApp" }, viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<p\n class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0 fit-w\"\n *ngIf=\"!inProgress\"\n>\n {{ 'Provide application details' | translate }}\n</p>\n\n<ng-container *ngIf=\"!inProgress\">\n <label class=\"c8y-switch\" *ngIf=\"isSubscribedApp$ | async\">\n <input type=\"checkbox\" [(ngModel)]=\"disableForm\" (change)=\"getAppConfig()\" />\n <span></span> {{ 'Overrule subscribed application' | translate }}\n </label>\n\n <c8y-application-properties-form\n [application]=\"newAppConfig\"\n class=\"d-block fit-w\"\n [disabled]=\"disableForm\"\n ></c8y-application-properties-form>\n</ng-container>\n<c8y-loading\n *ngIf=\"inProgress\"\n [message]=\"'Duplicating\u2026' | translate\"\n layout=\"application\"\n class=\"text-center d-block\"\n></c8y-loading>\n\n<c8y-wizard-footer>\n <button\n *ngIf=\"!isFirstStep\"\n (click)=\"back()\"\n [disabled]=\"inProgress\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Back' | translate }}\"\n >\n {{ 'Back' | translate }}\n </button>\n <button (click)=\"cancel()\" class=\"btn btn-default\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n (click)=\"duplicateApp()\"\n [disabled]=\"inProgress\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Duplicate' | translate }}\"\n >\n {{ 'Duplicate' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1615
1615
  }
1616
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationPropertiesComponent, decorators: [{
1616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationPropertiesComponent, decorators: [{
1617
1617
  type: Component,
1618
1618
  args: [{ selector: 'c8y-duplicate-application-properties', imports: [
1619
1619
  NgIf,
@@ -1664,10 +1664,10 @@ class DuplicateApplicationComponent {
1664
1664
  done() {
1665
1665
  this.wizardComponent.close();
1666
1666
  }
1667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationComponent, deps: [{ token: EcosystemService }, { token: i3$1.ApplicationService }, { token: i1.WizardComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DuplicateApplicationComponent, isStandalone: true, selector: "c8y-duplicate-application", viewQueries: [{ propertyName: "stepper", first: true, predicate: C8yStepper, descendants: true, static: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"'copy'\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Duplicate application\n </h4>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <c8y-stepper\n [disableDefaultIcons]=\"{ edit: true, done: false }\"\n [customClasses]=\"['hidden']\"\n linear\n >\n <!-- 1st step -->\n <cdk-step *ngIf=\"!directlyMoveToSecondStep\">\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0\">\n {{ 'Select application to duplicate' | translate }}\n </p>\n <c8y-duplicate-application-list\n class=\"d-block\"\n style=\"min-height: 257px\"\n (onSelectedApp)=\"onSelectedApp($event)\"\n *ngIf=\"stepper.selectedIndex === 0\"\n [existingApps]=\"existingApps\"\n [stepper]=\"stepper\"\n ></c8y-duplicate-application-list>\n </cdk-step>\n <!-- 2nd step -->\n <cdk-step>\n <c8y-duplicate-application-properties\n class=\"d-flex d-col j-c-center a-i-center\"\n style=\"min-height: 257px\"\n (duplicatedApp)=\"duplicatedApp = $event\"\n *ngIf=\"\n stepper.selectedIndex === 1 || (stepper.selectedIndex === 0 && directlyMoveToSecondStep)\n \"\n [existingApps]=\"existingApps\"\n [selectedApp]=\"selectedApp\"\n [stepper]=\"stepper\"\n [isFirstStep]=\"directlyMoveToSecondStep\"\n ></c8y-duplicate-application-properties>\n </cdk-step>\n <!-- Final step -->\n <cdk-step>\n <ng-container\n *ngIf=\"\n stepper.selectedIndex === 2 || (stepper.selectedIndex === 1 && directlyMoveToSecondStep)\n \"\n >\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n *ngIf=\"duplicatedApp; else duplicateAppFailed\"\n >\n <c8y-operation-result\n type=\"success\"\n text=\"{{ 'Application created' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </div>\n <ng-template #duplicateAppFailed>\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n >\n <c8y-operation-result\n type=\"error\"\n text=\"{{ 'Application creation failed' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n </cdk-step>\n </c8y-stepper>\n</c8y-wizard-body>\n\n<c8y-wizard-footer *ngIf=\"stepper.selectedIndex === 0 && noBackButton\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n</c8y-wizard-footer>\n\n<c8y-wizard-footer\n *ngIf=\"stepper.selectedIndex === 2 || (stepper.selectedIndex === 1 && directlyMoveToSecondStep)\"\n>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Done' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n >\n {{ 'Done' | translate }}\n </button>\n <a\n class=\"btn btn-primary\"\n title=\"{{ 'Open' | translate }}\"\n target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n [href]=\"getHref(duplicatedApp)\"\n rel=\"noopener noreferrer\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </a>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: C8yStepper, selector: "c8y-stepper", inputs: ["disableDefaultIcons", "disableProgressButtons", "customClasses", "hideStepProgress", "useStepLabelsAsTitlesOnly"], outputs: ["onStepChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CdkStep, selector: "cdk-step", inputs: ["stepControl", "label", "errorMessage", "aria-label", "aria-labelledby", "state", "editable", "optional", "completed", "hasError"], outputs: ["interacted"], exportAs: ["cdkStep"] }, { kind: "component", type: DuplicateApplicationListComponent, selector: "c8y-duplicate-application-list", inputs: ["stepper", "existingApps"], outputs: ["onSelectedApp"] }, { kind: "component", type: DuplicateApplicationPropertiesComponent, selector: "c8y-duplicate-application-properties", inputs: ["stepper", "existingApps", "selectedApp", "isFirstStep"], outputs: ["duplicatedApp"] }, { kind: "component", type: OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
1667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationComponent, deps: [{ token: EcosystemService }, { token: i3$1.ApplicationService }, { token: i1.WizardComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DuplicateApplicationComponent, isStandalone: true, selector: "c8y-duplicate-application", viewQueries: [{ propertyName: "stepper", first: true, predicate: C8yStepper, descendants: true, static: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"'copy'\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Duplicate application\n </h4>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <c8y-stepper\n [disableDefaultIcons]=\"{ edit: true, done: false }\"\n [customClasses]=\"['hidden']\"\n linear\n >\n <!-- 1st step -->\n <cdk-step *ngIf=\"!directlyMoveToSecondStep\">\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0\">\n {{ 'Select application to duplicate' | translate }}\n </p>\n <c8y-duplicate-application-list\n class=\"d-block\"\n style=\"min-height: 257px\"\n (onSelectedApp)=\"onSelectedApp($event)\"\n *ngIf=\"stepper.selectedIndex === 0\"\n [existingApps]=\"existingApps\"\n [stepper]=\"stepper\"\n ></c8y-duplicate-application-list>\n </cdk-step>\n <!-- 2nd step -->\n <cdk-step>\n <c8y-duplicate-application-properties\n class=\"d-flex d-col j-c-center a-i-center\"\n style=\"min-height: 257px\"\n (duplicatedApp)=\"duplicatedApp = $event\"\n *ngIf=\"\n stepper.selectedIndex === 1 || (stepper.selectedIndex === 0 && directlyMoveToSecondStep)\n \"\n [existingApps]=\"existingApps\"\n [selectedApp]=\"selectedApp\"\n [stepper]=\"stepper\"\n [isFirstStep]=\"directlyMoveToSecondStep\"\n ></c8y-duplicate-application-properties>\n </cdk-step>\n <!-- Final step -->\n <cdk-step>\n <ng-container\n *ngIf=\"\n stepper.selectedIndex === 2 || (stepper.selectedIndex === 1 && directlyMoveToSecondStep)\n \"\n >\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n *ngIf=\"duplicatedApp; else duplicateAppFailed\"\n >\n <c8y-operation-result\n type=\"success\"\n text=\"{{ 'Application created' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </div>\n <ng-template #duplicateAppFailed>\n <div\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n >\n <c8y-operation-result\n type=\"error\"\n text=\"{{ 'Application creation failed' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n </cdk-step>\n </c8y-stepper>\n</c8y-wizard-body>\n\n<c8y-wizard-footer *ngIf=\"stepper.selectedIndex === 0 && noBackButton\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n</c8y-wizard-footer>\n\n<c8y-wizard-footer\n *ngIf=\"stepper.selectedIndex === 2 || (stepper.selectedIndex === 1 && directlyMoveToSecondStep)\"\n>\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Done' | translate }}\"\n type=\"button\"\n (click)=\"done()\"\n >\n {{ 'Done' | translate }}\n </button>\n <a\n class=\"btn btn-primary\"\n title=\"{{ 'Open' | translate }}\"\n target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n [href]=\"getHref(duplicatedApp)\"\n rel=\"noopener noreferrer\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"external-link\"\n ></i>\n {{ 'Open' | translate }}\n </a>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: C8yStepper, selector: "c8y-stepper", inputs: ["disableDefaultIcons", "disableProgressButtons", "customClasses", "hideStepProgress", "useStepLabelsAsTitlesOnly"], outputs: ["onStepChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CdkStep, selector: "cdk-step", inputs: ["stepControl", "label", "errorMessage", "aria-label", "aria-labelledby", "state", "editable", "optional", "completed", "hasError"], outputs: ["interacted"], exportAs: ["cdkStep"] }, { kind: "component", type: DuplicateApplicationListComponent, selector: "c8y-duplicate-application-list", inputs: ["stepper", "existingApps"], outputs: ["onSelectedApp"] }, { kind: "component", type: DuplicateApplicationPropertiesComponent, selector: "c8y-duplicate-application-properties", inputs: ["stepper", "existingApps", "selectedApp", "isFirstStep"], outputs: ["duplicatedApp"] }, { kind: "component", type: OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
1669
1669
  }
1670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DuplicateApplicationComponent, decorators: [{
1670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DuplicateApplicationComponent, decorators: [{
1671
1671
  type: Component,
1672
1672
  args: [{ selector: 'c8y-duplicate-application', imports: [
1673
1673
  WizardHeaderComponent,
@@ -1763,8 +1763,8 @@ class PackageVersionSelectComponent {
1763
1763
  this.setInitialValueForInput(sortedAppVersions);
1764
1764
  return { data: sortedAppVersions, res: resultList.res };
1765
1765
  }
1766
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageVersionSelectComponent, deps: [{ token: i3$1.ApplicationService }, { token: i1.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
1767
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PackageVersionSelectComponent, isStandalone: true, selector: "c8y-package-version-select", inputs: { label: "label", packageContextPath: "packageContextPath", packageId: "packageId" }, providers: [
1766
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageVersionSelectComponent, deps: [{ token: i3$1.ApplicationService }, { token: i1.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
1767
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PackageVersionSelectComponent, isStandalone: true, selector: "c8y-package-version-select", inputs: { label: "label", packageContextPath: "packageContextPath", packageId: "packageId" }, providers: [
1768
1768
  {
1769
1769
  provide: NG_VALUE_ACCESSOR,
1770
1770
  multi: true,
@@ -1772,7 +1772,7 @@ class PackageVersionSelectComponent {
1772
1772
  }
1773
1773
  ], usesOnChanges: true, ngImport: i0, template: "<label for=\"packageVersion\">{{ label | translate }}</label>\n<c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"selectedVersion\"\n name=\"packageVersion\"\n (onSearch)=\"onInput$.next($event)\"\n placeholder=\"{{ 'Select below or start typing' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [disabled]=\"isDisabled\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let appVersion of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onVersionSelect(appVersion)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"selectedVersion === appVersion\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <c8y-highlight\n [text]=\"appVersion.version || '--'\"\n [pattern]=\"onInput$ | async\"\n ></c8y-highlight>\n <span>\n <span *ngFor=\"let tag of appVersion.tags\" class=\"label label-info m-l-4\">\n {{ tag }}\n </span>\n </span>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li\n class=\"bg-gray-lighter p-8\"\n *ngIf=\"(onInput$ | async)?.length > 0 && (versions$ | async)?.data?.length === 0\"\n >\n <span translate>No match found.</span>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n</c8y-form-group>\n", dependencies: [{ kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "title", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1774
1774
  }
1775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageVersionSelectComponent, decorators: [{
1775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageVersionSelectComponent, decorators: [{
1776
1776
  type: Component,
1777
1777
  args: [{ selector: 'c8y-package-version-select', providers: [
1778
1778
  {
@@ -1865,10 +1865,10 @@ class UploadArchiveComponent {
1865
1865
  this.ecosystemService.alertError(ex);
1866
1866
  }
1867
1867
  }
1868
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadArchiveComponent, deps: [{ token: EcosystemService }, { token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
1869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: UploadArchiveComponent, isStandalone: true, selector: "c8y-upload-archive", inputs: { application: "application", uploadNewVersion: "uploadNewVersion", preUploadCallback: "preUploadCallback" }, outputs: { applicationChange: "applicationChange", refresh: "refresh" }, ngImport: i0, template: "<c8y-drop-area\n (dropped)=\"onFileDroppedEvent($event)\"\n [accept]=\"'.zip'\"\n [loading]=\"uploadInProgress\"\n [maxAllowedFiles]=\"1\"\n [message]=\"'Upload a *.zip file' | translate\"\n [progress]=\"uploadProgress | async\"\n [forceHideList]=\"true\"\n class=\"drop-area-sm\"\n>\n</c8y-drop-area>\n", dependencies: [{ kind: "component", type: DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1868
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UploadArchiveComponent, deps: [{ token: EcosystemService }, { token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
1869
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: UploadArchiveComponent, isStandalone: true, selector: "c8y-upload-archive", inputs: { application: "application", uploadNewVersion: "uploadNewVersion", preUploadCallback: "preUploadCallback" }, outputs: { applicationChange: "applicationChange", refresh: "refresh" }, ngImport: i0, template: "<c8y-drop-area\n (dropped)=\"onFileDroppedEvent($event)\"\n [accept]=\"'.zip'\"\n [loading]=\"uploadInProgress\"\n [maxAllowedFiles]=\"1\"\n [message]=\"'Upload a *.zip file' | translate\"\n [progress]=\"uploadProgress | async\"\n [forceHideList]=\"true\"\n class=\"drop-area-sm\"\n>\n</c8y-drop-area>\n", dependencies: [{ kind: "component", type: DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1870
1870
  }
1871
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadArchiveComponent, decorators: [{
1871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UploadArchiveComponent, decorators: [{
1872
1872
  type: Component,
1873
1873
  args: [{ selector: 'c8y-upload-archive', imports: [DropAreaComponent, C8yTranslatePipe, AsyncPipe], template: "<c8y-drop-area\n (dropped)=\"onFileDroppedEvent($event)\"\n [accept]=\"'.zip'\"\n [loading]=\"uploadInProgress\"\n [maxAllowedFiles]=\"1\"\n [message]=\"'Upload a *.zip file' | translate\"\n [progress]=\"uploadProgress | async\"\n [forceHideList]=\"true\"\n class=\"drop-area-sm\"\n>\n</c8y-drop-area>\n" }]
1874
1874
  }], ctorParameters: () => [{ type: EcosystemService }, { type: i1.AlertService }], propDecorators: { application: [{
@@ -2077,10 +2077,10 @@ class ListFiltersComponent {
2077
2077
  });
2078
2078
  });
2079
2079
  }
2080
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ListFiltersComponent, deps: [{ token: i1$1.FormBuilder }, { token: i1.AppStateService }, { token: i3.TranslateService }, { token: i1.GainsightService }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ListFiltersComponent, isStandalone: true, selector: "c8y-list-filters", inputs: { packageTypes: "packageTypes", packageAvailabilities: "packageAvailabilities", packageContents: "packageContents" }, outputs: { filterPipeChange: "filterPipeChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center gap-4 w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: FilterInputComponent, selector: "c8y-filter", inputs: ["icon", "filterTerm"], outputs: ["onSearch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
2080
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ListFiltersComponent, deps: [{ token: i1$1.FormBuilder }, { token: i1.AppStateService }, { token: i3.TranslateService }, { token: i1.GainsightService }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2081
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ListFiltersComponent, isStandalone: true, selector: "c8y-list-filters", inputs: { packageTypes: "packageTypes", packageAvailabilities: "packageAvailabilities", packageContents: "packageContents" }, outputs: { filterPipeChange: "filterPipeChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center gap-4 w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: FilterInputComponent, selector: "c8y-filter", inputs: ["icon", "filterTerm"], outputs: ["onSearch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
2082
2082
  }
2083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ListFiltersComponent, decorators: [{
2083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ListFiltersComponent, decorators: [{
2084
2084
  type: Component,
2085
2085
  args: [{ selector: 'c8y-list-filters', imports: [
2086
2086
  FormsModule,
@@ -2124,10 +2124,10 @@ class ArchivedFilterComponent {
2124
2124
  (appOrPlugin.filterProps.type === PackageType.ARCHIVED && enabled));
2125
2125
  });
2126
2126
  }
2127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ArchivedFilterComponent, deps: [{ token: ListFiltersComponent }], target: i0.ɵɵFactoryTarget.Component }); }
2128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ArchivedFilterComponent, isStandalone: true, selector: "c8y-archived-filter", ngImport: i0, template: "<label class=\"c8y-switch\">\n <input\n type=\"checkbox\"\n checked=\"checked\"\n [formControl]=\"archivedFormControl\"\n />\n <span></span>\n {{ 'Show archived packages' | translate }}\n</label>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ArchivedFilterComponent, deps: [{ token: ListFiltersComponent }], target: i0.ɵɵFactoryTarget.Component }); }
2128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ArchivedFilterComponent, isStandalone: true, selector: "c8y-archived-filter", ngImport: i0, template: "<label class=\"c8y-switch\">\n <input\n type=\"checkbox\"\n checked=\"checked\"\n [formControl]=\"archivedFormControl\"\n />\n <span></span>\n {{ 'Show archived packages' | translate }}\n</label>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2129
2129
  }
2130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ArchivedFilterComponent, decorators: [{
2130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ArchivedFilterComponent, decorators: [{
2131
2131
  type: Component,
2132
2132
  args: [{ selector: 'c8y-archived-filter', imports: [FormsModule, ReactiveFormsModule, C8yTranslatePipe], template: "<label class=\"c8y-switch\">\n <input\n type=\"checkbox\"\n checked=\"checked\"\n [formControl]=\"archivedFormControl\"\n />\n <span></span>\n {{ 'Show archived packages' | translate }}\n</label>\n" }]
2133
2133
  }], ctorParameters: () => [{ type: ListFiltersComponent }] });
@@ -2188,10 +2188,10 @@ class PackageChangelogComponent {
2188
2188
  baseUrlForVersion(version) {
2189
2189
  return `/apps/${this.package.contextPath}@${version}/`;
2190
2190
  }
2191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageChangelogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PackageChangelogComponent, isStandalone: true, selector: "c8y-contents-changelog", inputs: { package: "package", selectedVersion: "selectedVersion", previousVersion: "previousVersion" }, usesOnChanges: true, ngImport: i0, template: "<c8y-loading *ngIf=\"isLoading\"></c8y-loading>\n\n<ng-container *ngIf=\"!isLoading\">\n <div\n *ngIf=\"changelog\"\n class=\"markdown-content markdown-content--to-h3\"\n [innerHTML]=\"changelog | markdownToHtml: { baseUrl } | async\"\n ></div>\n\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No CHANGELOG.md found for package version' | translate\"\n [subtitle]=\"\n 'To view the contents of &quot;CHANGELOG&quot;, add the file &quot;CHANGELOG.md&quot; to the package.'\n | translate\n \"\n *ngIf=\"!changelog\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n</ng-container>\n", dependencies: [{ kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: MarkdownToHtmlPipe, name: "markdownToHtml" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageChangelogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2192
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PackageChangelogComponent, isStandalone: true, selector: "c8y-contents-changelog", inputs: { package: "package", selectedVersion: "selectedVersion", previousVersion: "previousVersion" }, usesOnChanges: true, ngImport: i0, template: "<c8y-loading *ngIf=\"isLoading\"></c8y-loading>\n\n<ng-container *ngIf=\"!isLoading\">\n <div\n *ngIf=\"changelog\"\n class=\"markdown-content markdown-content--to-h3\"\n [innerHTML]=\"changelog | markdownToHtml: { baseUrl } | async\"\n ></div>\n\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No CHANGELOG.md found for package version' | translate\"\n [subtitle]=\"\n 'To view the contents of &quot;CHANGELOG&quot;, add the file &quot;CHANGELOG.md&quot; to the package.'\n | translate\n \"\n *ngIf=\"!changelog\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n</ng-container>\n", dependencies: [{ kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: MarkdownToHtmlPipe, name: "markdownToHtml" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2193
2193
  }
2194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PackageChangelogComponent, decorators: [{
2194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PackageChangelogComponent, decorators: [{
2195
2195
  type: Component,
2196
2196
  args: [{ selector: 'c8y-contents-changelog', standalone: true, imports: [
2197
2197
  LoadingComponent,
@@ -2210,8 +2210,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2210
2210
  }] } });
2211
2211
 
2212
2212
  class SharedEcosystemModule {
2213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SharedEcosystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2214
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SharedEcosystemModule, imports: [CoreModule,
2213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SharedEcosystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2214
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: SharedEcosystemModule, imports: [CoreModule,
2215
2215
  BsDropdownModule,
2216
2216
  TooltipModule,
2217
2217
  A11yModule,
@@ -2242,7 +2242,7 @@ class SharedEcosystemModule {
2242
2242
  ListFiltersComponent,
2243
2243
  ArchivedFilterComponent,
2244
2244
  PackageChangelogComponent] }); }
2245
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SharedEcosystemModule, providers: [
2245
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SharedEcosystemModule, providers: [
2246
2246
  hookWizard({
2247
2247
  wizardId: EcosystemWizards.APPLICATION_UPLOAD,
2248
2248
  component: DuplicateApplicationComponent,
@@ -2275,7 +2275,7 @@ class SharedEcosystemModule {
2275
2275
  ListFiltersComponent,
2276
2276
  ArchivedFilterComponent] }); }
2277
2277
  }
2278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SharedEcosystemModule, decorators: [{
2278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SharedEcosystemModule, decorators: [{
2279
2279
  type: NgModule,
2280
2280
  args: [{
2281
2281
  imports: [