@k8slens/extensions 5.5.0-git.e221dbd97b.0 → 5.5.0-git.f20cb1282d.0

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 (295) hide show
  1. package/dist/integration/helpers/utils.d.ts +1 -1
  2. package/dist/src/common/base-store.d.ts +3 -2
  3. package/dist/src/common/catalog/catalog-category-registry.d.ts +1 -1
  4. package/dist/src/common/catalog/catalog-entity.d.ts +7 -1
  5. package/dist/src/common/catalog-entities/general.d.ts +2 -1
  6. package/dist/src/common/catalog-entities/kubernetes-cluster.d.ts +2 -1
  7. package/dist/src/common/catalog-entities/web-link.d.ts +2 -1
  8. package/dist/src/common/cluster/authorization-review.injectable.d.ts +1 -1
  9. package/dist/src/common/cluster/cluster.d.ts +2 -2
  10. package/dist/src/common/cluster/list-namespaces.injectable.d.ts +1 -1
  11. package/dist/src/common/front-end-routing/routes/catalog/catalog-route.injectable.d.ts +1 -1
  12. package/dist/src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.d.ts +1 -1
  13. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.d.ts +1 -1
  14. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/navigate-to-custom-resources.injectable.d.ts +1 -1
  15. package/dist/src/common/front-end-routing/routes/cluster/helm/charts/helm-charts-route.injectable.d.ts +1 -1
  16. package/dist/src/common/front-end-routing/routes/cluster/helm/charts/navigate-to-helm-charts.injectable.d.ts +1 -1
  17. package/dist/src/common/front-end-routing/routes/cluster/helm/releases/helm-releases-route.injectable.d.ts +1 -1
  18. package/dist/src/common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable.d.ts +1 -1
  19. package/dist/src/common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable.d.ts +1 -1
  20. package/dist/src/common/front-end-routing/routes/cluster/network/port-forwards/port-forwards-route.injectable.d.ts +1 -1
  21. package/dist/src/common/front-end-routing/routes/entity-settings/entity-settings-route.injectable.d.ts +1 -1
  22. package/dist/src/common/hotbar-store.d.ts +2 -2
  23. package/dist/src/common/hotbar-types.d.ts +1 -1
  24. package/dist/src/common/k8s-api/api-manager.d.ts +1 -1
  25. package/dist/src/common/k8s-api/endpoints/cluster.api.d.ts +1 -1
  26. package/dist/src/common/k8s-api/endpoints/daemon-set.api.d.ts +2 -1
  27. package/dist/src/common/k8s-api/endpoints/deployment.api.d.ts +2 -1
  28. package/dist/src/common/k8s-api/endpoints/ingress.api.d.ts +3 -2
  29. package/dist/src/common/k8s-api/endpoints/job.api.d.ts +2 -1
  30. package/dist/src/common/k8s-api/endpoints/network-policy.api.d.ts +2 -1
  31. package/dist/src/common/k8s-api/endpoints/nodes.api.d.ts +1 -1
  32. package/dist/src/common/k8s-api/endpoints/persistent-volume-claims.api.d.ts +3 -2
  33. package/dist/src/common/k8s-api/endpoints/poddisruptionbudget.api.d.ts +2 -1
  34. package/dist/src/common/k8s-api/endpoints/pods.api.d.ts +3 -2
  35. package/dist/src/common/k8s-api/endpoints/stateful-set.api.d.ts +2 -1
  36. package/dist/src/common/k8s-api/json-api.d.ts +1 -1
  37. package/dist/src/common/k8s-api/kube-api.d.ts +4 -2
  38. package/dist/src/common/k8s-api/kube-json-api.d.ts +2 -1
  39. package/dist/src/common/k8s-api/kube-object.store.d.ts +3 -3
  40. package/dist/src/common/kube-helpers.d.ts +1 -1
  41. package/dist/src/common/logger.injectable.d.ts +1 -1
  42. package/dist/src/common/protocol-handler/router.d.ts +1 -1
  43. package/{__mocks__/styleMock.ts → dist/src/common/utils/__tests__/convert-memory.test.d.ts} +1 -1
  44. package/dist/src/common/utils/autobind.d.ts +1 -1
  45. package/dist/src/common/utils/convertMemory.d.ts +8 -1
  46. package/dist/src/common/utils/hash-set.d.ts +2 -1
  47. package/dist/src/common/utils/iter.d.ts +8 -0
  48. package/dist/src/common/utils/sort-compare.d.ts +1 -1
  49. package/dist/src/common/utils/tar.d.ts +1 -1
  50. package/dist/src/extensions/extension-api.js +15 -15
  51. package/dist/src/extensions/extension-loader/create-extension-instance/create-extension-instance.d.ts +1 -1
  52. package/dist/src/extensions/extension-loader/extension-loader.d.ts +1 -1
  53. package/dist/src/extensions/lens-extension.d.ts +3 -2
  54. package/dist/src/extensions/lens-renderer-extension.d.ts +2 -2
  55. package/dist/src/extensions/renderer-api/navigation.d.ts +2 -1
  56. package/dist/src/main/app-paths/get-app-paths.d.ts +1 -1
  57. package/dist/src/main/catalog/catalog-entity-registry.d.ts +1 -1
  58. package/dist/src/main/catalog-sources/kubeconfig-sync-manager/kubeconfig-sync-manager.d.ts +2 -2
  59. package/dist/src/main/cluster-manager.d.ts +1 -1
  60. package/dist/src/main/context-handler/context-handler.d.ts +1 -1
  61. package/dist/src/main/ipc/dialog.d.ts +1 -1
  62. package/dist/src/main/k8s-request.d.ts +1 -1
  63. package/dist/src/main/menu/application-menu-items.injectable.d.ts +1 -1
  64. package/dist/src/main/menu/menu.d.ts +2 -2
  65. package/dist/src/main/prometheus/lens.d.ts +2 -1
  66. package/dist/src/main/prometheus/operator.d.ts +2 -1
  67. package/dist/src/main/prometheus/stacklight.d.ts +2 -1
  68. package/dist/src/main/protocol-handler/lens-protocol-router-main/lens-protocol-router-main.d.ts +1 -1
  69. package/dist/src/main/proxy-functions/shell-api-request/shell-api-request.d.ts +1 -1
  70. package/dist/src/main/router/router.injectable.d.ts +2 -1
  71. package/dist/src/main/routes/port-forward/functionality/create-port-forward.injectable.d.ts +2 -1
  72. package/dist/src/main/routes/port-forward/functionality/port-forward.d.ts +1 -1
  73. package/dist/src/main/shell-session/shell-env-modifier/terminal-shell-env-modifiers.d.ts +1 -1
  74. package/dist/src/main/shell-session/shell-session.d.ts +1 -1
  75. package/dist/src/main/tray/tray.d.ts +1 -1
  76. package/dist/src/main/window-manager.d.ts +1 -1
  77. package/dist/src/migrations/cluster-store/3.6.0-beta.1.d.ts +1 -1
  78. package/dist/src/migrations/cluster-store/5.0.0-beta.13.d.ts +1 -1
  79. package/dist/src/migrations/cluster-store/snap.d.ts +1 -1
  80. package/dist/src/migrations/hotbar-store/5.0.0-beta.10.d.ts +1 -1
  81. package/dist/src/migrations/user-store/5.0.3-beta.1.d.ts +1 -1
  82. package/dist/src/renderer/api/catalog-entity-registry.d.ts +1 -1
  83. package/dist/src/renderer/api/terminal-api.d.ts +2 -1
  84. package/dist/src/renderer/app-paths/app-paths.injectable.d.ts +1 -1
  85. package/dist/src/renderer/components/+catalog/__tests__/catalog-category-label.test.d.ts +5 -0
  86. package/dist/src/renderer/components/+catalog/catalog-category-label.d.ts +9 -0
  87. package/dist/src/renderer/components/+catalog/catalog-entity-drawer-menu.d.ts +1 -1
  88. package/dist/src/renderer/components/+catalog/catalog-entity-store/catalog-entity.store.d.ts +1 -1
  89. package/dist/src/renderer/components/+catalog/custom-category-columns.injectable.d.ts +1 -1
  90. package/dist/src/renderer/components/+catalog/custom-views.injectable.d.ts +1 -1
  91. package/dist/src/renderer/components/+catalog/hotbar-toggle-menu-item.d.ts +2 -1
  92. package/dist/src/renderer/components/+cluster/cluster-overview-sidebar-items.injectable.d.ts +1 -1
  93. package/dist/src/renderer/components/+cluster/cluster-overview-store/cluster-overview-store.d.ts +3 -2
  94. package/dist/src/renderer/components/+config/config-sidebar-items.injectable.d.ts +1 -1
  95. package/dist/src/renderer/components/+config-autoscalers/horizontal-pod-auto-scalers-sidebar-items.injectable.d.ts +1 -1
  96. package/dist/src/renderer/components/+config-autoscalers/hpa.store.d.ts +1 -1
  97. package/dist/src/renderer/components/+config-limit-ranges/limit-ranges.store.d.ts +1 -1
  98. package/dist/src/renderer/components/+config-maps/config-maps.store.d.ts +1 -1
  99. package/dist/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.d.ts +1 -1
  100. package/dist/src/renderer/components/+config-resource-quotas/add-quota-dialog.d.ts +2 -2
  101. package/dist/src/renderer/components/+config-resource-quotas/resource-quotas.store.d.ts +1 -1
  102. package/dist/src/renderer/components/+config-secrets/add-secret-dialog.d.ts +1 -1
  103. package/dist/src/renderer/components/+config-secrets/secrets.store.d.ts +1 -1
  104. package/dist/src/renderer/components/+custom-resources/crd-resource-details.d.ts +4 -2
  105. package/dist/src/renderer/components/+custom-resources/crd.store.d.ts +1 -1
  106. package/dist/src/renderer/components/+custom-resources/custom-resource-sidebar-items.injectable.d.ts +1 -1
  107. package/dist/src/renderer/components/+events/event.store.d.ts +1 -1
  108. package/dist/src/renderer/components/+events/events-sidebar-items.injectable.d.ts +1 -1
  109. package/dist/src/renderer/components/+events/events.d.ts +2 -2
  110. package/dist/src/renderer/components/+extensions/attempt-install/attempt-install.d.ts +2 -2
  111. package/dist/src/renderer/components/+extensions/attempt-install/unpack-extension/unpack-extension.d.ts +1 -1
  112. package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.d.ts +1 -1
  113. package/dist/src/renderer/components/+extensions/get-base-registry-url/get-base-registry-url.d.ts +1 -1
  114. package/dist/src/renderer/components/+extensions/install-from-input/install-from-input.d.ts +1 -1
  115. package/dist/src/renderer/components/+extensions/notice.d.ts +1 -1
  116. package/dist/src/renderer/components/+extensions/uninstall-extension/uninstall-extension.d.ts +1 -1
  117. package/dist/src/renderer/components/+helm/helm-sidebar-items.injectable.d.ts +1 -1
  118. package/dist/src/renderer/components/+helm-charts/helm-chart-details.d.ts +1 -1
  119. package/dist/src/renderer/components/+helm-charts/helm-chart.store.d.ts +1 -1
  120. package/dist/src/renderer/components/+helm-releases/create-release/create-release.injectable.d.ts +1 -1
  121. package/dist/src/renderer/components/+helm-releases/delete-release/delete-release.injectable.d.ts +1 -1
  122. package/dist/src/renderer/components/+helm-releases/release-menu.d.ts +1 -1
  123. package/dist/src/renderer/components/+helm-releases/release-rollback-dialog.d.ts +1 -1
  124. package/dist/src/renderer/components/+helm-releases/removable-releases.d.ts +1 -1
  125. package/dist/src/renderer/components/+helm-releases/update-release/update-release.injectable.d.ts +1 -1
  126. package/dist/src/renderer/components/+namespaces/add-namespace-dialog.d.ts +1 -1
  127. package/dist/src/renderer/components/+namespaces/namespace-select-filter.d.ts +1 -1
  128. package/dist/src/renderer/components/+namespaces/namespace-select.d.ts +1 -1
  129. package/dist/src/renderer/components/+namespaces/namespace-store/namespace.store.d.ts +5 -3
  130. package/dist/src/renderer/components/+namespaces/namespaces-sidebar-items.injectable.d.ts +1 -1
  131. package/dist/src/renderer/components/+network/network-sidebar-items.injectable.d.ts +1 -1
  132. package/dist/src/renderer/components/+network-endpoints/endpoint-subset-list.d.ts +1 -1
  133. package/dist/src/renderer/components/+network-endpoints/endpoints.store.d.ts +1 -1
  134. package/dist/src/renderer/components/+network-ingresses/ingress-details.d.ts +2 -1
  135. package/dist/src/renderer/components/+network-ingresses/ingress.store.d.ts +1 -1
  136. package/dist/src/renderer/components/+network-policies/network-policy-details.d.ts +2 -1
  137. package/dist/src/renderer/components/+network-policies/network-policy.store.d.ts +1 -1
  138. package/dist/src/renderer/components/+network-port-forwards/port-forward-details.d.ts +1 -1
  139. package/dist/src/renderer/components/+network-port-forwards/port-forward-menu.d.ts +2 -2
  140. package/dist/src/renderer/components/+network-services/services.store.d.ts +1 -1
  141. package/dist/src/renderer/components/+nodes/nodes-sidebar-items.injectable.d.ts +1 -1
  142. package/dist/src/renderer/components/+nodes/nodes.store.d.ts +1 -1
  143. package/dist/src/renderer/components/+nodes/route.d.ts +1 -1
  144. package/dist/src/renderer/components/+pod-security-policies/pod-security-policies.store.d.ts +1 -1
  145. package/dist/src/renderer/components/+preferences/add-helm-repo-dialog.d.ts +1 -1
  146. package/dist/src/renderer/components/+preferences/app-preferences/get-app-preferences.d.ts +1 -1
  147. package/dist/src/renderer/components/+preferences/extension-settings.d.ts +1 -1
  148. package/dist/src/renderer/components/+preferences/helm-charts.d.ts +2 -2
  149. package/dist/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items.injectable.d.ts +1 -1
  150. package/dist/src/renderer/components/+preferences/removable-item.d.ts +1 -1
  151. package/dist/src/renderer/components/+storage/storage-sidebar-items.injectable.d.ts +1 -1
  152. package/dist/src/renderer/components/+storage-classes/storage-class.store.d.ts +1 -1
  153. package/dist/src/renderer/components/+storage-volume-claims/volume-claim.store.d.ts +1 -1
  154. package/dist/src/renderer/components/+storage-volumes/volumes.store.d.ts +1 -1
  155. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/dialog.d.ts +3 -3
  156. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/store.d.ts +1 -1
  157. package/dist/src/renderer/components/+user-management/+cluster-roles/add-dialog.d.ts +1 -1
  158. package/dist/src/renderer/components/+user-management/+cluster-roles/store.d.ts +1 -1
  159. package/dist/src/renderer/components/+user-management/+role-bindings/dialog.d.ts +3 -3
  160. package/dist/src/renderer/components/+user-management/+role-bindings/store.d.ts +1 -1
  161. package/dist/src/renderer/components/+user-management/+roles/add-dialog.d.ts +1 -1
  162. package/dist/src/renderer/components/+user-management/+roles/store.d.ts +1 -1
  163. package/dist/src/renderer/components/+user-management/+service-accounts/create-dialog.d.ts +1 -1
  164. package/dist/src/renderer/components/+user-management/+service-accounts/details.d.ts +2 -1
  165. package/dist/src/renderer/components/+user-management/+service-accounts/store.d.ts +1 -1
  166. package/dist/src/renderer/components/+user-management/user-management-sidebar-items.injectable.d.ts +1 -1
  167. package/dist/src/renderer/components/+welcome/welcome-menu-items/get-welcome-menu-items.d.ts +1 -1
  168. package/dist/src/renderer/components/+workloads/workloads-sidebar-items.injectable.d.ts +1 -1
  169. package/dist/src/renderer/components/+workloads-cronjobs/cron-job-menu.d.ts +1 -1
  170. package/dist/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.d.ts +2 -2
  171. package/dist/src/renderer/components/+workloads-cronjobs/cronjob.store.d.ts +1 -1
  172. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets.store.d.ts +1 -1
  173. package/dist/src/renderer/components/+workloads-deployments/deployment-menu.d.ts +1 -1
  174. package/dist/src/renderer/components/+workloads-deployments/deployment-replicasets.d.ts +1 -1
  175. package/dist/src/renderer/components/+workloads-deployments/deployment-scale-dialog.d.ts +2 -2
  176. package/dist/src/renderer/components/+workloads-deployments/deployments.store.d.ts +1 -1
  177. package/dist/src/renderer/components/+workloads-jobs/job.store.d.ts +2 -2
  178. package/dist/src/renderer/components/+workloads-overview/workloads/workloads.injectable.d.ts +1 -1
  179. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/ceph-fs.d.ts +1 -1
  180. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/config-map.d.ts +1 -1
  181. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/container-storage-interface.d.ts +1 -1
  182. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/flex-volume.d.ts +1 -1
  183. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.d.ts +1 -1
  184. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/rados-block-device.d.ts +1 -1
  185. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/scale-io.d.ts +1 -1
  186. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/secret.d.ts +1 -1
  187. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/storage-os.d.ts +1 -1
  188. package/dist/src/renderer/components/+workloads-pods/pod-details-secrets.d.ts +1 -1
  189. package/dist/src/renderer/components/+workloads-pods/pods.d.ts +1 -1
  190. package/dist/src/renderer/components/+workloads-pods/pods.store.d.ts +1 -1
  191. package/dist/src/renderer/components/+workloads-replicasets/replicaset-scale-dialog.d.ts +2 -2
  192. package/dist/src/renderer/components/+workloads-replicasets/replicasets.store.d.ts +1 -1
  193. package/dist/src/renderer/components/+workloads-statefulsets/statefulset-scale-dialog.d.ts +2 -2
  194. package/dist/src/renderer/components/+workloads-statefulsets/statefulset.store.d.ts +1 -1
  195. package/dist/src/renderer/components/avatar/avatar.d.ts +1 -1
  196. package/dist/src/renderer/components/badge/badge.d.ts +1 -1
  197. package/dist/src/renderer/components/button/button.d.ts +3 -2
  198. package/dist/src/renderer/components/chart/bar-chart.d.ts +1 -1
  199. package/dist/src/renderer/components/chart/pie-chart.d.ts +1 -1
  200. package/dist/src/renderer/components/chart/zebra-stripes.plugin.d.ts +3 -3
  201. package/dist/src/renderer/components/cluster-manager/cluster-status.d.ts +1 -1
  202. package/dist/src/renderer/components/cluster-settings/components/cluster-metrics-setting.d.ts +1 -1
  203. package/dist/src/renderer/components/cluster-settings/components/cluster-prometheus-setting.d.ts +2 -2
  204. package/dist/src/renderer/components/command-palette/registered-commands/registered-commands.injectable.d.ts +1 -1
  205. package/dist/src/renderer/components/confirm-dialog/confirm-dialog.d.ts +4 -3
  206. package/dist/src/renderer/components/delete-cluster-dialog/save-config.d.ts +1 -1
  207. package/dist/src/renderer/components/dialog/logs-dialog.d.ts +1 -1
  208. package/dist/src/renderer/components/dock/create-resource/create-resource-tab.injectable.d.ts +1 -1
  209. package/dist/src/renderer/components/dock/create-resource/store.d.ts +2 -1
  210. package/dist/src/renderer/components/dock/create-resource/user-templates.injectable.d.ts +1 -1
  211. package/dist/src/renderer/components/dock/dock/dock-storage.injectable.d.ts +1 -1
  212. package/dist/src/renderer/components/dock/dock/store.d.ts +1 -1
  213. package/dist/src/renderer/components/dock/dock-tab-store/create-dock-tab-store.injectable.d.ts +2 -1
  214. package/dist/src/renderer/components/dock/dock-tab-store/dock-tab.store.d.ts +1 -1
  215. package/dist/src/renderer/components/dock/dock-tab.d.ts +1 -1
  216. package/dist/src/renderer/components/dock/edit-resource/edit-resource-tab.injectable.d.ts +1 -1
  217. package/dist/src/renderer/components/dock/edit-resource/store.d.ts +2 -1
  218. package/dist/src/renderer/components/dock/editor-panel.d.ts +1 -1
  219. package/dist/src/renderer/components/dock/info-panel.d.ts +2 -1
  220. package/dist/src/renderer/components/dock/install-chart/create-install-chart-tab.injectable.d.ts +1 -1
  221. package/dist/src/renderer/components/dock/install-chart/store.d.ts +2 -1
  222. package/dist/src/renderer/components/dock/logs/create-logs-tab.injectable.d.ts +1 -1
  223. package/dist/src/renderer/components/dock/logs/logs-view-model.d.ts +1 -1
  224. package/dist/src/renderer/components/dock/logs/store.d.ts +2 -2
  225. package/dist/src/renderer/components/dock/logs/tab-store.d.ts +2 -1
  226. package/dist/src/renderer/components/dock/terminal/create-terminal-tab.injectable.d.ts +1 -1
  227. package/dist/src/renderer/components/dock/terminal/dock-tab.d.ts +1 -1
  228. package/dist/src/renderer/components/dock/terminal/terminal.d.ts +1 -1
  229. package/dist/src/renderer/components/dock/upgrade-chart/create-upgrade-chart-tab.injectable.d.ts +1 -1
  230. package/dist/src/renderer/components/dock/upgrade-chart/store.d.ts +2 -1
  231. package/dist/src/renderer/components/dock/upgrade-chart/view.d.ts +2 -2
  232. package/dist/src/renderer/components/drawer/drawer-item-labels.d.ts +1 -1
  233. package/dist/src/renderer/components/drawer/drawer.d.ts +1 -1
  234. package/dist/src/renderer/components/editable-list/editable-list.d.ts +1 -1
  235. package/dist/src/renderer/components/error-boundary/error-boundary.d.ts +2 -1
  236. package/dist/src/renderer/components/hotbar/hotbar-cell.d.ts +2 -1
  237. package/dist/src/renderer/components/hotbar/hotbar-entity-icon.d.ts +3 -2
  238. package/dist/src/renderer/components/hotbar/hotbar-icon.d.ts +1 -1
  239. package/dist/src/renderer/components/hotbar/hotbar-menu.d.ts +1 -1
  240. package/dist/src/renderer/components/icon/icon.d.ts +1 -1
  241. package/dist/src/renderer/components/input/drop-file-input.d.ts +1 -1
  242. package/dist/src/renderer/components/input/file-input.d.ts +2 -1
  243. package/dist/src/renderer/components/input/input.d.ts +3 -2
  244. package/dist/src/renderer/components/input/search-input.d.ts +1 -1
  245. package/dist/src/renderer/components/item-object-list/content.d.ts +7 -6
  246. package/dist/src/renderer/components/item-object-list/filter-icon.d.ts +1 -1
  247. package/dist/src/renderer/components/item-object-list/header.d.ts +3 -2
  248. package/dist/src/renderer/components/item-object-list/list-layout.d.ts +3 -2
  249. package/dist/src/renderer/components/item-object-list/page-filters-list.d.ts +1 -1
  250. package/dist/src/renderer/components/kube-object-list-layout/kube-object-list-layout.d.ts +1 -1
  251. package/dist/src/renderer/components/kube-object-menu/kube-object-menu.d.ts +1 -1
  252. package/dist/src/renderer/components/kube-object-meta/kube-object-meta.d.ts +2 -1
  253. package/dist/src/renderer/components/kube-object-status-icon/kube-object-status-icon.d.ts +1 -1
  254. package/dist/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.d.ts +1 -1
  255. package/dist/src/renderer/components/layout/close-button.d.ts +1 -1
  256. package/dist/src/renderer/components/layout/setting-layout.d.ts +1 -1
  257. package/dist/src/renderer/components/layout/sidebar-items.injectable.d.ts +1 -1
  258. package/dist/src/renderer/components/layout/tab-layout.d.ts +3 -2
  259. package/dist/src/renderer/components/layout/wizard-layout.d.ts +1 -1
  260. package/dist/src/renderer/components/line-progress/line-progress.d.ts +1 -1
  261. package/dist/src/renderer/components/menu/menu-actions.d.ts +2 -2
  262. package/dist/src/renderer/components/menu/menu.d.ts +4 -3
  263. package/dist/src/renderer/components/no-items/no-items.d.ts +1 -1
  264. package/dist/src/renderer/components/notifications/notifications.d.ts +1 -1
  265. package/dist/src/renderer/components/resource-metrics/resource-metrics-text.d.ts +1 -1
  266. package/dist/src/renderer/components/select/select.d.ts +2 -1
  267. package/dist/src/renderer/components/slider/slider.d.ts +1 -1
  268. package/dist/src/renderer/components/status-bar/registered-status-bar-items.injectable.d.ts +1 -1
  269. package/dist/src/renderer/components/status-brick/status-brick.d.ts +1 -1
  270. package/dist/src/renderer/components/switch/form-switcher.d.ts +1 -1
  271. package/dist/src/renderer/components/switch/switch.d.ts +1 -1
  272. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  273. package/dist/src/renderer/components/table/react-table.d.ts +1 -1
  274. package/dist/src/renderer/components/table/table-cell.d.ts +2 -1
  275. package/dist/src/renderer/components/table/table-row.d.ts +2 -1
  276. package/dist/src/renderer/components/table/table.d.ts +1 -1
  277. package/dist/src/renderer/components/tabs/tabs.d.ts +2 -1
  278. package/dist/src/renderer/components/test-utils/get-application-builder.d.ts +1 -1
  279. package/dist/src/renderer/components/test-utils/renderFor.d.ts +1 -1
  280. package/dist/src/renderer/components/tooltip/tooltip.d.ts +2 -1
  281. package/dist/src/renderer/components/tooltip/withTooltip.d.ts +3 -2
  282. package/dist/src/renderer/components/virtual-list/virtual-list.d.ts +1 -1
  283. package/dist/src/renderer/ipc/index.d.ts +1 -1
  284. package/dist/src/renderer/ipc/register-listeners.d.ts +1 -1
  285. package/dist/src/renderer/kube-watch-api/kube-watch-api.d.ts +1 -1
  286. package/dist/src/renderer/navigation/helpers.d.ts +3 -2
  287. package/dist/src/renderer/navigation/history.d.ts +1 -1
  288. package/dist/src/renderer/port-forward/port-forward-dialog.d.ts +1 -1
  289. package/dist/src/renderer/port-forward/port-forward-store/port-forward-store.d.ts +3 -2
  290. package/dist/src/renderer/routes/all-routes.injectable.d.ts +1 -1
  291. package/dist/src/renderer/routes/sibling-tabs.injectable.d.ts +1 -1
  292. package/dist/src/renderer/utils/isReactNode.d.ts +1 -1
  293. package/dist/src/renderer/utils/rbac.d.ts +1 -1
  294. package/dist/src/renderer/utils/storageHelper.d.ts +1 -1
  295. package/package.json +1 -1
@@ -32314,7 +32314,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32314
32314
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32315
32315
 
32316
32316
  "use strict";
32317
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogCategoryRegistry\": () => (/* binding */ CatalogCategoryRegistry),\n/* harmony export */ \"catalogCategoryRegistry\": () => (/* binding */ catalogCategoryRegistry)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _catalog_entity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./catalog-entity */ \"./src/common/catalog/catalog-entity.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nclass CatalogCategoryRegistry {\n constructor() {\n Object.defineProperty(this, \"categories\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.set()\n });\n Object.defineProperty(this, \"groupKinds\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.set([], {\n deep: false,\n })\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n }\n add(category) {\n const byGroup = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getOrInsertMap)(this.groupKinds, category.spec.group);\n this.categories.add(category);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.strictSet)(byGroup, category.spec.names.kind, category);\n return () => {\n this.categories.delete(category);\n byGroup.delete(category.spec.names.kind);\n };\n }\n get items() {\n return Array.from(this.categories);\n }\n get filteredItems() {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_1__.iter.reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_1__.iter.filter, this.items.values()));\n }\n getForGroupKind(group, kind) {\n var _a;\n return (_a = this.groupKinds.get(group)) === null || _a === void 0 ? void 0 : _a.get(kind);\n }\n getEntityForData(data) {\n const category = this.getCategoryForEntity(data);\n if (!category) {\n return null;\n }\n const splitApiVersion = data.apiVersion.split(\"/\");\n const version = splitApiVersion[1];\n const specVersion = category.spec.versions.find((v) => v.name === version);\n if (!specVersion) {\n return null;\n }\n return new specVersion.entityClass(data);\n }\n getCategoryForEntity(data) {\n const splitApiVersion = data.apiVersion.split(\"/\");\n const group = splitApiVersion[0];\n return this.getForGroupKind(group, data.kind);\n }\n getByName(name) {\n return this.items.find(category => { var _a; return ((_a = category.metadata) === null || _a === void 0 ? void 0 : _a.name) == name; });\n }\n /**\n * Add a new filter to the set of category filters\n * @param fn The function that should return a truthy value if that category should be displayed\n * @returns A function to remove that filter\n */\n addCatalogCategoryFilter(fn) {\n this.filters.add(fn);\n return (0,lodash__WEBPACK_IMPORTED_MODULE_0__.once)(() => void this.filters.delete(fn));\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [_catalog_entity__WEBPACK_IMPORTED_MODULE_2__.CatalogCategory]),\n __metadata(\"design:returntype\", Function)\n], CatalogCategoryRegistry.prototype, \"add\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogCategoryRegistry.prototype, \"items\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogCategoryRegistry.prototype, \"filteredItems\", null);\nconst catalogCategoryRegistry = new CatalogCategoryRegistry();\n\n\n//# sourceURL=webpack://open-lens/./src/common/catalog/catalog-category-registry.ts?");
32317
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogCategoryRegistry\": () => (/* binding */ CatalogCategoryRegistry),\n/* harmony export */ \"catalogCategoryRegistry\": () => (/* binding */ catalogCategoryRegistry)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\nclass CatalogCategoryRegistry {\n constructor() {\n Object.defineProperty(this, \"categories\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__.observable.set()\n });\n Object.defineProperty(this, \"groupKinds\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__.observable.set([], {\n deep: false,\n })\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_2__.makeObservable)(this);\n }\n add(category) {\n const byGroup = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getOrInsertMap)(this.groupKinds, category.spec.group);\n this.categories.add(category);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.strictSet)(byGroup, category.spec.names.kind, category);\n return () => {\n this.categories.delete(category);\n byGroup.delete(category.spec.names.kind);\n };\n }\n get items() {\n return Array.from(this.categories);\n }\n get filteredItems() {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_1__.iter.reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_1__.iter.filter, this.items.values()));\n }\n getForGroupKind(group, kind) {\n var _a;\n return (_a = this.groupKinds.get(group)) === null || _a === void 0 ? void 0 : _a.get(kind);\n }\n getEntityForData(data) {\n const category = this.getCategoryForEntity(data);\n if (!category) {\n return null;\n }\n const splitApiVersion = data.apiVersion.split(\"/\");\n const version = splitApiVersion[1];\n const specVersion = category.spec.versions.find((v) => v.name === version);\n if (!specVersion) {\n return null;\n }\n return new specVersion.entityClass(data);\n }\n getCategoryForEntity(data) {\n const splitApiVersion = data.apiVersion.split(\"/\");\n const group = splitApiVersion[0];\n return this.getForGroupKind(group, data.kind);\n }\n getByName(name) {\n return this.items.find(category => { var _a; return ((_a = category.metadata) === null || _a === void 0 ? void 0 : _a.name) == name; });\n }\n /**\n * Add a new filter to the set of category filters\n * @param fn The function that should return a truthy value if that category should be displayed\n * @returns A function to remove that filter\n */\n addCatalogCategoryFilter(fn) {\n this.filters.add(fn);\n return (0,lodash__WEBPACK_IMPORTED_MODULE_0__.once)(() => void this.filters.delete(fn));\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Function]),\n __metadata(\"design:returntype\", Function)\n], CatalogCategoryRegistry.prototype, \"add\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogCategoryRegistry.prototype, \"items\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogCategoryRegistry.prototype, \"filteredItems\", null);\nconst catalogCategoryRegistry = new CatalogCategoryRegistry();\n\n\n//# sourceURL=webpack://open-lens/./src/common/catalog/catalog-category-registry.ts?");
32318
32318
 
32319
32319
  /***/ }),
32320
32320
 
@@ -32325,7 +32325,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32325
32325
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32326
32326
 
32327
32327
  "use strict";
32328
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogCategory\": () => (/* binding */ CatalogCategory),\n/* harmony export */ \"CatalogEntity\": () => (/* binding */ CatalogEntity)\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nclass CatalogCategory extends (events__WEBPACK_IMPORTED_MODULE_0___default()) {\n constructor() {\n super(...arguments);\n /**\n * @internal\n */\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.set([], {\n deep: false,\n })\n });\n }\n /**\n * Parse a category ID into parts.\n * @param id The id of a category is parse\n * @returns The group and kind parts of the ID\n */\n static parseId(id) {\n var _a;\n const [group, kind] = (_a = id.split(\"/\")) !== null && _a !== void 0 ? _a : [];\n return { group, kind };\n }\n /**\n * Get the ID of this category\n */\n getId() {\n return `${this.spec.group}/${this.spec.names.kind}`;\n }\n /**\n * Get the name of this category\n */\n getName() {\n return this.metadata.name;\n }\n /**\n * Add a filter for menu items of catalogAddMenu\n * @param fn The function that should return a truthy value if that menu item should be displayed\n * @returns A function to remove that filter\n */\n addMenuFilter(fn) {\n this.filters.add(fn);\n return (0,lodash__WEBPACK_IMPORTED_MODULE_1__.once)(() => void this.filters.delete(fn));\n }\n /**\n * Filter menuItems according to the Category's set filters\n * @param menuItems menu items to filter\n * @returns filtered menu items\n */\n filteredItems(menuItems) {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_2__.iter.reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_2__.iter.filter, menuItems.values()));\n }\n}\nclass CatalogEntity {\n constructor({ metadata, status, spec }) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n if (!metadata || typeof metadata !== \"object\") {\n throw new TypeError(\"CatalogEntity's metadata must be a defined object\");\n }\n if (!status || typeof status !== \"object\") {\n throw new TypeError(\"CatalogEntity's status must be a defined object\");\n }\n if (!spec || typeof spec !== \"object\") {\n throw new TypeError(\"CatalogEntity's spec must be a defined object\");\n }\n this.metadata = metadata;\n this.status = status;\n this.spec = spec;\n }\n /**\n * Get the UID of this entity\n */\n getId() {\n return this.metadata.uid;\n }\n /**\n * Get the name of this entity\n */\n getName() {\n return this.metadata.name;\n }\n /**\n * Get the specified source of this entity, defaulting to `\"unknown\"` if not\n * provided\n */\n getSource() {\n var _a;\n return (_a = this.metadata.source) !== null && _a !== void 0 ? _a : \"unknown\";\n }\n /**\n * Get if this entity is enabled.\n */\n isEnabled() {\n var _a;\n return (_a = this.status.enabled) !== null && _a !== void 0 ? _a : true;\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"status\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"spec\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/common/catalog/catalog-entity.ts?");
32328
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogCategory\": () => (/* binding */ CatalogCategory),\n/* harmony export */ \"CatalogEntity\": () => (/* binding */ CatalogEntity)\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nclass CatalogCategory extends (events__WEBPACK_IMPORTED_MODULE_0___default()) {\n constructor() {\n super(...arguments);\n /**\n * @internal\n */\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.set([], {\n deep: false,\n })\n });\n }\n /**\n * Parse a category ID into parts.\n * @param id The id of a category is parse\n * @returns The group and kind parts of the ID\n */\n static parseId(id) {\n var _a;\n const [group, kind] = (_a = id.split(\"/\")) !== null && _a !== void 0 ? _a : [];\n return { group, kind };\n }\n /**\n * Get the ID of this category\n */\n getId() {\n return `${this.spec.group}/${this.spec.names.kind}`;\n }\n /**\n * Get the name of this category\n */\n getName() {\n return this.metadata.name;\n }\n /**\n * Get the badge of this category.\n * Defaults to no badge.\n * The badge is displayed next to the Category name in the Catalog Category menu\n */\n getBadge() {\n return null;\n }\n /**\n * Add a filter for menu items of catalogAddMenu\n * @param fn The function that should return a truthy value if that menu item should be displayed\n * @returns A function to remove that filter\n */\n addMenuFilter(fn) {\n this.filters.add(fn);\n return (0,lodash__WEBPACK_IMPORTED_MODULE_1__.once)(() => void this.filters.delete(fn));\n }\n /**\n * Filter menuItems according to the Category's set filters\n * @param menuItems menu items to filter\n * @returns filtered menu items\n */\n filteredItems(menuItems) {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_2__.iter.reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_2__.iter.filter, menuItems.values()));\n }\n}\nclass CatalogEntity {\n constructor({ metadata, status, spec }) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n if (!metadata || typeof metadata !== \"object\") {\n throw new TypeError(\"CatalogEntity's metadata must be a defined object\");\n }\n if (!status || typeof status !== \"object\") {\n throw new TypeError(\"CatalogEntity's status must be a defined object\");\n }\n if (!spec || typeof spec !== \"object\") {\n throw new TypeError(\"CatalogEntity's spec must be a defined object\");\n }\n this.metadata = metadata;\n this.status = status;\n this.spec = spec;\n }\n /**\n * Get the UID of this entity\n */\n getId() {\n return this.metadata.uid;\n }\n /**\n * Get the name of this entity\n */\n getName() {\n return this.metadata.name;\n }\n /**\n * Get the specified source of this entity, defaulting to `\"unknown\"` if not\n * provided\n */\n getSource() {\n var _a;\n return (_a = this.metadata.source) !== null && _a !== void 0 ? _a : \"unknown\";\n }\n /**\n * Get if this entity is enabled.\n */\n isEnabled() {\n var _a;\n return (_a = this.status.enabled) !== null && _a !== void 0 ? _a : true;\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"status\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"spec\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/common/catalog/catalog-entity.ts?");
32329
32329
 
32330
32330
  /***/ }),
32331
32331
 
@@ -33491,7 +33491,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33491
33491
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33492
33492
 
33493
33493
  "use strict";
33494
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bytesToUnits\": () => (/* binding */ bytesToUnits),\n/* harmony export */ \"unitsToBytes\": () => (/* binding */ unitsToBytes)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Helper to convert memory from units Ki, Mi, Gi, Ti, Pi to bytes and vise versa\nconst base = 1024;\nconst suffixes = [\"K\", \"M\", \"G\", \"T\", \"P\", \"E\"]; // Equivalents: Ki, Mi, Gi, Ti, Pi, Ei\nfunction unitsToBytes(value) {\n if (!suffixes.some(suffix => value.includes(suffix))) {\n return parseFloat(value);\n }\n const suffix = value.replace(/[0-9]|i|\\./g, \"\");\n const index = suffixes.indexOf(suffix);\n return parseInt((parseFloat(value) * Math.pow(base, index + 1)).toFixed(1));\n}\nfunction bytesToUnits(bytes, precision = 1) {\n const sizes = [\"B\", ...suffixes];\n const index = Math.floor(Math.log(bytes) / Math.log(base));\n if (!bytes) {\n return \"N/A\";\n }\n if (index === 0) {\n return `${bytes}${sizes[index]}`;\n }\n return `${(bytes / (1024 ** index)).toFixed(precision)}${sizes[index]}i`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/convertMemory.ts?");
33494
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bytesToUnits\": () => (/* binding */ bytesToUnits),\n/* harmony export */ \"unitsToBytes\": () => (/* binding */ unitsToBytes)\n/* harmony export */ });\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _iter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iter */ \"./src/common/utils/iter.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n// Helper to convert memory from units Ki, Mi, Gi, Ti, Pi to bytes and vise versa\nconst baseMagnitude = 1024;\nconst maxMagnitude = [\"EiB\", baseMagnitude ** 6];\nconst magnitudes = new Map([\n [\"B\", 1],\n [\"KiB\", baseMagnitude ** 1],\n [\"MiB\", baseMagnitude ** 2],\n [\"GiB\", baseMagnitude ** 3],\n [\"TiB\", baseMagnitude ** 4],\n [\"PiB\", baseMagnitude ** 5],\n maxMagnitude,\n]);\nconst unitRegex = /(?<value>[0-9]+(\\.[0-9]*)?)(?<suffix>(B|[KMGTPE]iB))?/;\nfunction unitsToBytes(value) {\n var _a;\n const unitsMatch = value.match(unitRegex);\n if (!(unitsMatch === null || unitsMatch === void 0 ? void 0 : unitsMatch.groups)) {\n return NaN;\n }\n const parsedValue = parseFloat(unitsMatch.groups.value);\n if (!((_a = unitsMatch.groups) === null || _a === void 0 ? void 0 : _a.suffix)) {\n return parsedValue;\n }\n const magnitude = magnitudes.get(unitsMatch.groups.suffix);\n assert__WEBPACK_IMPORTED_MODULE_0___default()(magnitude, \"UnitRegex is wrong some how\");\n return parseInt((parsedValue * magnitude).toFixed(1));\n}\nfunction bytesToUnits(bytes, { precision = 1 } = {}) {\n var _a;\n if (bytes <= 0 || isNaN(bytes) || !isFinite(bytes)) {\n return \"N/A\";\n }\n const index = Math.floor(Math.log(bytes) / Math.log(baseMagnitude));\n const [suffix, magnitude] = (_a = _iter__WEBPACK_IMPORTED_MODULE_1__.nth(magnitudes.entries(), index)) !== null && _a !== void 0 ? _a : maxMagnitude;\n return `${(bytes / magnitude).toFixed(precision)}${suffix}`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/convertMemory.ts?");
33495
33495
 
33496
33496
  /***/ }),
33497
33497
 
@@ -33623,7 +33623,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33623
33623
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33624
33624
 
33625
33625
  "use strict";
33626
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"every\": () => (/* binding */ every),\n/* harmony export */ \"filter\": () => (/* binding */ filter),\n/* harmony export */ \"filterFlatMap\": () => (/* binding */ filterFlatMap),\n/* harmony export */ \"filterMap\": () => (/* binding */ filterMap),\n/* harmony export */ \"filterMapStrict\": () => (/* binding */ filterMapStrict),\n/* harmony export */ \"find\": () => (/* binding */ find),\n/* harmony export */ \"flatMap\": () => (/* binding */ flatMap),\n/* harmony export */ \"join\": () => (/* binding */ join),\n/* harmony export */ \"map\": () => (/* binding */ map),\n/* harmony export */ \"newEmpty\": () => (/* binding */ newEmpty),\n/* harmony export */ \"reduce\": () => (/* binding */ reduce),\n/* harmony export */ \"take\": () => (/* binding */ take)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * Create a new type safe empty Iterable\n * @returns An `Iterable` that yields 0 items\n */\n// eslint-disable-next-line require-yield\nfunction* newEmpty() {\n return;\n}\n/**\n * Creates a new `Iterable` that yields at most n items from src.\n * Does not modify `src` which can be used later.\n * @param src An initial iterator\n * @param n The maximum number of elements to take from src. Yields up to the floor of `n` and 0 items if n < 0\n */\nfunction* take(src, n) {\n outer: for (let i = 0; i < n; i += 1) {\n for (const item of src) {\n yield item;\n continue outer;\n }\n // if we are here that means that `src` has been exhausted. Don't bother trying again.\n break outer;\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` for each item.\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* map(src, fn) {\n for (const from of src) {\n yield fn(from);\n }\n}\n/**\n * The single layer flattening of an iterator, discarding `Falsey` values.\n * @param src A type that can be iterated over\n * @param fn The function that returns either an iterable over items that should be filtered out or a `Falsey` value indicating that it should be ignored\n */\nfunction* filterFlatMap(src, fn) {\n for (const from of src) {\n if (!from) {\n continue;\n }\n const mapping = fn(from);\n if (!mapping) {\n continue;\n }\n for (const mapped of mapping) {\n if (mapped) {\n yield mapped;\n }\n }\n }\n}\n/**\n * Returns a new iterator that yields the items that each call to `fn` would produce\n * @param src A type that can be iterated over\n * @param fn A function that returns an iterator\n */\nfunction* flatMap(src, fn) {\n for (const from of src) {\n yield* fn(from);\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * items that return a `truthy` value from `fn`.\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filter(src, fn) {\n for (const from of src) {\n if (fn(from)) {\n yield from;\n }\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` when it is `truthy`\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filterMap(src, fn) {\n for (const from of src) {\n const res = fn(from);\n if (res) {\n yield res;\n }\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` when it is not null or undefined\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filterMapStrict(src, fn) {\n for (const from of src) {\n const res = fn(from);\n if (res != null) {\n yield res;\n }\n }\n}\n/**\n * Iterate through `src` until `match` returns a truthy value\n * @param src A type that can be iterated over\n * @param match A function that should return a truthy value for the item that you want to find\n * @returns The first entry that `match` returns a truthy value for, or `undefined`\n */\nfunction find(src, match) {\n for (const from of src) {\n if (match(from)) {\n return from;\n }\n }\n return void 0;\n}\nfunction reduce(src, reducer, initial) {\n let acc = initial;\n for (const item of src) {\n acc = reducer(acc, item);\n }\n return acc;\n}\n/**\n * A convenience function for reducing over an iterator of strings and concatenating them together\n * @param src The value to iterate over\n * @param connector The string value to intersperse between the yielded values\n * @returns The concatenated entries of `src` interspersed with copies of `connector`\n */\nfunction join(src, connector = \",\") {\n return reduce(src, (acc, cur) => `${acc}${connector}${cur}`, \"\");\n}\n/**\n * Iterate through `src` and return `true` if `fn` returns a thruthy value for every yielded value.\n * Otherwise, return `false`. This function short circuits.\n * @param src The type to be iterated over\n * @param fn A function to check each iteration\n */\nfunction every(src, fn) {\n for (const val of src) {\n if (!fn(val)) {\n return false;\n }\n }\n return true;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/iter.ts?");
33626
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"every\": () => (/* binding */ every),\n/* harmony export */ \"filter\": () => (/* binding */ filter),\n/* harmony export */ \"filterFlatMap\": () => (/* binding */ filterFlatMap),\n/* harmony export */ \"filterMap\": () => (/* binding */ filterMap),\n/* harmony export */ \"filterMapStrict\": () => (/* binding */ filterMapStrict),\n/* harmony export */ \"find\": () => (/* binding */ find),\n/* harmony export */ \"flatMap\": () => (/* binding */ flatMap),\n/* harmony export */ \"join\": () => (/* binding */ join),\n/* harmony export */ \"map\": () => (/* binding */ map),\n/* harmony export */ \"newEmpty\": () => (/* binding */ newEmpty),\n/* harmony export */ \"nth\": () => (/* binding */ nth),\n/* harmony export */ \"reduce\": () => (/* binding */ reduce),\n/* harmony export */ \"take\": () => (/* binding */ take)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * Create a new type safe empty Iterable\n * @returns An `Iterable` that yields 0 items\n */\n// eslint-disable-next-line require-yield\nfunction* newEmpty() {\n return;\n}\n/**\n * Creates a new `Iterable` that yields at most n items from src.\n * Does not modify `src` which can be used later.\n * @param src An initial iterator\n * @param n The maximum number of elements to take from src. Yields up to the floor of `n` and 0 items if n < 0\n */\nfunction* take(src, n) {\n outer: for (let i = 0; i < n; i += 1) {\n for (const item of src) {\n yield item;\n continue outer;\n }\n // if we are here that means that `src` has been exhausted. Don't bother trying again.\n break outer;\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` for each item.\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* map(src, fn) {\n for (const from of src) {\n yield fn(from);\n }\n}\n/**\n * The single layer flattening of an iterator, discarding `Falsey` values.\n * @param src A type that can be iterated over\n * @param fn The function that returns either an iterable over items that should be filtered out or a `Falsey` value indicating that it should be ignored\n */\nfunction* filterFlatMap(src, fn) {\n for (const from of src) {\n if (!from) {\n continue;\n }\n const mapping = fn(from);\n if (!mapping) {\n continue;\n }\n for (const mapped of mapping) {\n if (mapped) {\n yield mapped;\n }\n }\n }\n}\n/**\n * Returns a new iterator that yields the items that each call to `fn` would produce\n * @param src A type that can be iterated over\n * @param fn A function that returns an iterator\n */\nfunction* flatMap(src, fn) {\n for (const from of src) {\n yield* fn(from);\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * items that return a `truthy` value from `fn`.\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filter(src, fn) {\n for (const from of src) {\n if (fn(from)) {\n yield from;\n }\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` when it is `truthy`\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filterMap(src, fn) {\n for (const from of src) {\n const res = fn(from);\n if (res) {\n yield res;\n }\n }\n}\n/**\n * Creates a new iterator that iterates (lazily) over its input and yields the\n * result of `fn` when it is not null or undefined\n * @param src A type that can be iterated over\n * @param fn The function that is called for each value\n */\nfunction* filterMapStrict(src, fn) {\n for (const from of src) {\n const res = fn(from);\n if (res != null) {\n yield res;\n }\n }\n}\n/**\n * Iterate through `src` until `match` returns a truthy value\n * @param src A type that can be iterated over\n * @param match A function that should return a truthy value for the item that you want to find\n * @returns The first entry that `match` returns a truthy value for, or `undefined`\n */\nfunction find(src, match) {\n for (const from of src) {\n if (match(from)) {\n return from;\n }\n }\n return void 0;\n}\nfunction reduce(src, reducer, initial) {\n let acc = initial;\n for (const item of src) {\n acc = reducer(acc, item);\n }\n return acc;\n}\n/**\n * A convenience function for reducing over an iterator of strings and concatenating them together\n * @param src The value to iterate over\n * @param connector The string value to intersperse between the yielded values\n * @returns The concatenated entries of `src` interspersed with copies of `connector`\n */\nfunction join(src, connector = \",\") {\n return reduce(src, (acc, cur) => `${acc}${connector}${cur}`, \"\");\n}\n/**\n * Returns the next value after iterating over the iterable `index` times.\n *\n * For example: `nth([\"a\", \"b\"], 0)` will return `\"a\"`\n * For example: `nth([\"a\", \"b\"], 1)` will return `\"b\"`\n * For example: `nth([\"a\", \"b\"], 2)` will return `undefined`\n */\nfunction nth(src, index) {\n const iteree = src[Symbol.iterator]();\n while (index-- > 0) {\n iteree.next();\n }\n return iteree.next().value;\n}\n/**\n * Iterate through `src` and return `true` if `fn` returns a thruthy value for every yielded value.\n * Otherwise, return `false`. This function short circuits.\n * @param src The type to be iterated over\n * @param fn A function to check each iteration\n */\nfunction every(src, fn) {\n for (const val of src) {\n if (!fn(val)) {\n return false;\n }\n }\n return true;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/iter.ts?");
33627
33627
 
33628
33628
  /***/ }),
33629
33629
 
@@ -33744,7 +33744,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33744
33744
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33745
33745
 
33746
33746
  "use strict";
33747
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"extractTar\": () => (/* binding */ extractTar),\n/* harmony export */ \"listTarEntries\": () => (/* binding */ listTarEntries),\n/* harmony export */ \"readFileFromTar\": () => (/* binding */ readFileFromTar)\n/* harmony export */ });\n/* harmony import */ var tar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tar */ \"./node_modules/tar/index.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Helper for working with tarball files (.tar, .tgz)\n// Docs: https://github.com/npm/node-tar\n\n\nfunction readFileFromTar({ tarPath, filePath, parseJson }) {\n return new Promise((resolve, reject) => {\n const fileChunks = [];\n tar__WEBPACK_IMPORTED_MODULE_0__.list({\n file: tarPath,\n filter: entryPath => path__WEBPACK_IMPORTED_MODULE_1___default().normalize(entryPath) === filePath,\n sync: true,\n onentry(entry) {\n entry.on(\"data\", chunk => {\n fileChunks.push(chunk);\n });\n entry.once(\"error\", err => {\n reject(new Error(`reading file has failed ${entry.path}: ${err}`));\n });\n entry.once(\"end\", () => {\n const data = Buffer.concat(fileChunks);\n const result = parseJson ? JSON.parse(data.toString(\"utf8\")) : data;\n resolve(result);\n });\n },\n });\n if (!fileChunks.length) {\n reject(new Error(\"Not found\"));\n }\n });\n}\nasync function listTarEntries(filePath) {\n const entries = [];\n await tar__WEBPACK_IMPORTED_MODULE_0__.list({\n file: filePath,\n onentry: (entry) => {\n entries.push(path__WEBPACK_IMPORTED_MODULE_1___default().normalize(entry.path));\n },\n });\n return entries;\n}\nfunction extractTar(filePath, opts = {}) {\n return tar__WEBPACK_IMPORTED_MODULE_0__.extract({\n file: filePath,\n cwd: path__WEBPACK_IMPORTED_MODULE_1___default().dirname(filePath),\n ...opts,\n });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/tar.ts?");
33747
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"extractTar\": () => (/* binding */ extractTar),\n/* harmony export */ \"listTarEntries\": () => (/* binding */ listTarEntries),\n/* harmony export */ \"readFileFromTar\": () => (/* binding */ readFileFromTar)\n/* harmony export */ });\n/* harmony import */ var tar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tar */ \"./node_modules/tar/index.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nfunction readFileFromTar({ tarPath, filePath, parseJson }) {\n return new Promise((resolve, reject) => {\n const fileChunks = [];\n tar__WEBPACK_IMPORTED_MODULE_0__.list({\n file: tarPath,\n filter: entryPath => path__WEBPACK_IMPORTED_MODULE_1___default().normalize(entryPath) === filePath,\n sync: true,\n onentry(entry) {\n entry.on(\"data\", chunk => {\n fileChunks.push(chunk);\n });\n entry.once(\"error\", err => {\n reject(new Error(`reading file has failed ${entry.path}: ${err}`));\n });\n entry.once(\"end\", () => {\n const data = Buffer.concat(fileChunks);\n const result = parseJson ? JSON.parse(data.toString(\"utf8\")) : data;\n resolve(result);\n });\n },\n });\n if (!fileChunks.length) {\n reject(new Error(\"Not found\"));\n }\n });\n}\nasync function listTarEntries(filePath) {\n const entries = [];\n await tar__WEBPACK_IMPORTED_MODULE_0__.list({\n file: filePath,\n onentry: (entry) => {\n entries.push(path__WEBPACK_IMPORTED_MODULE_1___default().normalize(entry.path));\n },\n });\n return entries;\n}\nfunction extractTar(filePath, opts = {}) {\n return tar__WEBPACK_IMPORTED_MODULE_0__.extract({\n file: filePath,\n cwd: path__WEBPACK_IMPORTED_MODULE_1___default().dirname(filePath),\n ...opts,\n });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/tar.ts?");
33748
33748
 
33749
33749
  /***/ }),
33750
33750
 
@@ -35053,7 +35053,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35053
35053
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35054
35054
 
35055
35055
  "use strict";
35056
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PodDetailsList\": () => (/* binding */ PodDetailsList)\n/* harmony export */ });\n/* harmony import */ var _pod_details_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pod-details-list.scss */ \"./src/renderer/components/+workloads-pods/pod-details-list.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\");\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _pods_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pods.store */ \"./src/renderer/components/+workloads-pods/pods.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _line_progress__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../line-progress */ \"./src/renderer/components/line-progress/index.ts\");\n/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../table */ \"./src/renderer/components/table/index.ts\");\n/* harmony import */ var _spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony import */ var _drawer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony import */ var _kube_object_status_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../kube-object-status-icon */ \"./src/renderer/components/kube-object-status-icon/index.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar sortBy;\n(function (sortBy) {\n sortBy[\"name\"] = \"name\";\n sortBy[\"namespace\"] = \"namespace\";\n sortBy[\"cpu\"] = \"cpu\";\n sortBy[\"memory\"] = \"memory\";\n})(sortBy || (sortBy = {}));\nlet PodDetailsList = class PodDetailsList extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"metricsWatcher\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.interval)(120, () => {\n _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.loadKubeMetrics(this.props.owner.getNs());\n })\n });\n }\n componentDidMount() {\n this.metricsWatcher.start(true);\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_11__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_12__.reaction)(() => this.props.owner, () => this.metricsWatcher.restart(true)),\n ]);\n }\n componentWillUnmount() {\n this.metricsWatcher.stop();\n }\n renderCpuUsage(id, usage) {\n const { maxCpu } = this.props;\n const value = usage.toFixed(3);\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"CPU: \",\n Math.ceil(usage * 100) / maxCpu,\n \"%\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"br\", null),\n usage.toFixed(3)));\n if (!maxCpu) {\n if (parseFloat(value) === 0)\n return 0;\n return value;\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_line_progress__WEBPACK_IMPORTED_MODULE_5__.LineProgress, { max: maxCpu, value: usage, tooltip: parseFloat(value) !== 0 ? tooltip : null }));\n }\n renderMemoryUsage(id, usage) {\n const { maxMemory } = this.props;\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Memory: \",\n Math.ceil(usage * 100 / maxMemory),\n \"%\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"br\", null),\n (0,_utils__WEBPACK_IMPORTED_MODULE_4__.bytesToUnits)(usage, 3)));\n if (!maxMemory)\n return usage ? (0,_utils__WEBPACK_IMPORTED_MODULE_4__.bytesToUnits)(usage) : 0;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_line_progress__WEBPACK_IMPORTED_MODULE_5__.LineProgress, { max: maxMemory, value: usage, tooltip: usage != 0 ? tooltip : null }));\n }\n getTableRow(uid) {\n const { pods } = this.props;\n const pod = pods.find(pod => pod.getId() == uid);\n const metrics = _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableRow, { key: pod.getId(), sortItem: pod, nowrap: true, onClick: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.prevDefault)(() => (0,_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__.showDetails)(pod.selfLink, false)) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"name\" }, pod.getName()),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"warning\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_status_icon__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStatusIcon, { key: \"icon\", object: pod })),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"namespace\" }, pod.getNs()),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"ready\" },\n pod.getRunningContainers().length,\n \"/\",\n pod.getContainers().length),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"cpu\" }, this.renderCpuUsage(`cpu-${pod.getId()}`, metrics.cpu)),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"memory\" }, this.renderMemoryUsage(`memory-${pod.getId()}`, metrics.memory)),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"status\", lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2___default()(pod.getStatusMessage())) }, pod.getStatusMessage())));\n }\n render() {\n const { pods } = this.props;\n if (!_pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.isLoaded) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"PodDetailsList flex justify-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_spinner__WEBPACK_IMPORTED_MODULE_7__.Spinner, null)));\n }\n if (!pods.length) {\n return null;\n }\n const virtual = pods.length > 20;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"PodDetailsList flex column\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_drawer__WEBPACK_IMPORTED_MODULE_8__.DrawerTitle, null, \"Pods\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.Table, { tableId: \"workloads_pod_details_list\", items: pods, selectable: true, scrollable: false, virtual: virtual, \n // 660 is the exact hight required for 20 items with the default paddings\n virtualHeight: 660, sortable: {\n [sortBy.name]: pod => pod.getName(),\n [sortBy.namespace]: pod => pod.getNs(),\n [sortBy.cpu]: pod => _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod).cpu,\n [sortBy.memory]: pod => _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod).memory,\n }, sortByDefault: { sortBy: sortBy.cpu, orderBy: \"desc\" }, sortSyncWithUrl: false, getTableRow: this.getTableRow, renderRow: !virtual && (pod => this.getTableRow(pod.getId())), className: \"box grow\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableHead, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"name\", sortBy: sortBy.name }, \"Name\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"warning\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"namespace\", sortBy: sortBy.namespace }, \"Namespace\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"ready\" }, \"Ready\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"cpu\", sortBy: sortBy.cpu }, \"CPU\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"memory\", sortBy: sortBy.memory }, \"Memory\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"status\" }, \"Status\")))));\n }\n};\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], PodDetailsList.prototype, \"getTableRow\", null);\nPodDetailsList = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_11__.observer\n], PodDetailsList);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+workloads-pods/pod-details-list.tsx?");
35056
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PodDetailsList\": () => (/* binding */ PodDetailsList)\n/* harmony export */ });\n/* harmony import */ var _pod_details_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pod-details-list.scss */ \"./src/renderer/components/+workloads-pods/pod-details-list.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\");\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _pods_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pods.store */ \"./src/renderer/components/+workloads-pods/pods.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _line_progress__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../line-progress */ \"./src/renderer/components/line-progress/index.ts\");\n/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../table */ \"./src/renderer/components/table/index.ts\");\n/* harmony import */ var _spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony import */ var _drawer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony import */ var _kube_object_status_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../kube-object-status-icon */ \"./src/renderer/components/kube-object-status-icon/index.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar sortBy;\n(function (sortBy) {\n sortBy[\"name\"] = \"name\";\n sortBy[\"namespace\"] = \"namespace\";\n sortBy[\"cpu\"] = \"cpu\";\n sortBy[\"memory\"] = \"memory\";\n})(sortBy || (sortBy = {}));\nlet PodDetailsList = class PodDetailsList extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"metricsWatcher\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.interval)(120, () => {\n _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.loadKubeMetrics(this.props.owner.getNs());\n })\n });\n }\n componentDidMount() {\n this.metricsWatcher.start(true);\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_11__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_12__.reaction)(() => this.props.owner, () => this.metricsWatcher.restart(true)),\n ]);\n }\n componentWillUnmount() {\n this.metricsWatcher.stop();\n }\n renderCpuUsage(id, usage) {\n const { maxCpu } = this.props;\n const value = usage.toFixed(3);\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"CPU: \",\n Math.ceil(usage * 100) / maxCpu,\n \"%\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"br\", null),\n usage.toFixed(3)));\n if (!maxCpu) {\n if (parseFloat(value) === 0)\n return 0;\n return value;\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_line_progress__WEBPACK_IMPORTED_MODULE_5__.LineProgress, { max: maxCpu, value: usage, tooltip: parseFloat(value) !== 0 ? tooltip : null }));\n }\n renderMemoryUsage(id, usage) {\n const { maxMemory } = this.props;\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Memory: \",\n Math.ceil(usage * 100 / maxMemory),\n \"%\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"br\", null),\n (0,_utils__WEBPACK_IMPORTED_MODULE_4__.bytesToUnits)(usage, { precision: 3 })));\n if (!maxMemory)\n return usage ? (0,_utils__WEBPACK_IMPORTED_MODULE_4__.bytesToUnits)(usage) : 0;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_line_progress__WEBPACK_IMPORTED_MODULE_5__.LineProgress, { max: maxMemory, value: usage, tooltip: usage != 0 ? tooltip : null }));\n }\n getTableRow(uid) {\n const { pods } = this.props;\n const pod = pods.find(pod => pod.getId() == uid);\n const metrics = _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableRow, { key: pod.getId(), sortItem: pod, nowrap: true, onClick: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.prevDefault)(() => (0,_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__.showDetails)(pod.selfLink, false)) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"name\" }, pod.getName()),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"warning\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_status_icon__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStatusIcon, { key: \"icon\", object: pod })),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"namespace\" }, pod.getNs()),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"ready\" },\n pod.getRunningContainers().length,\n \"/\",\n pod.getContainers().length),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"cpu\" }, this.renderCpuUsage(`cpu-${pod.getId()}`, metrics.cpu)),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"memory\" }, this.renderMemoryUsage(`memory-${pod.getId()}`, metrics.memory)),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"status\", lodash_kebabCase__WEBPACK_IMPORTED_MODULE_2___default()(pod.getStatusMessage())) }, pod.getStatusMessage())));\n }\n render() {\n const { pods } = this.props;\n if (!_pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.isLoaded) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"PodDetailsList flex justify-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_spinner__WEBPACK_IMPORTED_MODULE_7__.Spinner, null)));\n }\n if (!pods.length) {\n return null;\n }\n const virtual = pods.length > 20;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"PodDetailsList flex column\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_drawer__WEBPACK_IMPORTED_MODULE_8__.DrawerTitle, null, \"Pods\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.Table, { tableId: \"workloads_pod_details_list\", items: pods, selectable: true, scrollable: false, virtual: virtual, \n // 660 is the exact hight required for 20 items with the default paddings\n virtualHeight: 660, sortable: {\n [sortBy.name]: pod => pod.getName(),\n [sortBy.namespace]: pod => pod.getNs(),\n [sortBy.cpu]: pod => _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod).cpu,\n [sortBy.memory]: pod => _pods_store__WEBPACK_IMPORTED_MODULE_3__.podsStore.getPodKubeMetrics(pod).memory,\n }, sortByDefault: { sortBy: sortBy.cpu, orderBy: \"desc\" }, sortSyncWithUrl: false, getTableRow: this.getTableRow, renderRow: !virtual && (pod => this.getTableRow(pod.getId())), className: \"box grow\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableHead, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"name\", sortBy: sortBy.name }, \"Name\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"warning\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"namespace\", sortBy: sortBy.namespace }, \"Namespace\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"ready\" }, \"Ready\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"cpu\", sortBy: sortBy.cpu }, \"CPU\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"memory\", sortBy: sortBy.memory }, \"Memory\"),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_table__WEBPACK_IMPORTED_MODULE_6__.TableCell, { className: \"status\" }, \"Status\")))));\n }\n};\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], PodDetailsList.prototype, \"getTableRow\", null);\nPodDetailsList = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_11__.observer\n], PodDetailsList);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+workloads-pods/pod-details-list.tsx?");
35057
35057
 
35058
35058
  /***/ }),
35059
35059
 
@@ -35141,7 +35141,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35141
35141
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35142
35142
 
35143
35143
  "use strict";
35144
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Animate\": () => (/* binding */ Animate)\n/* harmony export */ });\n/* harmony import */ var _animate_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animate.scss */ \"./src/renderer/components/animate/animate.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\nlet Animate = class Animate extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"isVisible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: !!this.props.enter\n });\n Object.defineProperty(this, \"statusClassName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n enter: false,\n leave: false,\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n }\n get contentElem() {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.only(this.props.children);\n }\n componentDidMount() {\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_4__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.reaction)(() => this.props.enter, enter => {\n if (enter)\n this.enter();\n else\n this.leave();\n }, {\n fireImmediately: true,\n }),\n ]);\n }\n enter() {\n this.isVisible = true; // triggers render() to apply css-animation in existing dom\n requestAnimationFrame(() => {\n this.statusClassName.enter = true;\n this.props.onEnter();\n });\n }\n leave() {\n if (!this.isVisible)\n return;\n this.statusClassName.leave = true;\n this.props.onLeave();\n this.resetAfterLeaveDuration();\n }\n resetAfterLeaveDuration() {\n setTimeout(() => this.reset(), this.props.leaveDuration);\n }\n reset() {\n this.isVisible = false;\n this.statusClassName.enter = false;\n this.statusClassName.leave = false;\n }\n render() {\n const { name, enterDuration, leaveDuration } = this.props;\n const contentElem = this.contentElem;\n const durations = {\n \"--enter-duration\": `${enterDuration}ms`,\n \"--leave-duration\": `${leaveDuration}ms`,\n };\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(contentElem, {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Animate\", name, contentElem.props.className, this.statusClassName),\n children: this.isVisible ? contentElem.props.children : null,\n style: {\n ...contentElem.props.style,\n ...durations,\n },\n });\n }\n};\nObject.defineProperty(Animate, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n name: \"opacity\",\n enter: true,\n onEnter: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n onLeave: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n enterDuration: 100,\n leaveDuration: 100,\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], Animate.prototype, \"isVisible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], Animate.prototype, \"statusClassName\", void 0);\nAnimate = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_4__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Animate);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/animate/animate.tsx?");
35144
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Animate\": () => (/* binding */ Animate)\n/* harmony export */ });\n/* harmony import */ var _animate_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animate.scss */ \"./src/renderer/components/animate/animate.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\nlet Animate = class Animate extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"isVisible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: !!this.props.enter\n });\n Object.defineProperty(this, \"statusClassName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n enter: false,\n leave: false,\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n }\n get contentElem() {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.only(this.props.children);\n }\n componentDidMount() {\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_4__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.reaction)(() => this.props.enter, enter => {\n if (enter)\n this.enter();\n else\n this.leave();\n }, {\n fireImmediately: true,\n }),\n ]);\n }\n enter() {\n this.isVisible = true; // triggers render() to apply css-animation in existing dom\n requestAnimationFrame(() => {\n this.statusClassName.enter = true;\n this.props.onEnter();\n });\n }\n leave() {\n if (!this.isVisible)\n return;\n this.statusClassName.leave = true;\n this.props.onLeave();\n this.resetAfterLeaveDuration();\n }\n resetAfterLeaveDuration() {\n setTimeout(() => this.reset(), this.props.leaveDuration);\n }\n reset() {\n this.isVisible = false;\n this.statusClassName.enter = false;\n this.statusClassName.leave = false;\n }\n render() {\n if (!this.isVisible) {\n return null;\n }\n const { name, enterDuration, leaveDuration } = this.props;\n const contentElem = this.contentElem;\n const cssVarsForAnimation = {\n \"--enter-duration\": `${enterDuration}ms`,\n \"--leave-duration\": `${leaveDuration}ms`,\n };\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(contentElem, {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Animate\", name, contentElem.props.className, this.statusClassName),\n children: contentElem.props.children,\n style: {\n ...contentElem.props.style,\n ...cssVarsForAnimation,\n },\n });\n }\n};\nObject.defineProperty(Animate, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n name: \"opacity\",\n enter: true,\n onEnter: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n onLeave: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n enterDuration: 100,\n leaveDuration: 100,\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], Animate.prototype, \"isVisible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], Animate.prototype, \"statusClassName\", void 0);\nAnimate = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_4__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Animate);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/animate/animate.tsx?");
35145
35145
 
35146
35146
  /***/ }),
35147
35147
 
@@ -35207,7 +35207,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35207
35207
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35208
35208
 
35209
35209
  "use strict";
35210
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BarChart\": () => (/* binding */ BarChart),\n/* harmony export */ \"cpuOptions\": () => (/* binding */ cpuOptions),\n/* harmony export */ \"memoryOptions\": () => (/* binding */ memoryOptions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./chart */ \"./src/renderer/components/chart/chart.tsx\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _zebra_stripes_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./zebra-stripes.plugin */ \"./src/renderer/components/chart/zebra-stripes.plugin.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _resource_metrics_no_metrics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../resource-metrics/no-metrics */ \"./src/renderer/components/resource-metrics/no-metrics.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n timeLabelStep: 10,\n plugins: [_zebra_stripes_plugin__WEBPACK_IMPORTED_MODULE_6__.ZebraStripes],\n};\nlet BarChart = class BarChart extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n render() {\n const { name, data, className, timeLabelStep, plugins, options: customOptions, ...settings } = this.props;\n const { textColorPrimary, borderFaintColor, chartStripesColor } = _theme_store__WEBPACK_IMPORTED_MODULE_7__.ThemeStore.getInstance().activeTheme.colors;\n const getBarColor = ({ dataset }) => {\n const color = dataset.borderColor;\n return color__WEBPACK_IMPORTED_MODULE_3___default()(color).alpha(0.2).string();\n };\n // Remove empty sets and insert default data\n const chartData = {\n ...data,\n datasets: data.datasets\n .filter(set => set.data.length)\n .map(item => {\n return {\n type: _chart__WEBPACK_IMPORTED_MODULE_4__.ChartKind.BAR,\n borderWidth: { top: 3 },\n barPercentage: 1,\n categoryPercentage: 1,\n ...item,\n };\n }),\n };\n if (chartData.datasets.length == 0) {\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_resource_metrics_no_metrics__WEBPACK_IMPORTED_MODULE_8__.NoMetrics, null);\n }\n const formatTimeLabels = (timestamp, index) => {\n const label = moment__WEBPACK_IMPORTED_MODULE_2___default()(parseInt(timestamp)).format(\"HH:mm\");\n const offset = \" \";\n if (index == 0)\n return offset + label;\n if (index == 60)\n return label + offset;\n return index % timeLabelStep == 0 ? label : \"\";\n };\n const barOptions = {\n maintainAspectRatio: false,\n responsive: true,\n scales: {\n xAxes: [{\n type: \"time\",\n offset: true,\n gridLines: {\n display: false,\n },\n stacked: true,\n ticks: {\n callback: formatTimeLabels,\n autoSkip: false,\n source: \"data\",\n backdropColor: \"white\",\n fontColor: textColorPrimary,\n fontSize: 11,\n maxRotation: 0,\n minRotation: 0,\n },\n bounds: \"data\",\n time: {\n unit: \"minute\",\n displayFormats: {\n minute: \"x\",\n },\n parser: timestamp => moment__WEBPACK_IMPORTED_MODULE_2___default().unix(parseInt(timestamp)),\n },\n }],\n yAxes: [{\n position: \"right\",\n gridLines: {\n color: borderFaintColor,\n drawBorder: false,\n tickMarkLength: 0,\n zeroLineWidth: 0,\n },\n ticks: {\n maxTicksLimit: 6,\n fontColor: textColorPrimary,\n fontSize: 11,\n padding: 8,\n min: 0,\n },\n }],\n },\n tooltips: {\n mode: \"index\",\n position: \"cursor\",\n callbacks: {\n title([tooltip]) {\n const xLabel = tooltip === null || tooltip === void 0 ? void 0 : tooltip.xLabel;\n const skipLabel = xLabel == null || new Date(xLabel).getTime() > Date.now();\n if (skipLabel)\n return \"\";\n return String(xLabel);\n },\n labelColor: ({ datasetIndex }) => {\n return {\n borderColor: \"darkgray\",\n backgroundColor: chartData.datasets[datasetIndex].borderColor,\n };\n },\n },\n },\n animation: {\n duration: 0,\n },\n elements: {\n rectangle: {\n backgroundColor: getBarColor.bind(null),\n },\n },\n plugins: {\n ZebraStripes: {\n stripeColor: chartStripesColor,\n interval: chartData.datasets[0].data.length,\n },\n },\n };\n const options = lodash_merge__WEBPACK_IMPORTED_MODULE_1___default()(barOptions, customOptions);\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_chart__WEBPACK_IMPORTED_MODULE_4__.Chart, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.cssNames)(\"BarChart flex box grow column\", className), type: _chart__WEBPACK_IMPORTED_MODULE_4__.ChartKind.BAR, data: chartData, options: options, plugins: plugins, ...settings }));\n }\n};\nObject.defineProperty(BarChart, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nBarChart = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_9__.observer\n], BarChart);\n\n// Default options for all charts containing memory units (network, disk, memory, etc)\nconst memoryOptions = {\n scales: {\n yAxes: [{\n ticks: {\n callback: (value) => {\n if (typeof value == \"string\") {\n const float = parseFloat(value);\n if (float < 1) {\n return float.toFixed(3);\n }\n return (0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(parseInt(value));\n }\n return (0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(value);\n },\n stepSize: 1,\n },\n }],\n },\n tooltips: {\n callbacks: {\n label: ({ datasetIndex, index }, { datasets }) => {\n const { label, data } = datasets[datasetIndex];\n const value = data[index];\n return `${label}: ${(0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(parseInt(value.y.toString()), 3)}`;\n },\n },\n },\n};\n// Default options for all charts with cpu units or other decimal numbers\nconst cpuOptions = {\n scales: {\n yAxes: [{\n ticks: {\n callback: (value) => {\n const float = parseFloat(`${value}`);\n if (float == 0)\n return \"0\";\n if (float < 10)\n return float.toFixed(3);\n if (float < 100)\n return float.toFixed(2);\n return float.toFixed(1);\n },\n },\n }],\n },\n tooltips: {\n callbacks: {\n label: ({ datasetIndex, index }, { datasets }) => {\n const { label, data } = datasets[datasetIndex];\n const value = data[index];\n return `${label}: ${parseFloat(value.y).toPrecision(2)}`;\n },\n },\n },\n};\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/chart/bar-chart.tsx?");
35210
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BarChart\": () => (/* binding */ BarChart),\n/* harmony export */ \"cpuOptions\": () => (/* binding */ cpuOptions),\n/* harmony export */ \"memoryOptions\": () => (/* binding */ memoryOptions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./chart */ \"./src/renderer/components/chart/chart.tsx\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _zebra_stripes_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./zebra-stripes.plugin */ \"./src/renderer/components/chart/zebra-stripes.plugin.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _resource_metrics_no_metrics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../resource-metrics/no-metrics */ \"./src/renderer/components/resource-metrics/no-metrics.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n timeLabelStep: 10,\n plugins: [_zebra_stripes_plugin__WEBPACK_IMPORTED_MODULE_6__.ZebraStripes],\n};\nlet BarChart = class BarChart extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n render() {\n const { name, data, className, timeLabelStep, plugins, options: customOptions, ...settings } = this.props;\n const { textColorPrimary, borderFaintColor, chartStripesColor } = _theme_store__WEBPACK_IMPORTED_MODULE_7__.ThemeStore.getInstance().activeTheme.colors;\n const getBarColor = ({ dataset }) => {\n const color = dataset.borderColor;\n return color__WEBPACK_IMPORTED_MODULE_3___default()(color).alpha(0.2).string();\n };\n // Remove empty sets and insert default data\n const chartData = {\n ...data,\n datasets: data.datasets\n .filter(set => set.data.length)\n .map(item => {\n return {\n type: _chart__WEBPACK_IMPORTED_MODULE_4__.ChartKind.BAR,\n borderWidth: { top: 3 },\n barPercentage: 1,\n categoryPercentage: 1,\n ...item,\n };\n }),\n };\n if (chartData.datasets.length == 0) {\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_resource_metrics_no_metrics__WEBPACK_IMPORTED_MODULE_8__.NoMetrics, null);\n }\n const formatTimeLabels = (timestamp, index) => {\n const label = moment__WEBPACK_IMPORTED_MODULE_2___default()(parseInt(timestamp)).format(\"HH:mm\");\n const offset = \" \";\n if (index == 0)\n return offset + label;\n if (index == 60)\n return label + offset;\n return index % timeLabelStep == 0 ? label : \"\";\n };\n const barOptions = {\n maintainAspectRatio: false,\n responsive: true,\n scales: {\n xAxes: [{\n type: \"time\",\n offset: true,\n gridLines: {\n display: false,\n },\n stacked: true,\n ticks: {\n callback: formatTimeLabels,\n autoSkip: false,\n source: \"data\",\n backdropColor: \"white\",\n fontColor: textColorPrimary,\n fontSize: 11,\n maxRotation: 0,\n minRotation: 0,\n },\n bounds: \"data\",\n time: {\n unit: \"minute\",\n displayFormats: {\n minute: \"x\",\n },\n parser: timestamp => moment__WEBPACK_IMPORTED_MODULE_2___default().unix(parseInt(timestamp)),\n },\n }],\n yAxes: [{\n position: \"right\",\n gridLines: {\n color: borderFaintColor,\n drawBorder: false,\n tickMarkLength: 0,\n zeroLineWidth: 0,\n },\n ticks: {\n maxTicksLimit: 6,\n fontColor: textColorPrimary,\n fontSize: 11,\n padding: 8,\n min: 0,\n },\n }],\n },\n tooltips: {\n mode: \"index\",\n position: \"cursor\",\n callbacks: {\n title([tooltip]) {\n const xLabel = tooltip === null || tooltip === void 0 ? void 0 : tooltip.xLabel;\n const skipLabel = xLabel == null || new Date(xLabel).getTime() > Date.now();\n if (skipLabel)\n return \"\";\n return String(xLabel);\n },\n labelColor: ({ datasetIndex }) => {\n return {\n borderColor: \"darkgray\",\n backgroundColor: chartData.datasets[datasetIndex].borderColor,\n };\n },\n },\n },\n animation: {\n duration: 0,\n },\n elements: {\n rectangle: {\n backgroundColor: getBarColor.bind(null),\n },\n },\n plugins: {\n ZebraStripes: {\n stripeColor: chartStripesColor,\n interval: chartData.datasets[0].data.length,\n },\n },\n };\n const options = lodash_merge__WEBPACK_IMPORTED_MODULE_1___default()(barOptions, customOptions);\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_chart__WEBPACK_IMPORTED_MODULE_4__.Chart, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.cssNames)(\"BarChart flex box grow column\", className), type: _chart__WEBPACK_IMPORTED_MODULE_4__.ChartKind.BAR, data: chartData, options: options, plugins: plugins, ...settings }));\n }\n};\nObject.defineProperty(BarChart, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nBarChart = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_9__.observer\n], BarChart);\n\n// Default options for all charts containing memory units (network, disk, memory, etc)\nconst memoryOptions = {\n scales: {\n yAxes: [{\n ticks: {\n callback: (value) => {\n if (typeof value == \"string\") {\n const float = parseFloat(value);\n if (float < 1) {\n return float.toFixed(3);\n }\n return (0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(parseInt(value));\n }\n return (0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(value);\n },\n stepSize: 1,\n },\n }],\n },\n tooltips: {\n callbacks: {\n label: ({ datasetIndex, index }, { datasets }) => {\n const { label, data } = datasets[datasetIndex];\n const value = data[index];\n return `${label}: ${(0,_utils__WEBPACK_IMPORTED_MODULE_5__.bytesToUnits)(parseInt(value.y.toString()), { precision: 3 })}`;\n },\n },\n },\n};\n// Default options for all charts with cpu units or other decimal numbers\nconst cpuOptions = {\n scales: {\n yAxes: [{\n ticks: {\n callback: (value) => {\n const float = parseFloat(`${value}`);\n if (float == 0)\n return \"0\";\n if (float < 10)\n return float.toFixed(3);\n if (float < 100)\n return float.toFixed(2);\n return float.toFixed(1);\n },\n },\n }],\n },\n tooltips: {\n callbacks: {\n label: ({ datasetIndex, index }, { datasets }) => {\n const { label, data } = datasets[datasetIndex];\n const value = data[index];\n return `${label}: ${parseFloat(value.y).toPrecision(2)}`;\n },\n },\n },\n};\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/chart/bar-chart.tsx?");
35211
35211
 
35212
35212
  /***/ }),
35213
35213
 
@@ -36483,7 +36483,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36483
36483
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36484
36484
 
36485
36485
  "use strict";
36486
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Menu\": () => (/* binding */ Menu),\n/* harmony export */ \"MenuContext\": () => (/* binding */ MenuContext),\n/* harmony export */ \"MenuItem\": () => (/* binding */ MenuItem),\n/* harmony export */ \"SubMenu\": () => (/* binding */ SubMenu)\n/* harmony export */ });\n/* harmony import */ var _menu_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./menu.scss */ \"./src/renderer/components/menu/menu.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _animate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../animate */ \"./src/renderer/components/animate/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nconst MenuContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext(null);\nconst defaultPropsMenu = {\n position: { right: true, bottom: true },\n autoFocus: false,\n usePortal: false,\n closeOnClickItem: true,\n closeOnClickOutside: true,\n closeOnScroll: false,\n toggleEvent: \"click\",\n};\nclass Menu extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"opener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"items\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"refreshPosition\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n if (!this.props.usePortal || !this.opener || !this.elem) {\n return;\n }\n const openerClientRect = this.opener.getBoundingClientRect();\n let { left: openerLeft, top: openerTop, bottom: openerBottom, right: openerRight } = this.opener.getBoundingClientRect();\n const withScroll = window.getComputedStyle(this.elem).position !== \"fixed\";\n // window global scroll corrections\n if (withScroll) {\n openerLeft += window.pageXOffset;\n openerTop += window.pageYOffset;\n openerRight = openerLeft + openerClientRect.width;\n openerBottom = openerTop + openerClientRect.height;\n }\n const extraMargin = this.props.usePortal ? 8 : 0;\n const { width: menuWidth, height: menuHeight } = this.elem.getBoundingClientRect();\n const rightSideOfMenu = openerLeft + menuWidth;\n const renderMenuLeft = rightSideOfMenu > window.innerWidth;\n const menuOnLeftSidePosition = `${openerRight - this.elem.offsetWidth}px`;\n const menuOnRightSidePosition = `${openerLeft}px`;\n const bottomOfMenu = openerBottom + extraMargin + menuHeight;\n const renderMenuOnTop = bottomOfMenu > window.innerHeight;\n const menuOnTopPosition = `${openerTop - this.elem.offsetHeight - extraMargin}px`;\n const menuOnBottomPosition = `${openerBottom + extraMargin}px`;\n this.setState({\n position: {\n top: renderMenuOnTop,\n bottom: !renderMenuOnTop,\n left: renderMenuLeft,\n right: !renderMenuLeft,\n },\n menuStyle: {\n top: renderMenuOnTop ? menuOnTopPosition : menuOnBottomPosition,\n left: renderMenuLeft ? menuOnLeftSidePosition : menuOnRightSidePosition,\n },\n });\n }\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.autoBind)(this);\n }\n get isOpen() {\n return !!this.props.isOpen;\n }\n get isClosed() {\n return !this.isOpen;\n }\n componentDidMount() {\n if (!this.props.usePortal) {\n const parent = this.elem.parentElement;\n const position = window.getComputedStyle(parent).position;\n if (position === \"static\")\n parent.style.position = \"relative\";\n }\n else if (this.isOpen) {\n this.refreshPosition();\n }\n this.opener = document.getElementById(this.props.htmlFor); // might not exist in sub-menus\n if (this.opener) {\n this.opener.addEventListener(this.props.toggleEvent, this.toggle);\n this.opener.addEventListener(\"keydown\", this.onKeyDown);\n }\n this.elem.addEventListener(\"keydown\", this.onKeyDown);\n window.addEventListener(\"resize\", this.onWindowResize);\n window.addEventListener(\"click\", this.onClickOutside, true);\n window.addEventListener(\"scroll\", this.onScrollOutside, true);\n window.addEventListener(\"contextmenu\", this.onContextMenu, true);\n window.addEventListener(\"blur\", this.onBlur, true);\n }\n componentWillUnmount() {\n if (this.opener) {\n this.opener.removeEventListener(this.props.toggleEvent, this.toggle);\n this.opener.removeEventListener(\"keydown\", this.onKeyDown);\n }\n this.elem.removeEventListener(\"keydown\", this.onKeyDown);\n window.removeEventListener(\"resize\", this.onWindowResize);\n window.removeEventListener(\"click\", this.onClickOutside, true);\n window.removeEventListener(\"scroll\", this.onScrollOutside, true);\n }\n componentDidUpdate(prevProps) {\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default()(prevProps.children, this.props.children)) {\n this.refreshPosition();\n }\n }\n get focusableItems() {\n return Object.values(this.items).filter(item => item.isFocusable);\n }\n get focusedItem() {\n return this.focusableItems.find(item => item.elem === document.activeElement);\n }\n focusNextItem(reverse = false) {\n const items = this.focusableItems;\n const activeIndex = items.findIndex(item => item === this.focusedItem);\n if (!items.length) {\n return;\n }\n if (activeIndex > -1) {\n let nextItem = reverse ? items[activeIndex - 1] : items[activeIndex + 1];\n if (!nextItem)\n nextItem = items[activeIndex];\n nextItem.elem.focus();\n }\n else {\n items[0].elem.focus();\n }\n }\n open() {\n if (this.isOpen) {\n return;\n }\n this.props.open();\n this.refreshPosition();\n if (this.props.autoFocus) {\n this.focusNextItem();\n }\n }\n close() {\n if (this.isClosed) {\n return;\n }\n this.props.close();\n }\n toggle() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n onKeyDown(evt) {\n if (!this.isOpen)\n return;\n switch (evt.code) {\n case \"Escape\":\n this.close();\n break;\n case \"Space\":\n // fallthrough\n case \"Enter\": {\n const focusedItem = this.focusedItem;\n if (focusedItem) {\n focusedItem.elem.click();\n evt.preventDefault();\n }\n break;\n }\n case \"ArrowUp\":\n this.focusNextItem(true);\n break;\n case \"ArrowDown\":\n this.focusNextItem();\n break;\n }\n }\n onContextMenu() {\n this.close();\n }\n onWindowResize() {\n if (!this.isOpen)\n return;\n this.refreshPosition();\n }\n onScrollOutside(evt) {\n if (!this.isOpen)\n return;\n const target = evt.target;\n const { usePortal, closeOnScroll } = this.props;\n if (usePortal && closeOnScroll && !target.contains(this.elem)) {\n this.close();\n }\n }\n onClickOutside(evt) {\n if (!this.props.closeOnClickOutside)\n return;\n if (!this.isOpen || evt.target === document.body)\n return;\n const target = evt.target;\n const clickInsideMenu = this.elem.contains(target);\n const clickOnOpener = this.opener && this.opener.contains(target);\n if (!clickInsideMenu && !clickOnOpener) {\n this.close();\n }\n }\n onBlur() {\n var _a;\n if (!this.isOpen)\n return; // Prevents triggering document.activeElement for each <Menu/> instance\n if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) == \"IFRAME\") {\n this.close();\n }\n }\n bindRef(elem) {\n this.elem = elem;\n }\n bindItemRef(item, index) {\n this.items[index] = item;\n }\n render() {\n var _a, _b, _c, _d;\n const { position, id } = this.props;\n let { className, usePortal } = this.props;\n className = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"Menu\", className, this.state.position || position, {\n portal: usePortal,\n });\n let children = this.props.children;\n if (children.type === react__WEBPACK_IMPORTED_MODULE_1__.Fragment) {\n children = children.props.children;\n }\n const menuItems = react__WEBPACK_IMPORTED_MODULE_1__.Children.toArray(children).map((item, index) => {\n if (item.type === MenuItem) {\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(item, {\n ref: (item) => this.bindItemRef(item, index),\n });\n }\n return item;\n });\n const menu = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(MenuContext.Provider, { value: this },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_animate__WEBPACK_IMPORTED_MODULE_4__.Animate, { enter: this.isOpen },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"ul\", { id: id, ref: this.bindRef, className: className, style: {\n left: (_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.menuStyle) === null || _b === void 0 ? void 0 : _b.left,\n top: (_d = (_c = this.state) === null || _c === void 0 ? void 0 : _c.menuStyle) === null || _d === void 0 ? void 0 : _d.top,\n } }, menuItems))));\n if (usePortal === true)\n usePortal = document.body;\n return usePortal instanceof HTMLElement ? (0,react_dom__WEBPACK_IMPORTED_MODULE_2__.createPortal)(menu, usePortal) : menu;\n }\n}\nObject.defineProperty(Menu, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultPropsMenu\n});\nfunction SubMenu(props) {\n const { className, ...menuProps } = props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(Menu, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"SubMenu\", className), isOpen: true, open: _utils__WEBPACK_IMPORTED_MODULE_3__.noop, close: _utils__WEBPACK_IMPORTED_MODULE_3__.noop, position: {}, closeOnClickOutside: false, closeOnClickItem: false, ...menuProps }));\n}\nconst defaultPropsMenuItem = {\n onClick: _utils__WEBPACK_IMPORTED_MODULE_3__.noop,\n};\nclass MenuItem extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.autoBind)(this);\n }\n get isFocusable() {\n const { disabled, spacer } = this.props;\n return !(disabled || spacer);\n }\n get isLink() {\n return !!this.props.href;\n }\n onClick(evt) {\n const menu = this.context;\n const { spacer, onClick } = this.props;\n if (spacer)\n return;\n onClick(evt);\n if (menu.props.closeOnClickItem && !evt.defaultPrevented) {\n menu.close();\n }\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n const { className, disabled, active, spacer, icon, children, ...props } = this.props;\n let iconProps;\n if (icon) {\n iconProps = {};\n if (typeof icon === \"string\")\n iconProps.material = icon;\n else\n Object.assign(iconProps, icon);\n }\n const elemProps = {\n tabIndex: this.isFocusable ? 0 : -1,\n ...props,\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"MenuItem\", className, { disabled, active, spacer }),\n onClick: this.onClick,\n children: icon ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { ...iconProps }),\n \" \",\n children) : children,\n ref: this.bindRef,\n };\n if (this.isLink) {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"a\", { ...elemProps });\n }\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"li\", { ...elemProps });\n }\n}\nObject.defineProperty(MenuItem, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultPropsMenuItem\n});\nObject.defineProperty(MenuItem, \"contextType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: MenuContext\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/menu/menu.tsx?");
36486
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Menu\": () => (/* binding */ Menu),\n/* harmony export */ \"MenuContext\": () => (/* binding */ MenuContext),\n/* harmony export */ \"MenuItem\": () => (/* binding */ MenuItem),\n/* harmony export */ \"SubMenu\": () => (/* binding */ SubMenu)\n/* harmony export */ });\n/* harmony import */ var _menu_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./menu.scss */ \"./src/renderer/components/menu/menu.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _animate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../animate */ \"./src/renderer/components/animate/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nconst MenuContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext(null);\nconst defaultPropsMenu = {\n position: { right: true, bottom: true },\n autoFocus: false,\n usePortal: false,\n closeOnClickItem: true,\n closeOnClickOutside: true,\n closeOnScroll: false,\n toggleEvent: \"click\",\n};\nclass Menu extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"opener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"items\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"refreshPosition\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n if (!this.props.usePortal || !this.opener || !this.elem) {\n return;\n }\n const openerClientRect = this.opener.getBoundingClientRect();\n let { left: openerLeft, top: openerTop, bottom: openerBottom, right: openerRight } = this.opener.getBoundingClientRect();\n const withScroll = window.getComputedStyle(this.elem).position !== \"fixed\";\n // window global scroll corrections\n if (withScroll) {\n openerLeft += window.pageXOffset;\n openerTop += window.pageYOffset;\n openerRight = openerLeft + openerClientRect.width;\n openerBottom = openerTop + openerClientRect.height;\n }\n const extraMargin = this.props.usePortal ? 8 : 0;\n const { width: menuWidth, height: menuHeight } = this.elem.getBoundingClientRect();\n const rightSideOfMenu = openerLeft + menuWidth;\n const renderMenuLeft = rightSideOfMenu > window.innerWidth;\n const menuOnLeftSidePosition = `${openerRight - this.elem.offsetWidth}px`;\n const menuOnRightSidePosition = `${openerLeft}px`;\n const bottomOfMenu = openerBottom + extraMargin + menuHeight;\n const renderMenuOnTop = bottomOfMenu > window.innerHeight;\n const menuOnTopPosition = `${openerTop - this.elem.offsetHeight - extraMargin}px`;\n const menuOnBottomPosition = `${openerBottom + extraMargin}px`;\n this.setState({\n position: {\n top: renderMenuOnTop,\n bottom: !renderMenuOnTop,\n left: renderMenuLeft,\n right: !renderMenuLeft,\n },\n menuStyle: {\n top: renderMenuOnTop ? menuOnTopPosition : menuOnBottomPosition,\n left: renderMenuLeft ? menuOnLeftSidePosition : menuOnRightSidePosition,\n },\n });\n }\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.autoBind)(this);\n }\n get isOpen() {\n return !!this.props.isOpen;\n }\n get isClosed() {\n return !this.isOpen;\n }\n componentDidMount() {\n if (!this.props.usePortal) {\n const parent = this.elem.parentElement;\n const position = window.getComputedStyle(parent).position;\n if (position === \"static\")\n parent.style.position = \"relative\";\n }\n else if (this.isOpen) {\n this.refreshPosition();\n }\n this.opener = document.getElementById(this.props.htmlFor); // might not exist in sub-menus\n if (this.opener) {\n this.opener.addEventListener(this.props.toggleEvent, this.toggle);\n this.opener.addEventListener(\"keydown\", this.onKeyDown);\n }\n window.addEventListener(\"resize\", this.onWindowResize);\n window.addEventListener(\"click\", this.onClickOutside, true);\n window.addEventListener(\"scroll\", this.onScrollOutside, true);\n window.addEventListener(\"contextmenu\", this.onContextMenu, true);\n window.addEventListener(\"blur\", this.onBlur, true);\n }\n componentWillUnmount() {\n if (this.opener) {\n this.opener.removeEventListener(this.props.toggleEvent, this.toggle);\n this.opener.removeEventListener(\"keydown\", this.onKeyDown);\n }\n window.removeEventListener(\"resize\", this.onWindowResize);\n window.removeEventListener(\"click\", this.onClickOutside, true);\n window.removeEventListener(\"scroll\", this.onScrollOutside, true);\n }\n componentDidUpdate(prevProps) {\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default()(prevProps.children, this.props.children)) {\n this.refreshPosition();\n }\n }\n get focusableItems() {\n return Object.values(this.items).filter(item => item.isFocusable);\n }\n get focusedItem() {\n return this.focusableItems.find(item => item.elem === document.activeElement);\n }\n focusNextItem(reverse = false) {\n const items = this.focusableItems;\n const activeIndex = items.findIndex(item => item === this.focusedItem);\n if (!items.length) {\n return;\n }\n if (activeIndex > -1) {\n let nextItem = reverse ? items[activeIndex - 1] : items[activeIndex + 1];\n if (!nextItem)\n nextItem = items[activeIndex];\n nextItem.elem.focus();\n }\n else {\n items[0].elem.focus();\n }\n }\n open() {\n if (this.isOpen) {\n return;\n }\n this.props.open();\n this.refreshPosition();\n if (this.props.autoFocus) {\n this.focusNextItem();\n }\n }\n close() {\n if (this.isClosed) {\n return;\n }\n this.props.close();\n }\n toggle() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n onKeyDown(evt) {\n if (!this.isOpen)\n return;\n switch (evt.code) {\n case \"Escape\":\n this.close();\n break;\n case \"Space\":\n // fallthrough\n case \"Enter\": {\n const focusedItem = this.focusedItem;\n if (focusedItem) {\n focusedItem.elem.click();\n evt.preventDefault();\n }\n break;\n }\n case \"ArrowUp\":\n this.focusNextItem(true);\n break;\n case \"ArrowDown\":\n this.focusNextItem();\n break;\n }\n }\n onContextMenu() {\n this.close();\n }\n onWindowResize() {\n if (!this.isOpen)\n return;\n this.refreshPosition();\n }\n onScrollOutside(evt) {\n if (!this.isOpen)\n return;\n const target = evt.target;\n const { usePortal, closeOnScroll } = this.props;\n if (usePortal && closeOnScroll && !target.contains(this.elem)) {\n this.close();\n }\n }\n onClickOutside(evt) {\n if (!this.props.closeOnClickOutside)\n return;\n if (!this.isOpen || evt.target === document.body)\n return;\n const target = evt.target;\n const clickInsideMenu = this.elem.contains(target);\n const clickOnOpener = this.opener && this.opener.contains(target);\n if (!clickInsideMenu && !clickOnOpener) {\n this.close();\n }\n }\n onBlur() {\n var _a;\n if (!this.isOpen)\n return; // Prevents triggering document.activeElement for each <Menu/> instance\n if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) == \"IFRAME\") {\n this.close();\n }\n }\n bindRef(elem) {\n this.elem = elem;\n }\n bindItemRef(item, index) {\n this.items[index] = item;\n }\n render() {\n var _a, _b, _c, _d;\n const { position, id } = this.props;\n let { className, usePortal } = this.props;\n className = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"Menu\", className, this.state.position || position, {\n portal: usePortal,\n });\n let children = this.props.children;\n if (children.type === react__WEBPACK_IMPORTED_MODULE_1__.Fragment) {\n children = children.props.children;\n }\n const menuItems = react__WEBPACK_IMPORTED_MODULE_1__.Children.toArray(children).map((item, index) => {\n if (item.type === MenuItem) {\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(item, {\n ref: (item) => this.bindItemRef(item, index),\n });\n }\n return item;\n });\n const menu = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(MenuContext.Provider, { value: this },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_animate__WEBPACK_IMPORTED_MODULE_4__.Animate, { enter: this.isOpen },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"ul\", { id: id, ref: this.bindRef, className: className, style: {\n left: (_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.menuStyle) === null || _b === void 0 ? void 0 : _b.left,\n top: (_d = (_c = this.state) === null || _c === void 0 ? void 0 : _c.menuStyle) === null || _d === void 0 ? void 0 : _d.top,\n }, onKeyDown: this.onKeyDown }, menuItems))));\n if (usePortal === true)\n usePortal = document.body;\n return usePortal instanceof HTMLElement ? (0,react_dom__WEBPACK_IMPORTED_MODULE_2__.createPortal)(menu, usePortal) : menu;\n }\n}\nObject.defineProperty(Menu, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultPropsMenu\n});\nfunction SubMenu(props) {\n const { className, ...menuProps } = props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(Menu, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"SubMenu\", className), isOpen: true, open: _utils__WEBPACK_IMPORTED_MODULE_3__.noop, close: _utils__WEBPACK_IMPORTED_MODULE_3__.noop, position: {}, closeOnClickOutside: false, closeOnClickItem: false, ...menuProps }));\n}\nconst defaultPropsMenuItem = {\n onClick: _utils__WEBPACK_IMPORTED_MODULE_3__.noop,\n};\nclass MenuItem extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.autoBind)(this);\n }\n get isFocusable() {\n const { disabled, spacer } = this.props;\n return !(disabled || spacer);\n }\n get isLink() {\n return !!this.props.href;\n }\n onClick(evt) {\n const menu = this.context;\n const { spacer, onClick } = this.props;\n if (spacer)\n return;\n onClick(evt);\n if (menu.props.closeOnClickItem && !evt.defaultPrevented) {\n menu.close();\n }\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n const { className, disabled, active, spacer, icon, children, ...props } = this.props;\n let iconProps;\n if (icon) {\n iconProps = {};\n if (typeof icon === \"string\")\n iconProps.material = icon;\n else\n Object.assign(iconProps, icon);\n }\n const elemProps = {\n tabIndex: this.isFocusable ? 0 : -1,\n ...props,\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"MenuItem\", className, { disabled, active, spacer }),\n onClick: this.onClick,\n children: icon ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { ...iconProps }),\n \" \",\n children) : children,\n ref: this.bindRef,\n };\n if (this.isLink) {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"a\", { ...elemProps });\n }\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"li\", { ...elemProps });\n }\n}\nObject.defineProperty(MenuItem, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultPropsMenuItem\n});\nObject.defineProperty(MenuItem, \"contextType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: MenuContext\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/menu/menu.tsx?");
36487
36487
 
36488
36488
  /***/ }),
36489
36489
 
@@ -36923,7 +36923,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36923
36923
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36924
36924
 
36925
36925
  "use strict";
36926
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Tooltip\": () => (/* binding */ Tooltip),\n/* harmony export */ \"TooltipPosition\": () => (/* binding */ TooltipPosition)\n/* harmony export */ });\n/* harmony import */ var _tooltip_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tooltip.scss */ \"./src/renderer/components/tooltip/tooltip.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\nvar TooltipPosition;\n(function (TooltipPosition) {\n TooltipPosition[\"TOP\"] = \"top\";\n TooltipPosition[\"BOTTOM\"] = \"bottom\";\n TooltipPosition[\"LEFT\"] = \"left\";\n TooltipPosition[\"RIGHT\"] = \"right\";\n TooltipPosition[\"TOP_LEFT\"] = \"top_left\";\n TooltipPosition[\"TOP_RIGHT\"] = \"top_right\";\n TooltipPosition[\"BOTTOM_LEFT\"] = \"bottom_left\";\n TooltipPosition[\"BOTTOM_RIGHT\"] = \"bottom_right\";\n})(TooltipPosition || (TooltipPosition = {}));\nconst defaultProps = {\n usePortal: true,\n offset: 10,\n};\nlet Tooltip = class Tooltip extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"activePosition\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isVisible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_4__.makeObservable)(this);\n }\n get targetElem() {\n return document.getElementById(this.props.targetId);\n }\n get hoverTarget() {\n if (this.props.tooltipOnParentHover) {\n return this.targetElem.parentElement;\n }\n return this.targetElem;\n }\n componentDidMount() {\n this.hoverTarget.addEventListener(\"mouseenter\", this.onEnterTarget);\n this.hoverTarget.addEventListener(\"mouseleave\", this.onLeaveTarget);\n }\n componentDidUpdate() {\n this.refreshPosition();\n }\n componentWillUnmount() {\n this.hoverTarget.removeEventListener(\"mouseenter\", this.onEnterTarget);\n this.hoverTarget.removeEventListener(\"mouseleave\", this.onLeaveTarget);\n }\n onEnterTarget() {\n this.isVisible = true;\n this.refreshPosition();\n }\n onLeaveTarget() {\n this.isVisible = false;\n }\n refreshPosition() {\n const { preferredPositions } = this.props;\n const { elem, targetElem } = this;\n let positions = new Set([\n TooltipPosition.RIGHT,\n TooltipPosition.BOTTOM,\n TooltipPosition.TOP,\n TooltipPosition.LEFT,\n TooltipPosition.TOP_RIGHT,\n TooltipPosition.TOP_LEFT,\n TooltipPosition.BOTTOM_RIGHT,\n TooltipPosition.BOTTOM_LEFT,\n ]);\n if (preferredPositions) {\n positions = new Set([\n ...[preferredPositions].flat(),\n ...positions,\n ]);\n }\n // reset position first and get all possible client-rect area for tooltip element\n this.setPosition({ left: 0, top: 0 });\n const selfBounds = elem.getBoundingClientRect();\n const targetBounds = targetElem.getBoundingClientRect();\n const { innerWidth: viewportWidth, innerHeight: viewportHeight } = window;\n // find proper position\n for (const pos of positions) {\n const { left, top, right, bottom } = this.getPosition(pos, selfBounds, targetBounds);\n const fitsToWindow = left >= 0 && top >= 0 && right <= viewportWidth && bottom <= viewportHeight;\n if (fitsToWindow) {\n this.activePosition = pos;\n this.setPosition({ top, left });\n return;\n }\n }\n // apply fallback position if nothing helped from above\n const fallbackPosition = Array.from(positions)[0];\n const { left, top } = this.getPosition(fallbackPosition, selfBounds, targetBounds);\n this.activePosition = fallbackPosition;\n this.setPosition({ left, top });\n }\n setPosition(pos) {\n const elemStyle = this.elem.style;\n elemStyle.left = `${pos.left}px`;\n elemStyle.top = `${pos.top}px`;\n }\n getPosition(position, tooltipBounds, targetBounds) {\n let left;\n let top;\n const offset = this.props.offset;\n const horizontalCenter = targetBounds.left + (targetBounds.width - tooltipBounds.width) / 2;\n const verticalCenter = targetBounds.top + (targetBounds.height - tooltipBounds.height) / 2;\n const topCenter = targetBounds.top - tooltipBounds.height - offset;\n const bottomCenter = targetBounds.bottom + offset;\n switch (position) {\n case \"top\":\n left = horizontalCenter;\n top = topCenter;\n break;\n case \"bottom\":\n left = horizontalCenter;\n top = bottomCenter;\n break;\n case \"left\":\n top = verticalCenter;\n left = targetBounds.left - tooltipBounds.width - offset;\n break;\n case \"right\":\n top = verticalCenter;\n left = targetBounds.right + offset;\n break;\n case \"top_left\":\n left = targetBounds.left;\n top = topCenter;\n break;\n case \"top_right\":\n left = targetBounds.right - tooltipBounds.width;\n top = topCenter;\n break;\n case \"bottom_left\":\n top = bottomCenter;\n left = targetBounds.left;\n break;\n case \"bottom_right\":\n top = bottomCenter;\n left = targetBounds.right - tooltipBounds.width;\n break;\n }\n return {\n left,\n top,\n right: left + tooltipBounds.width,\n bottom: top + tooltipBounds.height,\n };\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n const { style, formatters, usePortal, children, visible } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"Tooltip\", this.props.className, formatters, this.activePosition, {\n visible: visible !== null && visible !== void 0 ? visible : this.isVisible,\n formatter: !!formatters,\n });\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: className, style: style, ref: this.bindRef }, children));\n if (usePortal) {\n return (0,react_dom__WEBPACK_IMPORTED_MODULE_2__.createPortal)(tooltip, document.body);\n }\n return tooltip;\n }\n};\nObject.defineProperty(Tooltip, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable.ref,\n __metadata(\"design:type\", HTMLElement)\n], Tooltip.prototype, \"elem\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable,\n __metadata(\"design:type\", String)\n], Tooltip.prototype, \"activePosition\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable,\n __metadata(\"design:type\", Object)\n], Tooltip.prototype, \"isVisible\", void 0);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"onEnterTarget\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"onLeaveTarget\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"refreshPosition\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [HTMLElement]),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"bindRef\", null);\nTooltip = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Tooltip);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/tooltip.tsx?");
36926
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Tooltip\": () => (/* binding */ Tooltip),\n/* harmony export */ \"TooltipPosition\": () => (/* binding */ TooltipPosition)\n/* harmony export */ });\n/* harmony import */ var _tooltip_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tooltip.scss */ \"./src/renderer/components/tooltip/tooltip.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\nvar TooltipPosition;\n(function (TooltipPosition) {\n TooltipPosition[\"TOP\"] = \"top\";\n TooltipPosition[\"BOTTOM\"] = \"bottom\";\n TooltipPosition[\"LEFT\"] = \"left\";\n TooltipPosition[\"RIGHT\"] = \"right\";\n TooltipPosition[\"TOP_LEFT\"] = \"top_left\";\n TooltipPosition[\"TOP_RIGHT\"] = \"top_right\";\n TooltipPosition[\"BOTTOM_LEFT\"] = \"bottom_left\";\n TooltipPosition[\"BOTTOM_RIGHT\"] = \"bottom_right\";\n})(TooltipPosition || (TooltipPosition = {}));\nconst defaultProps = {\n usePortal: true,\n offset: 10,\n};\nlet Tooltip = class Tooltip extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n var _a;\n super(props);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"activePosition\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isVisible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (_a = this.props.visible) !== null && _a !== void 0 ? _a : false\n });\n Object.defineProperty(this, \"isContentVisible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // animation manager\n (0,mobx__WEBPACK_IMPORTED_MODULE_4__.makeObservable)(this);\n }\n get targetElem() {\n return document.getElementById(this.props.targetId);\n }\n get hoverTarget() {\n if (this.props.tooltipOnParentHover) {\n return this.targetElem.parentElement;\n }\n return this.targetElem;\n }\n componentDidMount() {\n this.hoverTarget.addEventListener(\"mouseenter\", this.onEnterTarget);\n this.hoverTarget.addEventListener(\"mouseleave\", this.onLeaveTarget);\n }\n componentDidUpdate() {\n this.refreshPosition();\n }\n componentWillUnmount() {\n this.hoverTarget.removeEventListener(\"mouseenter\", this.onEnterTarget);\n this.hoverTarget.removeEventListener(\"mouseleave\", this.onLeaveTarget);\n }\n onEnterTarget() {\n this.isVisible = true;\n requestAnimationFrame((0,mobx__WEBPACK_IMPORTED_MODULE_4__.action)(() => this.isContentVisible = true));\n }\n onLeaveTarget() {\n this.isVisible = false;\n this.isContentVisible = false;\n }\n refreshPosition() {\n const { preferredPositions } = this.props;\n const { elem, targetElem } = this;\n if (!elem) {\n return;\n }\n let positions = new Set([\n TooltipPosition.RIGHT,\n TooltipPosition.BOTTOM,\n TooltipPosition.TOP,\n TooltipPosition.LEFT,\n TooltipPosition.TOP_RIGHT,\n TooltipPosition.TOP_LEFT,\n TooltipPosition.BOTTOM_RIGHT,\n TooltipPosition.BOTTOM_LEFT,\n ]);\n if (preferredPositions) {\n positions = new Set([\n ...[preferredPositions].flat(),\n ...positions,\n ]);\n }\n // reset position first and get all possible client-rect area for tooltip element\n this.setPosition({ left: 0, top: 0 });\n const selfBounds = elem.getBoundingClientRect();\n const targetBounds = targetElem.getBoundingClientRect();\n const { innerWidth: viewportWidth, innerHeight: viewportHeight } = window;\n // find proper position\n for (const pos of positions) {\n const { left, top, right, bottom } = this.getPosition(pos, selfBounds, targetBounds);\n const fitsToWindow = left >= 0 && top >= 0 && right <= viewportWidth && bottom <= viewportHeight;\n if (fitsToWindow) {\n this.activePosition = pos;\n this.setPosition({ top, left });\n return;\n }\n }\n // apply fallback position if nothing helped from above\n const fallbackPosition = Array.from(positions)[0];\n const { left, top } = this.getPosition(fallbackPosition, selfBounds, targetBounds);\n this.activePosition = fallbackPosition;\n this.setPosition({ left, top });\n }\n setPosition(pos) {\n if (!this.elem) {\n return;\n }\n const elemStyle = this.elem.style;\n elemStyle.left = `${pos.left}px`;\n elemStyle.top = `${pos.top}px`;\n }\n getPosition(position, tooltipBounds, targetBounds) {\n let left;\n let top;\n const offset = this.props.offset;\n const horizontalCenter = targetBounds.left + (targetBounds.width - tooltipBounds.width) / 2;\n const verticalCenter = targetBounds.top + (targetBounds.height - tooltipBounds.height) / 2;\n const topCenter = targetBounds.top - tooltipBounds.height - offset;\n const bottomCenter = targetBounds.bottom + offset;\n switch (position) {\n case \"top\":\n left = horizontalCenter;\n top = topCenter;\n break;\n case \"bottom\":\n left = horizontalCenter;\n top = bottomCenter;\n break;\n case \"left\":\n top = verticalCenter;\n left = targetBounds.left - tooltipBounds.width - offset;\n break;\n case \"right\":\n top = verticalCenter;\n left = targetBounds.right + offset;\n break;\n case \"top_left\":\n left = targetBounds.left;\n top = topCenter;\n break;\n case \"top_right\":\n left = targetBounds.right - tooltipBounds.width;\n top = topCenter;\n break;\n case \"bottom_left\":\n top = bottomCenter;\n left = targetBounds.left;\n break;\n case \"bottom_right\":\n top = bottomCenter;\n left = targetBounds.right - tooltipBounds.width;\n break;\n }\n return {\n left,\n top,\n right: left + tooltipBounds.width,\n bottom: top + tooltipBounds.height,\n };\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n if (!this.isVisible) {\n return null;\n }\n const { style, formatters, usePortal, children } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"Tooltip\", this.props.className, formatters, this.activePosition, {\n visible: this.isContentVisible,\n formatter: !!formatters,\n });\n const tooltip = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: className, style: style, ref: this.bindRef, role: \"tooltip\" }, children));\n if (usePortal) {\n return (0,react_dom__WEBPACK_IMPORTED_MODULE_2__.createPortal)(tooltip, document.body);\n }\n return tooltip;\n }\n};\nObject.defineProperty(Tooltip, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable.ref,\n __metadata(\"design:type\", HTMLElement)\n], Tooltip.prototype, \"elem\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable,\n __metadata(\"design:type\", String)\n], Tooltip.prototype, \"activePosition\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable,\n __metadata(\"design:type\", Object)\n], Tooltip.prototype, \"isVisible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.observable,\n __metadata(\"design:type\", Object)\n], Tooltip.prototype, \"isContentVisible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.action.bound,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"onEnterTarget\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__.action.bound,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"onLeaveTarget\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"refreshPosition\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [HTMLElement]),\n __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"bindRef\", null);\nTooltip = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Tooltip);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/tooltip.tsx?");
36927
36927
 
36928
36928
  /***/ }),
36929
36929
 
@@ -36934,7 +36934,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36934
36934
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36935
36935
 
36936
36936
  "use strict";
36937
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"withTooltip\": () => (/* binding */ withTooltip)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tooltip */ \"./src/renderer/components/tooltip/tooltip.tsx\");\n/* harmony import */ var _utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Tooltip decorator for simple composition with other components\n\n\n\n\n\nfunction withTooltip(Target) {\n var _a;\n const DecoratedComponent = (_a = class extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n // TODO: Remove side-effect to allow deterministic unit testing\n Object.defineProperty(this, \"tooltipId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default()(\"tooltip_target_\")\n });\n }\n render() {\n const { tooltip, tooltipOverrideDisabled, ...targetProps } = this.props;\n if (tooltip) {\n const tooltipId = targetProps.id || this.tooltipId;\n const tooltipProps = {\n targetId: tooltipId,\n tooltipOnParentHover: tooltipOverrideDisabled,\n formatters: { narrow: true },\n ...((0,_utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__.isReactNode)(tooltip) ? { children: tooltip } : tooltip),\n };\n targetProps.id = tooltipId;\n targetProps.children = (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, targetProps.children),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_2__.Tooltip, { ...tooltipProps })));\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Target, { ...targetProps });\n }\n },\n Object.defineProperty(_a, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `withTooltip(${Target.displayName || Target.name})`\n }),\n _a);\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default()(DecoratedComponent, Target);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/withTooltip.tsx?");
36937
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"withTooltip\": () => (/* binding */ withTooltip)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tooltip */ \"./src/renderer/components/tooltip/tooltip.tsx\");\n/* harmony import */ var _utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nfunction withTooltip(Target) {\n var _a;\n const DecoratedComponent = (_a = class extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n // TODO: Remove side-effect to allow deterministic unit testing\n Object.defineProperty(this, \"tooltipId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default()(\"tooltip_target_\")\n });\n }\n render() {\n const { tooltip, tooltipOverrideDisabled, ...targetProps } = this.props;\n if (tooltip) {\n const tooltipId = targetProps.id || this.tooltipId;\n const tooltipProps = {\n targetId: tooltipId,\n tooltipOnParentHover: tooltipOverrideDisabled,\n formatters: { narrow: true },\n ...((0,_utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__.isReactNode)(tooltip) ? { children: tooltip } : tooltip),\n };\n targetProps.id = tooltipId;\n targetProps.children = (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, targetProps.children),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_2__.Tooltip, { ...tooltipProps })));\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Target, { ...targetProps });\n }\n },\n Object.defineProperty(_a, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `withTooltip(${Target.displayName || Target.name})`\n }),\n _a);\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default()(DecoratedComponent, Target);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/withTooltip.tsx?");
36938
36938
 
36939
36939
  /***/ }),
36940
36940
 
@@ -37297,7 +37297,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37297
37297
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37298
37298
 
37299
37299
  "use strict";
37300
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isReactNode\": () => (/* binding */ isReactNode)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Type guard for checking valid react node to use in render\n\nfunction isReactNode(node) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(node)\n || Array.isArray(node) && node.every(isReactNode)\n || node == null\n || typeof node !== \"object\";\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/isReactNode.ts?");
37300
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isReactNode\": () => (/* binding */ isReactNode)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nfunction isReactNode(node) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(node)\n || Array.isArray(node) && node.every(isReactNode)\n || node == null\n || typeof node !== \"object\";\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/isReactNode.ts?");
37301
37301
 
37302
37302
  /***/ }),
37303
37303
 
@@ -40826,7 +40826,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
40826
40826
  /***/ ((module) => {
40827
40827
 
40828
40828
  "use strict";
40829
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"<rootDir>/__mocks__/styleMock.ts\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/injectable\":\"5.2.0\",\"@ogre-tools/injectable-react\":\"5.2.0\",\"@ogre-tools/fp\":\"5.2.0\",\"@sentry/electron\":\"^3.0.6\",\"@sentry/integrations\":\"^6.19.3\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.16\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.1\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.7\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.19.3\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.3\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.43\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.18.0\",\"@typescript-eslint/parser\":\"^5.17.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.9\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.0\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.2\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.4\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.11\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40829
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"identity-obj-proxy\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/fp\":\"5.2.0\",\"@ogre-tools/injectable\":\"5.2.0\",\"@ogre-tools/injectable-react\":\"5.2.0\",\"@sentry/electron\":\"^3.0.6\",\"@sentry/integrations\":\"^6.19.3\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.16\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.1\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.7\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.19.3\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.3\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.43\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.18.0\",\"@typescript-eslint/parser\":\"^5.17.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.1.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.9\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.0\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.2\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.4\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.11\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.8.1\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40830
40830
 
40831
40831
  /***/ }),
40832
40832
 
@@ -40848,7 +40848,7 @@ eval("module.exports = JSON.parse('{\"name\":\"clouds-midnight\",\"base\":\"vs-d
40848
40848
  /***/ ((module) => {
40849
40849
 
40850
40850
  "use strict";
40851
- eval("module.exports = JSON.parse('{\"name\":\"Dark\",\"type\":\"dark\",\"description\":\"Original Lens dark theme\",\"author\":\"Mirantis\",\"monacoTheme\":\"clouds-midnight\",\"colors\":{\"blue\":\"#3d90ce\",\"magenta\":\"#c93dce\",\"golden\":\"#ffc63d\",\"halfGray\":\"#87909c80\",\"primary\":\"#3d90ce\",\"textColorPrimary\":\"#8e9297\",\"textColorSecondary\":\"#a0a0a0\",\"textColorTertiary\":\"#909ba6\",\"textColorAccent\":\"#ffffff\",\"textColorDimmed\":\"#8e92978c\",\"borderColor\":\"#4c5053\",\"borderFaintColor\":\"#373a3e\",\"mainBackground\":\"#1e2124\",\"secondaryBackground\":\"#1e2125\",\"contentColor\":\"#262b2f\",\"layoutBackground\":\"#2e3136\",\"layoutTabsBackground\":\"#252729\",\"layoutTabsActiveColor\":\"#ffffff\",\"layoutTabsLineColor\":\"#87909c80\",\"sidebarBackground\":\"#36393e\",\"sidebarLogoBackground\":\"#414448\",\"sidebarActiveColor\":\"#ffffff\",\"sidebarSubmenuActiveColor\":\"#ffffff\",\"sidebarItemHoverBackground\":\"#3a3e44\",\"buttonPrimaryBackground\":\"#3d90ce\",\"buttonDefaultBackground\":\"#414448\",\"buttonLightBackground\":\"#f1f1f1\",\"buttonAccentBackground\":\"#e85555\",\"buttonDisabledBackground\":\"#808080\",\"tableBgcStripe\":\"#2a2d33\",\"tableBgcSelected\":\"#383c42\",\"tableHeaderBackground\":\"#262b2f\",\"tableHeaderBorderWidth\":\"1px\",\"tableHeaderBorderColor\":\"#36393e\",\"tableHeaderColor\":\"#ffffff\",\"tableSelectedRowColor\":\"#ffffff\",\"helmLogoBackground\":\"#ffffff\",\"helmImgBackground\":\"#414448\",\"helmStableRepo\":\"#3d90ce\",\"helmIncubatorRepo\":\"#ff7043\",\"helmDescriptionHr\":\"#41474a\",\"helmDescriptionBlockquoteColor\":\"#bbb\",\"helmDescriptionBlockquoteBorder\":\"#8a8f93\",\"helmDescriptionBlockquoteBackground\":\"#3b4348\",\"helmDescriptionHeaders\":\"#3e4147\",\"helmDescriptionH6\":\"#6a737d\",\"helmDescriptionTdBorder\":\"#47494a\",\"helmDescriptionTrBackground\":\"#1c2125\",\"helmDescriptionCodeBackground\":\"#ffffff1a\",\"helmDescriptionPreBackground\":\"#1b1f21\",\"helmDescriptionPreColor\":\"#b4b5b4\",\"colorSuccess\":\"#43a047\",\"colorOk\":\"#4caf50\",\"colorInfo\":\"#3d90ce\",\"colorError\":\"#ce3933\",\"colorSoftError\":\"#e85555\",\"colorWarning\":\"#ff9800\",\"colorVague\":\"#36393e\",\"colorTerminated\":\"#4c5053\",\"dockHeadBackground\":\"#2e3136\",\"dockInfoBackground\":\"#1e2125\",\"dockInfoBorderColor\":\"#303136\",\"dockEditorBackground\":\"#000000\",\"dockEditorTag\":\"#8e97a3\",\"dockEditorKeyword\":\"#ffffff\",\"dockEditorComment\":\"#808080\",\"dockEditorActiveLineBackground\":\"#3a3d41\",\"dockBadgeBackground\":\"#36393e\",\"dockTabBorderColor\":\"#43424d\",\"dockTabActiveBackground\":\"#3a3e45\",\"logsBackground\":\"#000000\",\"logsForeground\":\"#ffffff\",\"logRowHoverBackground\":\"#35373a\",\"terminalBackground\":\"#000000\",\"terminalForeground\":\"#ffffff\",\"terminalCursor\":\"#ffffff\",\"terminalCursorAccent\":\"#000000\",\"terminalSelection\":\"#ffffff77\",\"terminalBlack\":\"#2e3436\",\"terminalRed\":\"#cc0000\",\"terminalGreen\":\"#4e9a06\",\"terminalYellow\":\"#c4a000\",\"terminalBlue\":\"#3465a4\",\"terminalMagenta\":\"#75507b\",\"terminalCyan\":\"#06989a\",\"terminalWhite\":\"#d3d7cf\",\"terminalBrightBlack\":\"#555753\",\"terminalBrightRed\":\"#ef2929\",\"terminalBrightGreen\":\"#8ae234\",\"terminalBrightYellow\":\"#fce94f\",\"terminalBrightBlue\":\"#729fcf\",\"terminalBrightMagenta\":\"#ad7fa8\",\"terminalBrightCyan\":\"#34e2e2\",\"terminalBrightWhite\":\"#eeeeec\",\"dialogTextColor\":\"#87909c\",\"dialogBackground\":\"#ffffff\",\"dialogHeaderBackground\":\"#36393e\",\"dialogFooterBackground\":\"#f4f4f4\",\"drawerTogglerBackground\":\"#2f343a\",\"drawerTitleText\":\"#ffffff\",\"drawerSubtitleBackground\":\"#373a3e\",\"drawerItemNameColor\":\"#87909c\",\"drawerItemValueColor\":\"#a0a0a0\",\"clusterMenuBackground\":\"#252729\",\"clusterMenuBorderColor\":\"#252729\",\"clusterMenuCellBackground\":\"#2e3136\",\"clusterSettingsBackground\":\"#1e2124\",\"addClusterIconColor\":\"#252729\",\"boxShadow\":\"#0000003a\",\"iconActiveColor\":\"#ffffff\",\"iconActiveBackground\":\"#ffffff18\",\"filterAreaBackground\":\"#23272b\",\"chartLiveBarBackground\":\"#00000033\",\"chartStripesColor\":\"#ffffff08\",\"chartCapacityColor\":\"#4c545f\",\"pieChartDefaultColor\":\"#30353a\",\"inputOptionHoverColor\":\"#87909c\",\"inputControlBackground\":\"#1e2125\",\"inputControlBorder\":\"#414448\",\"inputControlHoverBorder\":\"#474a4f\",\"lineProgressBackground\":\"#414448\",\"radioActiveBackground\":\"#36393e\",\"menuActiveBackground\":\"#3d90ce\",\"menuSelectedOptionBgc\":\"#36393e\",\"canvasBackground\":\"#24292e\",\"scrollBarColor\":\"#5f6064\",\"settingsBackground\":\"#262b2e\",\"settingsColor\":\"#909ba6\",\"navSelectedBackground\":\"#262b2e\",\"navHoverColor\":\"#dcddde\",\"hrColor\":\"#ffffff0f\",\"tooltipBackground\":\"#18191c\"}}');\n\n//# sourceURL=webpack://open-lens/./src/renderer/themes/lens-dark.json?");
40851
+ eval("module.exports = JSON.parse('{\"name\":\"Dark\",\"type\":\"dark\",\"description\":\"Original Lens dark theme\",\"author\":\"Mirantis\",\"monacoTheme\":\"clouds-midnight\",\"colors\":{\"blue\":\"#3d90ce\",\"magenta\":\"#c93dce\",\"golden\":\"#ffc63d\",\"halfGray\":\"#87909c80\",\"primary\":\"#3d90ce\",\"textColorPrimary\":\"#8e9297\",\"textColorSecondary\":\"#a0a0a0\",\"textColorTertiary\":\"#909ba6\",\"textColorAccent\":\"#ffffff\",\"textColorDimmed\":\"#8e92978c\",\"borderColor\":\"#4c5053\",\"borderFaintColor\":\"#373a3e\",\"mainBackground\":\"#1e2124\",\"secondaryBackground\":\"#1e2125\",\"contentColor\":\"#262b2f\",\"layoutBackground\":\"#2e3136\",\"layoutTabsBackground\":\"#252729\",\"layoutTabsActiveColor\":\"#ffffff\",\"layoutTabsLineColor\":\"#87909c80\",\"sidebarBackground\":\"#36393e\",\"sidebarLogoBackground\":\"#414448\",\"sidebarActiveColor\":\"#ffffff\",\"sidebarSubmenuActiveColor\":\"#ffffff\",\"sidebarItemHoverBackground\":\"#3a3e44\",\"badgeBackgroundColor\":\"#ffba44\",\"buttonPrimaryBackground\":\"#3d90ce\",\"buttonDefaultBackground\":\"#414448\",\"buttonLightBackground\":\"#f1f1f1\",\"buttonAccentBackground\":\"#e85555\",\"buttonDisabledBackground\":\"#808080\",\"tableBgcStripe\":\"#2a2d33\",\"tableBgcSelected\":\"#383c42\",\"tableHeaderBackground\":\"#262b2f\",\"tableHeaderBorderWidth\":\"1px\",\"tableHeaderBorderColor\":\"#36393e\",\"tableHeaderColor\":\"#ffffff\",\"tableSelectedRowColor\":\"#ffffff\",\"helmLogoBackground\":\"#ffffff\",\"helmImgBackground\":\"#414448\",\"helmStableRepo\":\"#3d90ce\",\"helmIncubatorRepo\":\"#ff7043\",\"helmDescriptionHr\":\"#41474a\",\"helmDescriptionBlockquoteColor\":\"#bbb\",\"helmDescriptionBlockquoteBorder\":\"#8a8f93\",\"helmDescriptionBlockquoteBackground\":\"#3b4348\",\"helmDescriptionHeaders\":\"#3e4147\",\"helmDescriptionH6\":\"#6a737d\",\"helmDescriptionTdBorder\":\"#47494a\",\"helmDescriptionTrBackground\":\"#1c2125\",\"helmDescriptionCodeBackground\":\"#ffffff1a\",\"helmDescriptionPreBackground\":\"#1b1f21\",\"helmDescriptionPreColor\":\"#b4b5b4\",\"colorSuccess\":\"#43a047\",\"colorOk\":\"#4caf50\",\"colorInfo\":\"#3d90ce\",\"colorError\":\"#ce3933\",\"colorSoftError\":\"#e85555\",\"colorWarning\":\"#ff9800\",\"colorVague\":\"#36393e\",\"colorTerminated\":\"#4c5053\",\"dockHeadBackground\":\"#2e3136\",\"dockInfoBackground\":\"#1e2125\",\"dockInfoBorderColor\":\"#303136\",\"dockEditorBackground\":\"#000000\",\"dockEditorTag\":\"#8e97a3\",\"dockEditorKeyword\":\"#ffffff\",\"dockEditorComment\":\"#808080\",\"dockEditorActiveLineBackground\":\"#3a3d41\",\"dockBadgeBackground\":\"#36393e\",\"dockTabBorderColor\":\"#43424d\",\"dockTabActiveBackground\":\"#3a3e45\",\"logsBackground\":\"#000000\",\"logsForeground\":\"#ffffff\",\"logRowHoverBackground\":\"#35373a\",\"terminalBackground\":\"#000000\",\"terminalForeground\":\"#ffffff\",\"terminalCursor\":\"#ffffff\",\"terminalCursorAccent\":\"#000000\",\"terminalSelection\":\"#ffffff77\",\"terminalBlack\":\"#2e3436\",\"terminalRed\":\"#cc0000\",\"terminalGreen\":\"#4e9a06\",\"terminalYellow\":\"#c4a000\",\"terminalBlue\":\"#3465a4\",\"terminalMagenta\":\"#75507b\",\"terminalCyan\":\"#06989a\",\"terminalWhite\":\"#d3d7cf\",\"terminalBrightBlack\":\"#555753\",\"terminalBrightRed\":\"#ef2929\",\"terminalBrightGreen\":\"#8ae234\",\"terminalBrightYellow\":\"#fce94f\",\"terminalBrightBlue\":\"#729fcf\",\"terminalBrightMagenta\":\"#ad7fa8\",\"terminalBrightCyan\":\"#34e2e2\",\"terminalBrightWhite\":\"#eeeeec\",\"dialogTextColor\":\"#87909c\",\"dialogBackground\":\"#ffffff\",\"dialogHeaderBackground\":\"#36393e\",\"dialogFooterBackground\":\"#f4f4f4\",\"drawerTogglerBackground\":\"#2f343a\",\"drawerTitleText\":\"#ffffff\",\"drawerSubtitleBackground\":\"#373a3e\",\"drawerItemNameColor\":\"#87909c\",\"drawerItemValueColor\":\"#a0a0a0\",\"clusterMenuBackground\":\"#252729\",\"clusterMenuBorderColor\":\"#252729\",\"clusterMenuCellBackground\":\"#2e3136\",\"clusterSettingsBackground\":\"#1e2124\",\"addClusterIconColor\":\"#252729\",\"boxShadow\":\"#0000003a\",\"iconActiveColor\":\"#ffffff\",\"iconActiveBackground\":\"#ffffff18\",\"filterAreaBackground\":\"#23272b\",\"chartLiveBarBackground\":\"#00000033\",\"chartStripesColor\":\"#ffffff08\",\"chartCapacityColor\":\"#4c545f\",\"pieChartDefaultColor\":\"#30353a\",\"inputOptionHoverColor\":\"#87909c\",\"inputControlBackground\":\"#1e2125\",\"inputControlBorder\":\"#414448\",\"inputControlHoverBorder\":\"#474a4f\",\"lineProgressBackground\":\"#414448\",\"radioActiveBackground\":\"#36393e\",\"menuActiveBackground\":\"#3d90ce\",\"menuSelectedOptionBgc\":\"#36393e\",\"canvasBackground\":\"#24292e\",\"scrollBarColor\":\"#5f6064\",\"settingsBackground\":\"#262b2e\",\"settingsColor\":\"#909ba6\",\"navSelectedBackground\":\"#262b2e\",\"navHoverColor\":\"#dcddde\",\"hrColor\":\"#ffffff0f\",\"tooltipBackground\":\"#18191c\"}}');\n\n//# sourceURL=webpack://open-lens/./src/renderer/themes/lens-dark.json?");
40852
40852
 
40853
40853
  /***/ }),
40854
40854
 
@@ -40859,7 +40859,7 @@ eval("module.exports = JSON.parse('{\"name\":\"Dark\",\"type\":\"dark\",\"descri
40859
40859
  /***/ ((module) => {
40860
40860
 
40861
40861
  "use strict";
40862
- eval("module.exports = JSON.parse('{\"name\":\"Light\",\"type\":\"light\",\"description\":\"Original Lens light theme\",\"author\":\"Mirantis\",\"monacoTheme\":\"vs\",\"colors\":{\"blue\":\"#3d90ce\",\"magenta\":\"#c93dce\",\"golden\":\"#ffc63d\",\"halfGray\":\"#87909c80\",\"primary\":\"#3d90ce\",\"textColorPrimary\":\"#555555\",\"textColorSecondary\":\"#51575d\",\"textColorTertiary\":\"#555555\",\"textColorAccent\":\"#222222\",\"textColorDimmed\":\"#5557598c\",\"borderColor\":\"#c9cfd3\",\"borderFaintColor\":\"#dfdfdf\",\"mainBackground\":\"#f1f1f1\",\"secondaryBackground\":\"#f2f3f5\",\"contentColor\":\"#ffffff\",\"layoutBackground\":\"#e8e8e8\",\"layoutTabsBackground\":\"#f8f8f8\",\"layoutTabsActiveColor\":\"#333333\",\"layoutTabsLineColor\":\"#87909c80\",\"sidebarLogoBackground\":\"#f1f1f1\",\"sidebarActiveColor\":\"#ffffff\",\"sidebarSubmenuActiveColor\":\"#3d90ce\",\"sidebarBackground\":\"#e8e8e8\",\"sidebarItemHoverBackground\":\"#f0f2f5\",\"buttonPrimaryBackground\":\"#3d90ce\",\"buttonDefaultBackground\":\"#414448\",\"buttonLightBackground\":\"#f1f1f1\",\"buttonAccentBackground\":\"#e85555\",\"buttonDisabledBackground\":\"#808080\",\"tableBgcStripe\":\"#f8f8f8\",\"tableBgcSelected\":\"#f4f5f5\",\"tableHeaderBackground\":\"#f1f1f1\",\"tableHeaderBorderWidth\":\"2px\",\"tableHeaderBorderColor\":\"#3d90ce\",\"tableHeaderColor\":\"#555555\",\"tableSelectedRowColor\":\"#222222\",\"helmLogoBackground\":\"#ffffff\",\"helmImgBackground\":\"#e8e8e8\",\"helmStableRepo\":\"#3d90ce\",\"helmIncubatorRepo\":\"#ff7043\",\"helmDescriptionHr\":\"#dddddd\",\"helmDescriptionBlockquoteColor\":\"#555555\",\"helmDescriptionBlockquoteBorder\":\"#8a8f93\",\"helmDescriptionBlockquoteBackground\":\"#eeeeee\",\"helmDescriptionHeaders\":\"#3e4147\",\"helmDescriptionH6\":\"#6a737d\",\"helmDescriptionTdBorder\":\"#c6c6c6\",\"helmDescriptionTrBackground\":\"#1c2125\",\"helmDescriptionCodeBackground\":\"#ffffff1a\",\"helmDescriptionPreBackground\":\"#eeeeee\",\"helmDescriptionPreColor\":\"#555555\",\"colorSuccess\":\"#206923\",\"colorOk\":\"#399c3d\",\"colorInfo\":\"#2d71a4\",\"colorError\":\"#ce3933\",\"colorSoftError\":\"#e85555\",\"colorWarning\":\"#ff9800\",\"colorVague\":\"#ededed\",\"colorTerminated\":\"#9dabb5\",\"dockHeadBackground\":\"#e8e8e8\",\"dockInfoBackground\":\"#f3f3f3\",\"dockInfoBorderColor\":\"#c9cfd3\",\"dockEditorBackground\":\"#24292e\",\"dockEditorTag\":\"#8e97a3\",\"dockEditorKeyword\":\"#ffffff\",\"dockEditorComment\":\"#808080\",\"dockEditorActiveLineBackground\":\"#3a3d41\",\"dockBadgeBackground\":\"#dedede\",\"dockTabBorderColor\":\"#d5d4de\",\"dockTabActiveBackground\":\"#ffffff\",\"logsBackground\":\"#24292e\",\"logsForeground\":\"#ffffff\",\"logRowHoverBackground\":\"#35373a\",\"terminalBackground\":\"#ffffff\",\"terminalForeground\":\"#2d2d2d\",\"terminalCursor\":\"#2d2d2d\",\"terminalCursorAccent\":\"#ffffff\",\"terminalSelection\":\"#bfbfbf\",\"terminalBlack\":\"#2d2d2d\",\"terminalRed\":\"#cd3734 \",\"terminalGreen\":\"#18cf12\",\"terminalYellow\":\"#acb300\",\"terminalBlue\":\"#3d90ce\",\"terminalMagenta\":\"#c100cd\",\"terminalCyan\":\"#07c4b9\",\"terminalWhite\":\"#d3d7cf\",\"terminalBrightBlack\":\"#a8a8a8\",\"terminalBrightRed\":\"#ff6259\",\"terminalBrightGreen\":\"#5cdb59\",\"terminalBrightYellow\":\"#f8c000\",\"terminalBrightBlue\":\"#008db6\",\"terminalBrightMagenta\":\"#ee55f8\",\"terminalBrightCyan\":\"#50e8df\",\"terminalBrightWhite\":\"#eeeeec\",\"dialogTextColor\":\"#87909c\",\"dialogBackground\":\"#ffffff\",\"dialogHeaderBackground\":\"#36393e\",\"dialogFooterBackground\":\"#f4f4f4\",\"drawerTogglerBackground\":\"#eaeced\",\"drawerTitleText\":\"#ffffff\",\"drawerSubtitleBackground\":\"#f1f1f1\",\"drawerItemNameColor\":\"#727272\",\"drawerItemValueColor\":\"#555555\",\"clusterMenuBackground\":\"#d7d8da\",\"clusterMenuBorderColor\":\"#c9cfd3\",\"clusterMenuCellBackground\":\"#bbbbbb\",\"clusterSettingsBackground\":\"#ffffff\",\"addClusterIconColor\":\"#8d8d8d\",\"boxShadow\":\"#0000003a\",\"iconActiveColor\":\"#ffffff\",\"iconActiveBackground\":\"#a6a6a694\",\"filterAreaBackground\":\"#f7f7f7\",\"chartLiveBarBackground\":\"#00000033\",\"chartStripesColor\":\"#00000009\",\"chartCapacityColor\":\"#cccccc\",\"pieChartDefaultColor\":\"#efefef\",\"inputOptionHoverColor\":\"#ffffff\",\"inputControlBackground\":\"#f6f6f7\",\"inputControlBorder\":\"#cccdcf\",\"inputControlHoverBorder\":\"#b9bbbe\",\"lineProgressBackground\":\"#e8e8e8\",\"radioActiveBackground\":\"#f1f1f1\",\"menuActiveBackground\":\"#3d90ce\",\"menuSelectedOptionBgc\":\"#e8e8e8\",\"canvasBackground\":\"#24292e\",\"scrollBarColor\":\"#bbbbbb\",\"settingsBackground\":\"#ffffff\",\"settingsColor\":\"#555555\",\"navSelectedBackground\":\"#ffffff\",\"navHoverColor\":\"#2e3135\",\"hrColor\":\"#06060714\",\"tooltipBackground\":\"#ffffff\"}}');\n\n//# sourceURL=webpack://open-lens/./src/renderer/themes/lens-light.json?");
40862
+ eval("module.exports = JSON.parse('{\"name\":\"Light\",\"type\":\"light\",\"description\":\"Original Lens light theme\",\"author\":\"Mirantis\",\"monacoTheme\":\"vs\",\"colors\":{\"blue\":\"#3d90ce\",\"magenta\":\"#c93dce\",\"golden\":\"#ffc63d\",\"halfGray\":\"#87909c80\",\"primary\":\"#3d90ce\",\"textColorPrimary\":\"#555555\",\"textColorSecondary\":\"#51575d\",\"textColorTertiary\":\"#555555\",\"textColorAccent\":\"#222222\",\"textColorDimmed\":\"#5557598c\",\"borderColor\":\"#c9cfd3\",\"borderFaintColor\":\"#dfdfdf\",\"mainBackground\":\"#f1f1f1\",\"secondaryBackground\":\"#f2f3f5\",\"contentColor\":\"#ffffff\",\"layoutBackground\":\"#e8e8e8\",\"layoutTabsBackground\":\"#f8f8f8\",\"layoutTabsActiveColor\":\"#333333\",\"layoutTabsLineColor\":\"#87909c80\",\"sidebarLogoBackground\":\"#f1f1f1\",\"sidebarActiveColor\":\"#ffffff\",\"sidebarSubmenuActiveColor\":\"#3d90ce\",\"sidebarBackground\":\"#e8e8e8\",\"sidebarItemHoverBackground\":\"#f0f2f5\",\"badgeBackgroundColor\":\"#ffba44\",\"buttonPrimaryBackground\":\"#3d90ce\",\"buttonDefaultBackground\":\"#414448\",\"buttonLightBackground\":\"#f1f1f1\",\"buttonAccentBackground\":\"#e85555\",\"buttonDisabledBackground\":\"#808080\",\"tableBgcStripe\":\"#f8f8f8\",\"tableBgcSelected\":\"#f4f5f5\",\"tableHeaderBackground\":\"#f1f1f1\",\"tableHeaderBorderWidth\":\"2px\",\"tableHeaderBorderColor\":\"#3d90ce\",\"tableHeaderColor\":\"#555555\",\"tableSelectedRowColor\":\"#222222\",\"helmLogoBackground\":\"#ffffff\",\"helmImgBackground\":\"#e8e8e8\",\"helmStableRepo\":\"#3d90ce\",\"helmIncubatorRepo\":\"#ff7043\",\"helmDescriptionHr\":\"#dddddd\",\"helmDescriptionBlockquoteColor\":\"#555555\",\"helmDescriptionBlockquoteBorder\":\"#8a8f93\",\"helmDescriptionBlockquoteBackground\":\"#eeeeee\",\"helmDescriptionHeaders\":\"#3e4147\",\"helmDescriptionH6\":\"#6a737d\",\"helmDescriptionTdBorder\":\"#c6c6c6\",\"helmDescriptionTrBackground\":\"#1c2125\",\"helmDescriptionCodeBackground\":\"#ffffff1a\",\"helmDescriptionPreBackground\":\"#eeeeee\",\"helmDescriptionPreColor\":\"#555555\",\"colorSuccess\":\"#206923\",\"colorOk\":\"#399c3d\",\"colorInfo\":\"#2d71a4\",\"colorError\":\"#ce3933\",\"colorSoftError\":\"#e85555\",\"colorWarning\":\"#ff9800\",\"colorVague\":\"#ededed\",\"colorTerminated\":\"#9dabb5\",\"dockHeadBackground\":\"#e8e8e8\",\"dockInfoBackground\":\"#f3f3f3\",\"dockInfoBorderColor\":\"#c9cfd3\",\"dockEditorBackground\":\"#24292e\",\"dockEditorTag\":\"#8e97a3\",\"dockEditorKeyword\":\"#ffffff\",\"dockEditorComment\":\"#808080\",\"dockEditorActiveLineBackground\":\"#3a3d41\",\"dockBadgeBackground\":\"#dedede\",\"dockTabBorderColor\":\"#d5d4de\",\"dockTabActiveBackground\":\"#ffffff\",\"logsBackground\":\"#24292e\",\"logsForeground\":\"#ffffff\",\"logRowHoverBackground\":\"#35373a\",\"terminalBackground\":\"#ffffff\",\"terminalForeground\":\"#2d2d2d\",\"terminalCursor\":\"#2d2d2d\",\"terminalCursorAccent\":\"#ffffff\",\"terminalSelection\":\"#bfbfbf\",\"terminalBlack\":\"#2d2d2d\",\"terminalRed\":\"#cd3734 \",\"terminalGreen\":\"#18cf12\",\"terminalYellow\":\"#acb300\",\"terminalBlue\":\"#3d90ce\",\"terminalMagenta\":\"#c100cd\",\"terminalCyan\":\"#07c4b9\",\"terminalWhite\":\"#d3d7cf\",\"terminalBrightBlack\":\"#a8a8a8\",\"terminalBrightRed\":\"#ff6259\",\"terminalBrightGreen\":\"#5cdb59\",\"terminalBrightYellow\":\"#f8c000\",\"terminalBrightBlue\":\"#008db6\",\"terminalBrightMagenta\":\"#ee55f8\",\"terminalBrightCyan\":\"#50e8df\",\"terminalBrightWhite\":\"#eeeeec\",\"dialogTextColor\":\"#87909c\",\"dialogBackground\":\"#ffffff\",\"dialogHeaderBackground\":\"#36393e\",\"dialogFooterBackground\":\"#f4f4f4\",\"drawerTogglerBackground\":\"#eaeced\",\"drawerTitleText\":\"#ffffff\",\"drawerSubtitleBackground\":\"#f1f1f1\",\"drawerItemNameColor\":\"#727272\",\"drawerItemValueColor\":\"#555555\",\"clusterMenuBackground\":\"#d7d8da\",\"clusterMenuBorderColor\":\"#c9cfd3\",\"clusterMenuCellBackground\":\"#bbbbbb\",\"clusterSettingsBackground\":\"#ffffff\",\"addClusterIconColor\":\"#8d8d8d\",\"boxShadow\":\"#0000003a\",\"iconActiveColor\":\"#ffffff\",\"iconActiveBackground\":\"#a6a6a694\",\"filterAreaBackground\":\"#f7f7f7\",\"chartLiveBarBackground\":\"#00000033\",\"chartStripesColor\":\"#00000009\",\"chartCapacityColor\":\"#cccccc\",\"pieChartDefaultColor\":\"#efefef\",\"inputOptionHoverColor\":\"#ffffff\",\"inputControlBackground\":\"#f6f6f7\",\"inputControlBorder\":\"#cccdcf\",\"inputControlHoverBorder\":\"#b9bbbe\",\"lineProgressBackground\":\"#e8e8e8\",\"radioActiveBackground\":\"#f1f1f1\",\"menuActiveBackground\":\"#3d90ce\",\"menuSelectedOptionBgc\":\"#e8e8e8\",\"canvasBackground\":\"#24292e\",\"scrollBarColor\":\"#bbbbbb\",\"settingsBackground\":\"#ffffff\",\"settingsColor\":\"#555555\",\"navSelectedBackground\":\"#ffffff\",\"navHoverColor\":\"#2e3135\",\"hrColor\":\"#06060714\",\"tooltipBackground\":\"#ffffff\"}}');\n\n//# sourceURL=webpack://open-lens/./src/renderer/themes/lens-light.json?");
40863
40863
 
40864
40864
  /***/ })
40865
40865