@k8slens/extensions 5.6.0-git.a27c7452a4.0 → 5.6.0-git.ac27077ef9.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.
@@ -6,11 +6,13 @@ import type { BaseKubeObjectCondition, KubeObjectScope } from "../kube-object";
6
6
  import { KubeObject } from "../kube-object";
7
7
  import type { DerivedKubeApiOptions } from "../kube-api";
8
8
  import { KubeApi } from "../kube-api";
9
+ import type { JSONSchemaProps } from "./types/json-schema-props";
9
10
  interface AdditionalPrinterColumnsCommon {
10
11
  name: string;
11
12
  type: "integer" | "number" | "string" | "boolean" | "date";
12
- priority: number;
13
- description: string;
13
+ priority?: number;
14
+ format?: "int32" | "int64" | "float" | "double" | "byte" | "binary" | "date" | "date-time" | "password";
15
+ description?: string;
14
16
  }
15
17
  export declare type AdditionalPrinterColumnsV1 = AdditionalPrinterColumnsCommon & {
16
18
  jsonPath: string;
@@ -18,11 +20,14 @@ export declare type AdditionalPrinterColumnsV1 = AdditionalPrinterColumnsCommon
18
20
  declare type AdditionalPrinterColumnsV1Beta = AdditionalPrinterColumnsCommon & {
19
21
  JSONPath: string;
20
22
  };
23
+ export interface CustomResourceValidation {
24
+ openAPIV3Schema?: JSONSchemaProps;
25
+ }
21
26
  export interface CustomResourceDefinitionVersion {
22
27
  name: string;
23
28
  served: boolean;
24
29
  storage: boolean;
25
- schema?: object;
30
+ schema?: CustomResourceValidation;
26
31
  additionalPrinterColumns?: AdditionalPrinterColumnsV1[];
27
32
  }
28
33
  export interface CustomResourceDefinitionNames {
@@ -2,5 +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 type React from "react";
6
- export declare function displayBooleans(shouldShow: boolean | undefined, from: React.ReactNode): React.ReactNode;
5
+ export interface ExternalDocumentation {
6
+ description?: string;
7
+ url?: string;
8
+ }
@@ -0,0 +1,86 @@
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 { JsonValue } from "type-fest";
6
+ import type { ExternalDocumentation } from "./external-documentation";
7
+ export interface JSONSchemaProps {
8
+ $ref?: string;
9
+ $schema?: string;
10
+ additionalItems?: JSONSchemaProps | boolean;
11
+ additionalProperties?: JSONSchemaProps | boolean;
12
+ allOf?: JSONSchemaProps[];
13
+ anyOf?: JSONSchemaProps[];
14
+ /**
15
+ * default is a default value for undefined object fields.
16
+ * Defaulting is a beta feature under the CustomResourceDefaulting feature gate.
17
+ * Defaulting requires spec.preserveUnknownFields to be false.
18
+ */
19
+ _default?: object;
20
+ definitions?: Partial<Record<string, JSONSchemaProps>>;
21
+ dependencies?: Partial<Record<string, object>>;
22
+ description?: string;
23
+ _enum?: object[];
24
+ example?: JsonValue;
25
+ exclusiveMaximum?: boolean;
26
+ exclusiveMinimum?: boolean;
27
+ externalDocs?: ExternalDocumentation;
28
+ /**
29
+ * format is an OpenAPI v3 format string.
30
+ * Unknown formats are ignored.
31
+ *
32
+ * The following formats are validated:
33
+ * - bsonobjectid: a bson object ID, i.e. a 24 characters hex string
34
+ * - uri: an URI as parsed by Golang net/url.ParseRequestURI
35
+ * - email: an email address as parsed by Golang net/mail.ParseAddress
36
+ * - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034].
37
+ * - ipv4: an IPv4 IP as parsed by Golang net.ParseIP
38
+ * - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
39
+ * - cidr: a CIDR as parsed by Golang net.ParseCIDR
40
+ * - mac: a MAC address as parsed by Golang net.ParseMAC
41
+ * - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
42
+ * - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
43
+ * - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
44
+ * - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
45
+ * - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041"
46
+ * - isbn10: an ISBN10 number string like "0321751043"
47
+ * - isbn13: an ISBN13 number string like "978-0321751041"
48
+ * - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in
49
+ * - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$
50
+ * - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
51
+ * - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559"
52
+ * - byte: base64 encoded binary data
53
+ * - password: any kind of string
54
+ * - date: a date string like "2006-01-02" as defined by full-date in RFC3339
55
+ * - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format
56
+ * - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
57
+ */
58
+ format?: string;
59
+ id?: string;
60
+ items?: JSONSchemaProps | JSONSchemaProps[];
61
+ maxItems?: number;
62
+ maxLength?: number;
63
+ maxProperties?: number;
64
+ maximum?: number;
65
+ minItems?: number;
66
+ minLength?: number;
67
+ minProperties?: number;
68
+ minimum?: number;
69
+ multipleOf?: number;
70
+ not?: JSONSchemaProps;
71
+ nullable?: boolean;
72
+ oneOf?: JSONSchemaProps[];
73
+ pattern?: string;
74
+ patternProperties?: Partial<Record<string, JSONSchemaProps>>;
75
+ properties?: Partial<Record<string, JSONSchemaProps>>;
76
+ required?: Array<string>;
77
+ title?: string;
78
+ type?: string;
79
+ uniqueItems?: boolean;
80
+ x_kubernetes_embedded_resource?: boolean;
81
+ x_kubernetes_int_or_string?: boolean;
82
+ x_kubernetes_list_map_keys?: string[];
83
+ x_kubernetes_list_type?: string;
84
+ x_kubernetes_map_type?: string;
85
+ x_kubernetes_preserve_unknown_fields?: boolean;
86
+ }
@@ -0,0 +1,2 @@
1
+ declare const lensResourcesDirInjectable: import("@ogre-tools/injectable").Injectable<string, unknown, void>;
2
+ export default lensResourcesDirInjectable;
@@ -0,0 +1,2 @@
1
+ declare const staticFilesDirectoryInjectable: import("@ogre-tools/injectable").Injectable<string, unknown, void>;
2
+ export default staticFilesDirectoryInjectable;
@@ -1,11 +1,19 @@
1
1
  import type { LensWindow } from "./create-lens-window.injectable";
2
+ import type { RequireExactlyOne } from "type-fest";
2
3
  export declare type ElectronWindowTitleBarStyle = "hiddenInset" | "hidden" | "default" | "customButtonsOnHover";
4
+ export interface FileSource {
5
+ file: string;
6
+ }
7
+ export interface UrlSource {
8
+ url: string;
9
+ }
10
+ export declare type ContentSource = RequireExactlyOne<FileSource & UrlSource>;
3
11
  export interface ElectronWindowConfiguration {
4
12
  id: string;
5
13
  title: string;
6
14
  defaultHeight: number;
7
15
  defaultWidth: number;
8
- getContentUrl: () => string;
16
+ getContentSource: () => ContentSource;
9
17
  resizable: boolean;
10
18
  windowFrameUtilitiesAreShown: boolean;
11
19
  centered: boolean;
@@ -1,16 +1,16 @@
1
1
  import type { SendToViewArgs } from "./lens-window-injection-token";
2
- import type { ElectronWindowTitleBarStyle } from "./create-electron-window-for.injectable";
2
+ import type { ContentSource, ElectronWindowTitleBarStyle } from "./create-electron-window-for.injectable";
3
3
  export interface LensWindow {
4
4
  show: () => void;
5
5
  close: () => void;
6
6
  send: (args: SendToViewArgs) => void;
7
7
  }
8
- interface LensWindowConfiguration {
8
+ export interface LensWindowConfiguration {
9
9
  id: string;
10
10
  title: string;
11
11
  defaultHeight: number;
12
12
  defaultWidth: number;
13
- getContentUrl: () => string;
13
+ getContentSource: () => ContentSource;
14
14
  resizable: boolean;
15
15
  windowFrameUtilitiesAreShown: boolean;
16
16
  centered: 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
+ /// <reference types="react" />
5
6
  import "./namespace-select.scss";
6
7
  import type { SelectProps } from "../select";
7
8
  export declare type NamespaceSelectSort = (left: string, right: string) => number;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { KubeObjectMenuProps } from "../../kube-object-menu";
2
3
  import type { ServiceAccount } from "../../../../common/k8s-api/endpoints";
3
4
  export declare function ServiceAccountMenu(props: KubeObjectMenuProps<ServiceAccount>): JSX.Element;
@@ -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
+ /// <reference types="react" />
5
6
  import type { DrawerItemProps } from "./drawer-item";
6
7
  export interface DrawerItemLabelsProps extends DrawerItemProps {
7
8
  labels: string[] | Partial<Record<string, string>>;
@@ -9,6 +9,11 @@ export interface DrawerItemProps extends React.HTMLAttributes<HTMLDivElement> {
9
9
  title?: string;
10
10
  labelsOnly?: boolean;
11
11
  hidden?: boolean;
12
- renderBoolean?: boolean;
12
+ /**
13
+ * @deprecated This prop is no longer used, you should stringify the booleans yourself.
14
+ *
15
+ * This was only meant to be an internal prop anyway.
16
+ */
17
+ renderBooleans?: boolean;
13
18
  }
14
- export declare function DrawerItem({ name, title, labelsOnly, children, hidden, className, renderBoolean, ...elemProps }: DrawerItemProps): JSX.Element | null;
19
+ export declare function DrawerItem({ name, title, labelsOnly, children, hidden, className, ...elemProps }: DrawerItemProps): JSX.Element | null;
@@ -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
+ /// <reference types="react" />
5
6
  import type { IconProps } from "../icon";
6
7
  import { FilterType } from "./page-filters/store";
7
8
  export interface FilterIconProps extends Partial<IconProps> {
@@ -2,4 +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
+ /// <reference types="react" />
5
6
  export declare function NoMetrics(): JSX.Element;
@@ -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
+ /// <reference types="react" />
5
6
  import type { FormControlLabelProps } from "@material-ui/core/FormControlLabel";
6
7
  /**
7
8
  * @deprecated Use <Switch/> instead from "../switch.tsx".
@@ -32,10 +32,6 @@ export interface TableCellProps extends React.DOMAttributes<HTMLDivElement> {
32
32
  * mark checkbox as checked or not
33
33
  */
34
34
  isChecked?: boolean;
35
- /**
36
- * show "true" or "false" for all of the children elements are "typeof boolean"
37
- */
38
- renderBoolean?: boolean;
39
35
  /**
40
36
  * column name, must be same as key in sortable object <Table sortable={}/>
41
37
  */
@@ -6,7 +6,6 @@ export * from "../../common/utils";
6
6
  export * from "../../common/event-emitter";
7
7
  export * from "./cssNames";
8
8
  export * from "./cssVar";
9
- export * from "./display-booleans";
10
9
  export * from "./display-mode";
11
10
  export * from "./interval";
12
11
  export * from "./isMiddleClick";
package/package.json CHANGED
@@ -2,7 +2,7 @@
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.a27c7452a4.0",
5
+ "version": "5.6.0-git.ac27077ef9.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",