@k8slens/extensions 5.6.0-git.c54d59f205.0 → 5.6.0-git.d0ed4e46b1.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 (36) hide show
  1. package/dist/src/common/cluster-store/allowed-resources-injection-token.d.ts +6 -0
  2. package/dist/src/common/front-end-routing/{route-injection-token.d.ts → front-end-route-injection-token.d.ts} +1 -1
  3. package/dist/src/common/front-end-routing/navigate-to-route-injection-token.d.ts +1 -1
  4. package/dist/src/common/front-end-routing/routes/catalog/catalog-route.injectable.d.ts +1 -1
  5. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.d.ts +1 -1
  6. package/dist/src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.d.ts +1 -1
  7. package/dist/src/common/k8s-api/endpoints/metrics.api.d.ts +1 -1
  8. package/dist/src/common/k8s-api/kube-object.store.d.ts +2 -2
  9. package/dist/src/common/utils/buildUrl.d.ts +1 -1
  10. package/dist/src/common/utils/reject-promise.d.ts +2 -2
  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 +2 -2
  13. package/dist/src/common/vars/normalized-platform-architecture.injectable.d.ts +2 -0
  14. package/dist/src/common/vars/package-json.injectable.d.ts +12 -9
  15. package/dist/src/extensions/extensions-store/extensions-store.d.ts +5 -4
  16. package/dist/src/extensions/lens-extension-set-dependencies.d.ts +1 -1
  17. package/dist/src/extensions/registries/entity-setting-registry.d.ts +1 -1
  18. package/dist/src/main/kube-auth-proxy/kube-auth-proxy.d.ts +1 -0
  19. package/dist/src/main/start-main-application/lens-window/application-window/application-window.injectable.d.ts +1 -6
  20. package/dist/src/main/start-main-application/lens-window/application-window/{create-electron-window-for.injectable.d.ts → create-electron-window.injectable.d.ts} +4 -5
  21. package/dist/src/main/start-main-application/lens-window/application-window/create-lens-window.injectable.d.ts +6 -9
  22. package/dist/src/main/start-main-application/lens-window/application-window/lens-window-injection-token.d.ts +5 -2
  23. package/dist/src/main/start-main-application/lens-window/application-window/wait-until-bundled-extensions-are-loaded.injectable.d.ts +2 -0
  24. package/dist/src/main/start-main-application/lens-window/navigate.injectable.d.ts +1 -1
  25. package/dist/src/main/start-main-application/lens-window/splash-window/splash-window.injectable.d.ts +1 -6
  26. package/dist/src/{common/cluster-store → renderer/cluster-frame-context}/hosted-cluster-id.injectable.d.ts +0 -0
  27. package/dist/src/{common/cluster-store → renderer/cluster-frame-context}/hosted-cluster.injectable.d.ts +1 -1
  28. package/dist/src/renderer/components/dock/dock/create-dock-tab.injectable.d.ts +1 -1
  29. package/dist/src/renderer/components/input/input.d.ts +6 -7
  30. package/dist/src/renderer/components/input/input_validators.d.ts +28 -15
  31. package/dist/src/renderer/components/notifications/notifications.d.ts +4 -4
  32. package/dist/src/renderer/components/wizard/wizard.d.ts +2 -0
  33. package/dist/src/renderer/routes/route-path-parameters.injectable.d.ts +1 -1
  34. package/package.json +2 -2
  35. package/dist/src/common/cluster-store/allowed-resources.injectable.d.ts +0 -2
  36. package/dist/src/common/vars/bundled-binaries-normalized-arch.injectable.d.ts +0 -2
@@ -0,0 +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 { IComputedValue } from "mobx";
6
+ export declare const allowedResourcesInjectionToken: import("@ogre-tools/injectable").InjectionToken<IComputedValue<Set<string>>, void>;
@@ -1,6 +1,6 @@
1
1
  import type { IComputedValue } from "mobx";
2
2
  import type { LensRendererExtension } from "../../extensions/lens-renderer-extension";
3
- export declare const routeInjectionToken: import("@ogre-tools/injectable").InjectionToken<Route<unknown>, void>;
3
+ export declare const frontEndRouteInjectionToken: import("@ogre-tools/injectable").InjectionToken<Route<unknown>, void>;
4
4
  export interface Route<TParameter = void> {
5
5
  path: string;
6
6
  clusterFrame: boolean;
@@ -1,4 +1,4 @@
1
- import type { Route } from "./route-injection-token";
1
+ import type { Route } from "./front-end-route-injection-token";
2
2
  declare type InferParametersFrom<TRoute> = TRoute extends Route<infer TParameters> ? TParameters : never;
3
3
  declare type RequiredKeys<T> = Exclude<{
4
4
  [K in keyof T]: T extends Record<K, T[K]> ? K : never;
@@ -1,4 +1,4 @@
1
- import type { Route } from "../../route-injection-token";
1
+ import type { Route } from "../../front-end-route-injection-token";
2
2
  export interface CatalogPathParameters {
3
3
  group?: string;
4
4
  kind?: string;
@@ -1,4 +1,4 @@
1
- import type { Route } from "../../../../route-injection-token";
1
+ import type { Route } from "../../../../front-end-route-injection-token";
2
2
  export interface CustomResourcesPathParameters {
3
3
  group?: string;
4
4
  name?: string;
@@ -2,5 +2,5 @@ declare const clusterViewRouteInjectable: import("@ogre-tools/injectable").Injec
2
2
  path: string;
3
3
  clusterFrame: boolean;
4
4
  isEnabled: import("mobx").IComputedValue<boolean>;
5
- }, import("../../route-injection-token").Route<unknown>, void>;
5
+ }, import("../../front-end-route-injection-token").Route<unknown>, void>;
6
6
  export default clusterViewRouteInjectable;
@@ -45,7 +45,7 @@ export interface IResourceMetrics<T extends MetricData> {
45
45
  networkTransmit: T;
46
46
  }
47
47
  export declare const metricsApi: {
48
- getMetrics<T = IMetricsQuery>(query: T, reqParams?: IMetricsReqParams): Promise<T extends object ? { [K in keyof T]: MetricData; } : MetricData>;
48
+ getMetrics<T = IMetricsQuery>(query: T, reqParams?: IMetricsReqParams): Promise<T extends object ? T extends infer T_1 ? { [K in keyof T_1]: MetricData; } : never : MetricData>;
49
49
  getMetricProviders(): Promise<MetricProviderInfo[]>;
50
50
  };
51
51
  export declare function normalizeMetrics(metrics: MetricData | undefined | null, frames?: number): MetricData;
@@ -59,7 +59,7 @@ export interface KubeObjectStoreOptions {
59
59
  }
60
60
  export declare type KubeApiDataFrom<K extends KubeObject, A> = A extends KubeApi<K, infer D> ? D extends KubeJsonApiDataFor<K> ? D : never : never;
61
61
  export declare abstract class KubeObjectStore<K extends KubeObject = KubeObject, A extends KubeApi<K, D> = KubeApi<K, KubeJsonApiDataFor<K>>, D extends KubeJsonApiDataFor<K> = KubeApiDataFrom<K, A>> extends ItemStore<K> {
62
- static readonly defaultContext: import("mobx").IObservableValue<ClusterContext>;
62
+ static readonly defaultContext: import("mobx").IObservableValue<ClusterContext | undefined>;
63
63
  readonly api: A;
64
64
  readonly limit: number | undefined;
65
65
  readonly bufferSize: number;
@@ -71,7 +71,7 @@ export declare abstract class KubeObjectStore<K extends KubeObject = KubeObject,
71
71
  cancel(): void;
72
72
  };
73
73
  constructor(api: A, opts?: KubeObjectStoreOptions);
74
- get context(): ClusterContext;
74
+ get context(): ClusterContext | undefined;
75
75
  get contextItems(): K[];
76
76
  getTotalCount(): number;
77
77
  get query(): KubeApiQueryParams;
@@ -12,4 +12,4 @@ export interface URLParams<P extends object = {}, Q extends object = {}> {
12
12
  fragment?: string;
13
13
  }
14
14
  export declare function buildURL<P extends object = {}, Q extends object = {}>(path: string, { params, query, fragment }?: URLParams<P, Q>): string;
15
- export declare function buildURLPositional<P extends object = {}, Q extends object = {}>(path: string): (params?: P | undefined, query?: Q | undefined, fragment?: string | undefined) => string;
15
+ export declare function buildURLPositional<P extends object = {}, Q extends object = {}>(path: string): (params?: P, query?: Q, fragment?: string) => string;
@@ -2,11 +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
- import "abort-controller/polyfill";
5
+ import type { AbortSignal } from "abort-controller";
6
6
  /**
7
7
  * Creates a new promise that will be rejected when the signal rejects.
8
8
  *
9
9
  * Useful for `Promise.race()` applications.
10
10
  * @param signal The AbortController's signal to reject with
11
11
  */
12
- export declare function rejectPromiseBy(signal: AbortSignal): Promise<void>;
12
+ export declare function rejectPromiseBy(signal: AbortSignal): Promise<never>;
@@ -3,6 +3,9 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  /// <reference types="node" />
6
+ /// <reference types="node" />
7
+ /// <reference types="node" />
8
+ /// <reference types="node" />
6
9
  import type { ExecException, ExecFileException } from "child_process";
7
10
  import type { IncomingMessage } from "http";
8
11
  /**
@@ -96,6 +99,8 @@ export declare function bindPredicate<FnArgs extends any[], T>(fn: (arg1: unknow
96
99
  export declare function hasDefiniteField<Field extends keyof T, T>(field: Field): (val: T) => val is T & {
97
100
  [f in Field]-?: NonNullable<T[Field]>;
98
101
  };
102
+ export declare function isPromiseSettledRejected<T>(result: PromiseSettledResult<T>): result is PromiseRejectedResult;
103
+ export declare function isPromiseSettledFulfilled<T>(result: PromiseSettledResult<T>): result is PromiseFulfilledResult<T>;
99
104
  export declare function isErrnoException(error: unknown): error is NodeJS.ErrnoException;
100
105
  export declare function isExecException(error: unknown): error is ExecException;
101
106
  export declare function isExecFileException(error: unknown): error is ExecFileException;
@@ -1,2 +1,2 @@
1
- declare const baseBundeledBinariesDirectoryInjectable: import("@ogre-tools/injectable").Injectable<string, unknown, void>;
2
- export default baseBundeledBinariesDirectoryInjectable;
1
+ declare const baseBundledBinariesDirectoryInjectable: import("@ogre-tools/injectable").Injectable<string, unknown, void>;
2
+ export default baseBundledBinariesDirectoryInjectable;
@@ -0,0 +1,2 @@
1
+ declare const normalizedPlatformArchitectureInjectable: import("@ogre-tools/injectable").Injectable<"arm64" | "x64" | "ia32", unknown, void>;
2
+ export default normalizedPlatformArchitectureInjectable;
@@ -59,8 +59,10 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
59
59
  collectCoverage: boolean;
60
60
  verbose: boolean;
61
61
  transform: {
62
- "^.+\\.tsx?$": string;
62
+ "^.+\\.(t|j)sx?$": string[];
63
63
  };
64
+ testEnvironment: string;
65
+ resolver: string;
64
66
  moduleNameMapper: {
65
67
  "\\.(css|scss)$": string;
66
68
  "\\.(svg|png|jpg|eot|woff2?|ttf)$": string;
@@ -68,11 +70,7 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
68
70
  modulePathIgnorePatterns: string[];
69
71
  setupFiles: string[];
70
72
  setupFilesAfterEnv: string[];
71
- globals: {
72
- "ts-jest": {
73
- isolatedModules: boolean;
74
- };
75
- };
73
+ runtime: string;
76
74
  };
77
75
  build: {
78
76
  generateUpdatesFilesForAllChannels: boolean;
@@ -135,12 +133,13 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
135
133
  "@hapi/subtext": string;
136
134
  "@kubernetes/client-node": string;
137
135
  "@material-ui/styles": string;
138
- "@ogre-tools/injectable": string;
139
- "@ogre-tools/injectable-react": string;
140
136
  "@ogre-tools/fp": string;
137
+ "@ogre-tools/injectable": string;
141
138
  "@ogre-tools/injectable-extension-for-auto-registration": string;
139
+ "@ogre-tools/injectable-react": string;
142
140
  "@sentry/electron": string;
143
141
  "@sentry/integrations": string;
142
+ "@side/jest-runtime": string;
144
143
  "@types/circular-dependency-plugin": string;
145
144
  "abort-controller": string;
146
145
  "auto-bind": string;
@@ -215,6 +214,8 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
215
214
  "@material-ui/lab": string;
216
215
  "@pmmmwh/react-refresh-webpack-plugin": string;
217
216
  "@sentry/types": string;
217
+ "@swc/core": string;
218
+ "@swc/jest": string;
218
219
  "@testing-library/dom": string;
219
220
  "@testing-library/jest-dom": string;
220
221
  "@testing-library/react": string;
@@ -231,6 +232,8 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
231
232
  "@types/fs-extra": string;
232
233
  "@types/glob-to-regexp": string;
233
234
  "@types/gunzip-maybe": string;
235
+ "@types/hapi__call": string;
236
+ "@types/hapi__subtext": string;
234
237
  "@types/html-webpack-plugin": string;
235
238
  "@types/http-proxy": string;
236
239
  "@types/jest": string;
@@ -303,6 +306,7 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
303
306
  "include-media": string;
304
307
  jest: string;
305
308
  "jest-canvas-mock": string;
309
+ "jest-environment-jsdom": string;
306
310
  "jest-fetch-mock": string;
307
311
  "jest-mock-extended": string;
308
312
  "make-plural": string;
@@ -329,7 +333,6 @@ declare const packageJsonInjectable: import("@ogre-tools/injectable").Injectable
329
333
  "style-loader": string;
330
334
  tailwindcss: string;
331
335
  "tar-stream": string;
332
- "ts-jest": string;
333
336
  "ts-loader": string;
334
337
  "ts-node": string;
335
338
  "type-fest": string;
@@ -11,15 +11,16 @@ export interface LensExtensionState {
11
11
  enabled?: boolean;
12
12
  name: string;
13
13
  }
14
+ export interface IsEnabledExtensionDescriptor {
15
+ id: string;
16
+ isBundled: boolean;
17
+ }
14
18
  export declare class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
15
19
  readonly displayName = "ExtensionsStore";
16
20
  constructor();
17
21
  get enabledExtensions(): string[];
18
22
  protected state: import("mobx").ObservableMap<string, LensExtensionState>;
19
- isEnabled({ id, isBundled }: {
20
- id: string;
21
- isBundled: boolean;
22
- }): boolean;
23
+ isEnabled({ id, isBundled }: IsEnabledExtensionDescriptor): boolean;
23
24
  mergeState: (extensionsState: Record<LensExtensionId, LensExtensionState> | [LensExtensionId, LensExtensionState][]) => void;
24
25
  protected fromStore({ extensions }: LensExtensionsStoreModel): void;
25
26
  toJSON(): LensExtensionsStoreModel;
@@ -5,7 +5,7 @@
5
5
  import type { IComputedValue } from "mobx";
6
6
  import type { CatalogCategoryRegistry } from "../common/catalog";
7
7
  import type { NavigateToRoute } from "../common/front-end-routing/navigate-to-route-injection-token";
8
- import type { Route } from "../common/front-end-routing/route-injection-token";
8
+ import type { Route } from "../common/front-end-routing/front-end-route-injection-token";
9
9
  import type { CatalogEntityRegistry as MainCatalogEntityRegistry } from "../main/catalog";
10
10
  import type { CatalogEntityRegistry as RendererCatalogEntityRegistry } from "../renderer/api/catalog/entity/registry";
11
11
  import type { GetExtensionPageParameters } from "../renderer/routes/get-extension-page-parameters.injectable";
@@ -26,5 +26,5 @@ export interface RegisteredEntitySetting extends EntitySettingRegistration {
26
26
  }
27
27
  export declare class EntitySettingRegistry extends BaseRegistry<EntitySettingRegistration, RegisteredEntitySetting> {
28
28
  getRegisteredItem(item: EntitySettingRegistration): RegisteredEntitySetting;
29
- getItemsForKind: (kind: string, apiVersion: string, source?: string | undefined) => RegisteredEntitySetting[];
29
+ getItemsForKind: (kind: string, apiVersion: string, source?: string) => RegisteredEntitySetting[];
30
30
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  /// <reference types="node" />
6
+ /// <reference types="node" />
6
7
  import type { ChildProcess } from "child_process";
7
8
  import type { Cluster } from "../../common/cluster/cluster";
8
9
  import type { SelfSignedCert } from "selfsigned";
@@ -1,7 +1,2 @@
1
- declare const applicationWindowInjectable: import("@ogre-tools/injectable").Injectable<{
2
- readonly visible: boolean;
3
- show: () => Promise<void>;
4
- close: () => void;
5
- send: (args: import("./lens-window-injection-token").SendToViewArgs) => void;
6
- }, import("./lens-window-injection-token").LensWindow, void>;
1
+ declare const applicationWindowInjectable: import("@ogre-tools/injectable").Injectable<import("./lens-window-injection-token").LensWindow, import("./lens-window-injection-token").LensWindow, void>;
7
2
  export default applicationWindowInjectable;
@@ -1,4 +1,4 @@
1
- import type { LensWindow } from "./create-lens-window.injectable";
1
+ import type { ElectronWindow } from "./create-lens-window.injectable";
2
2
  import type { RequireExactlyOne } from "type-fest";
3
3
  export declare type ElectronWindowTitleBarStyle = "hiddenInset" | "hidden" | "default" | "customButtonsOnHover";
4
4
  export interface FileSource {
@@ -24,7 +24,6 @@ export interface ElectronWindowConfiguration {
24
24
  onBlur?: () => void;
25
25
  onDomReady?: () => void;
26
26
  }
27
- export declare type CreateElectronWindow = () => Promise<LensWindow>;
28
- export declare type CreateElectronWindowFor = (config: ElectronWindowConfiguration) => CreateElectronWindow;
29
- declare const createElectronWindowFor: import("@ogre-tools/injectable").Injectable<CreateElectronWindowFor, unknown, void>;
30
- export default createElectronWindowFor;
27
+ export declare type CreateElectronWindow = (config: ElectronWindowConfiguration) => ElectronWindow;
28
+ declare const createElectronWindowInjectable: import("@ogre-tools/injectable").Injectable<CreateElectronWindow, unknown, void>;
29
+ export default createElectronWindowInjectable;
@@ -1,9 +1,11 @@
1
- import type { SendToViewArgs } from "./lens-window-injection-token";
2
- import type { ContentSource, ElectronWindowTitleBarStyle } from "./create-electron-window-for.injectable";
3
- export interface LensWindow {
1
+ import type { LensWindow, SendToViewArgs } from "./lens-window-injection-token";
2
+ import type { ContentSource, ElectronWindowTitleBarStyle } from "./create-electron-window.injectable";
3
+ export interface ElectronWindow {
4
4
  show: () => void;
5
5
  close: () => void;
6
6
  send: (args: SendToViewArgs) => void;
7
+ loadFile: (filePath: string) => Promise<void>;
8
+ loadUrl: (url: string) => Promise<void>;
7
9
  }
8
10
  export interface LensWindowConfiguration {
9
11
  id: string;
@@ -20,10 +22,5 @@ export interface LensWindowConfiguration {
20
22
  onBlur?: () => void;
21
23
  onDomReady?: () => void;
22
24
  }
23
- declare const createLensWindowInjectable: import("@ogre-tools/injectable").Injectable<(configuration: LensWindowConfiguration) => {
24
- readonly visible: boolean;
25
- show: () => Promise<void>;
26
- close: () => void;
27
- send: (args: SendToViewArgs) => void;
28
- }, unknown, void>;
25
+ declare const createLensWindowInjectable: import("@ogre-tools/injectable").Injectable<(configuration: LensWindowConfiguration) => LensWindow, unknown, void>;
29
26
  export default createLensWindowInjectable;
@@ -5,9 +5,12 @@ export interface SendToViewArgs {
5
5
  data?: unknown[];
6
6
  }
7
7
  export interface LensWindow {
8
- show: () => Promise<void>;
8
+ id: string;
9
+ start: () => Promise<void>;
9
10
  close: () => void;
11
+ show: () => void;
10
12
  send: (args: SendToViewArgs) => void;
11
- visible: boolean;
13
+ isVisible: boolean;
14
+ isStarting: boolean;
12
15
  }
13
16
  export declare const lensWindowInjectionToken: import("@ogre-tools/injectable").InjectionToken<LensWindow, void>;
@@ -0,0 +1,2 @@
1
+ declare const waitUntilBundledExtensionsAreLoadedInjectable: import("@ogre-tools/injectable").Injectable<() => Promise<void>, unknown, void>;
2
+ export default waitUntilBundledExtensionsAreLoadedInjectable;
@@ -1,2 +1,2 @@
1
- declare const navigateInjectable: import("@ogre-tools/injectable").Injectable<(url: string, frameId?: number | undefined) => Promise<void>, unknown, void>;
1
+ declare const navigateInjectable: import("@ogre-tools/injectable").Injectable<(url: string, frameId?: number) => Promise<void>, unknown, void>;
2
2
  export default navigateInjectable;
@@ -1,7 +1,2 @@
1
- declare const splashWindowInjectable: import("@ogre-tools/injectable").Injectable<{
2
- readonly visible: boolean;
3
- show: () => Promise<void>;
4
- close: () => void;
5
- send: (args: import("../application-window/lens-window-injection-token").SendToViewArgs) => void;
6
- }, import("../application-window/lens-window-injection-token").LensWindow, void>;
1
+ declare const splashWindowInjectable: import("@ogre-tools/injectable").Injectable<import("../application-window/lens-window-injection-token").LensWindow, import("../application-window/lens-window-injection-token").LensWindow, void>;
7
2
  export default splashWindowInjectable;
@@ -1,2 +1,2 @@
1
- declare const hostedClusterInjectable: import("@ogre-tools/injectable").Injectable<import("../cluster/cluster").Cluster | undefined, unknown, void>;
1
+ declare const hostedClusterInjectable: import("@ogre-tools/injectable").Injectable<import("../../common/cluster/cluster").Cluster | undefined, unknown, void>;
2
2
  export default hostedClusterInjectable;
@@ -1,3 +1,3 @@
1
1
  import type { DockTab, DockTabCreate } from "./store";
2
- declare const createDockTabInjectable: import("@ogre-tools/injectable").Injectable<(rawTabDesc: DockTabCreate, addNumber?: boolean | undefined) => DockTab, unknown, void>;
2
+ declare const createDockTabInjectable: import("@ogre-tools/injectable").Injectable<(rawTabDesc: DockTabCreate, addNumber?: boolean) => DockTab, unknown, void>;
3
3
  export default createDockTabInjectable;
@@ -8,10 +8,9 @@ import type { DOMAttributes, InputHTMLAttributes, TextareaHTMLAttributes } from
8
8
  import React from "react";
9
9
  import type { TooltipProps } from "../tooltip";
10
10
  import * as Validators from "./input_validators";
11
- import type { InputValidator } from "./input_validators";
12
- declare const InputValidators: {
13
- inputValidator<IsAsync extends boolean = false>(validator: Validators.InputValidator<IsAsync>): Validators.InputValidator<IsAsync>;
14
- AsyncInputValidationError: typeof Validators.AsyncInputValidationError;
11
+ import type { InputValidator, InputValidation, InputValidationResult, SyncValidationMessage } from "./input_validators";
12
+ declare const asyncInputValidator: typeof Validators.asyncInputValidator, inputValidator: typeof Validators.inputValidator, isAsyncValidator: typeof Validators.isAsyncValidator, unionInputValidatorsAsync: typeof Validators.unionInputValidatorsAsync, InputValidators: {
13
+ unionInputValidators(baseValidator: Pick<Validators.InputValidator<false>, "message" | "condition">, ...validators: Validators.InputValidator<false>[]): Validators.InputValidator<false>;
15
14
  isRequired: Validators.InputValidator<false>;
16
15
  isEmail: Validators.InputValidator<false>;
17
16
  isNumber: Validators.InputValidator<false>;
@@ -30,8 +29,8 @@ declare const InputValidators: {
30
29
  systemName: Validators.InputValidator<false>;
31
30
  accountId: Validators.InputValidator<false>;
32
31
  };
33
- export { InputValidators };
34
- export type { InputValidator };
32
+ export { InputValidators, asyncInputValidator, inputValidator, isAsyncValidator, unionInputValidatorsAsync, };
33
+ export type { InputValidator, InputValidation, InputValidationResult, SyncValidationMessage, };
35
34
  declare type InputElement = HTMLInputElement | HTMLTextAreaElement;
36
35
  declare type InputElementProps = InputHTMLAttributes<HTMLInputElement> & TextareaHTMLAttributes<HTMLTextAreaElement> & DOMAttributes<InputElement>;
37
36
  export interface IconDataFnArg {
@@ -75,7 +74,7 @@ interface State {
75
74
  export declare class Input extends React.Component<InputProps, State> {
76
75
  static defaultProps: object;
77
76
  input: InputElement | null;
78
- validators: InputValidator<boolean>[];
77
+ validators: InputValidator[];
79
78
  state: State;
80
79
  constructor(props: InputProps);
81
80
  componentWillUnmount(): void;
@@ -3,29 +3,42 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import type { InputProps } from "./input";
6
- import type { ReactNode } from "react";
7
- export declare class AsyncInputValidationError extends Error {
8
- }
9
- export declare type InputValidator<IsAsync extends boolean> = {
6
+ import type React from "react";
7
+ import type { SetRequired } from "type-fest";
8
+ export declare type InputValidationResult<IsAsync extends boolean> = IsAsync extends true ? Promise<void> : boolean;
9
+ export declare type InputValidation<IsAsync extends boolean> = (value: string, props?: InputProps) => InputValidationResult<IsAsync>;
10
+ export declare type SyncValidationMessage = React.ReactNode | ((value: string, props?: InputProps) => React.ReactNode);
11
+ export declare type InputValidator<IsAsync extends boolean = boolean> = {
10
12
  /**
11
13
  * Filters itself based on the input props
12
14
  */
13
15
  condition?: (props: InputProps) => any;
14
- } & (IsAsync extends false ? {
15
- validate: (value: string, props: InputProps) => boolean;
16
- message: ReactNode | ((value: string, props: InputProps) => ReactNode | string);
17
- debounce?: undefined;
18
- } : {
16
+ } & (IsAsync extends true ? {
19
17
  /**
20
- * If asyncronous then the rejection message is the error message
21
- *
22
- * This function MUST reject with an instance of {@link AsyncInputValidationError}
18
+ * The validation message maybe either specified from the `message` field (higher priority)
19
+ * or if that is not provided then the message will retrived from the rejected with value
23
20
  */
24
- validate: (value: string, props: InputProps) => Promise<void>;
25
- message?: undefined;
21
+ validate: InputValidation<true>;
22
+ message?: SyncValidationMessage;
26
23
  debounce: number;
24
+ } : {
25
+ validate: InputValidation<false>;
26
+ message: SyncValidationMessage;
27
+ debounce?: undefined;
27
28
  });
28
- export declare function inputValidator<IsAsync extends boolean = false>(validator: InputValidator<IsAsync>): InputValidator<IsAsync>;
29
+ export declare function isAsyncValidator(validator: InputValidator<boolean>): validator is InputValidator<true>;
30
+ export declare function asyncInputValidator(validator: InputValidator<true>): InputValidator<true>;
31
+ export declare function inputValidator(validator: InputValidator<false>): InputValidator<false>;
32
+ /**
33
+ * Create a new input validator from a list of syncronous input validators. Will match as valid if
34
+ * one of the input validators matches the input
35
+ */
36
+ export declare function unionInputValidators(baseValidator: Pick<InputValidator<false>, "condition" | "message">, ...validators: InputValidator<false>[]): InputValidator<false>;
37
+ /**
38
+ * Create a new input validator from a list of syncronous or async input validators. Will match as
39
+ * valid if one of the input validators matches the input
40
+ */
41
+ export declare function unionInputValidatorsAsync(baseValidator: SetRequired<Pick<InputValidator<boolean>, "condition" | "message">, "message">, ...validators: InputValidator<boolean>[]): InputValidator<true>;
29
42
  export declare const isRequired: InputValidator<false>;
30
43
  export declare const isEmail: InputValidator<false>;
31
44
  export declare const isNumber: InputValidator<false>;
@@ -7,8 +7,8 @@ import React from "react";
7
7
  import type { Notification, NotificationMessage } from "./notifications.store";
8
8
  export declare const Notifications: React.FC<{}> & {
9
9
  ok: (message: NotificationMessage) => () => void;
10
- checkedError: (message: unknown, fallback: string, customOpts?: Partial<Omit<Notification, "message">> | undefined) => () => void;
11
- error: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">> | undefined) => () => void;
12
- shortInfo: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">> | undefined) => () => void;
13
- info: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">> | undefined) => () => void;
10
+ checkedError: (message: unknown, fallback: string, customOpts?: Partial<Omit<Notification, "message">>) => () => void;
11
+ error: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">>) => () => void;
12
+ shortInfo: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">>) => () => void;
13
+ info: (message: NotificationMessage, customOpts?: Partial<Omit<Notification, "message">>) => () => void;
14
14
  };
@@ -64,6 +64,8 @@ export interface WizardStepProps<D> extends WizardCommonProps<D> {
64
64
  skip?: boolean;
65
65
  scrollable?: boolean;
66
66
  children?: React.ReactNode | React.ReactNode[];
67
+ testIdForNext?: string;
68
+ testIdForPrev?: string;
67
69
  }
68
70
  interface WizardStepState {
69
71
  waiting?: boolean;
@@ -1,3 +1,3 @@
1
- import type { Route } from "../../common/front-end-routing/route-injection-token";
1
+ import type { Route } from "../../common/front-end-routing/front-end-route-injection-token";
2
2
  declare const routePathParametersInjectable: import("@ogre-tools/injectable").Injectable<import("mobx").IComputedValue<Record<string, string>>, unknown, Route<unknown>>;
3
3
  export default routePathParametersInjectable;
package/package.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "name": "@k8slens/extensions",
3
3
  "productName": "OpenLens extensions",
4
4
  "description": "OpenLens - Open Source Kubernetes IDE: extensions",
5
- "version": "5.6.0-git.c54d59f205.0",
6
- "copyright": "© 2021 OpenLens Authors",
5
+ "version": "5.6.0-git.d0ed4e46b1.0",
6
+ "copyright": "© 2022 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",
9
9
  "types": "dist/src/extensions/extension-api.d.ts",
@@ -1,2 +0,0 @@
1
- declare const allowedResourcesInjectable: import("@ogre-tools/injectable").Injectable<import("mobx").IComputedValue<Set<string>>, unknown, void>;
2
- export default allowedResourcesInjectable;
@@ -1,2 +0,0 @@
1
- declare const bundledBinariesNormalizedArchInjectable: import("@ogre-tools/injectable").Injectable<"arm64" | "x64" | "ia32", unknown, void>;
2
- export default bundledBinariesNormalizedArchInjectable;