@k8slens/extensions 5.4.0-git.e8205a64b9.0 → 5.4.0-git.f53892cb46.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 (101) hide show
  1. package/dist/src/common/cluster/authorization-review.injectable.d.ts +13 -0
  2. package/dist/src/common/cluster/cluster.d.ts +11 -21
  3. package/dist/src/common/cluster/list-namespaces.injectable.d.ts +10 -0
  4. package/dist/src/common/cluster-store/allowed-resources.injectable.d.ts +3 -0
  5. package/dist/src/common/cluster-store/{hosted-cluster/hosted-cluster.injectable.d.ts → hosted-cluster.injectable.d.ts} +1 -1
  6. package/dist/src/common/item.store.d.ts +3 -1
  7. package/dist/src/common/k8s-api/kube-api.d.ts +1 -1
  8. package/dist/src/common/k8s-api/kube-object.store.d.ts +3 -1
  9. package/dist/src/common/routes/{apps.d.ts → helm.d.ts} +2 -2
  10. package/dist/src/common/routes/index.d.ts +1 -1
  11. package/dist/src/common/utils/abort-controller.d.ts +8 -0
  12. package/dist/src/common/utils/index.d.ts +1 -0
  13. package/dist/src/common/utils/is-allowed-resource.injectable.d.ts +5 -0
  14. package/dist/src/extensions/extension-api.js +83 -59
  15. package/dist/src/extensions/main-api/k8s-api.d.ts +5 -1
  16. package/dist/src/extensions/renderer-api/k8s-api.d.ts +2 -1
  17. package/dist/src/main/create-cluster/create-cluster.injectable.d.ts +1 -2
  18. package/dist/src/renderer/components/+cluster/sidebar-item.d.ts +6 -0
  19. package/dist/src/renderer/components/+config/route-tabs.injectable.d.ts +4 -0
  20. package/dist/src/renderer/components/+config/route.d.ts +10 -0
  21. package/dist/src/renderer/components/+config/sidebar-item.d.ts +6 -0
  22. package/dist/src/renderer/components/+custom-resources/grouped-custom-resources.injectable.d.ts +5 -0
  23. package/dist/src/renderer/components/+custom-resources/route-tabs.injectable.d.ts +11 -0
  24. package/dist/src/renderer/components/{+apps/index.d.ts → +custom-resources/route.d.ts} +1 -1
  25. package/dist/src/renderer/components/+custom-resources/sidebar-item.d.ts +10 -0
  26. package/dist/src/renderer/components/+events/index.d.ts +0 -1
  27. package/dist/src/renderer/components/+events/sidebar-item.d.ts +6 -0
  28. package/dist/src/renderer/components/+helm/route-tabs.injectable.d.ts +4 -0
  29. package/dist/src/renderer/components/+helm/route.d.ts +10 -0
  30. package/dist/src/renderer/components/+helm/sidebar-item.d.ts +10 -0
  31. package/dist/src/renderer/components/{+apps-helm-charts → +helm-charts}/helm-chart-details.d.ts +0 -0
  32. package/dist/src/renderer/components/{+apps-helm-charts → +helm-charts}/helm-chart.store.d.ts +0 -0
  33. package/dist/src/renderer/components/{+apps-helm-charts → +helm-charts}/helm-charts.d.ts +0 -0
  34. package/dist/src/renderer/components/{+apps-helm-charts → +helm-charts}/index.d.ts +0 -0
  35. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/create-release/create-release.injectable.d.ts +0 -0
  36. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/delete-release/delete-release.injectable.d.ts +0 -0
  37. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/index.d.ts +0 -0
  38. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-details/release-details.d.ts +0 -0
  39. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-details/release-details.injectable.d.ts +0 -0
  40. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-details/release-route-parameters.injectable.d.ts +0 -0
  41. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-details/release-values.injectable.d.ts +0 -0
  42. package/dist/src/renderer/components/+helm-releases/release-details/release.injectable.d.ts +3 -0
  43. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-details/user-supplied-values-are-shown.injectable.d.ts +0 -0
  44. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-menu.d.ts +0 -0
  45. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-rollback-dialog-model/release-rollback-dialog-model.d.ts +0 -0
  46. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-rollback-dialog-model/release-rollback-dialog-model.injectable.d.ts +0 -0
  47. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/release-rollback-dialog.d.ts +0 -0
  48. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/releases.d.ts +0 -0
  49. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/releases.injectable.d.ts +0 -0
  50. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/removable-releases.d.ts +0 -0
  51. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/removable-releases.injectable.d.ts +0 -0
  52. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/rollback-release/rollback-release.injectable.d.ts +0 -0
  53. package/dist/src/renderer/components/{+apps-releases → +helm-releases}/update-release/update-release.injectable.d.ts +0 -0
  54. package/dist/src/renderer/components/+namespaces/index.d.ts +0 -1
  55. package/dist/src/renderer/components/+namespaces/route.d.ts +20 -0
  56. package/dist/src/renderer/components/+namespaces/sidebar-item.d.ts +6 -0
  57. package/dist/src/renderer/components/+network/route-tabs.injectable.d.ts +4 -0
  58. package/dist/src/renderer/components/+network/{network.d.ts → route.d.ts} +4 -4
  59. package/dist/src/renderer/components/+network/sidebar-item.d.ts +10 -0
  60. package/dist/src/renderer/components/+nodes/{node-details-resources.d.ts → details-resources.d.ts} +1 -1
  61. package/dist/src/renderer/components/+nodes/{node-details.d.ts → details.d.ts} +1 -1
  62. package/dist/src/renderer/components/+nodes/{nodes.d.ts → route.d.ts} +1 -1
  63. package/dist/src/renderer/components/+nodes/sidebar-item.d.ts +6 -0
  64. package/dist/src/renderer/components/+preferences/kubeconfig-syncs.d.ts +1 -1
  65. package/dist/src/renderer/components/+storage/route-tabs.injectable.d.ts +4 -0
  66. package/dist/src/renderer/components/+storage/{storage.d.ts → route.d.ts} +4 -4
  67. package/dist/src/renderer/components/+storage/sidebar-item.d.ts +6 -0
  68. package/dist/src/renderer/components/+user-management/route-tabs.injectable.d.ts +4 -0
  69. package/dist/src/renderer/components/+user-management/{user-management.d.ts → route.d.ts} +3 -5
  70. package/dist/src/renderer/components/+user-management/sidebar-item.d.ts +6 -0
  71. package/dist/src/renderer/components/+workloads/route-tabs.injectable.d.ts +4 -0
  72. package/dist/src/renderer/components/+workloads/{workloads.d.ts → route.d.ts} +4 -4
  73. package/dist/src/renderer/components/+workloads/sidebar-item.d.ts +10 -0
  74. package/dist/src/renderer/components/+workloads-overview/overview-statuses.d.ts +3 -1
  75. package/dist/src/renderer/components/+workloads-overview/workloads.d.ts +18 -0
  76. package/dist/src/renderer/components/+workloads-overview/workloads.injectable.d.ts +16 -0
  77. package/dist/src/renderer/components/dock/upgrade-chart/view.d.ts +1 -1
  78. package/dist/src/renderer/components/item-object-list/content.d.ts +1 -1
  79. package/dist/src/renderer/components/item-object-list/list-layout.d.ts +1 -2
  80. package/dist/src/renderer/components/layout/sidebar.d.ts +10 -4
  81. package/dist/src/renderer/components/layout/tab-routes-sidebar-items.d.ts +9 -0
  82. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  83. package/dist/src/renderer/create-cluster/create-cluster.injectable.d.ts +1 -2
  84. package/dist/src/renderer/initializers/workload-events.d.ts +10 -0
  85. package/dist/src/renderer/kube-watch-api/kube-watch-api.d.ts +2 -1
  86. package/dist/src/renderer/kube-watch-api/subscribe-stores.injectable.d.ts +1 -1
  87. package/dist/src/renderer/port-forward/port-forward-store/port-forward-store.d.ts +1 -1
  88. package/package.json +1 -1
  89. package/dist/src/common/utils/allowed-resource.d.ts +0 -6
  90. package/dist/src/renderer/components/+apps/apps.d.ts +0 -10
  91. package/dist/src/renderer/components/+apps-releases/release-details/release.injectable.d.ts +0 -4
  92. package/dist/src/renderer/components/+config/config.d.ts +0 -10
  93. package/dist/src/renderer/components/+config/index.d.ts +0 -5
  94. package/dist/src/renderer/components/+custom-resources/custom-resources.d.ts +0 -10
  95. package/dist/src/renderer/components/+namespaces/namespaces.d.ts +0 -14
  96. package/dist/src/renderer/components/+network/index.d.ts +0 -5
  97. package/dist/src/renderer/components/+nodes/index.d.ts +0 -6
  98. package/dist/src/renderer/components/+storage/index.d.ts +0 -5
  99. package/dist/src/renderer/components/+user-management/index.d.ts +0 -5
  100. package/dist/src/renderer/components/+workloads/index.d.ts +0 -6
  101. package/dist/src/renderer/components/+workloads/workloads.stores.d.ts +0 -8
@@ -2,7 +2,11 @@
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
- export { isAllowedResource } from "../../common/utils/allowed-resource";
5
+ /**
6
+ * @deprecated This function never works
7
+ * @returns false
8
+ */
9
+ export declare function isAllowedResource(...args: any[]): boolean;
6
10
  export { ResourceStack } from "../../common/k8s/resource-stack";
7
11
  export { apiManager } from "../../common/k8s-api/api-manager";
8
12
  export { KubeApi, forCluster, forRemoteCluster } from "../../common/k8s-api/kube-api";
@@ -2,7 +2,8 @@
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
- export { isAllowedResource } from "../../common/utils/allowed-resource";
5
+ import type { KubeResource } from "../../common/rbac";
6
+ export declare function isAllowedResource(resource: KubeResource | KubeResource[]): boolean;
6
7
  export { ResourceStack } from "../../common/k8s/resource-stack";
7
8
  export { apiManager } from "../../common/k8s-api/api-manager";
8
9
  export { KubeObjectStore } from "../../common/k8s-api/kube-object.store";
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@ogre-tools/injectable" />
2
- import type { ClusterModel } from "../../common/cluster-types";
3
2
  import { Cluster } from "../../common/cluster/cluster";
4
- declare const createClusterInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<(model: ClusterModel) => Cluster, void>, (model: ClusterModel) => Cluster, void>;
3
+ declare const createClusterInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<(model: import("../../common/cluster-types").ClusterModel) => Cluster, void>, (model: import("../../common/cluster-types").ClusterModel) => Cluster, void>;
5
4
  export default createClusterInjectable;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface ClusterSidebarItemProps {
3
+ }
4
+ export declare const ClusterSidebarItem: React.ForwardRefExoticComponent<ClusterSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const configRoutesInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default configRoutesInjectable;
@@ -0,0 +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";
6
+ export interface ConfigRouteProps {
7
+ }
8
+ export declare const ConfigRoute: React.ForwardRefExoticComponent<ConfigRouteProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface ConfigSidebarItemProps {
3
+ }
4
+ export declare const ConfigSidebarItem: React.ForwardRefExoticComponent<ConfigSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,5 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import { IComputedValue } from "mobx";
3
+ import type { CustomResourceDefinition } from "../../../common/k8s-api/endpoints";
4
+ declare const groupedCustomResourceDefinitionsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<IComputedValue<Map<string, CustomResourceDefinition[]>>, unknown>, IComputedValue<Map<string, CustomResourceDefinition[]>>, unknown>;
5
+ export default groupedCustomResourceDefinitionsInjectable;
@@ -0,0 +1,11 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import { IComputedValue } from "mobx";
3
+ import type { TabLayoutRoute } from "../layout/tab-layout";
4
+ export interface CustomResourceTabLayoutRoute extends Omit<TabLayoutRoute, "component"> {
5
+ id: string;
6
+ }
7
+ export interface CustomResourceGroupTabLayoutRoute extends CustomResourceTabLayoutRoute {
8
+ subRoutes?: CustomResourceTabLayoutRoute[];
9
+ }
10
+ declare const customResourcesRouteTabsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<IComputedValue<CustomResourceGroupTabLayoutRoute[]>, unknown>, IComputedValue<CustomResourceGroupTabLayoutRoute[]>, unknown>;
11
+ export default customResourcesRouteTabsInjectable;
@@ -2,4 +2,4 @@
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
- export * from "./apps";
5
+ export declare const CustomResourcesRoute: () => JSX.Element;
@@ -0,0 +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";
6
+ export interface CustomResourcesSidebarItemProps {
7
+ }
8
+ export declare const CustomResourcesSidebarItem: React.ForwardRefExoticComponent<CustomResourcesSidebarItemProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -2,5 +2,4 @@
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
- export * from "./events";
6
5
  export * from "./event-details";
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface EventsSidebarItemProps {
3
+ }
4
+ export declare const EventsSidebarItem: React.ForwardRefExoticComponent<EventsSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const helmRoutesInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default helmRoutesInjectable;
@@ -0,0 +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";
6
+ export interface HelmRouteProps {
7
+ }
8
+ export declare const HelmRoute: React.ForwardRefExoticComponent<HelmRouteProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -0,0 +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";
6
+ export interface HelmSidebarItemProps {
7
+ }
8
+ export declare const HelmSidebarItem: React.ForwardRefExoticComponent<HelmSidebarItemProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const releaseInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<import("../../../../common/k8s-api/endpoints/helm-releases.api").HelmRelease>, unknown>, import("mobx").IComputedValue<import("../../../../common/k8s-api/endpoints/helm-releases.api").HelmRelease>, unknown>;
3
+ export default releaseInjectable;
@@ -2,6 +2,5 @@
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
- export * from "./namespaces";
6
5
  export * from "./namespace-details";
7
6
  export * from "./add-namespace-dialog";
@@ -0,0 +1,20 @@
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 "./namespaces.scss";
6
+ import React from "react";
7
+ import type { RouteComponentProps } from "react-router";
8
+ import type { NamespaceStore } from "./namespace-store/namespace.store";
9
+ import type { NamespacesRouteParams } from "../../../common/routes";
10
+ export interface NamespacesRouteProps extends RouteComponentProps<NamespacesRouteParams> {
11
+ }
12
+ interface Dependencies {
13
+ namespaceStore: NamespaceStore;
14
+ openAddNamespaceDialog: () => void;
15
+ }
16
+ export declare const NonInjectedNamespacesRoute: ({ namespaceStore, openAddNamespaceDialog }: Dependencies & NamespacesRouteProps) => JSX.Element;
17
+ export declare const NamespacesRoute: React.ForwardRefExoticComponent<NamespacesRouteProps & React.RefAttributes<any> & {
18
+ children?: React.ReactNode;
19
+ }>;
20
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface NamespacesSidebarItemProps {
3
+ }
4
+ export declare const NamespacesSidebarItem: React.ForwardRefExoticComponent<NamespacesSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const networkRouteTabsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default networkRouteTabsInjectable;
@@ -4,8 +4,8 @@
4
4
  */
5
5
  import "./network.scss";
6
6
  import React from "react";
7
- import { TabLayoutRoute } from "../layout/tab-layout";
8
- export declare class Network extends React.Component {
9
- static get tabRoutes(): TabLayoutRoute[];
10
- render(): JSX.Element;
7
+ export interface NetworksRouteProps {
11
8
  }
9
+ export declare const NetworkRoute: React.ForwardRefExoticComponent<NetworksRouteProps & React.RefAttributes<any> & {
10
+ children?: React.ReactNode;
11
+ }>;
@@ -0,0 +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";
6
+ export interface NetworkSidebarItemProps {
7
+ }
8
+ export declare const NetworkSidebarItem: React.ForwardRefExoticComponent<NetworkSidebarItemProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -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 "./node-details-resources.scss";
5
+ import "./details-resources.scss";
6
6
  import React from "react";
7
7
  import type { Node } from "../../../common/k8s-api/endpoints";
8
8
  interface Props {
@@ -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 "./node-details.scss";
5
+ import "./details.scss";
6
6
  import React from "react";
7
7
  import type { KubeObjectDetailsProps } from "../kube-object-details";
8
8
  import { Node } from "../../../common/k8s-api/endpoints";
@@ -9,7 +9,7 @@ import { INodeMetrics, Node } from "../../../common/k8s-api/endpoints/nodes.api"
9
9
  import type { NodesRouteParams } from "../../../common/routes";
10
10
  interface Props extends RouteComponentProps<NodesRouteParams> {
11
11
  }
12
- export declare class Nodes extends React.Component<Props> {
12
+ export declare class NodesRoute extends React.Component<Props> {
13
13
  metrics: Partial<INodeMetrics>;
14
14
  private metricsWatcher;
15
15
  constructor(props: Props);
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface NodeSidebarItemProps {
3
+ }
4
+ export declare const NodesSidebarItem: React.ForwardRefExoticComponent<NodeSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -18,7 +18,7 @@ export declare class KubeconfigSyncs extends React.Component {
18
18
  componentDidMount(): Promise<void>;
19
19
  get syncsList(): Entry[] | undefined;
20
20
  onPick: (filePaths: string[]) => Promise<void>;
21
- getIconName(entry: Entry): "folder" | "description" | "help_outline";
21
+ getIconName(entry: Entry): "folder" | "help_outline" | "description";
22
22
  renderEntry: (entry: Entry) => JSX.Element;
23
23
  renderEntries(): JSX.Element;
24
24
  renderSyncButtons(): JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const storageRouteTabsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default storageRouteTabsInjectable;
@@ -4,8 +4,8 @@
4
4
  */
5
5
  import "./storage.scss";
6
6
  import React from "react";
7
- import { TabLayoutRoute } from "../layout/tab-layout";
8
- export declare class Storage extends React.Component {
9
- static get tabRoutes(): TabLayoutRoute[];
10
- render(): JSX.Element;
7
+ export interface StorageRouteProps {
11
8
  }
9
+ export declare const StorageRoute: React.ForwardRefExoticComponent<StorageRouteProps & React.RefAttributes<any> & {
10
+ children?: React.ReactNode;
11
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface StorageSidebarItemProps {
3
+ }
4
+ export declare const StorageSidebarItem: React.ForwardRefExoticComponent<StorageSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const userManagementRouteTabsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default userManagementRouteTabsInjectable;
@@ -4,8 +4,6 @@
4
4
  */
5
5
  import "./user-management.scss";
6
6
  import React from "react";
7
- import { TabLayoutRoute } from "../layout/tab-layout";
8
- export declare class UserManagement extends React.Component {
9
- static get tabRoutes(): TabLayoutRoute[];
10
- render(): JSX.Element;
11
- }
7
+ export declare const UserManagementRoute: React.ForwardRefExoticComponent<React.RefAttributes<any> & {
8
+ children?: React.ReactNode;
9
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface UserManagementSidebarItemProps {
3
+ }
4
+ export declare const UserManagementSidebarItem: React.ForwardRefExoticComponent<UserManagementSidebarItemProps & React.RefAttributes<any> & {
5
+ children?: React.ReactNode;
6
+ }>;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { TabLayoutRoute } from "../layout/tab-layout";
3
+ declare const workloadsRouteTabsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>, import("mobx").IComputedValue<TabLayoutRoute[]>, unknown>;
4
+ export default workloadsRouteTabsInjectable;
@@ -4,8 +4,8 @@
4
4
  */
5
5
  import "./workloads.scss";
6
6
  import React from "react";
7
- import { TabLayoutRoute } from "../layout/tab-layout";
8
- export declare class Workloads extends React.Component {
9
- static get tabRoutes(): TabLayoutRoute[];
10
- render(): JSX.Element;
7
+ export interface WorkloadsRouteProps {
11
8
  }
9
+ export declare const WorkloadsRoute: React.ForwardRefExoticComponent<WorkloadsRouteProps & React.RefAttributes<any> & {
10
+ children?: React.ReactNode;
11
+ }>;
@@ -0,0 +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";
6
+ export interface WorkloadSidebarItemProps {
7
+ }
8
+ export declare const WorkloadsSidebarItem: React.ForwardRefExoticComponent<WorkloadSidebarItemProps & React.RefAttributes<any> & {
9
+ children?: React.ReactNode;
10
+ }>;
@@ -4,6 +4,8 @@
4
4
  */
5
5
  import "./overview-statuses.scss";
6
6
  import React from "react";
7
- export declare const OverviewStatuses: React.ForwardRefExoticComponent<React.RefAttributes<any> & {
7
+ export interface OverviewStatusesProps {
8
+ }
9
+ export declare const OverviewStatuses: React.ForwardRefExoticComponent<OverviewStatusesProps & React.RefAttributes<any> & {
8
10
  children?: React.ReactNode;
9
11
  }>;
@@ -0,0 +1,18 @@
1
+ import type { KubeResource } from "../../../common/rbac";
2
+ import type { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
3
+ import type { KubeObject } from "../../../common/k8s-api/kube-object";
4
+ import type { NamespaceStore } from "../+namespaces/namespace-store/namespace.store";
5
+ import type { IsAllowedResource } from "../../../common/utils/is-allowed-resource.injectable";
6
+ interface Dependencies {
7
+ workloadStores: Map<KubeResource, KubeObjectStore<KubeObject>>;
8
+ isAllowedResource: IsAllowedResource;
9
+ namespaceStore: NamespaceStore;
10
+ }
11
+ export declare const workloads: ({ workloadStores, isAllowedResource, namespaceStore, }: Dependencies) => import("mobx").IComputedValue<{
12
+ resource: KubeResource;
13
+ href: string;
14
+ amountOfItems: number;
15
+ status: Record<string, number>;
16
+ title: string;
17
+ }[]>;
18
+ export {};
@@ -0,0 +1,16 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { KubeResource } from "../../../common/rbac";
3
+ declare const workloadsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<{
4
+ resource: KubeResource;
5
+ href: string;
6
+ amountOfItems: number;
7
+ status: Record<string, number>;
8
+ title: string;
9
+ }[]>, unknown>, import("mobx").IComputedValue<{
10
+ resource: KubeResource;
11
+ href: string;
12
+ amountOfItems: number;
13
+ status: Record<string, number>;
14
+ title: string;
15
+ }[]>, unknown>;
16
+ export default workloadsInjectable;
@@ -6,7 +6,7 @@ import "./upgrade-chart.scss";
6
6
  import React from "react";
7
7
  import type { DockTab } from "../dock/store";
8
8
  import type { UpgradeChartTabStore } from "./store";
9
- import { IChartVersion } from "../../+apps-helm-charts/helm-chart.store";
9
+ import { IChartVersion } from "../../+helm-charts/helm-chart.store";
10
10
  import type { HelmRelease, IReleaseUpdateDetails, IReleaseUpdatePayload } from "../../../../common/k8s-api/endpoints/helm-releases.api";
11
11
  import { SelectOption } from "../../select";
12
12
  import { IAsyncComputed } from "@ogre-tools/injectable-react";
@@ -43,7 +43,7 @@ export declare class ItemListLayoutContent<I extends ItemObject> extends React.C
43
43
  constructor(props: ItemListLayoutContentProps<I>);
44
44
  get failedToLoad(): boolean;
45
45
  getRow(uid: string): JSX.Element;
46
- removeItemsDialog(): void;
46
+ removeItemsDialog(selectedItems: I[]): void;
47
47
  renderNoItems(): JSX.Element;
48
48
  renderItems(): JSX.Element[];
49
49
  renderTableHeader(): JSX.Element;
@@ -10,7 +10,6 @@ import { IClassName, StorageHelper } from "../../utils";
10
10
  import type { AddRemoveButtonsProps } from "../add-remove-buttons";
11
11
  import type { ItemObject, ItemStore } from "../../../common/item.store";
12
12
  import type { SearchInputUrlProps } from "../input";
13
- import { Filter } from "./page-filters.store";
14
13
  import type { NamespaceStore } from "../+namespaces/namespace-store/namespace.store";
15
14
  export declare type SearchFilter<I extends ItemObject> = (item: I) => string | number | (string | number)[];
16
15
  export declare type SearchFilters<I extends ItemObject> = Record<string, SearchFilter<I>>;
@@ -77,7 +76,7 @@ declare class NonInjectedItemListLayout<I extends ItemObject> extends React.Comp
77
76
  private loadStores;
78
77
  get showFilters(): boolean;
79
78
  set showFilters(showFilters: boolean);
80
- get filters(): Filter[];
79
+ get filters(): import("./page-filters.store").Filter[];
81
80
  toggleFilters(): void;
82
81
  get isReady(): boolean;
83
82
  renderFilters(): JSX.Element;
@@ -2,11 +2,17 @@
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 type { TabLayoutRoute } from "./tab-layout";
5
6
  import React from "react";
6
- interface Props {
7
+ import { ClusterPageMenuRegistration } from "../../../extensions/registries";
8
+ interface SidebarProps {
7
9
  className?: string;
8
10
  }
9
- export declare const Sidebar: React.ForwardRefExoticComponent<Props & React.RefAttributes<any> & {
10
- children?: React.ReactNode;
11
- }>;
11
+ export declare class Sidebar extends React.Component<SidebarProps> {
12
+ static displayName: string;
13
+ getTabLayoutRoutes(menu: ClusterPageMenuRegistration): TabLayoutRoute[];
14
+ renderRegisteredMenus(): JSX.Element[];
15
+ get clusterEntity(): import("../../api/catalog-entity").CatalogEntity<import("../../../common/catalog").CatalogEntityMetadata, import("../../../common/catalog").CatalogEntityStatus, import("../../../common/catalog").CatalogEntitySpec>;
16
+ render(): JSX.Element;
17
+ }
12
18
  export {};
@@ -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
+ import type { TabLayoutRoute } from "./tab-layout";
6
+ export interface SidebarTreeProps {
7
+ routes: TabLayoutRoute[];
8
+ }
9
+ export declare const TabRoutesSidebarItems: ({ routes }: SidebarTreeProps) => JSX.Element;
@@ -13,5 +13,5 @@ interface Props extends SwitchProps {
13
13
  /**
14
14
  * @deprecated Use <Switch/> instead from "../switch.tsx".
15
15
  */
16
- export declare const Switcher: React.ComponentType<Pick<Props, "name" | "id" | "title" | "value" | "size" | "key" | "type" | "resource" | "role" | "color" | "className" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "hidden" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
16
+ export declare const Switcher: React.ComponentType<Pick<Props, "name" | "id" | "title" | "value" | "size" | "key" | "type" | "resource" | "color" | "className" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "hidden" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
17
17
  export {};
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@ogre-tools/injectable" />
2
- import type { ClusterModel } from "../../common/cluster-types";
3
2
  import { Cluster } from "../../common/cluster/cluster";
4
- declare const createClusterInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<(model: ClusterModel) => Cluster, void>, (model: ClusterModel) => Cluster, void>;
3
+ declare const createClusterInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<(model: import("../../common/cluster-types").ClusterModel) => Cluster, void>, (model: import("../../common/cluster-types").ClusterModel) => Cluster, void>;
5
4
  export default createClusterInjectable;