@k8slens/extensions 5.3.1-git.5bdfea6e31.0 → 5.3.1-git.6a97a7b35b.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 (24) hide show
  1. package/dist/src/common/k8s-api/endpoints/crd.api.d.ts +29 -28
  2. package/dist/src/extensions/extension-api.js +5 -41
  3. package/dist/src/extensions/lens-main-extension.d.ts +2 -0
  4. package/dist/src/extensions/lens-renderer-extension.d.ts +6 -3
  5. package/dist/src/extensions/registries/index.d.ts +0 -3
  6. package/dist/src/extensions/renderer-extensions.injectable.d.ts +5 -0
  7. package/dist/src/main/tray/tray-menu-items.injectable.d.ts +3 -0
  8. package/dist/src/main/tray/tray-menu-items.test.d.ts +1 -0
  9. package/dist/src/main/{tray.d.ts → tray/tray.d.ts} +4 -2
  10. package/dist/src/renderer/components/+welcome/welcome-banner-items/welcome-banner-items.injectable.d.ts +3 -0
  11. package/dist/src/{extensions/registries/topbar-registry.d.ts → renderer/components/+welcome/welcome-menu-items/get-welcome-menu-items.d.ts} +5 -9
  12. package/dist/src/renderer/components/+welcome/welcome-menu-items/welcome-menu-items.injectable.d.ts +3 -0
  13. package/dist/src/renderer/components/+welcome/welcome.d.ts +1 -3
  14. package/dist/src/renderer/components/dock/terminal.d.ts +1 -1
  15. package/dist/src/renderer/components/layout/top-bar/top-bar-items/top-bar-items.injectable.d.ts +3 -0
  16. package/dist/src/renderer/components/layout/{__tests__/topbar-win-linux.test.d.ts → top-bar/top-bar-win-linux.test.d.ts} +0 -0
  17. package/dist/src/renderer/{initializers/welcome-menu-registry.d.ts → components/layout/top-bar/top-bar.d.ts} +2 -1
  18. package/dist/src/renderer/components/layout/{__tests__/topbar.test.d.ts → top-bar/top-bar.test.d.ts} +0 -0
  19. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  20. package/dist/src/renderer/initializers/index.d.ts +0 -1
  21. package/package.json +1 -1
  22. package/dist/src/extensions/registries/welcome-banner-registry.d.ts +0 -38
  23. package/dist/src/extensions/registries/welcome-menu-registry.d.ts +0 -28
  24. package/dist/src/renderer/components/layout/topbar.d.ts +0 -25
@@ -40,34 +40,35 @@ export interface CRDVersion {
40
40
  schema?: object;
41
41
  additionalPrinterColumns?: AdditionalPrinterColumnsV1[];
42
42
  }
43
- export interface CustomResourceDefinition {
44
- spec: {
45
- group: string;
46
- /**
47
- * @deprecated for apiextensions.k8s.io/v1 but used previously
48
- */
49
- version?: string;
50
- names: {
51
- plural: string;
52
- singular: string;
53
- kind: string;
54
- listKind: string;
55
- };
56
- scope: "Namespaced" | "Cluster" | string;
57
- /**
58
- * @deprecated for apiextensions.k8s.io/v1 but used previously
59
- */
60
- validation?: object;
61
- versions?: CRDVersion[];
62
- conversion: {
63
- strategy?: string;
64
- webhook?: any;
65
- };
66
- /**
67
- * @deprecated for apiextensions.k8s.io/v1 but used previously
68
- */
69
- additionalPrinterColumns?: AdditionalPrinterColumnsV1Beta[];
43
+ export interface CustomResourceDefinitionSpec {
44
+ group: string;
45
+ /**
46
+ * @deprecated for apiextensions.k8s.io/v1 but used in v1beta1
47
+ */
48
+ version?: string;
49
+ names: {
50
+ plural: string;
51
+ singular: string;
52
+ kind: string;
53
+ listKind: string;
70
54
  };
55
+ scope: "Namespaced" | "Cluster";
56
+ /**
57
+ * @deprecated for apiextensions.k8s.io/v1 but used in v1beta1
58
+ */
59
+ validation?: object;
60
+ versions?: CRDVersion[];
61
+ conversion: {
62
+ strategy?: string;
63
+ webhook?: any;
64
+ };
65
+ /**
66
+ * @deprecated for apiextensions.k8s.io/v1 but used in v1beta1
67
+ */
68
+ additionalPrinterColumns?: AdditionalPrinterColumnsV1Beta[];
69
+ }
70
+ export interface CustomResourceDefinition {
71
+ spec: CustomResourceDefinitionSpec;
71
72
  status: {
72
73
  conditions: {
73
74
  lastTransitionTime: string;
@@ -100,7 +101,7 @@ export declare class CustomResourceDefinition extends KubeObject {
100
101
  getResourceKind(): string;
101
102
  getResourceTitle(): string;
102
103
  getGroup(): string;
103
- getScope(): string;
104
+ getScope(): "Namespaced" | "Cluster";
104
105
  getPreferedVersion(): CRDVersion;
105
106
  getVersion(): string;
106
107
  isNamespaced(): boolean;
@@ -38760,7 +38760,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
38760
38760
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
38761
38761
 
38762
38762
  "use strict";
38763
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return CustomResourceDefinition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return crdApi; });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _routes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../routes */ \"./src/common/routes/index.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\nclass CustomResourceDefinition extends _kube_object__WEBPACK_IMPORTED_MODULE_0__[\"KubeObject\"] {\n constructor(data) {\n super(data);\n if (!data.spec || typeof data.spec !== \"object\") {\n throw new _kube_object__WEBPACK_IMPORTED_MODULE_0__[\"KubeCreationError\"](\"Cannot create a CustomResourceDefinition from an object without spec\", data);\n }\n }\n getResourceUrl() {\n return Object(_routes__WEBPACK_IMPORTED_MODULE_2__[\"crdResourcesURL\"])({\n params: {\n group: this.getGroup(),\n name: this.getPluralName(),\n },\n });\n }\n getResourceApiBase() {\n const { group } = this.spec;\n return `/apis/${group}/${this.getVersion()}/${this.getPluralName()}`;\n }\n getPluralName() {\n return this.getNames().plural;\n }\n getResourceKind() {\n return this.spec.names.kind;\n }\n getResourceTitle() {\n const name = this.getPluralName();\n return name[0].toUpperCase() + name.substr(1);\n }\n getGroup() {\n return this.spec.group;\n }\n getScope() {\n return this.spec.scope;\n }\n getPreferedVersion() {\n // Prefer the modern `versions` over the legacy `version`\n if (this.spec.versions) {\n for (const version of this.spec.versions) {\n if (version.storage) {\n return version;\n }\n }\n }\n else if (this.spec.version) {\n const { additionalPrinterColumns: apc } = this.spec;\n const additionalPrinterColumns = apc === null || apc === void 0 ? void 0 : apc.map((_a) => {\n var { JSONPath } = _a, apc = __rest(_a, [\"JSONPath\"]);\n return (Object.assign(Object.assign({}, apc), { jsonPath: JSONPath }));\n });\n return {\n name: this.spec.version,\n served: true,\n storage: true,\n schema: this.spec.validation,\n additionalPrinterColumns,\n };\n }\n throw new Error(`Failed to find a version for CustomResourceDefinition ${this.metadata.name}`);\n }\n getVersion() {\n return this.getPreferedVersion().name;\n }\n isNamespaced() {\n return this.getScope() === \"Namespaced\";\n }\n getStoredVersions() {\n return this.status.storedVersions.join(\", \");\n }\n getNames() {\n return this.spec.names;\n }\n getConversion() {\n return JSON.stringify(this.spec.conversion);\n }\n getPrinterColumns(ignorePriority = true) {\n var _a;\n const columns = (_a = this.getPreferedVersion().additionalPrinterColumns) !== null && _a !== void 0 ? _a : [];\n return columns\n .filter(column => column.name != \"Age\" && (ignorePriority || !column.priority));\n }\n getValidation() {\n return JSON.stringify(this.getPreferedVersion().schema, null, 2);\n }\n getConditions() {\n var _a;\n if (!((_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions))\n return [];\n return this.status.conditions.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return Object.assign(Object.assign({}, condition), { isReady: status === \"True\", tooltip: `${message || reason} (${lastTransitionTime})` });\n });\n }\n}\nObject.defineProperty(CustomResourceDefinition, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CustomResourceDefinition\"\n});\nObject.defineProperty(CustomResourceDefinition, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\nObject.defineProperty(CustomResourceDefinition, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/apiextensions.k8s.io/v1/customresourcedefinitions\"\n});\n/**\n * Only available within kubernetes cluster pages\n */\nlet crdApi;\nif (Object(_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__[\"isClusterPageContext\"])()) {\n crdApi = new _kube_api__WEBPACK_IMPORTED_MODULE_1__[\"KubeApi\"]({\n objectConstructor: CustomResourceDefinition,\n checkPreferredVersion: true,\n });\n}\n\n\n\n//# sourceURL=webpack:///./src/common/k8s-api/endpoints/crd.api.ts?");
38763
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return CustomResourceDefinition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return crdApi; });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _routes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../routes */ \"./src/common/routes/index.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\nclass CustomResourceDefinition extends _kube_object__WEBPACK_IMPORTED_MODULE_0__[\"KubeObject\"] {\n constructor(data) {\n super(data);\n if (!data.spec || typeof data.spec !== \"object\") {\n throw new _kube_object__WEBPACK_IMPORTED_MODULE_0__[\"KubeCreationError\"](\"Cannot create a CustomResourceDefinition from an object without spec\", data);\n }\n }\n getResourceUrl() {\n return Object(_routes__WEBPACK_IMPORTED_MODULE_2__[\"crdResourcesURL\"])({\n params: {\n group: this.getGroup(),\n name: this.getPluralName(),\n },\n });\n }\n getResourceApiBase() {\n const { group } = this.spec;\n return `/apis/${group}/${this.getVersion()}/${this.getPluralName()}`;\n }\n getPluralName() {\n return this.getNames().plural;\n }\n getResourceKind() {\n return this.spec.names.kind;\n }\n getResourceTitle() {\n const name = this.getPluralName();\n return name[0].toUpperCase() + name.substr(1);\n }\n getGroup() {\n return this.spec.group;\n }\n getScope() {\n return this.spec.scope;\n }\n getPreferedVersion() {\n const { apiVersion } = this;\n switch (apiVersion) {\n case \"apiextensions.k8s.io/v1\":\n for (const version of this.spec.versions) {\n if (version.storage) {\n return version;\n }\n }\n break;\n case \"apiextensions.k8s.io/v1beta1\":\n const { additionalPrinterColumns: apc } = this.spec;\n const additionalPrinterColumns = apc === null || apc === void 0 ? void 0 : apc.map((_a) => {\n var { JSONPath } = _a, apc = __rest(_a, [\"JSONPath\"]);\n return (Object.assign(Object.assign({}, apc), { jsonPath: JSONPath }));\n });\n return {\n name: this.spec.version,\n served: true,\n storage: true,\n schema: this.spec.validation,\n additionalPrinterColumns,\n };\n }\n throw new Error(`Unknown apiVersion=${apiVersion}: Failed to find a version for CustomResourceDefinition ${this.metadata.name}`);\n }\n getVersion() {\n return this.getPreferedVersion().name;\n }\n isNamespaced() {\n return this.getScope() === \"Namespaced\";\n }\n getStoredVersions() {\n return this.status.storedVersions.join(\", \");\n }\n getNames() {\n return this.spec.names;\n }\n getConversion() {\n return JSON.stringify(this.spec.conversion);\n }\n getPrinterColumns(ignorePriority = true) {\n var _a;\n const columns = (_a = this.getPreferedVersion().additionalPrinterColumns) !== null && _a !== void 0 ? _a : [];\n return columns\n .filter(column => column.name.toLowerCase() != \"age\" && (ignorePriority || !column.priority));\n }\n getValidation() {\n return JSON.stringify(this.getPreferedVersion().schema, null, 2);\n }\n getConditions() {\n var _a;\n if (!((_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions))\n return [];\n return this.status.conditions.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return Object.assign(Object.assign({}, condition), { isReady: status === \"True\", tooltip: `${message || reason} (${lastTransitionTime})` });\n });\n }\n}\nObject.defineProperty(CustomResourceDefinition, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CustomResourceDefinition\"\n});\nObject.defineProperty(CustomResourceDefinition, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\nObject.defineProperty(CustomResourceDefinition, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/apiextensions.k8s.io/v1/customresourcedefinitions\"\n});\n/**\n * Only available within kubernetes cluster pages\n */\nlet crdApi;\nif (Object(_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__[\"isClusterPageContext\"])()) {\n crdApi = new _kube_api__WEBPACK_IMPORTED_MODULE_1__[\"KubeApi\"]({\n objectConstructor: CustomResourceDefinition,\n checkPreferredVersion: true,\n });\n}\n\n\n\n//# sourceURL=webpack:///./src/common/k8s-api/endpoints/crd.api.ts?");
38764
38764
 
38765
38765
  /***/ }),
38766
38766
 
@@ -40452,7 +40452,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40452
40452
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40453
40453
 
40454
40454
  "use strict";
40455
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensMainExtension\", function() { return LensMainExtension; });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _main_window_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/window-manager */ \"./src/main/window-manager.ts\");\n/* harmony import */ var _main_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/catalog */ \"./src/main/catalog/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\nclass LensMainExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__[\"LensExtension\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"appMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n async navigate(pageId, params, frameId) {\n return _main_window_manager__WEBPACK_IMPORTED_MODULE_1__[\"WindowManager\"].getInstance().navigateExtension(this.id, pageId, params, frameId);\n }\n addCatalogSource(id, source) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].addObservableSource(`${this.name}:${id}`, source);\n }\n removeCatalogSource(id) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].removeSource(`${this.name}:${id}`);\n }\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-main-extension.ts?");
40455
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensMainExtension\", function() { return LensMainExtension; });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _main_window_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/window-manager */ \"./src/main/window-manager.ts\");\n/* harmony import */ var _main_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/catalog */ \"./src/main/catalog/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\nclass LensMainExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__[\"LensExtension\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"appMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"trayMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n async navigate(pageId, params, frameId) {\n return _main_window_manager__WEBPACK_IMPORTED_MODULE_1__[\"WindowManager\"].getInstance().navigateExtension(this.id, pageId, params, frameId);\n }\n addCatalogSource(id, source) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].addObservableSource(`${this.name}:${id}`, source);\n }\n removeCatalogSource(id) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].removeSource(`${this.name}:${id}`);\n }\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-main-extension.ts?");
40456
40456
 
40457
40457
  /***/ }),
40458
40458
 
@@ -40580,11 +40580,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40580
40580
  /*!********************************************!*\
40581
40581
  !*** ./src/extensions/registries/index.ts ***!
40582
40582
  \********************************************/
40583
- /*! exports provided: getExtensionPageUrl, ClusterPageRegistry, GlobalPageRegistry, ClusterPageMenuRegistry, AppPreferenceRegistry, StatusBarRegistry, KubeObjectDetailRegistry, KubeObjectMenuRegistry, KubeObjectStatusRegistry, CommandRegistry, EntitySettingRegistry, WelcomeMenuRegistry, WelcomeBannerRegistry, CatalogEntityDetailRegistry, WorkloadsOverviewDetailRegistry, TopBarRegistry */
40583
+ /*! exports provided: getExtensionPageUrl, ClusterPageRegistry, GlobalPageRegistry, ClusterPageMenuRegistry, AppPreferenceRegistry, StatusBarRegistry, KubeObjectDetailRegistry, KubeObjectMenuRegistry, KubeObjectStatusRegistry, CommandRegistry, EntitySettingRegistry, CatalogEntityDetailRegistry, WorkloadsOverviewDetailRegistry */
40584
40584
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40585
40585
 
40586
40586
  "use strict";
40587
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getExtensionPageUrl\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"getExtensionPageUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterPageRegistry\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"ClusterPageRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalPageRegistry\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"GlobalPageRegistry\"]; });\n\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterPageMenuRegistry\", function() { return _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__[\"ClusterPageMenuRegistry\"]; });\n\n/* harmony import */ var _app_preference_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-preference-registry */ \"./src/extensions/registries/app-preference-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppPreferenceRegistry\", function() { return _app_preference_registry__WEBPACK_IMPORTED_MODULE_2__[\"AppPreferenceRegistry\"]; });\n\n/* harmony import */ var _status_bar_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./status-bar-registry */ \"./src/extensions/registries/status-bar-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatusBarRegistry\", function() { return _status_bar_registry__WEBPACK_IMPORTED_MODULE_3__[\"StatusBarRegistry\"]; });\n\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectDetailRegistry\", function() { return _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_4__[\"KubeObjectDetailRegistry\"]; });\n\n/* harmony import */ var _kube_object_menu_registry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./kube-object-menu-registry */ \"./src/extensions/registries/kube-object-menu-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMenuRegistry\", function() { return _kube_object_menu_registry__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectMenuRegistry\"]; });\n\n/* harmony import */ var _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kube-object-status-registry */ \"./src/extensions/registries/kube-object-status-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStatusRegistry\", function() { return _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_6__[\"KubeObjectStatusRegistry\"]; });\n\n/* harmony import */ var _command_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./command-registry */ \"./src/extensions/registries/command-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CommandRegistry\", function() { return _command_registry__WEBPACK_IMPORTED_MODULE_7__[\"CommandRegistry\"]; });\n\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EntitySettingRegistry\", function() { return _entity_setting_registry__WEBPACK_IMPORTED_MODULE_8__[\"EntitySettingRegistry\"]; });\n\n/* harmony import */ var _welcome_menu_registry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./welcome-menu-registry */ \"./src/extensions/registries/welcome-menu-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WelcomeMenuRegistry\", function() { return _welcome_menu_registry__WEBPACK_IMPORTED_MODULE_9__[\"WelcomeMenuRegistry\"]; });\n\n/* harmony import */ var _welcome_banner_registry__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./welcome-banner-registry */ \"./src/extensions/registries/welcome-banner-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WelcomeBannerRegistry\", function() { return _welcome_banner_registry__WEBPACK_IMPORTED_MODULE_10__[\"WelcomeBannerRegistry\"]; });\n\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntityDetailRegistry\", function() { return _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_11__[\"CatalogEntityDetailRegistry\"]; });\n\n/* harmony import */ var _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./workloads-overview-detail-registry */ \"./src/extensions/registries/workloads-overview-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WorkloadsOverviewDetailRegistry\", function() { return _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_12__[\"WorkloadsOverviewDetailRegistry\"]; });\n\n/* harmony import */ var _topbar_registry__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./topbar-registry */ \"./src/extensions/registries/topbar-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TopBarRegistry\", function() { return _topbar_registry__WEBPACK_IMPORTED_MODULE_13__[\"TopBarRegistry\"]; });\n\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/* empty/unused harmony star reexport *//**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/registries/index.ts?");
40587
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getExtensionPageUrl\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"getExtensionPageUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterPageRegistry\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"ClusterPageRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalPageRegistry\", function() { return _page_registry__WEBPACK_IMPORTED_MODULE_0__[\"GlobalPageRegistry\"]; });\n\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterPageMenuRegistry\", function() { return _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__[\"ClusterPageMenuRegistry\"]; });\n\n/* harmony import */ var _app_preference_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-preference-registry */ \"./src/extensions/registries/app-preference-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppPreferenceRegistry\", function() { return _app_preference_registry__WEBPACK_IMPORTED_MODULE_2__[\"AppPreferenceRegistry\"]; });\n\n/* harmony import */ var _status_bar_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./status-bar-registry */ \"./src/extensions/registries/status-bar-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatusBarRegistry\", function() { return _status_bar_registry__WEBPACK_IMPORTED_MODULE_3__[\"StatusBarRegistry\"]; });\n\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectDetailRegistry\", function() { return _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_4__[\"KubeObjectDetailRegistry\"]; });\n\n/* harmony import */ var _kube_object_menu_registry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./kube-object-menu-registry */ \"./src/extensions/registries/kube-object-menu-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMenuRegistry\", function() { return _kube_object_menu_registry__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectMenuRegistry\"]; });\n\n/* harmony import */ var _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kube-object-status-registry */ \"./src/extensions/registries/kube-object-status-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStatusRegistry\", function() { return _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_6__[\"KubeObjectStatusRegistry\"]; });\n\n/* harmony import */ var _command_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./command-registry */ \"./src/extensions/registries/command-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CommandRegistry\", function() { return _command_registry__WEBPACK_IMPORTED_MODULE_7__[\"CommandRegistry\"]; });\n\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EntitySettingRegistry\", function() { return _entity_setting_registry__WEBPACK_IMPORTED_MODULE_8__[\"EntitySettingRegistry\"]; });\n\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntityDetailRegistry\", function() { return _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_9__[\"CatalogEntityDetailRegistry\"]; });\n\n/* harmony import */ var _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./workloads-overview-detail-registry */ \"./src/extensions/registries/workloads-overview-detail-registry.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WorkloadsOverviewDetailRegistry\", function() { return _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_10__[\"WorkloadsOverviewDetailRegistry\"]; });\n\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/* empty/unused harmony star reexport *//**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/registries/index.ts?");
40588
40588
 
40589
40589
  /***/ }),
40590
40590
 
@@ -40672,42 +40672,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40672
40672
 
40673
40673
  /***/ }),
40674
40674
 
40675
- /***/ "./src/extensions/registries/topbar-registry.ts":
40676
- /*!******************************************************!*\
40677
- !*** ./src/extensions/registries/topbar-registry.ts ***!
40678
- \******************************************************/
40679
- /*! exports provided: TopBarRegistry */
40680
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
40681
-
40682
- "use strict";
40683
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TopBarRegistry\", function() { return TopBarRegistry; });\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nclass TopBarRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_0__[\"BaseRegistry\"] {\n}\n\n\n//# sourceURL=webpack:///./src/extensions/registries/topbar-registry.ts?");
40684
-
40685
- /***/ }),
40686
-
40687
- /***/ "./src/extensions/registries/welcome-banner-registry.ts":
40688
- /*!**************************************************************!*\
40689
- !*** ./src/extensions/registries/welcome-banner-registry.ts ***!
40690
- \**************************************************************/
40691
- /*! exports provided: WelcomeBannerRegistry */
40692
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
40693
-
40694
- "use strict";
40695
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WelcomeBannerRegistry\", function() { return WelcomeBannerRegistry; });\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nclass WelcomeBannerRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_0__[\"BaseRegistry\"] {\n}\n\n\n//# sourceURL=webpack:///./src/extensions/registries/welcome-banner-registry.ts?");
40696
-
40697
- /***/ }),
40698
-
40699
- /***/ "./src/extensions/registries/welcome-menu-registry.ts":
40700
- /*!************************************************************!*\
40701
- !*** ./src/extensions/registries/welcome-menu-registry.ts ***!
40702
- \************************************************************/
40703
- /*! exports provided: WelcomeMenuRegistry */
40704
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
40705
-
40706
- "use strict";
40707
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WelcomeMenuRegistry\", function() { return WelcomeMenuRegistry; });\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nclass WelcomeMenuRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_0__[\"BaseRegistry\"] {\n}\n\n\n//# sourceURL=webpack:///./src/extensions/registries/welcome-menu-registry.ts?");
40708
-
40709
- /***/ }),
40710
-
40711
40675
  /***/ "./src/extensions/registries/workloads-overview-detail-registry.ts":
40712
40676
  /*!*************************************************************************!*\
40713
40677
  !*** ./src/extensions/registries/workloads-overview-detail-registry.ts ***!
@@ -42084,7 +42048,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
42084
42048
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
42085
42049
 
42086
42050
  "use strict";
42087
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Terminal\", function() { return Terminal; });\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! xterm */ \"./node_modules/xterm/lib/xterm.js\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(xterm__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! xterm-addon-fit */ \"./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js\");\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _dock_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dock.store */ \"./src/renderer/components/dock/dock.store.ts\");\n/* harmony import */ var _api_terminal_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../api/terminal-api */ \"./src/renderer/api/terminal-api.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _common_logger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/logger */ \"./src/common/logger.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Terminal {\n constructor(tabId, api) {\n Object.defineProperty(this, \"tabId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: tabId\n });\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: api\n });\n Object.defineProperty(this, \"xterm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new xterm__WEBPACK_IMPORTED_MODULE_2__[\"Terminal\"]({\n cursorBlink: true,\n cursorStyle: \"bar\",\n fontSize: 13,\n fontFamily: \"RobotoMono\",\n })\n });\n Object.defineProperty(this, \"fitAddon\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__[\"FitAddon\"]()\n });\n Object.defineProperty(this, \"scrollPos\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"disposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"disposer\"])()\n });\n Object.defineProperty(this, \"fit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n // Since this function is debounced we need to read this value as late as possible\n if (!this.isActive || !this.xterm) {\n return;\n }\n try {\n this.fitAddon.fit();\n const { cols, rows } = this.xterm;\n this.api.sendTerminalSize(cols, rows);\n }\n catch (error) {\n // see https://github.com/lensapp/lens/issues/1891\n _common_logger__WEBPACK_IMPORTED_MODULE_12__[\"default\"].error(`[TERMINAL]: failed to resize terminal to fit`, error);\n }\n }\n });\n Object.defineProperty(this, \"fitLazy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(this.fit, 250)\n });\n Object.defineProperty(this, \"focus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.xterm.focus();\n }\n });\n Object.defineProperty(this, \"onApiData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (data) => {\n this.xterm.write(data);\n }\n });\n Object.defineProperty(this, \"onData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (data) => {\n if (!this.api.isReady)\n return;\n this.api.sendMessage({\n type: _api_terminal_api__WEBPACK_IMPORTED_MODULE_5__[\"TerminalChannels\"].STDIN,\n data,\n });\n }\n });\n Object.defineProperty(this, \"onScroll\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.scrollPos = this.viewport.scrollTop;\n }\n });\n Object.defineProperty(this, \"onClear\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.xterm.clear();\n }\n });\n Object.defineProperty(this, \"onResize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.fitLazy();\n this.focus();\n }\n });\n Object.defineProperty(this, \"onActivate\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.fit();\n setTimeout(() => this.focus(), 250); // delay used to prevent focus on active tab\n this.viewport.scrollTop = this.scrollPos; // restore last scroll position\n }\n });\n Object.defineProperty(this, \"onClickLink\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt, link) => {\n window.open(link, \"_blank\");\n }\n });\n Object.defineProperty(this, \"onContextMenu\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n if (\n // don't paste if user hasn't turned on the feature\n _common_user_store__WEBPACK_IMPORTED_MODULE_10__[\"UserStore\"].getInstance().terminalCopyOnSelect\n // don't paste if the clipboard doesn't have text\n && electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].availableFormats().includes(\"text/plain\")) {\n this.xterm.paste(electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].readText());\n }\n }\n });\n Object.defineProperty(this, \"onSelectionChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n const selection = this.xterm.getSelection().trim();\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_10__[\"UserStore\"].getInstance().terminalCopyOnSelect && selection) {\n electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].writeText(selection);\n }\n }\n });\n Object.defineProperty(this, \"keyHandler\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n const { code, ctrlKey, metaKey } = evt;\n // Handle custom hotkey bindings\n if (ctrlKey) {\n switch (code) {\n // Ctrl+C: prevent terminal exit on windows / linux (?)\n case \"KeyC\":\n if (this.xterm.hasSelection())\n return false;\n break;\n // Ctrl+W: prevent unexpected terminal tab closing, e.g. editing file in vim\n case \"KeyW\":\n evt.preventDefault();\n break;\n }\n }\n //Ctrl+K: clear the entire buffer, making the prompt line the new first line on mac os\n if (_common_vars__WEBPACK_IMPORTED_MODULE_8__[\"isMac\"] && metaKey) {\n switch (code) {\n case \"KeyK\":\n this.onClear();\n break;\n }\n }\n return true;\n }\n });\n // enable terminal addons\n this.xterm.loadAddon(this.fitAddon);\n this.xterm.open(Terminal.spawningPool);\n this.xterm.registerLinkMatcher(/https?:\\/\\/[^\\s]+/i, this.onClickLink);\n this.xterm.attachCustomKeyEventHandler(this.keyHandler);\n this.xterm.onSelectionChange(this.onSelectionChange);\n // bind events\n const onDataHandler = this.xterm.onData(this.onData);\n const clearOnce = Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"once\"])(this.onClear);\n this.viewport.addEventListener(\"scroll\", this.onScroll);\n this.elem.addEventListener(\"contextmenu\", this.onContextMenu);\n this.api.once(\"ready\", clearOnce);\n this.api.once(\"connected\", clearOnce);\n this.api.on(\"data\", this.onApiData);\n window.addEventListener(\"resize\", this.onResize);\n this.disposer.push(Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"reaction\"])(() => _theme_store__WEBPACK_IMPORTED_MODULE_6__[\"ThemeStore\"].getInstance().activeTheme.colors, this.setTheme, {\n fireImmediately: true,\n }), _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].onResize(this.onResize), () => onDataHandler.dispose(), () => this.fitAddon.dispose(), () => this.api.removeAllListeners(), () => window.removeEventListener(\"resize\", this.onResize), () => this.elem.removeEventListener(\"contextmenu\", this.onContextMenu));\n }\n static async preloadFonts() {\n const fontPath = __webpack_require__(/*! ../fonts/roboto-mono-nerd.ttf */ \"./src/renderer/components/fonts/roboto-mono-nerd.ttf\").default; // eslint-disable-line @typescript-eslint/no-var-requires\n const fontFace = new FontFace(\"RobotoMono\", `url(${fontPath})`);\n await fontFace.load();\n document.fonts.add(fontFace);\n }\n setTheme(colors) {\n if (!this.xterm) {\n return;\n }\n // Replacing keys stored in styles to format accepted by terminal\n // E.g. terminalBrightBlack -> brightBlack\n const colorPrefix = \"terminal\";\n const terminalColorEntries = Object.entries(colors)\n .filter(([name]) => name.startsWith(colorPrefix))\n .map(([name, color]) => [Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"camelCase\"])(name.slice(colorPrefix.length)), color]);\n const terminalColors = Object.fromEntries(terminalColorEntries);\n this.xterm.setOption(\"theme\", terminalColors);\n }\n get elem() {\n var _a;\n return (_a = this.xterm) === null || _a === void 0 ? void 0 : _a.element;\n }\n get viewport() {\n return this.xterm.element.querySelector(\".xterm-viewport\");\n }\n get isActive() {\n const { isOpen, selectedTabId } = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"];\n return isOpen && selectedTabId === this.tabId;\n }\n attachTo(parentElem) {\n parentElem.appendChild(this.elem);\n this.onActivate();\n }\n detach() {\n const { elem } = this;\n if (elem) {\n Terminal.spawningPool.appendChild(elem);\n }\n }\n destroy() {\n if (this.xterm) {\n this.disposer();\n this.xterm.dispose();\n this.xterm = null;\n }\n }\n}\nObject.defineProperty(Terminal, \"spawningPool\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (() => {\n // terminal element must be in DOM before attaching via xterm.open(elem)\n // https://xtermjs.org/docs/api/terminal/classes/terminal/#open\n const pool = document.createElement(\"div\");\n pool.className = \"terminal-init\";\n pool.style.cssText = \"position: absolute; top: 0; left: 0; height: 0; visibility: hidden; overflow: hidden\";\n document.body.appendChild(pool);\n return pool;\n })()\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_7__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Terminal.prototype, \"setTheme\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/components/dock/terminal.ts?");
42051
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Terminal\", function() { return Terminal; });\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! xterm */ \"./node_modules/xterm/lib/xterm.js\");\n/* harmony import */ var xterm__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(xterm__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! xterm-addon-fit */ \"./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js\");\n/* harmony import */ var xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _dock_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dock.store */ \"./src/renderer/components/dock/dock.store.ts\");\n/* harmony import */ var _api_terminal_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../api/terminal-api */ \"./src/renderer/api/terminal-api.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _common_logger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/logger */ \"./src/common/logger.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Terminal {\n constructor(tabId, api) {\n Object.defineProperty(this, \"tabId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: tabId\n });\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: api\n });\n Object.defineProperty(this, \"xterm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new xterm__WEBPACK_IMPORTED_MODULE_2__[\"Terminal\"]({\n cursorBlink: true,\n cursorStyle: \"bar\",\n fontSize: 13,\n fontFamily: \"RobotoMono\",\n })\n });\n Object.defineProperty(this, \"fitAddon\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new xterm_addon_fit__WEBPACK_IMPORTED_MODULE_3__[\"FitAddon\"]()\n });\n Object.defineProperty(this, \"scrollPos\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"disposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"disposer\"])()\n });\n Object.defineProperty(this, \"fit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n // Since this function is debounced we need to read this value as late as possible\n if (!this.isActive || !this.xterm) {\n return;\n }\n try {\n this.fitAddon.fit();\n const { cols, rows } = this.xterm;\n this.api.sendTerminalSize(cols, rows);\n }\n catch (error) {\n // see https://github.com/lensapp/lens/issues/1891\n _common_logger__WEBPACK_IMPORTED_MODULE_12__[\"default\"].error(`[TERMINAL]: failed to resize terminal to fit`, error);\n }\n }\n });\n Object.defineProperty(this, \"fitLazy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(this.fit, 250)\n });\n Object.defineProperty(this, \"focus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.xterm.focus();\n }\n });\n Object.defineProperty(this, \"onApiData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (data) => {\n this.xterm.write(data);\n }\n });\n Object.defineProperty(this, \"onData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (data) => {\n if (!this.api.isReady)\n return;\n this.api.sendMessage({\n type: _api_terminal_api__WEBPACK_IMPORTED_MODULE_5__[\"TerminalChannels\"].STDIN,\n data,\n });\n }\n });\n Object.defineProperty(this, \"onScroll\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.scrollPos = this.viewport.scrollTop;\n }\n });\n Object.defineProperty(this, \"onClear\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.xterm.clear();\n }\n });\n Object.defineProperty(this, \"onResize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.fitLazy();\n this.focus();\n }\n });\n Object.defineProperty(this, \"onActivate\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.fit();\n setTimeout(() => this.focus(), 250); // delay used to prevent focus on active tab\n this.viewport.scrollTop = this.scrollPos; // restore last scroll position\n }\n });\n Object.defineProperty(this, \"onClickLink\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt, link) => {\n window.open(link, \"_blank\");\n }\n });\n Object.defineProperty(this, \"onContextMenu\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n if (\n // don't paste if user hasn't turned on the feature\n _common_user_store__WEBPACK_IMPORTED_MODULE_10__[\"UserStore\"].getInstance().terminalCopyOnSelect\n // don't paste if the clipboard doesn't have text\n && electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].availableFormats().includes(\"text/plain\")) {\n this.xterm.paste(electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].readText());\n }\n }\n });\n Object.defineProperty(this, \"onSelectionChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n const selection = this.xterm.getSelection().trim();\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_10__[\"UserStore\"].getInstance().terminalCopyOnSelect && selection) {\n electron__WEBPACK_IMPORTED_MODULE_11__[\"clipboard\"].writeText(selection);\n }\n }\n });\n Object.defineProperty(this, \"keyHandler\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n const { code, ctrlKey, metaKey } = evt;\n // Handle custom hotkey bindings\n if (ctrlKey) {\n switch (code) {\n // Ctrl+C: prevent terminal exit on windows / linux (?)\n case \"KeyC\":\n if (this.xterm.hasSelection())\n return false;\n break;\n // Ctrl+W: prevent unexpected terminal tab closing, e.g. editing file in vim\n case \"KeyW\":\n evt.preventDefault();\n break;\n }\n }\n //Ctrl+K: clear the entire buffer, making the prompt line the new first line on mac os\n if (_common_vars__WEBPACK_IMPORTED_MODULE_8__[\"isMac\"] && metaKey) {\n switch (code) {\n case \"KeyK\":\n this.onClear();\n break;\n }\n }\n return true;\n }\n });\n // enable terminal addons\n this.xterm.loadAddon(this.fitAddon);\n this.xterm.open(Terminal.spawningPool);\n this.xterm.registerLinkMatcher(/https?:\\/\\/[^\\s]+/i, this.onClickLink);\n this.xterm.attachCustomKeyEventHandler(this.keyHandler);\n this.xterm.onSelectionChange(this.onSelectionChange);\n // bind events\n const onDataHandler = this.xterm.onData(this.onData);\n const clearOnce = Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"once\"])(this.onClear);\n this.viewport.addEventListener(\"scroll\", this.onScroll);\n this.elem.addEventListener(\"contextmenu\", this.onContextMenu);\n this.api.once(\"ready\", clearOnce);\n this.api.once(\"connected\", clearOnce);\n this.api.on(\"data\", this.onApiData);\n window.addEventListener(\"resize\", this.onResize);\n this.disposer.push(Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"reaction\"])(() => _theme_store__WEBPACK_IMPORTED_MODULE_6__[\"ThemeStore\"].getInstance().activeTheme.colors, this.setTheme, {\n fireImmediately: true,\n }), _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].onResize(this.onResize), () => onDataHandler.dispose(), () => this.fitAddon.dispose(), () => this.api.removeAllListeners(), () => window.removeEventListener(\"resize\", this.onResize), () => this.elem.removeEventListener(\"contextmenu\", this.onContextMenu));\n }\n static get spawningPool() {\n return document.getElementById(\"terminal-init\");\n }\n static async preloadFonts() {\n const fontPath = __webpack_require__(/*! ../fonts/roboto-mono-nerd.ttf */ \"./src/renderer/components/fonts/roboto-mono-nerd.ttf\").default; // eslint-disable-line @typescript-eslint/no-var-requires\n const fontFace = new FontFace(\"RobotoMono\", `url(${fontPath})`);\n await fontFace.load();\n document.fonts.add(fontFace);\n }\n setTheme(colors) {\n if (!this.xterm) {\n return;\n }\n // Replacing keys stored in styles to format accepted by terminal\n // E.g. terminalBrightBlack -> brightBlack\n const colorPrefix = \"terminal\";\n const terminalColorEntries = Object.entries(colors)\n .filter(([name]) => name.startsWith(colorPrefix))\n .map(([name, color]) => [Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"camelCase\"])(name.slice(colorPrefix.length)), color]);\n const terminalColors = Object.fromEntries(terminalColorEntries);\n this.xterm.setOption(\"theme\", terminalColors);\n }\n get elem() {\n var _a;\n return (_a = this.xterm) === null || _a === void 0 ? void 0 : _a.element;\n }\n get viewport() {\n return this.xterm.element.querySelector(\".xterm-viewport\");\n }\n get isActive() {\n const { isOpen, selectedTabId } = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"];\n return isOpen && selectedTabId === this.tabId;\n }\n attachTo(parentElem) {\n parentElem.appendChild(this.elem);\n this.onActivate();\n }\n detach() {\n const { elem } = this;\n if (elem) {\n Terminal.spawningPool.appendChild(elem);\n }\n }\n destroy() {\n if (this.xterm) {\n this.disposer();\n this.xterm.dispose();\n this.xterm = null;\n }\n }\n}\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_7__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Terminal.prototype, \"setTheme\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/components/dock/terminal.ts?");
42088
42052
 
42089
42053
  /***/ }),
42090
42054
 
@@ -22,8 +22,10 @@ import { LensExtension } from "./lens-extension";
22
22
  import type { CatalogEntity } from "../common/catalog";
23
23
  import type { IObservableArray } from "mobx";
24
24
  import type { MenuRegistration } from "../main/menu/menu-registration";
25
+ import type { TrayMenuRegistration } from "../main/tray/tray-menu-registration";
25
26
  export declare class LensMainExtension extends LensExtension {
26
27
  appMenus: MenuRegistration[];
28
+ trayMenus: TrayMenuRegistration[];
27
29
  navigate(pageId?: string, params?: Record<string, any>, frameId?: number): Promise<void>;
28
30
  addCatalogSource(id: string, source: IObservableArray<CatalogEntity>): void;
29
31
  removeCatalogSource(id: string): void;
@@ -24,7 +24,10 @@ import type { CatalogEntity } from "../common/catalog";
24
24
  import type { Disposer } from "../common/utils";
25
25
  import { EntityFilter } from "../renderer/api/catalog-entity-registry";
26
26
  import { CategoryFilter } from "../renderer/api/catalog-category-registry";
27
+ import type { TopBarRegistration } from "../renderer/components/layout/top-bar/top-bar-registration";
27
28
  import type { KubernetesCluster } from "../common/catalog-entities";
29
+ import type { WelcomeMenuRegistration } from "../renderer/components/+welcome/welcome-menu-items/welcome-menu-registration";
30
+ import type { WelcomeBannerRegistration } from "../renderer/components/+welcome/welcome-banner-items/welcome-banner-registration";
28
31
  export declare class LensRendererExtension extends LensExtension {
29
32
  globalPages: registries.PageRegistration[];
30
33
  clusterPages: registries.PageRegistration[];
@@ -37,10 +40,10 @@ export declare class LensRendererExtension extends LensExtension {
37
40
  kubeObjectMenuItems: registries.KubeObjectMenuRegistration[];
38
41
  kubeWorkloadsOverviewItems: registries.WorkloadsOverviewDetailRegistration[];
39
42
  commands: registries.CommandRegistration[];
40
- welcomeMenus: registries.WelcomeMenuRegistration[];
41
- welcomeBanners: registries.WelcomeBannerRegistration[];
43
+ welcomeMenus: WelcomeMenuRegistration[];
44
+ welcomeBanners: WelcomeBannerRegistration[];
42
45
  catalogEntityDetailItems: registries.CatalogEntityDetailRegistration<CatalogEntity>[];
43
- topBarItems: registries.TopBarRegistration[];
46
+ topBarItems: TopBarRegistration[];
44
47
  navigate<P extends object>(pageId?: string, params?: P): Promise<void>;
45
48
  /**
46
49
  * Defines if extension is enabled for a given cluster. This method is only
@@ -27,9 +27,6 @@ export * from "./kube-object-menu-registry";
27
27
  export * from "./kube-object-status-registry";
28
28
  export * from "./command-registry";
29
29
  export * from "./entity-setting-registry";
30
- export * from "./welcome-menu-registry";
31
- export * from "./welcome-banner-registry";
32
30
  export * from "./catalog-entity-detail-registry";
33
31
  export * from "./workloads-overview-detail-registry";
34
- export * from "./topbar-registry";
35
32
  export * from "./protocol-handler";
@@ -0,0 +1,5 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { IComputedValue } from "mobx";
3
+ import type { LensRendererExtension } from "./lens-renderer-extension";
4
+ declare const rendererExtensionsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<IComputedValue<LensRendererExtension[]>, unknown>, IComputedValue<LensRendererExtension[]>, unknown>;
5
+ export default rendererExtensionsInjectable;
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const trayItemsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<import("./tray-menu-registration").TrayMenuRegistration[]>, unknown>, import("mobx").IComputedValue<import("./tray-menu-registration").TrayMenuRegistration[]>, unknown>;
3
+ export default trayItemsInjectable;
@@ -0,0 +1 @@
1
+ export {};
@@ -19,7 +19,9 @@
19
19
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
20
  */
21
21
  import { Tray } from "electron";
22
- import type { WindowManager } from "./window-manager";
22
+ import { IComputedValue } from "mobx";
23
+ import type { WindowManager } from "../window-manager";
24
+ import type { TrayMenuRegistration } from "./tray-menu-registration";
23
25
  export declare let tray: Tray;
24
26
  export declare function getTrayIcon(): string;
25
- export declare function initTray(windowManager: WindowManager): () => void;
27
+ export declare function initTray(windowManager: WindowManager, trayMenuItems: IComputedValue<TrayMenuRegistration[]>): () => void;
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const welcomeBannerItemsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<import("./welcome-banner-registration").WelcomeBannerRegistration[]>, unknown>, import("mobx").IComputedValue<import("./welcome-banner-registration").WelcomeBannerRegistration[]>, unknown>;
3
+ export default welcomeBannerItemsInjectable;
@@ -18,14 +18,10 @@
18
18
  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
19
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
20
  */
21
- import type React from "react";
22
- import { BaseRegistry } from "./base-registry";
23
- interface TopBarComponents {
24
- Item: React.ComponentType;
25
- }
26
- export interface TopBarRegistration {
27
- components: TopBarComponents;
28
- }
29
- export declare class TopBarRegistry extends BaseRegistry<TopBarRegistration> {
21
+ import { IComputedValue } from "mobx";
22
+ import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
23
+ interface Dependencies {
24
+ extensions: IComputedValue<LensRendererExtension[]>;
30
25
  }
26
+ export declare const getWelcomeMenuItems: ({ extensions }: Dependencies) => IComputedValue<import("./welcome-menu-registration").WelcomeMenuRegistration[]>;
31
27
  export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const welcomeMenuItemsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<import("./welcome-menu-registration").WelcomeMenuRegistration[]>, unknown>, import("mobx").IComputedValue<import("./welcome-menu-registration").WelcomeMenuRegistration[]>, unknown>;
3
+ export default welcomeMenuItemsInjectable;
@@ -21,6 +21,4 @@
21
21
  import "./welcome.scss";
22
22
  import React from "react";
23
23
  export declare const defaultWidth = 320;
24
- export declare class Welcome extends React.Component {
25
- render(): JSX.Element;
26
- }
24
+ export declare const Welcome: React.FC<{}>;
@@ -24,7 +24,7 @@ import { TerminalApi } from "../../api/terminal-api";
24
24
  export declare class Terminal {
25
25
  tabId: TabId;
26
26
  protected api: TerminalApi;
27
- static readonly spawningPool: HTMLDivElement;
27
+ static get spawningPool(): HTMLElement;
28
28
  static preloadFonts(): Promise<void>;
29
29
  private xterm;
30
30
  private readonly fitAddon;
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const topBarItemsInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<import("mobx").IComputedValue<import("../top-bar-registration").TopBarRegistration[]>, unknown>, import("mobx").IComputedValue<import("../top-bar-registration").TopBarRegistration[]>, unknown>;
3
+ export default topBarItemsInjectable;
@@ -18,4 +18,5 @@
18
18
  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
19
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
20
  */
21
- export declare function initWelcomeMenuRegistry(): void;
21
+ import React from "react";
22
+ export declare const TopBar: React.FC<{}>;
@@ -29,5 +29,5 @@ interface Props extends SwitchProps {
29
29
  /**
30
30
  * @deprecated Use <Switch/> instead from "../switch.tsx".
31
31
  */
32
- export declare const Switcher: React.ComponentType<Pick<Props, "name" | "key" | "id" | "size" | "resource" | "type" | "value" | "style" | "dir" | "form" | "slot" | "title" | "color" | "className" | "prefix" | "defaultValue" | "hidden" | "ref" | "disabled" | "onDrag" | "onDoubleClick" | "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" | "onDoubleClickCapture" | "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" | "autoFocus" | "icon" | "aria-label" | "aria-labelledby" | "placeholder" | "tabIndex" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "spellCheck" | "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-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" | "checked" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "readOnly" | "required" | "inputProps" | "action" | "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">>;
32
+ export declare const Switcher: React.ComponentType<Pick<Props, "name" | "key" | "id" | "hidden" | "size" | "resource" | "type" | "value" | "className" | "style" | "dir" | "form" | "slot" | "title" | "color" | "ref" | "disabled" | "onDrag" | "onDoubleClick" | "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" | "onDoubleClickCapture" | "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" | "autoFocus" | "icon" | "checked" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "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" | "inputProps" | "action" | "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">>;
33
33
  export {};
@@ -26,7 +26,6 @@ export * from "./ipc";
26
26
  export * from "./kube-object-detail-registry";
27
27
  export * from "./kube-object-menu-registry";
28
28
  export * from "./registries";
29
- export * from "./welcome-menu-registry";
30
29
  export * from "./workloads-overview-detail-registry";
31
30
  export * from "./catalog-category-registry";
32
31
  export * from "./status-bar-registry";
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.3.1-git.5bdfea6e31.0",
5
+ "version": "5.3.1-git.6a97a7b35b.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",
@@ -1,38 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- /// <reference types="react" />
22
- import { BaseRegistry } from "./base-registry";
23
- /**
24
- * WelcomeBannerRegistration is for an extension to register
25
- * Provide a Banner component to be renderered in the welcome screen.
26
- */
27
- export interface WelcomeBannerRegistration {
28
- /**
29
- * The banner component to be shown on the welcome screen.
30
- */
31
- Banner?: React.ComponentType;
32
- /**
33
- * The banner width in px.
34
- */
35
- width?: number;
36
- }
37
- export declare class WelcomeBannerRegistry extends BaseRegistry<WelcomeBannerRegistration> {
38
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- import { BaseRegistry } from "./base-registry";
22
- export interface WelcomeMenuRegistration {
23
- title: string | (() => string);
24
- icon: string;
25
- click: () => void | Promise<void>;
26
- }
27
- export declare class WelcomeMenuRegistry extends BaseRegistry<WelcomeMenuRegistration> {
28
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- import React from "react";
22
- interface Props extends React.HTMLAttributes<any> {
23
- }
24
- export declare const TopBar: ({ children, ...rest }: Props) => JSX.Element;
25
- export {};