@k8slens/extensions 5.5.0-git.ff119dabf7.0 → 5.5.1

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 (71) hide show
  1. package/dist/src/common/catalog/catalog-entity.d.ts +11 -1
  2. package/dist/src/common/catalog-entities/kubernetes-cluster.d.ts +1 -1
  3. package/dist/src/common/k8s-api/__tests__/kube-object.store.test.d.ts +5 -0
  4. package/dist/src/common/k8s-api/endpoints/nodes.api.d.ts +2 -0
  5. package/dist/src/common/k8s-api/kube-object.store.d.ts +11 -9
  6. package/dist/src/common/user-store/preferences-helpers.d.ts +0 -1
  7. package/dist/src/common/user-store/user-store.d.ts +0 -1
  8. package/dist/src/common/utils/collection-functions.d.ts +4 -0
  9. package/dist/src/common/utils/index.d.ts +1 -0
  10. package/dist/src/common/utils/readonly.d.ts +6 -0
  11. package/dist/src/common/utils/type-narrowing.d.ts +5 -0
  12. package/dist/src/common/vars/base-bundled-binaries-dir.injectable.d.ts +3 -0
  13. package/dist/src/common/vars/bundled-binaries-normalized-arch.injectable.d.ts +3 -0
  14. package/dist/src/common/vars/bundled-resources-dir.injectable.d.ts +3 -0
  15. package/dist/src/common/vars/is-production.injectable.d.ts +3 -0
  16. package/dist/src/common/vars/normalized-platform.injectable.d.ts +3 -0
  17. package/dist/src/common/vars.d.ts +6 -8
  18. package/dist/src/extensions/common-api/registrations.d.ts +2 -1
  19. package/dist/src/extensions/extension-api.js +660 -778
  20. package/dist/src/extensions/lens-renderer-extension.d.ts +3 -1
  21. package/dist/src/extensions/renderer-api/components.d.ts +7 -1
  22. package/dist/src/main/kubectl/binary-name.injectable.d.ts +3 -0
  23. package/dist/src/main/kubectl/bundled-binary-path.injectable.d.ts +3 -0
  24. package/dist/src/main/kubectl/kubectl.d.ts +18 -15
  25. package/dist/src/main/kubectl/normalized-arch.injectable.d.ts +3 -0
  26. package/dist/src/main/menu/menu.d.ts +1 -6
  27. package/dist/src/main/tray/tray.d.ts +2 -2
  28. package/dist/src/renderer/catalog/normalize-menu-item.injectable.d.ts +10 -0
  29. package/dist/src/renderer/components/+catalog/catalog-entity-drawer-menu.d.ts +2 -9
  30. package/dist/src/renderer/components/+extensions/attempt-install-by-info.injectable.d.ts +9 -0
  31. package/dist/src/renderer/components/+extensions/confirm-uninstall-extension.injectable.d.ts +5 -0
  32. package/dist/src/renderer/components/+extensions/install-from-input/install-from-input.d.ts +1 -1
  33. package/dist/src/renderer/components/+namespaces/namespace-select-filter-model/namespace-select-filter-model.d.ts +1 -1
  34. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/details.d.ts +2 -9
  35. package/dist/src/renderer/components/+user-management/+role-bindings/details.d.ts +2 -8
  36. package/dist/src/renderer/components/+workloads-cronjobs/cron-job-menu.d.ts +8 -1
  37. package/dist/src/renderer/components/+workloads-deployments/deployment-menu.d.ts +8 -1
  38. package/dist/src/renderer/components/animate/animate.d.ts +2 -0
  39. package/dist/src/renderer/components/confirm-dialog/confirm-dialog.d.ts +1 -12
  40. package/dist/src/renderer/components/confirm-dialog/confirm.injectable.d.ts +5 -0
  41. package/dist/src/renderer/components/confirm-dialog/open.injectable.d.ts +5 -0
  42. package/dist/src/renderer/components/confirm-dialog/state.injectable.d.ts +4 -0
  43. package/dist/src/renderer/components/confirm-dialog/with-confirm.injectable.d.ts +9 -0
  44. package/dist/src/renderer/components/hotbar/hotbar-icon.d.ts +2 -1
  45. package/dist/src/renderer/components/icon/icon.d.ts +59 -1
  46. package/dist/src/renderer/components/item-object-list/content.d.ts +1 -14
  47. package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/get-kube-object-menu-items.d.ts +1 -1
  48. package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-items.injectable.d.ts +1 -1
  49. package/dist/src/renderer/components/kube-object-menu/dependencies/static-kube-object-menu-items.d.ts +31 -0
  50. package/dist/src/renderer/components/kube-object-menu/{dependencies/kube-object-menu-items/kube-object-menu-registration.d.ts → kube-object-menu-registration.d.ts} +1 -1
  51. package/dist/src/renderer/components/kube-object-menu/kube-object-menu.d.ts +2 -1
  52. package/dist/src/renderer/components/kube-object-menu/on-context-menu-open.injectable.d.ts +6 -0
  53. package/dist/src/renderer/components/layout/sidebar-cluster.d.ts +1 -2
  54. package/dist/src/renderer/components/menu/menu-actions.d.ts +13 -13
  55. package/dist/src/renderer/components/menu/menu.d.ts +1 -0
  56. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  57. package/dist/src/renderer/kube-object/handler.d.ts +36 -0
  58. package/dist/src/renderer/kube-object/handlers.injectable.d.ts +4 -0
  59. package/dist/src/renderer/kube-object/static-handlers.d.ts +6 -0
  60. package/dist/src/renderer/navigation/helpers.d.ts +3 -0
  61. package/dist/src/renderer/navigation/navigate.injectable.d.ts +5 -0
  62. package/dist/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.d.ts +2 -2
  63. package/dist/src/renderer/theme.store.d.ts +5 -7
  64. package/package.json +6 -3
  65. package/dist/src/common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable.d.ts +0 -3
  66. package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.d.ts +0 -19
  67. package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.injectable.d.ts +0 -3
  68. package/dist/src/renderer/components/+extensions/confirm-uninstall-extension/confirm-uninstall-extension.d.ts +0 -7
  69. package/dist/src/renderer/components/+extensions/confirm-uninstall-extension/confirm-uninstall-extension.injectable.d.ts +0 -3
  70. package/dist/src/renderer/components/+workloads-statefulsets/stateful-set-menu.d.ts +0 -3
  71. package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/static-kube-object-menu-items.d.ts +0 -40
@@ -17,9 +17,10 @@ import type { AppPreferenceRegistration } from "../renderer/components/+preferen
17
17
  import type { AdditionalCategoryColumnRegistration } from "../renderer/components/+catalog/custom-category-columns";
18
18
  import type { CustomCategoryViewRegistration } from "../renderer/components/+catalog/custom-views";
19
19
  import type { StatusBarRegistration } from "../renderer/components/status-bar/status-bar-registration";
20
- import type { KubeObjectMenuRegistration } from "../renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-registration";
20
+ import type { KubeObjectMenuRegistration } from "../renderer/components/kube-object-menu/kube-object-menu-registration";
21
21
  import type { WorkloadsOverviewDetailRegistration } from "../renderer/components/+workloads-overview/workloads-overview-detail-registration";
22
22
  import type { KubeObjectStatusRegistration } from "../renderer/components/kube-object-status-icon/kube-object-status-registration";
23
+ import type { KubeObjectHandlerRegistration } from "../renderer/kube-object/handler";
23
24
  export declare class LensRendererExtension extends LensExtension {
24
25
  globalPages: registries.PageRegistration[];
25
26
  clusterPages: registries.PageRegistration[];
@@ -38,6 +39,7 @@ export declare class LensRendererExtension extends LensExtension {
38
39
  topBarItems: TopBarRegistration[];
39
40
  additionalCategoryColumns: AdditionalCategoryColumnRegistration[];
40
41
  customCategoryViews: CustomCategoryViewRegistration[];
42
+ kubeObjectHandlers: KubeObjectHandlerRegistration[];
41
43
  navigate<P extends object>(pageId?: string, params?: P): Promise<void>;
42
44
  /**
43
45
  * Defines if extension is enabled for a given cluster. This method is only
@@ -1,3 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog";
1
3
  export * from "../../renderer/components/layout/main-layout";
2
4
  export * from "../../renderer/components/layout/setting-layout";
3
5
  export * from "../../renderer/components/layout/page-layout";
@@ -12,6 +14,11 @@ export * from "../../renderer/components/switch";
12
14
  export * from "../../renderer/components/input/input";
13
15
  export declare const CommandOverlay: import("../../renderer/components/command-palette/command-overlay.injectable").CommandOverlay;
14
16
  export type { CategoryColumnRegistration, AdditionalCategoryColumnRegistration, } from "../../renderer/components/+catalog/custom-category-columns";
17
+ export type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps, };
18
+ export declare const ConfirmDialog: import("react").FunctionComponent<ConfirmDialogProps> & {
19
+ open: import("../../renderer/components/confirm-dialog/open.injectable").OpenConfirmDialog;
20
+ confirm: import("../../renderer/components/confirm-dialog/confirm.injectable").Confirm;
21
+ };
15
22
  export * from "../../renderer/components/icon";
16
23
  export * from "../../renderer/components/tooltip";
17
24
  export * from "../../renderer/components/tabs";
@@ -19,7 +26,6 @@ export * from "../../renderer/components/table";
19
26
  export * from "../../renderer/components/badge";
20
27
  export * from "../../renderer/components/drawer";
21
28
  export * from "../../renderer/components/dialog";
22
- export * from "../../renderer/components/confirm-dialog";
23
29
  export * from "../../renderer/components/line-progress";
24
30
  export * from "../../renderer/components/menu";
25
31
  export * from "../../renderer/components/notifications";
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const kubectlBinaryNameInjectable: import("@ogre-tools/injectable").Injectable<"kubectl.exe" | "kubectl", unknown, void>;
3
+ export default kubectlBinaryNameInjectable;
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const bundledKubectlBinaryPathInjectable: import("@ogre-tools/injectable").Injectable<string, unknown, void>;
3
+ export default bundledKubectlBinaryPathInjectable;
@@ -2,25 +2,29 @@
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
- interface Dependencies {
6
- directoryForKubectlBinaries: string;
7
- userStore: {
8
- kubectlBinariesPath?: string;
9
- downloadBinariesPath?: string;
10
- downloadKubectlBinaries: boolean;
11
- downloadMirror: string;
5
+ export interface KubectlDependencies {
6
+ readonly directoryForKubectlBinaries: string;
7
+ readonly normalizedDownloadPlatform: "darwin" | "linux" | "windows";
8
+ readonly normalizedDownloadArch: "amd64" | "arm64" | "386";
9
+ readonly kubectlBinaryName: string;
10
+ readonly bundledKubectlBinaryPath: string;
11
+ readonly baseBundeledBinariesDirectory: string;
12
+ readonly userStore: {
13
+ readonly kubectlBinariesPath?: string;
14
+ readonly downloadBinariesPath?: string;
15
+ readonly downloadKubectlBinaries: boolean;
16
+ readonly downloadMirror: string;
12
17
  };
13
18
  }
14
19
  export declare class Kubectl {
15
- private dependencies;
16
- kubectlVersion: string;
17
- protected directory: string;
18
- protected url: string;
19
- protected path: string;
20
- protected dirname: string;
20
+ protected readonly dependencies: KubectlDependencies;
21
+ readonly kubectlVersion: string;
22
+ protected readonly url: string;
23
+ protected readonly path: string;
24
+ protected readonly dirname: string;
21
25
  static readonly bundledKubectlVersion: string;
22
26
  static invalidBundle: boolean;
23
- constructor(dependencies: Dependencies, clusterVersion: string);
27
+ constructor(dependencies: KubectlDependencies, clusterVersion: string);
24
28
  getBundledPath(): string;
25
29
  getPathFromPreferences(): string;
26
30
  protected getDownloadDir(): string;
@@ -33,4 +37,3 @@ export declare class Kubectl {
33
37
  protected writeInitScripts(): Promise<void>;
34
38
  protected getDownloadMirror(): string;
35
39
  }
36
- export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const kubectlDownloadingNormalizedArchInjectable: import("@ogre-tools/injectable").Injectable<"arm64" | "amd64" | "386", unknown, void>;
3
+ export default kubectlDownloadingNormalizedArchInjectable;
@@ -1,11 +1,6 @@
1
- /**
2
- * Copyright (c) OpenLens Authors. All rights reserved.
3
- * Licensed under MIT License. See LICENSE in root directory for more information.
4
- */
5
- import type { BrowserWindow } from "electron";
6
1
  import type { IComputedValue } from "mobx";
7
2
  import type { MenuItemOpts } from "./application-menu-items.injectable";
8
3
  export declare type MenuTopId = "mac" | "file" | "edit" | "view" | "help";
9
4
  export declare function initMenu(applicationMenuItems: IComputedValue<MenuItemOpts[]>): import("mobx").IReactionDisposer;
10
- export declare function showAbout(browserWindow: BrowserWindow): void;
5
+ export declare function showAbout(): void;
11
6
  export declare function buildMenu(applicationMenuItems: MenuItemOpts[]): void;
@@ -5,7 +5,7 @@
5
5
  import { Tray } from "electron";
6
6
  import type { IComputedValue } from "mobx";
7
7
  import type { WindowManager } from "../window-manager";
8
+ import type { Disposer } from "../../common/utils";
8
9
  import type { TrayMenuRegistration } from "./tray-menu-registration";
9
10
  export declare let tray: Tray;
10
- export declare function getTrayIcon(): string;
11
- export declare function initTray(windowManager: WindowManager, trayMenuItems: IComputedValue<TrayMenuRegistration[]>, navigateToPreferences: () => void): () => void;
11
+ export declare function initTray(windowManager: WindowManager, trayMenuItems: IComputedValue<TrayMenuRegistration[]>, navigateToPreferences: () => void): Disposer;
@@ -0,0 +1,10 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { CatalogEntityContextMenu } from "../api/catalog-entity";
3
+ export interface NormalizedCatalogEntityContextMenu {
4
+ title: string;
5
+ icon?: string;
6
+ onClick: () => void;
7
+ }
8
+ export declare type NormalizeCatalogEntityContextMenu = (menuItem: CatalogEntityContextMenu) => NormalizedCatalogEntityContextMenu;
9
+ declare const normalizeCatalogEntityContextMenuInjectable: import("@ogre-tools/injectable").Injectable<NormalizeCatalogEntityContextMenu, unknown, void>;
10
+ export default normalizeCatalogEntityContextMenuInjectable;
@@ -4,15 +4,8 @@
4
4
  */
5
5
  import React from "react";
6
6
  import type { MenuActionsProps } from "../menu/menu-actions";
7
- import type { CatalogEntity, CatalogEntityContextMenu } from "../../api/catalog-entity";
7
+ import type { CatalogEntity } from "../../api/catalog-entity";
8
8
  export interface CatalogEntityDrawerMenuProps<T extends CatalogEntity> extends MenuActionsProps {
9
9
  entity: T;
10
10
  }
11
- export declare class CatalogEntityDrawerMenu<T extends CatalogEntity> extends React.Component<CatalogEntityDrawerMenuProps<T>> {
12
- private contextMenu;
13
- constructor(props: CatalogEntityDrawerMenuProps<T>);
14
- componentDidMount(): void;
15
- onMenuItemClick(menuItem: CatalogEntityContextMenu): void;
16
- getMenuItems(entity: T): React.ReactChild[];
17
- render(): JSX.Element;
18
- }
11
+ export declare const CatalogEntityDrawerMenu: <Entity extends CatalogEntity<import("../../../common/catalog").CatalogEntityMetadata, import("../../../common/catalog").CatalogEntityStatus, import("../../../common/catalog").CatalogEntitySpec>>(props: CatalogEntityDrawerMenuProps<Entity>) => React.ReactElement;
@@ -0,0 +1,9 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ export interface ExtensionInfo {
3
+ name: string;
4
+ version?: string;
5
+ requireConfirmation?: boolean;
6
+ }
7
+ export declare type AttemptInstallByInfo = (info: ExtensionInfo) => Promise<void>;
8
+ declare const attemptInstallByInfoInjectable: import("@ogre-tools/injectable").Injectable<AttemptInstallByInfo, unknown, void>;
9
+ export default attemptInstallByInfoInjectable;
@@ -0,0 +1,5 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { InstalledExtension } from "../../../extensions/extension-discovery/extension-discovery";
3
+ export declare type ConfirmUninstallExtension = (ext: InstalledExtension) => Promise<void>;
4
+ declare const confirmUninstallExtensionInjectable: import("@ogre-tools/injectable").Injectable<ConfirmUninstallExtension, unknown, void>;
5
+ export default confirmUninstallExtensionInjectable;
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import type { ExtendableDisposer } from "../../../../common/utils";
6
6
  import type { InstallRequest } from "../attempt-install/install-request";
7
- import type { ExtensionInfo } from "../attempt-install-by-info/attempt-install-by-info";
7
+ import type { ExtensionInfo } from "../attempt-install-by-info.injectable";
8
8
  import type { ExtensionInstallationStateStore } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
9
9
  interface Dependencies {
10
10
  attemptInstall: (request: InstallRequest, disposer?: ExtendableDisposer) => Promise<void>;
@@ -13,7 +13,7 @@ export declare class NamespaceSelectFilterModel {
13
13
  isSelected: (namespace: string | string[]) => boolean;
14
14
  selectSingle: (namespace: string) => void;
15
15
  selectAll: () => void;
16
- onChange: ([{ value: namespace }]: SelectOption[]) => void;
16
+ onChange: ([selected]: SelectOption<string>[]) => void;
17
17
  onClick: () => void;
18
18
  private isMultiSelection;
19
19
  onKeyDown: (event: React.KeyboardEvent) => void;
@@ -4,15 +4,8 @@
4
4
  */
5
5
  import "./details.scss";
6
6
  import React from "react";
7
- import type { ClusterRoleBinding, ClusterRoleBindingSubject } from "../../../../common/k8s-api/endpoints";
8
- import { ObservableHashSet } from "../../../utils";
7
+ import type { ClusterRoleBinding } from "../../../../common/k8s-api/endpoints";
9
8
  import type { KubeObjectDetailsProps } from "../../kube-object-details";
10
9
  export interface ClusterRoleBindingDetailsProps extends KubeObjectDetailsProps<ClusterRoleBinding> {
11
10
  }
12
- export declare class ClusterRoleBindingDetails extends React.Component<ClusterRoleBindingDetailsProps> {
13
- selectedSubjects: ObservableHashSet<ClusterRoleBindingSubject>;
14
- constructor(props: ClusterRoleBindingDetailsProps);
15
- componentDidMount(): Promise<void>;
16
- removeSelectedSubjects(): void;
17
- render(): JSX.Element;
18
- }
11
+ export declare const ClusterRoleBindingDetails: React.FunctionComponent<ClusterRoleBindingDetailsProps>;
@@ -4,14 +4,8 @@
4
4
  */
5
5
  import "./details.scss";
6
6
  import React from "react";
7
- import type { RoleBinding, RoleBindingSubject } from "../../../../common/k8s-api/endpoints";
7
+ import type { RoleBinding } from "../../../../common/k8s-api/endpoints";
8
8
  import type { KubeObjectDetailsProps } from "../../kube-object-details";
9
- import { ObservableHashSet } from "../../../../common/utils/hash-set";
10
9
  export interface RoleBindingDetailsProps extends KubeObjectDetailsProps<RoleBinding> {
11
10
  }
12
- export declare class RoleBindingDetails extends React.Component<RoleBindingDetailsProps> {
13
- selectedSubjects: ObservableHashSet<RoleBindingSubject>;
14
- componentDidMount(): Promise<void>;
15
- removeSelectedSubjects: () => void;
16
- render(): JSX.Element;
17
- }
11
+ export declare const RoleBindingDetails: React.FunctionComponent<RoleBindingDetailsProps>;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import React from "react";
1
6
  import type { KubeObjectMenuProps } from "../kube-object-menu";
2
7
  import type { CronJob } from "../../../common/k8s-api/endpoints";
3
- export declare function CronJobMenu(props: KubeObjectMenuProps<CronJob>): JSX.Element;
8
+ export interface CronJobMenuProps extends KubeObjectMenuProps<CronJob> {
9
+ }
10
+ export declare const CronJobMenu: React.FunctionComponent<CronJobMenuProps>;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import React from "react";
1
6
  import type { KubeObjectMenuProps } from "../kube-object-menu";
2
7
  import type { Deployment } from "../../../common/k8s-api/endpoints";
3
- export declare function DeploymentMenu(props: KubeObjectMenuProps<Deployment>): JSX.Element;
8
+ export interface DeploymentMenuProps extends KubeObjectMenuProps<Deployment> {
9
+ }
10
+ export declare const DeploymentMenu: React.FunctionComponent<DeploymentMenuProps>;
@@ -22,7 +22,9 @@ export declare class Animate extends React.Component<AnimateProps> {
22
22
  };
23
23
  constructor(props: AnimateProps);
24
24
  get contentElem(): React.ReactElement<React.HTMLAttributes<any>, string | React.JSXElementConstructor<any>>;
25
+ private toggle;
25
26
  componentDidMount(): void;
27
+ componentDidUpdate(prevProps: Readonly<AnimateProps>): void;
26
28
  enter(): void;
27
29
  leave(): void;
28
30
  resetAfterLeaveDuration(): void;
@@ -21,15 +21,4 @@ export interface ConfirmDialogBooleanParams {
21
21
  okButtonProps?: Partial<ButtonProps>;
22
22
  cancelButtonProps?: Partial<ButtonProps>;
23
23
  }
24
- export declare class ConfirmDialog extends React.Component<ConfirmDialogProps> {
25
- isSaving: boolean;
26
- constructor(props: ConfirmDialogProps);
27
- static open(params: ConfirmDialogParams): void;
28
- static confirm(params: ConfirmDialogBooleanParams): Promise<boolean>;
29
- static defaultParams: Partial<ConfirmDialogParams>;
30
- get params(): ConfirmDialogParams;
31
- ok: () => Promise<void>;
32
- onClose: () => void;
33
- close: () => Promise<void>;
34
- render(): JSX.Element;
35
- }
24
+ export declare const ConfirmDialog: React.FunctionComponent<ConfirmDialogProps>;
@@ -0,0 +1,5 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { ConfirmDialogBooleanParams } from "./confirm-dialog";
3
+ export declare type Confirm = (params: ConfirmDialogBooleanParams) => Promise<boolean>;
4
+ declare const confirmInjectable: import("@ogre-tools/injectable").Injectable<Confirm, unknown, void>;
5
+ export default confirmInjectable;
@@ -0,0 +1,5 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { ConfirmDialogParams } from "./confirm-dialog";
3
+ export declare type OpenConfirmDialog = (params: ConfirmDialogParams) => void;
4
+ declare const openConfirmDialogInjectable: import("@ogre-tools/injectable").Injectable<OpenConfirmDialog, unknown, void>;
5
+ export default openConfirmDialogInjectable;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { ConfirmDialogParams } from ".";
3
+ declare const confirmDialogStateInjectable: import("@ogre-tools/injectable").Injectable<import("mobx").IObservableValue<ConfirmDialogParams>, unknown, void>;
4
+ export default confirmDialogStateInjectable;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ /// <reference types="@ogre-tools/injectable" />
6
+ import type { ConfirmDialogParams } from "./confirm-dialog";
7
+ export declare type WithConfirmation = (params: ConfirmDialogParams) => () => void;
8
+ declare const withConfirmationInjectable: import("@ogre-tools/injectable").Injectable<WithConfirmation, unknown, void>;
9
+ export default withConfirmationInjectable;
@@ -2,6 +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 React from "react";
5
6
  import type { CatalogEntityContextMenu } from "../../../common/catalog";
6
7
  import type { AvatarProps } from "../avatar";
7
8
  export interface HotbarIconProps extends AvatarProps {
@@ -14,4 +15,4 @@ export interface HotbarIconProps extends AvatarProps {
14
15
  disabled?: boolean;
15
16
  tooltip?: string;
16
17
  }
17
- export declare const HotbarIcon: ({ menuItems, size, tooltip, ...props }: HotbarIconProps) => JSX.Element;
18
+ export declare const HotbarIcon: React.FunctionComponent<HotbarIconProps>;
@@ -6,21 +6,79 @@ import "./icon.scss";
6
6
  import React from "react";
7
7
  import type { LocationDescriptor } from "history";
8
8
  import type { TooltipDecoratorProps } from "../tooltip";
9
- export interface IconProps extends React.HTMLAttributes<any>, TooltipDecoratorProps {
9
+ export interface BaseIconProps {
10
+ /**
11
+ * One of the names from https://material.io/icons/
12
+ */
10
13
  material?: string;
14
+ /**
15
+ * Either an SVG XML or one of the following names
16
+ * - configuration
17
+ * - crane
18
+ * - group
19
+ * - helm
20
+ * - install
21
+ * - kube
22
+ * - lens-logo
23
+ * - license
24
+ * - logo-lens
25
+ * - logout
26
+ * - nodes
27
+ * - push_off
28
+ * - push_pin
29
+ * - spinner
30
+ * - ssh
31
+ * - storage
32
+ * - terminal
33
+ * - user
34
+ * - users
35
+ * - wheel
36
+ * - workloads
37
+ */
11
38
  svg?: string;
39
+ /**
40
+ * render icon as NavLink from react-router-dom
41
+ */
12
42
  link?: LocationDescriptor;
43
+ /**
44
+ * render icon as hyperlink
45
+ */
13
46
  href?: string;
47
+ /**
48
+ * The icon size (css units)
49
+ */
14
50
  size?: string | number;
51
+ /**
52
+ * A pre-defined icon-size
53
+ */
15
54
  small?: boolean;
55
+ /**
56
+ * A pre-defined icon-size
57
+ */
16
58
  smallest?: boolean;
59
+ /**
60
+ * A pre-defined icon-size
61
+ */
17
62
  big?: boolean;
63
+ /**
64
+ * apply active-state styles
65
+ */
18
66
  active?: boolean;
67
+ /**
68
+ * indicates that icon is interactive and highlight it on focus/hover
69
+ */
19
70
  interactive?: boolean;
71
+ /**
72
+ * Allow focus to the icon to show `.active` styles. Only applicable if {@link IconProps.interactive} is `true`.
73
+ *
74
+ * @default true
75
+ */
20
76
  focusable?: boolean;
21
77
  sticker?: boolean;
22
78
  disabled?: boolean;
23
79
  }
80
+ export interface IconProps extends React.HTMLAttributes<any>, TooltipDecoratorProps, BaseIconProps {
81
+ }
24
82
  export declare class Icon extends React.PureComponent<IconProps> {
25
83
  private readonly ref;
26
84
  static defaultProps: IconProps;
@@ -40,17 +40,4 @@ export interface ItemListLayoutContentProps<I extends ItemObject> {
40
40
  */
41
41
  failedToLoadMessage?: React.ReactNode;
42
42
  }
43
- export declare class ItemListLayoutContent<I extends ItemObject> extends React.Component<ItemListLayoutContentProps<I>> {
44
- constructor(props: ItemListLayoutContentProps<I>);
45
- get failedToLoad(): boolean;
46
- renderRow(item: I): JSX.Element;
47
- getTableRow(item: I): JSX.Element;
48
- getRow(uid: string): JSX.Element;
49
- removeItemsDialog(selectedItems: I[]): void;
50
- renderNoItems(): JSX.Element;
51
- renderItems(): JSX.Element[];
52
- renderTableHeader(): JSX.Element;
53
- render(): JSX.Element;
54
- showColumn({ id: columnId, showWithColumn }: TableCellProps): boolean;
55
- renderColumnVisibilityMenu(): JSX.Element;
56
- }
43
+ export declare const ItemListLayoutContent: <I extends ItemObject>(props: ItemListLayoutContentProps<I>) => React.ReactElement;
@@ -4,5 +4,5 @@ interface Dependencies {
4
4
  extensions: LensRendererExtension[];
5
5
  kubeObject: KubeObject;
6
6
  }
7
- export declare const getKubeObjectMenuItems: ({ extensions, kubeObject, }: Dependencies) => (typeof import("../../../+user-management/+service-accounts/service-account-menu").ServiceAccountMenu | typeof import("../../../+workloads-cronjobs/cron-job-menu").CronJobMenu | typeof import("../../../+workloads-deployments/deployment-menu").DeploymentMenu | typeof import("../../../+workloads-replicasets/replica-set-menu").ReplicaSetMenu | typeof import("../../../+workloads-statefulsets/stateful-set-menu").StatefulSetMenu | import("react").ComponentType<import("./kube-object-menu-registration").KubeObjectMenuItemProps>)[];
7
+ export declare const getKubeObjectMenuItems: ({ extensions, kubeObject, }: Dependencies) => (typeof import("../../../+user-management/+service-accounts/service-account-menu").ServiceAccountMenu | typeof import("../../../+workloads-replicasets/replica-set-menu").ReplicaSetMenu | import("react").ComponentType<import("../../kube-object-menu-registration").KubeObjectMenuItemProps>)[];
8
8
  export {};
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  /// <reference types="@ogre-tools/injectable" />
3
3
  import type { KubeObject } from "../../../../../common/k8s-api/kube-object";
4
- declare const kubeObjectMenuItemsInjectable: import("@ogre-tools/injectable").Injectable<(typeof import("../../../+user-management/+service-accounts/service-account-menu").ServiceAccountMenu | typeof import("../../../+workloads-cronjobs/cron-job-menu").CronJobMenu | typeof import("../../../+workloads-deployments/deployment-menu").DeploymentMenu | typeof import("../../../+workloads-replicasets/replica-set-menu").ReplicaSetMenu | typeof import("../../../+workloads-statefulsets/stateful-set-menu").StatefulSetMenu | import("react").ComponentType<import("./kube-object-menu-registration").KubeObjectMenuItemProps>)[], unknown, {
4
+ declare const kubeObjectMenuItemsInjectable: import("@ogre-tools/injectable").Injectable<(typeof import("../../../+user-management/+service-accounts/service-account-menu").ServiceAccountMenu | typeof import("../../../+workloads-replicasets/replica-set-menu").ReplicaSetMenu | import("react").ComponentType<import("../../kube-object-menu-registration").KubeObjectMenuItemProps>)[], unknown, {
5
5
  kubeObject: KubeObject;
6
6
  }>;
7
7
  export default kubeObjectMenuItemsInjectable;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import { ServiceAccountMenu } from "../../+user-management/+service-accounts/service-account-menu";
6
+ import { ReplicaSetMenu } from "../../+workloads-replicasets/replica-set-menu";
7
+ export declare const staticKubeObjectMenuItems: ({
8
+ kind: string;
9
+ apiVersions: string[];
10
+ components: {
11
+ MenuItem: typeof ServiceAccountMenu;
12
+ };
13
+ } | {
14
+ kind: string;
15
+ apiVersions: string[];
16
+ components: {
17
+ MenuItem: import("react").FunctionComponent<import("../../+workloads-cronjobs/cron-job-menu").CronJobMenuProps>;
18
+ };
19
+ } | {
20
+ kind: string;
21
+ apiVersions: string[];
22
+ components: {
23
+ MenuItem: import("react").FunctionComponent<import("../../+workloads-deployments/deployment-menu").DeploymentMenuProps>;
24
+ };
25
+ } | {
26
+ kind: string;
27
+ apiVersions: string[];
28
+ components: {
29
+ MenuItem: typeof ReplicaSetMenu;
30
+ };
31
+ })[];
@@ -3,7 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import type React from "react";
6
- import type { KubeObject } from "../../../../../common/k8s-api/kube-object";
6
+ import type { KubeObject } from "../../../common/k8s-api/kube-object";
7
7
  export interface KubeObjectMenuItemProps {
8
8
  object: KubeObject;
9
9
  toolbar?: boolean;
@@ -2,6 +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 React from "react";
5
6
  import type { KubeObject } from "../../../common/k8s-api/kube-object";
6
7
  import type { MenuActionsProps } from "../menu";
7
8
  export interface KubeObjectMenuProps<TKubeObject extends KubeObject> extends MenuActionsProps {
@@ -9,4 +10,4 @@ export interface KubeObjectMenuProps<TKubeObject extends KubeObject> extends Men
9
10
  editable?: boolean;
10
11
  removable?: boolean;
11
12
  }
12
- export declare function KubeObjectMenu<T extends KubeObject>(props: KubeObjectMenuProps<T>): JSX.Element;
13
+ export declare const KubeObjectMenu: <T extends KubeObject<import("../../../common/k8s-api/kube-object").KubeObjectMetadata, any, any>>(props: KubeObjectMenuProps<T>) => React.ReactElement;
@@ -0,0 +1,6 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { KubeObject } from "../../../common/k8s-api/kube-object";
3
+ import type { KubeObjectOnContextMenuOpenContext } from "../../kube-object/handler";
4
+ export declare type OnKubeObjectContextMenuOpen = (obj: KubeObject, ctx: KubeObjectOnContextMenuOpenContext) => void;
5
+ declare const onKubeObjectContextMenuOpenInjectable: import("@ogre-tools/injectable").Injectable<OnKubeObjectContextMenuOpen, unknown, void>;
6
+ export default onKubeObjectContextMenuOpenInjectable;
@@ -4,8 +4,7 @@
4
4
  */
5
5
  import React from "react";
6
6
  import type { CatalogEntity } from "../../api/catalog-entity";
7
- interface SidebarClusterProps {
7
+ export interface SidebarClusterProps {
8
8
  clusterEntity: CatalogEntity;
9
9
  }
10
10
  export declare const SidebarCluster: React.FunctionComponent<SidebarClusterProps>;
11
- export {};
@@ -11,18 +11,18 @@ export interface MenuActionsProps extends Partial<MenuProps> {
11
11
  toolbar?: boolean;
12
12
  autoCloseOnSelect?: boolean;
13
13
  triggerIcon?: string | IconProps | React.ReactNode;
14
+ /**
15
+ * @deprecated Provide your own remove `<MenuItem>` as part of the `children` passed to this component
16
+ */
14
17
  removeConfirmationMessage?: React.ReactNode | (() => React.ReactNode);
15
- updateAction?(): void;
16
- removeAction?(): void;
17
- onOpen?(): void;
18
- }
19
- export declare class MenuActions extends React.Component<MenuActionsProps> {
20
- static defaultProps: MenuActionsProps;
21
- id: string;
22
- isOpen: boolean;
23
- toggle: () => void;
24
- constructor(props: MenuActionsProps);
25
- remove(): void;
26
- renderTriggerIcon(): JSX.Element;
27
- render(): JSX.Element;
18
+ /**
19
+ * @deprecated Provide your own update `<MenuItem>` as part of the `children` passed to this component
20
+ */
21
+ updateAction?: () => void | Promise<void>;
22
+ /**
23
+ * @deprecated Provide your own remove `<MenuItem>` as part of the `children` passed to this component
24
+ */
25
+ removeAction?: () => void | Promise<void>;
26
+ onOpen?: () => void;
28
27
  }
28
+ export declare const MenuActions: React.FunctionComponent<MenuActionsProps>;
@@ -32,6 +32,7 @@ export interface MenuProps {
32
32
  closeOnScroll?: boolean;
33
33
  position?: MenuPosition;
34
34
  children?: ReactNode;
35
+ animated?: boolean;
35
36
  toggleEvent?: "click" | "contextmenu";
36
37
  }
37
38
  interface State {