@k8slens/extensions 5.5.0-git.0c06619ca9.0 → 5.5.0-git.1a29759bff.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 (292) 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/dist/src/common/utils/autobind.d.ts +1 -1
  44. package/dist/src/common/utils/hash-set.d.ts +2 -1
  45. package/dist/src/common/utils/sort-compare.d.ts +1 -1
  46. package/dist/src/common/utils/tar.d.ts +1 -1
  47. package/dist/src/extensions/extension-api.js +12 -12
  48. package/dist/src/extensions/extension-loader/create-extension-instance/create-extension-instance.d.ts +1 -1
  49. package/dist/src/extensions/extension-loader/extension-loader.d.ts +1 -1
  50. package/dist/src/extensions/lens-extension.d.ts +3 -2
  51. package/dist/src/extensions/lens-renderer-extension.d.ts +2 -2
  52. package/dist/src/extensions/renderer-api/navigation.d.ts +2 -1
  53. package/dist/src/main/app-paths/get-app-paths.d.ts +1 -1
  54. package/dist/src/main/catalog/catalog-entity-registry.d.ts +1 -1
  55. package/dist/src/main/catalog-sources/kubeconfig-sync-manager/kubeconfig-sync-manager.d.ts +2 -2
  56. package/dist/src/main/cluster-manager.d.ts +1 -1
  57. package/dist/src/main/context-handler/context-handler.d.ts +1 -1
  58. package/dist/src/main/ipc/dialog.d.ts +1 -1
  59. package/dist/src/main/k8s-request.d.ts +1 -1
  60. package/dist/src/main/menu/application-menu-items.injectable.d.ts +1 -1
  61. package/dist/src/main/menu/menu.d.ts +2 -2
  62. package/dist/src/main/prometheus/lens.d.ts +2 -1
  63. package/dist/src/main/prometheus/operator.d.ts +2 -1
  64. package/dist/src/main/prometheus/stacklight.d.ts +2 -1
  65. package/dist/src/main/protocol-handler/lens-protocol-router-main/lens-protocol-router-main.d.ts +1 -1
  66. package/dist/src/main/proxy-functions/shell-api-request/shell-api-request.d.ts +1 -1
  67. package/dist/src/main/router/router.injectable.d.ts +2 -1
  68. package/dist/src/main/routes/port-forward/functionality/create-port-forward.injectable.d.ts +2 -1
  69. package/dist/src/main/routes/port-forward/functionality/port-forward.d.ts +1 -1
  70. package/dist/src/main/shell-session/shell-env-modifier/terminal-shell-env-modifiers.d.ts +1 -1
  71. package/dist/src/main/shell-session/shell-session.d.ts +1 -1
  72. package/dist/src/main/tray/tray.d.ts +1 -1
  73. package/dist/src/main/window-manager.d.ts +1 -1
  74. package/dist/src/migrations/cluster-store/3.6.0-beta.1.d.ts +1 -1
  75. package/dist/src/migrations/cluster-store/5.0.0-beta.13.d.ts +1 -1
  76. package/dist/src/migrations/cluster-store/snap.d.ts +1 -1
  77. package/dist/src/migrations/hotbar-store/5.0.0-beta.10.d.ts +1 -1
  78. package/dist/src/migrations/user-store/5.0.3-beta.1.d.ts +1 -1
  79. package/dist/src/renderer/api/catalog-entity-registry.d.ts +1 -1
  80. package/dist/src/renderer/api/terminal-api.d.ts +2 -1
  81. package/dist/src/renderer/app-paths/app-paths.injectable.d.ts +1 -1
  82. package/dist/src/renderer/components/+catalog/__tests__/catalog-category-label.test.d.ts +5 -0
  83. package/dist/src/renderer/components/+catalog/catalog-category-label.d.ts +9 -0
  84. package/dist/src/renderer/components/+catalog/catalog-entity-drawer-menu.d.ts +1 -1
  85. package/dist/src/renderer/components/+catalog/catalog-entity-store/catalog-entity.store.d.ts +1 -1
  86. package/dist/src/renderer/components/+catalog/custom-category-columns.injectable.d.ts +1 -1
  87. package/dist/src/renderer/components/+catalog/custom-views.injectable.d.ts +1 -1
  88. package/dist/src/renderer/components/+catalog/hotbar-toggle-menu-item.d.ts +2 -1
  89. package/dist/src/renderer/components/+cluster/cluster-overview-sidebar-items.injectable.d.ts +1 -1
  90. package/dist/src/renderer/components/+cluster/cluster-overview-store/cluster-overview-store.d.ts +3 -2
  91. package/dist/src/renderer/components/+config/config-sidebar-items.injectable.d.ts +1 -1
  92. package/dist/src/renderer/components/+config-autoscalers/horizontal-pod-auto-scalers-sidebar-items.injectable.d.ts +1 -1
  93. package/dist/src/renderer/components/+config-autoscalers/hpa.store.d.ts +1 -1
  94. package/dist/src/renderer/components/+config-limit-ranges/limit-ranges.store.d.ts +1 -1
  95. package/dist/src/renderer/components/+config-maps/config-maps.store.d.ts +1 -1
  96. package/dist/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.d.ts +1 -1
  97. package/dist/src/renderer/components/+config-resource-quotas/add-quota-dialog.d.ts +2 -2
  98. package/dist/src/renderer/components/+config-resource-quotas/resource-quotas.store.d.ts +1 -1
  99. package/dist/src/renderer/components/+config-secrets/add-secret-dialog.d.ts +1 -1
  100. package/dist/src/renderer/components/+config-secrets/secrets.store.d.ts +1 -1
  101. package/dist/src/renderer/components/+custom-resources/crd-resource-details.d.ts +4 -2
  102. package/dist/src/renderer/components/+custom-resources/crd.store.d.ts +1 -1
  103. package/dist/src/renderer/components/+custom-resources/custom-resource-sidebar-items.injectable.d.ts +1 -1
  104. package/dist/src/renderer/components/+events/event.store.d.ts +1 -1
  105. package/dist/src/renderer/components/+events/events-sidebar-items.injectable.d.ts +1 -1
  106. package/dist/src/renderer/components/+events/events.d.ts +2 -2
  107. package/dist/src/renderer/components/+extensions/attempt-install/attempt-install.d.ts +2 -2
  108. package/dist/src/renderer/components/+extensions/attempt-install/unpack-extension/unpack-extension.d.ts +1 -1
  109. package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.d.ts +1 -1
  110. package/dist/src/renderer/components/+extensions/get-base-registry-url/get-base-registry-url.d.ts +1 -1
  111. package/dist/src/renderer/components/+extensions/install-from-input/install-from-input.d.ts +1 -1
  112. package/dist/src/renderer/components/+extensions/notice.d.ts +1 -1
  113. package/dist/src/renderer/components/+extensions/uninstall-extension/uninstall-extension.d.ts +1 -1
  114. package/dist/src/renderer/components/+helm/helm-sidebar-items.injectable.d.ts +1 -1
  115. package/dist/src/renderer/components/+helm-charts/helm-chart-details.d.ts +1 -1
  116. package/dist/src/renderer/components/+helm-charts/helm-chart.store.d.ts +1 -1
  117. package/dist/src/renderer/components/+helm-releases/create-release/create-release.injectable.d.ts +1 -1
  118. package/dist/src/renderer/components/+helm-releases/delete-release/delete-release.injectable.d.ts +1 -1
  119. package/dist/src/renderer/components/+helm-releases/release-menu.d.ts +1 -1
  120. package/dist/src/renderer/components/+helm-releases/release-rollback-dialog.d.ts +1 -1
  121. package/dist/src/renderer/components/+helm-releases/removable-releases.d.ts +1 -1
  122. package/dist/src/renderer/components/+helm-releases/update-release/update-release.injectable.d.ts +1 -1
  123. package/dist/src/renderer/components/+namespaces/add-namespace-dialog.d.ts +1 -1
  124. package/dist/src/renderer/components/+namespaces/namespace-select-filter.d.ts +1 -1
  125. package/dist/src/renderer/components/+namespaces/namespace-select.d.ts +1 -1
  126. package/dist/src/renderer/components/+namespaces/namespace-store/namespace.store.d.ts +5 -3
  127. package/dist/src/renderer/components/+namespaces/namespaces-sidebar-items.injectable.d.ts +1 -1
  128. package/dist/src/renderer/components/+network/network-sidebar-items.injectable.d.ts +1 -1
  129. package/dist/src/renderer/components/+network-endpoints/endpoint-subset-list.d.ts +1 -1
  130. package/dist/src/renderer/components/+network-endpoints/endpoints.store.d.ts +1 -1
  131. package/dist/src/renderer/components/+network-ingresses/ingress-details.d.ts +2 -1
  132. package/dist/src/renderer/components/+network-ingresses/ingress.store.d.ts +1 -1
  133. package/dist/src/renderer/components/+network-policies/network-policy-details.d.ts +2 -1
  134. package/dist/src/renderer/components/+network-policies/network-policy.store.d.ts +1 -1
  135. package/dist/src/renderer/components/+network-port-forwards/port-forward-details.d.ts +1 -1
  136. package/dist/src/renderer/components/+network-port-forwards/port-forward-menu.d.ts +2 -2
  137. package/dist/src/renderer/components/+network-services/services.store.d.ts +1 -1
  138. package/dist/src/renderer/components/+nodes/nodes-sidebar-items.injectable.d.ts +1 -1
  139. package/dist/src/renderer/components/+nodes/nodes.store.d.ts +1 -1
  140. package/dist/src/renderer/components/+nodes/route.d.ts +1 -1
  141. package/dist/src/renderer/components/+pod-security-policies/pod-security-policies.store.d.ts +1 -1
  142. package/dist/src/renderer/components/+preferences/add-helm-repo-dialog.d.ts +1 -1
  143. package/dist/src/renderer/components/+preferences/app-preferences/get-app-preferences.d.ts +1 -1
  144. package/dist/src/renderer/components/+preferences/extension-settings.d.ts +1 -1
  145. package/dist/src/renderer/components/+preferences/helm-charts.d.ts +2 -2
  146. package/dist/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items.injectable.d.ts +1 -1
  147. package/dist/src/renderer/components/+preferences/removable-item.d.ts +1 -1
  148. package/dist/src/renderer/components/+storage/storage-sidebar-items.injectable.d.ts +1 -1
  149. package/dist/src/renderer/components/+storage-classes/storage-class.store.d.ts +1 -1
  150. package/dist/src/renderer/components/+storage-volume-claims/volume-claim.store.d.ts +1 -1
  151. package/dist/src/renderer/components/+storage-volumes/volumes.store.d.ts +1 -1
  152. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/dialog.d.ts +3 -3
  153. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/store.d.ts +1 -1
  154. package/dist/src/renderer/components/+user-management/+cluster-roles/add-dialog.d.ts +1 -1
  155. package/dist/src/renderer/components/+user-management/+cluster-roles/store.d.ts +1 -1
  156. package/dist/src/renderer/components/+user-management/+role-bindings/dialog.d.ts +3 -3
  157. package/dist/src/renderer/components/+user-management/+role-bindings/store.d.ts +1 -1
  158. package/dist/src/renderer/components/+user-management/+roles/add-dialog.d.ts +1 -1
  159. package/dist/src/renderer/components/+user-management/+roles/store.d.ts +1 -1
  160. package/dist/src/renderer/components/+user-management/+service-accounts/create-dialog.d.ts +1 -1
  161. package/dist/src/renderer/components/+user-management/+service-accounts/details.d.ts +2 -1
  162. package/dist/src/renderer/components/+user-management/+service-accounts/store.d.ts +1 -1
  163. package/dist/src/renderer/components/+user-management/user-management-sidebar-items.injectable.d.ts +1 -1
  164. package/dist/src/renderer/components/+welcome/welcome-menu-items/get-welcome-menu-items.d.ts +1 -1
  165. package/dist/src/renderer/components/+workloads/workloads-sidebar-items.injectable.d.ts +1 -1
  166. package/dist/src/renderer/components/+workloads-cronjobs/cron-job-menu.d.ts +1 -1
  167. package/dist/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.d.ts +2 -2
  168. package/dist/src/renderer/components/+workloads-cronjobs/cronjob.store.d.ts +1 -1
  169. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets.store.d.ts +1 -1
  170. package/dist/src/renderer/components/+workloads-deployments/deployment-menu.d.ts +1 -1
  171. package/dist/src/renderer/components/+workloads-deployments/deployment-replicasets.d.ts +1 -1
  172. package/dist/src/renderer/components/+workloads-deployments/deployment-scale-dialog.d.ts +2 -2
  173. package/dist/src/renderer/components/+workloads-deployments/deployments.store.d.ts +1 -1
  174. package/dist/src/renderer/components/+workloads-jobs/job.store.d.ts +2 -2
  175. package/dist/src/renderer/components/+workloads-overview/workloads/workloads.injectable.d.ts +1 -1
  176. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/ceph-fs.d.ts +1 -1
  177. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/config-map.d.ts +1 -1
  178. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/container-storage-interface.d.ts +1 -1
  179. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/flex-volume.d.ts +1 -1
  180. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.d.ts +1 -1
  181. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/rados-block-device.d.ts +1 -1
  182. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/scale-io.d.ts +1 -1
  183. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/secret.d.ts +1 -1
  184. package/dist/src/renderer/components/+workloads-pods/details/volumes/variants/storage-os.d.ts +1 -1
  185. package/dist/src/renderer/components/+workloads-pods/pod-details-secrets.d.ts +1 -1
  186. package/dist/src/renderer/components/+workloads-pods/pods.d.ts +1 -1
  187. package/dist/src/renderer/components/+workloads-pods/pods.store.d.ts +1 -1
  188. package/dist/src/renderer/components/+workloads-replicasets/replicaset-scale-dialog.d.ts +2 -2
  189. package/dist/src/renderer/components/+workloads-replicasets/replicasets.store.d.ts +1 -1
  190. package/dist/src/renderer/components/+workloads-statefulsets/statefulset-scale-dialog.d.ts +2 -2
  191. package/dist/src/renderer/components/+workloads-statefulsets/statefulset.store.d.ts +1 -1
  192. package/dist/src/renderer/components/avatar/avatar.d.ts +1 -1
  193. package/dist/src/renderer/components/badge/badge.d.ts +1 -1
  194. package/dist/src/renderer/components/button/button.d.ts +3 -2
  195. package/dist/src/renderer/components/chart/bar-chart.d.ts +1 -1
  196. package/dist/src/renderer/components/chart/pie-chart.d.ts +1 -1
  197. package/dist/src/renderer/components/chart/zebra-stripes.plugin.d.ts +3 -3
  198. package/dist/src/renderer/components/cluster-manager/cluster-status.d.ts +1 -1
  199. package/dist/src/renderer/components/cluster-settings/components/cluster-metrics-setting.d.ts +1 -1
  200. package/dist/src/renderer/components/cluster-settings/components/cluster-prometheus-setting.d.ts +2 -2
  201. package/dist/src/renderer/components/command-palette/registered-commands/registered-commands.injectable.d.ts +1 -1
  202. package/dist/src/renderer/components/confirm-dialog/confirm-dialog.d.ts +4 -3
  203. package/dist/src/renderer/components/delete-cluster-dialog/save-config.d.ts +1 -1
  204. package/dist/src/renderer/components/dialog/logs-dialog.d.ts +1 -1
  205. package/dist/src/renderer/components/dock/create-resource/create-resource-tab.injectable.d.ts +1 -1
  206. package/dist/src/renderer/components/dock/create-resource/store.d.ts +2 -1
  207. package/dist/src/renderer/components/dock/create-resource/user-templates.injectable.d.ts +1 -1
  208. package/dist/src/renderer/components/dock/dock/dock-storage.injectable.d.ts +1 -1
  209. package/dist/src/renderer/components/dock/dock/store.d.ts +1 -1
  210. package/dist/src/renderer/components/dock/dock-tab-store/create-dock-tab-store.injectable.d.ts +2 -1
  211. package/dist/src/renderer/components/dock/dock-tab-store/dock-tab.store.d.ts +1 -1
  212. package/dist/src/renderer/components/dock/dock-tab.d.ts +1 -1
  213. package/dist/src/renderer/components/dock/edit-resource/edit-resource-tab.injectable.d.ts +1 -1
  214. package/dist/src/renderer/components/dock/edit-resource/store.d.ts +2 -1
  215. package/dist/src/renderer/components/dock/editor-panel.d.ts +1 -1
  216. package/dist/src/renderer/components/dock/info-panel.d.ts +2 -1
  217. package/dist/src/renderer/components/dock/install-chart/create-install-chart-tab.injectable.d.ts +1 -1
  218. package/dist/src/renderer/components/dock/install-chart/store.d.ts +2 -1
  219. package/dist/src/renderer/components/dock/logs/create-logs-tab.injectable.d.ts +1 -1
  220. package/dist/src/renderer/components/dock/logs/logs-view-model.d.ts +1 -1
  221. package/dist/src/renderer/components/dock/logs/store.d.ts +2 -2
  222. package/dist/src/renderer/components/dock/logs/tab-store.d.ts +2 -1
  223. package/dist/src/renderer/components/dock/terminal/create-terminal-tab.injectable.d.ts +1 -1
  224. package/dist/src/renderer/components/dock/terminal/dock-tab.d.ts +1 -1
  225. package/dist/src/renderer/components/dock/terminal/terminal.d.ts +1 -1
  226. package/dist/src/renderer/components/dock/upgrade-chart/create-upgrade-chart-tab.injectable.d.ts +1 -1
  227. package/dist/src/renderer/components/dock/upgrade-chart/store.d.ts +2 -1
  228. package/dist/src/renderer/components/dock/upgrade-chart/view.d.ts +2 -2
  229. package/dist/src/renderer/components/drawer/drawer-item-labels.d.ts +1 -1
  230. package/dist/src/renderer/components/drawer/drawer.d.ts +1 -1
  231. package/dist/src/renderer/components/editable-list/editable-list.d.ts +1 -1
  232. package/dist/src/renderer/components/error-boundary/error-boundary.d.ts +2 -1
  233. package/dist/src/renderer/components/hotbar/hotbar-cell.d.ts +2 -1
  234. package/dist/src/renderer/components/hotbar/hotbar-entity-icon.d.ts +3 -2
  235. package/dist/src/renderer/components/hotbar/hotbar-icon.d.ts +1 -1
  236. package/dist/src/renderer/components/hotbar/hotbar-menu.d.ts +1 -1
  237. package/dist/src/renderer/components/icon/icon.d.ts +1 -1
  238. package/dist/src/renderer/components/input/drop-file-input.d.ts +1 -1
  239. package/dist/src/renderer/components/input/file-input.d.ts +2 -1
  240. package/dist/src/renderer/components/input/input.d.ts +3 -2
  241. package/dist/src/renderer/components/input/search-input.d.ts +1 -1
  242. package/dist/src/renderer/components/item-object-list/content.d.ts +7 -6
  243. package/dist/src/renderer/components/item-object-list/filter-icon.d.ts +1 -1
  244. package/dist/src/renderer/components/item-object-list/header.d.ts +3 -2
  245. package/dist/src/renderer/components/item-object-list/list-layout.d.ts +3 -2
  246. package/dist/src/renderer/components/item-object-list/page-filters-list.d.ts +1 -1
  247. package/dist/src/renderer/components/kube-object-list-layout/kube-object-list-layout.d.ts +1 -1
  248. package/dist/src/renderer/components/kube-object-menu/kube-object-menu.d.ts +1 -1
  249. package/dist/src/renderer/components/kube-object-meta/kube-object-meta.d.ts +2 -1
  250. package/dist/src/renderer/components/kube-object-status-icon/kube-object-status-icon.d.ts +1 -1
  251. package/dist/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.d.ts +1 -1
  252. package/dist/src/renderer/components/layout/close-button.d.ts +1 -1
  253. package/dist/src/renderer/components/layout/setting-layout.d.ts +1 -1
  254. package/dist/src/renderer/components/layout/sidebar-items.injectable.d.ts +1 -1
  255. package/dist/src/renderer/components/layout/tab-layout.d.ts +3 -2
  256. package/dist/src/renderer/components/layout/wizard-layout.d.ts +1 -1
  257. package/dist/src/renderer/components/line-progress/line-progress.d.ts +1 -1
  258. package/dist/src/renderer/components/menu/menu-actions.d.ts +2 -2
  259. package/dist/src/renderer/components/menu/menu.d.ts +4 -3
  260. package/dist/src/renderer/components/no-items/no-items.d.ts +1 -1
  261. package/dist/src/renderer/components/notifications/notifications.d.ts +1 -1
  262. package/dist/src/renderer/components/resource-metrics/resource-metrics-text.d.ts +1 -1
  263. package/dist/src/renderer/components/select/select.d.ts +2 -1
  264. package/dist/src/renderer/components/slider/slider.d.ts +1 -1
  265. package/dist/src/renderer/components/status-bar/registered-status-bar-items.injectable.d.ts +1 -1
  266. package/dist/src/renderer/components/status-brick/status-brick.d.ts +1 -1
  267. package/dist/src/renderer/components/switch/form-switcher.d.ts +1 -1
  268. package/dist/src/renderer/components/switch/switch.d.ts +1 -1
  269. package/dist/src/renderer/components/switch/switcher.d.ts +2 -2
  270. package/dist/src/renderer/components/table/react-table.d.ts +1 -1
  271. package/dist/src/renderer/components/table/table-cell.d.ts +2 -1
  272. package/dist/src/renderer/components/table/table-row.d.ts +2 -1
  273. package/dist/src/renderer/components/table/table.d.ts +1 -1
  274. package/dist/src/renderer/components/tabs/tabs.d.ts +2 -1
  275. package/dist/src/renderer/components/test-utils/get-application-builder.d.ts +1 -1
  276. package/dist/src/renderer/components/test-utils/renderFor.d.ts +1 -1
  277. package/dist/src/renderer/components/tooltip/tooltip.d.ts +2 -1
  278. package/dist/src/renderer/components/tooltip/withTooltip.d.ts +3 -2
  279. package/dist/src/renderer/components/virtual-list/virtual-list.d.ts +1 -1
  280. package/dist/src/renderer/ipc/index.d.ts +1 -1
  281. package/dist/src/renderer/ipc/register-listeners.d.ts +1 -1
  282. package/dist/src/renderer/kube-watch-api/kube-watch-api.d.ts +1 -1
  283. package/dist/src/renderer/navigation/helpers.d.ts +3 -2
  284. package/dist/src/renderer/navigation/history.d.ts +1 -1
  285. package/dist/src/renderer/port-forward/port-forward-dialog.d.ts +1 -1
  286. package/dist/src/renderer/port-forward/port-forward-store/port-forward-store.d.ts +3 -2
  287. package/dist/src/renderer/routes/all-routes.injectable.d.ts +1 -1
  288. package/dist/src/renderer/routes/sibling-tabs.injectable.d.ts +1 -1
  289. package/dist/src/renderer/utils/isReactNode.d.ts +1 -1
  290. package/dist/src/renderer/utils/rbac.d.ts +1 -1
  291. package/dist/src/renderer/utils/storageHelper.d.ts +1 -1
  292. package/package.json +1 -1
@@ -12069,7 +12069,7 @@ eval("/* eslint-env browser */\n\n/**\n * This is the web browser implementation
12069
12069
  \******************************************/
12070
12070
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12071
12071
 
12072
- eval("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/debug/src/common.js?");
12072
+ eval("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/debug/src/common.js?");
12073
12073
 
12074
12074
  /***/ }),
12075
12075
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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.5\"},\"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.1\",\"@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.15.0\",\"@typescript-eslint/parser\":\"^5.16.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.5.2\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.1\",\"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.3\",\"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.10\",\"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)$\":\"<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.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\",\"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?");
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
 
@@ -4,5 +4,5 @@
4
4
  */
5
5
  import type { LensExtensionConstructor } from "../../lens-extension";
6
6
  import type { InstalledExtension } from "../../extension-discovery/extension-discovery";
7
- import { LensExtensionDependencies } from "../../lens-extension-set-dependencies";
7
+ import type { LensExtensionDependencies } from "../../lens-extension-set-dependencies";
8
8
  export declare const createExtensionInstance: (dependencies: LensExtensionDependencies) => (ExtensionClass: LensExtensionConstructor, extension: InstalledExtension) => import("../../lens-extension").LensExtension;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import { Disposer } from "../../common/utils";
5
+ import type { Disposer } from "../../common/utils";
6
6
  import type { KubernetesCluster } from "../common-api/catalog";
7
7
  import type { InstalledExtension } from "../extension-discovery/extension-discovery";
8
8
  import type { LensExtension, LensExtensionConstructor, LensExtensionId } from "../lens-extension";
@@ -5,8 +5,9 @@
5
5
  import type { InstalledExtension } from "./extension-discovery/extension-discovery";
6
6
  import type { ProtocolHandlerRegistration } from "./registries";
7
7
  import type { PackageJson } from "type-fest";
8
- import { Disposer } from "../common/utils";
9
- import { LensExtensionDependencies, setLensExtensionDependencies } from "./lens-extension-set-dependencies";
8
+ import type { Disposer } from "../common/utils";
9
+ import type { LensExtensionDependencies } from "./lens-extension-set-dependencies";
10
+ import { setLensExtensionDependencies } from "./lens-extension-set-dependencies";
10
11
  export declare type LensExtensionId = string;
11
12
  export declare type LensExtensionConstructor = new (...args: ConstructorParameters<typeof LensExtension>) => LensExtension;
12
13
  export interface LensExtensionManifest extends PackageJson {
@@ -6,8 +6,8 @@ import type * as registries from "./registries";
6
6
  import { LensExtension } from "./lens-extension";
7
7
  import type { CatalogEntity } from "../common/catalog";
8
8
  import type { Disposer } from "../common/utils";
9
- import { EntityFilter } from "../renderer/api/catalog-entity-registry";
10
- import { CategoryFilter } from "../renderer/api/catalog-category-registry";
9
+ import type { EntityFilter } from "../renderer/api/catalog-entity-registry";
10
+ import type { CategoryFilter } from "../renderer/api/catalog-category-registry";
11
11
  import type { TopBarRegistration } from "../renderer/components/layout/top-bar/top-bar-registration";
12
12
  import type { KubernetesCluster } from "../common/catalog-entities";
13
13
  import type { WelcomeMenuRegistration } from "../renderer/components/+welcome/welcome-menu-items/welcome-menu-registration";