@k8slens/extensions 5.5.1 → 5.5.3

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.
@@ -236,8 +236,10 @@ export interface CephfsSource {
236
236
  secretRef?: SecretReference;
237
237
  /**
238
238
  * Whether the filesystem is used as readOnly.
239
+ *
240
+ * @default false
239
241
  */
240
- readOnly: boolean;
242
+ readOnly?: boolean;
241
243
  }
242
244
  export interface CinderSource {
243
245
  volumeID: string;
@@ -368,46 +370,53 @@ export interface PortworxVolumeSource {
368
370
  fsType?: string;
369
371
  readOnly?: boolean;
370
372
  }
373
+ export interface KeyToPath {
374
+ key: string;
375
+ path: string;
376
+ mode?: number;
377
+ }
378
+ export interface ConfigMapProjection {
379
+ name: string;
380
+ items?: KeyToPath[];
381
+ optional?: boolean;
382
+ }
383
+ export interface ObjectFieldSelector {
384
+ fieldPath: string;
385
+ apiVersion?: string;
386
+ }
387
+ export interface ResourceFieldSelector {
388
+ resource: string;
389
+ containerName?: string;
390
+ divisor?: string;
391
+ }
392
+ export interface DownwardAPIVolumeFile {
393
+ path: string;
394
+ fieldRef?: ObjectFieldSelector;
395
+ resourceFieldRef?: ResourceFieldSelector;
396
+ mode?: number;
397
+ }
398
+ export interface DownwardAPIProjection {
399
+ items?: DownwardAPIVolumeFile[];
400
+ }
401
+ export interface SecretProjection {
402
+ name: string;
403
+ items?: KeyToPath[];
404
+ optional?: boolean;
405
+ }
406
+ export interface ServiceAccountTokenProjection {
407
+ audience?: string;
408
+ expirationSeconds?: number;
409
+ path: string;
410
+ }
411
+ export interface VolumeProjection {
412
+ secret?: SecretProjection;
413
+ downwardAPI?: DownwardAPIProjection;
414
+ configMap?: ConfigMapProjection;
415
+ serviceAccountToken?: ServiceAccountTokenProjection;
416
+ }
371
417
  export interface ProjectedSource {
372
- sources: {
373
- secret?: {
374
- name: string;
375
- items?: {
376
- key: string;
377
- path: string;
378
- mode?: number;
379
- }[];
380
- };
381
- downwardAPI?: {
382
- items?: {
383
- path: string;
384
- fieldRef?: {
385
- fieldPath: string;
386
- apiVersion?: string;
387
- };
388
- resourceFieldRef?: {
389
- resource: string;
390
- containerName?: string;
391
- };
392
- mode?: number;
393
- }[];
394
- };
395
- configMap?: {
396
- name: string;
397
- items?: {
398
- key: string;
399
- path: string;
400
- mode?: number;
401
- }[];
402
- optional?: boolean;
403
- };
404
- serviceAccountToken?: {
405
- audience?: string;
406
- expirationSeconds?: number;
407
- path: string;
408
- };
409
- }[];
410
- defaultMode: number;
418
+ sources?: VolumeProjection[];
419
+ defaultMode?: number;
411
420
  }
412
421
  export interface QuobyteSource {
413
422
  registry: string;
@@ -36,6 +36,7 @@ export interface KubeJsonApiData extends JsonApiData {
36
36
  kind: string;
37
37
  apiVersion: string;
38
38
  metadata: KubeJsonApiMetadata;
39
+ spec?: unknown;
39
40
  }
40
41
  export interface KubeJsonApiError extends JsonApiError {
41
42
  code: number;
@@ -36616,7 +36616,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36616
36616
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36617
36617
 
36618
36618
  "use strict";
36619
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WindowManager\": () => (/* binding */ WindowManager)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_4__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"mainContentUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_9__.LensProxy.getInstance().port}`\n });\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n this.bindEvents();\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_1___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_8__.productName,\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac ? \"hiddenInset\" : \"hidden\",\n frame: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac,\n backgroundColor: \"#1e2124\",\n webPreferences: {\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n webviewTag: true,\n contextIsolation: false,\n nativeWindowOpen: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"dom-ready\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n })\n .setWindowOpenHandler((details) => {\n (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.openBrowser)(details.url).catch(error => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"[WINDOW-MANAGER]: failed to open browser\", { error });\n });\n return { action: \"deny\" };\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainContentUrl} ...`);\n await this.mainWindow.loadURL(this.mainContentUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_3__.ipcMainOn)(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain.once(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__.bundledExtensionsLoaded, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.delay)(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n this.navigateSync(url, frameId);\n }\n navigateSync(url, frameId) {\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_0__.webContents.getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n nativeWindowOpen: true,\n },\n });\n await this.splashWindow.loadURL(\"static://splash.html\");\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_11__.observable,\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/main/window-manager.ts?");
36619
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WindowManager\": () => (/* binding */ WindowManager)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_11__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_4__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"mainContentUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_9__.LensProxy.getInstance().port}`\n });\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_12__.makeObservable)(this);\n this.bindEvents();\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_1___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_8__.productName,\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac ? \"hiddenInset\" : \"hidden\",\n frame: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac,\n backgroundColor: \"#1e2124\",\n webPreferences: {\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n webviewTag: true,\n contextIsolation: false,\n nativeWindowOpen: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"dom-ready\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n })\n .setWindowOpenHandler((details) => {\n (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.openBrowser)(details.url).catch(error => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"[WINDOW-MANAGER]: failed to open browser\", { error });\n });\n return { action: \"deny\" };\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainContentUrl} ...`);\n await this.mainWindow.loadURL(this.mainContentUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_3__.ipcMainOn)(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain.once(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__.bundledExtensionsLoaded, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.delay)(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n this.navigateSync(url, frameId);\n }\n navigateSync(url, frameId) {\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_0__.webContents.getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n nativeWindowOpen: true,\n },\n });\n const splashWindowFilePath = path__WEBPACK_IMPORTED_MODULE_11___default().join(_common_vars__WEBPACK_IMPORTED_MODULE_8__.staticFilesDirectory, \"splash.html\");\n try {\n await this.splashWindow.loadFile(splashWindowFilePath);\n }\n catch (error) {\n if (String(error).includes(\"ERR_FAILED\")) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: failed to load splash window on first attempt, trying again...\");\n // Try again, from reading some issues it seems that trying again immedeiately sometimes works\n await this.splashWindow.loadFile(splashWindowFilePath);\n }\n else {\n throw error;\n }\n }\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_12__.observable,\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/main/window-manager.ts?");
36620
36620
 
36621
36621
  /***/ }),
36622
36622
 
@@ -38321,7 +38321,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
38321
38321
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
38322
38322
 
38323
38323
  "use strict";
38324
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectMenu\": () => (/* binding */ KubeObjectMenu)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../menu */ \"./src/renderer/components/menu/index.ts\");\n/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/identity */ \"./node_modules/lodash/identity.js\");\n/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_identity__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _dependencies_cluster_name_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dependencies/cluster-name.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/cluster-name.injectable.ts\");\n/* harmony import */ var _dock_edit_resource_edit_resource_tab_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dock/edit-resource/edit-resource-tab.injectable */ \"./src/renderer/components/dock/edit-resource/edit-resource-tab.injectable.ts\");\n/* harmony import */ var _dependencies_hide_details_injectable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dependencies/hide-details.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/hide-details.injectable.ts\");\n/* harmony import */ var _dependencies_kube_object_menu_items_kube_object_menu_items_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dependencies/kube-object-menu-items/kube-object-menu-items.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-items.injectable.ts\");\n/* harmony import */ var _dependencies_api_manager_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dependencies/api-manager.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/api-manager.injectable.ts\");\n/* harmony import */ var _on_context_menu_open_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./on-context-menu-open.injectable */ \"./src/renderer/components/kube-object-menu/on-context-menu-open.injectable.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _navigation_navigate_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../navigation/navigate.injectable */ \"./src/renderer/navigation/navigate.injectable.ts\");\n/* harmony import */ var _confirm_dialog_with_confirm_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../confirm-dialog/with-confirm.injectable */ \"./src/renderer/components/confirm-dialog/with-confirm.injectable.ts\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet NonInjectedKubeObjectMenu = class NonInjectedKubeObjectMenu extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"menuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_14__.observable.array()\n });\n Object.defineProperty(this, \"renderContextMenuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (object) => ([...this.menuItems]\n .reverse() // This is done because the order that we \"grow\" is right->left\n .map(({ icon, ...rest }) => ({\n ...rest,\n icon: typeof icon === \"string\"\n ? { material: icon }\n : icon,\n }))\n .map((item, index) => (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_menu__WEBPACK_IMPORTED_MODULE_2__.MenuItem, { key: `context-menu-item-${index}`, onClick: () => item.onClick(object), \"data-testid\": `menu-action-${item.title.toLowerCase().replace(/\\s+/, \"-\")}` },\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icon__WEBPACK_IMPORTED_MODULE_11__.Icon, { ...item.icon, interactive: this.props.toolbar, tooltip: item.title }),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", { className: \"title\" }, item.title)))))\n });\n }\n renderRemoveMessage(object) {\n const breadcrumbParts = [object.getNs(), object.getName()];\n const breadcrumb = breadcrumbParts.filter((lodash_identity__WEBPACK_IMPORTED_MODULE_3___default())).join(\"/\");\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"p\", null,\n \"Remove \",\n object.kind,\n \" \",\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"b\", null, breadcrumb),\n \" from \",\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"b\", null, this.props.clusterName),\n \"?\"));\n }\n renderMenuItems() {\n const { object, toolbar } = this.props;\n return this.props.kubeObjectMenuItems.map((MenuItem, index) => (react__WEBPACK_IMPORTED_MODULE_0__.createElement(MenuItem, { object: object, toolbar: toolbar, key: `menu-item-${index}` })));\n }\n emitOnContextMenuOpen(object) {\n const { apiManager, editable, removable, hideDetails, createEditResourceTab, withConfirmation, removeAction, onContextMenuOpen, navigate, updateAction, } = this.props;\n const store = apiManager.getStore(object.selfLink);\n const isEditable = editable !== null && editable !== void 0 ? editable : (Boolean(store === null || store === void 0 ? void 0 : store.patch) || Boolean(updateAction));\n const isRemovable = removable !== null && removable !== void 0 ? removable : (Boolean(store === null || store === void 0 ? void 0 : store.remove) || Boolean(removeAction));\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.runInAction)(() => {\n this.menuItems.clear();\n if (isRemovable) {\n this.menuItems.push({\n title: \"Delete\",\n icon: \"delete\",\n onClick: withConfirmation({\n message: this.renderRemoveMessage(object),\n labelOk: \"Remove\",\n ok: async () => {\n hideDetails();\n if (removeAction) {\n await removeAction();\n }\n else if (store === null || store === void 0 ? void 0 : store.remove) {\n await store.remove(object);\n }\n },\n }),\n });\n }\n if (isEditable) {\n this.menuItems.push({\n title: \"Edit\",\n icon: \"edit\",\n onClick: async () => {\n hideDetails();\n if (updateAction) {\n await updateAction();\n }\n else {\n createEditResourceTab(object);\n }\n },\n });\n }\n });\n onContextMenuOpen(object, {\n menuItems: this.menuItems,\n navigate,\n });\n }\n render() {\n const { className, editable, removable, object, removeAction, // This is here so we don't pass it down to `<MenuAction>`\n removeConfirmationMessage, // This is here so we don't pass it down to `<MenuAction>`\n updateAction, // This is here so we don't pass it down to `<MenuAction>`\n ...menuProps } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_menu__WEBPACK_IMPORTED_MODULE_2__.MenuActions, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.cssNames)(\"KubeObjectMenu\", className), onOpen: object ? () => this.emitOnContextMenuOpen(object) : undefined, ...menuProps },\n this.renderMenuItems(),\n object && this.renderContextMenuItems(object)));\n }\n};\nNonInjectedKubeObjectMenu = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_15__.observer\n], NonInjectedKubeObjectMenu);\nconst KubeObjectMenu = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedKubeObjectMenu, {\n getProps: (di, props) => ({\n ...props,\n clusterName: di.inject(_dependencies_cluster_name_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n apiManager: di.inject(_dependencies_api_manager_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]),\n createEditResourceTab: di.inject(_dock_edit_resource_edit_resource_tab_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n hideDetails: di.inject(_dependencies_hide_details_injectable__WEBPACK_IMPORTED_MODULE_7__[\"default\"]),\n kubeObjectMenuItems: di.inject(_dependencies_kube_object_menu_items_kube_object_menu_items_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n kubeObject: props.object,\n }),\n onContextMenuOpen: di.inject(_on_context_menu_open_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n navigate: di.inject(_navigation_navigate_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n withConfirmation: di.inject(_confirm_dialog_with_confirm_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]),\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-menu/kube-object-menu.tsx?");
38324
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectMenu\": () => (/* binding */ KubeObjectMenu)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../menu */ \"./src/renderer/components/menu/index.ts\");\n/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/identity */ \"./node_modules/lodash/identity.js\");\n/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_identity__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _dependencies_cluster_name_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dependencies/cluster-name.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/cluster-name.injectable.ts\");\n/* harmony import */ var _dock_edit_resource_edit_resource_tab_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dock/edit-resource/edit-resource-tab.injectable */ \"./src/renderer/components/dock/edit-resource/edit-resource-tab.injectable.ts\");\n/* harmony import */ var _dependencies_hide_details_injectable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dependencies/hide-details.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/hide-details.injectable.ts\");\n/* harmony import */ var _dependencies_kube_object_menu_items_kube_object_menu_items_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dependencies/kube-object-menu-items/kube-object-menu-items.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-items.injectable.ts\");\n/* harmony import */ var _dependencies_api_manager_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dependencies/api-manager.injectable */ \"./src/renderer/components/kube-object-menu/dependencies/api-manager.injectable.ts\");\n/* harmony import */ var _on_context_menu_open_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./on-context-menu-open.injectable */ \"./src/renderer/components/kube-object-menu/on-context-menu-open.injectable.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _navigation_navigate_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../navigation/navigate.injectable */ \"./src/renderer/navigation/navigate.injectable.ts\");\n/* harmony import */ var _confirm_dialog_with_confirm_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../confirm-dialog/with-confirm.injectable */ \"./src/renderer/components/confirm-dialog/with-confirm.injectable.ts\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet NonInjectedKubeObjectMenu = class NonInjectedKubeObjectMenu extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"menuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_14__.observable.array()\n });\n Object.defineProperty(this, \"renderContextMenuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (object) => ([...this.menuItems]\n .reverse() // This is done because the order that we \"grow\" is right->left\n .map(({ icon, ...rest }) => ({\n ...rest,\n icon: typeof icon === \"string\"\n ? { material: icon }\n : icon,\n }))\n .map((item, index) => (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_menu__WEBPACK_IMPORTED_MODULE_2__.MenuItem, { key: `context-menu-item-${index}`, onClick: () => item.onClick(object), \"data-testid\": `menu-action-${item.title.toLowerCase().replace(/\\s+/, \"-\")}` },\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icon__WEBPACK_IMPORTED_MODULE_11__.Icon, { ...item.icon, interactive: this.props.toolbar, tooltip: item.title }),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", { className: \"title\" }, item.title)))))\n });\n }\n componentDidUpdate(prevProps) {\n if (prevProps.object !== this.props.object && this.props.object) {\n this.emitOnContextMenuOpen(this.props.object);\n }\n }\n renderRemoveMessage(object) {\n const breadcrumbParts = [object.getNs(), object.getName()];\n const breadcrumb = breadcrumbParts.filter((lodash_identity__WEBPACK_IMPORTED_MODULE_3___default())).join(\"/\");\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"p\", null,\n \"Remove \",\n object.kind,\n \" \",\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"b\", null, breadcrumb),\n \" from \",\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"b\", null, this.props.clusterName),\n \"?\"));\n }\n renderMenuItems() {\n const { object, toolbar } = this.props;\n return this.props.kubeObjectMenuItems.map((MenuItem, index) => (react__WEBPACK_IMPORTED_MODULE_0__.createElement(MenuItem, { object: object, toolbar: toolbar, key: `menu-item-${index}` })));\n }\n emitOnContextMenuOpen(object) {\n const { apiManager, editable, removable, hideDetails, createEditResourceTab, withConfirmation, removeAction, onContextMenuOpen, navigate, updateAction, } = this.props;\n const store = apiManager.getStore(object.selfLink);\n const isEditable = editable !== null && editable !== void 0 ? editable : (Boolean(store === null || store === void 0 ? void 0 : store.patch) || Boolean(updateAction));\n const isRemovable = removable !== null && removable !== void 0 ? removable : (Boolean(store === null || store === void 0 ? void 0 : store.remove) || Boolean(removeAction));\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.runInAction)(() => {\n this.menuItems.clear();\n if (isRemovable) {\n this.menuItems.push({\n title: \"Delete\",\n icon: \"delete\",\n onClick: withConfirmation({\n message: this.renderRemoveMessage(object),\n labelOk: \"Remove\",\n ok: async () => {\n hideDetails();\n if (removeAction) {\n await removeAction();\n }\n else if (store === null || store === void 0 ? void 0 : store.remove) {\n await store.remove(object);\n }\n },\n }),\n });\n }\n if (isEditable) {\n this.menuItems.push({\n title: \"Edit\",\n icon: \"edit\",\n onClick: async () => {\n hideDetails();\n if (updateAction) {\n await updateAction();\n }\n else {\n createEditResourceTab(object);\n }\n },\n });\n }\n });\n onContextMenuOpen(object, {\n menuItems: this.menuItems,\n navigate,\n });\n }\n render() {\n const { className, editable, removable, object, removeAction, // This is here so we don't pass it down to `<MenuAction>`\n removeConfirmationMessage, // This is here so we don't pass it down to `<MenuAction>`\n updateAction, // This is here so we don't pass it down to `<MenuAction>`\n ...menuProps } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_menu__WEBPACK_IMPORTED_MODULE_2__.MenuActions, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.cssNames)(\"KubeObjectMenu\", className), onOpen: object ? () => this.emitOnContextMenuOpen(object) : undefined, ...menuProps },\n this.renderMenuItems(),\n object && this.renderContextMenuItems(object)));\n }\n};\nNonInjectedKubeObjectMenu = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_15__.observer\n], NonInjectedKubeObjectMenu);\nconst KubeObjectMenu = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedKubeObjectMenu, {\n getProps: (di, props) => ({\n ...props,\n clusterName: di.inject(_dependencies_cluster_name_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n apiManager: di.inject(_dependencies_api_manager_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]),\n createEditResourceTab: di.inject(_dock_edit_resource_edit_resource_tab_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n hideDetails: di.inject(_dependencies_hide_details_injectable__WEBPACK_IMPORTED_MODULE_7__[\"default\"]),\n kubeObjectMenuItems: di.inject(_dependencies_kube_object_menu_items_kube_object_menu_items_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n kubeObject: props.object,\n }),\n onContextMenuOpen: di.inject(_on_context_menu_open_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n navigate: di.inject(_navigation_navigate_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n withConfirmation: di.inject(_confirm_dialog_with_confirm_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]),\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-menu/kube-object-menu.tsx?");
38325
38325
 
38326
38326
  /***/ }),
38327
38327
 
@@ -38629,7 +38629,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
38629
38629
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
38630
38630
 
38631
38631
  "use strict";
38632
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MonacoEditor\": () => (/* binding */ MonacoEditor),\n/* harmony export */ \"defaultEditorProps\": () => (/* binding */ defaultEditorProps)\n/* harmony export */ });\n/* harmony import */ var _monaco_editor_module_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./monaco-editor.module.scss */ \"./src/renderer/components/monaco-editor/monaco-editor.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var monaco_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! monaco-editor */ \"./node_modules/monaco-editor/esm/vs/editor/editor.main.js\");\n/* harmony import */ var _monaco_validators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./monaco-validators */ \"./src/renderer/components/monaco-editor/monaco-validators.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../main/logger */ \"./src/main/logger.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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};\nvar MonacoEditor_1;\n\n\n\n\n\n\n\n\n\n\n\nconst defaultEditorProps = {\n language: \"yaml\",\n get theme() {\n // theme for monaco-editor defined in `src/renderer/themes/lens-*.json`\n return _theme_store__WEBPACK_IMPORTED_MODULE_7__.ThemeStore.getInstance().activeTheme.monacoTheme;\n },\n};\nlet MonacoEditor = MonacoEditor_1 = class MonacoEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"staticId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `editor-id#${Math.round(1e7 * Math.random())}`\n });\n Object.defineProperty(this, \"dispose\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.disposer)()\n });\n Object.defineProperty(this, \"containerElem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"editor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dimensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"unmounting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n // avoid excessive validations during typing\n Object.defineProperty(this, \"validateLazy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,lodash__WEBPACK_IMPORTED_MODULE_4__.debounce)(this.validate, 250)\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_9__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_5__.autoBind)(this);\n }\n static createUri(id) {\n return monaco_editor__WEBPACK_IMPORTED_MODULE_2__.Uri.file(`/monaco-editor/${id}`);\n }\n get id() {\n var _a;\n return (_a = this.props.id) !== null && _a !== void 0 ? _a : this.staticId;\n }\n get model() {\n const uri = MonacoEditor_1.createUri(this.id);\n const model = monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.getModel(uri);\n if (model) {\n return model; // already exists\n }\n const { language, value } = this.props;\n return monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.createModel(value, language, uri);\n }\n get options() {\n return (0,lodash__WEBPACK_IMPORTED_MODULE_4__.merge)({}, _common_user_store__WEBPACK_IMPORTED_MODULE_6__.UserStore.getInstance().editorConfiguration, this.props.options);\n }\n get logMetadata() {\n return {\n editorId: this.id,\n model: this.model,\n };\n }\n /**\n * Monitor editor's dom container element box-size and sync with monaco's dimensions\n * @private\n */\n bindResizeObserver() {\n const resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n this.setDimensions(width, height);\n }\n });\n const containerElem = this.editor.getContainerDomNode();\n resizeObserver.observe(containerElem);\n return () => resizeObserver.unobserve(containerElem);\n }\n onModelChange(model, oldModel) {\n var _a, _b;\n _main_logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[MONACO]: model change\", { model, oldModel }, this.logMetadata);\n if (oldModel) {\n this.saveViewState(oldModel);\n }\n this.editor.setModel(model);\n this.restoreViewState(model);\n this.editor.layout();\n this.editor.focus(); // keep focus in editor, e.g. when clicking between dock-tabs\n (_b = (_a = this.props).onModelChange) === null || _b === void 0 ? void 0 : _b.call(_a, model, oldModel);\n this.validateLazy();\n }\n /**\n * Save current view-model state in the editor.\n * This will allow restore cursor position, selected text, etc.\n */\n saveViewState(model) {\n MonacoEditor_1.viewStates.set(model.uri, this.editor.saveViewState());\n }\n restoreViewState(model) {\n const viewState = MonacoEditor_1.viewStates.get(model.uri);\n if (viewState) {\n this.editor.restoreViewState(viewState);\n }\n }\n componentDidMount() {\n try {\n this.createEditor();\n _main_logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(`[MONACO]: editor did mount`, this.logMetadata);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(`[MONACO]: mounting failed: ${error}`, this.logMetadata);\n }\n }\n componentWillUnmount() {\n this.unmounting = true;\n this.saveViewState(this.model);\n this.destroy();\n }\n createEditor() {\n if (!this.containerElem || this.editor || this.unmounting) {\n return;\n }\n const { language, theme, readOnly, value: defaultValue } = this.props;\n this.editor = monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.create(this.containerElem, {\n model: this.model,\n detectIndentation: false,\n value: defaultValue,\n language,\n theme,\n readOnly,\n ...this.options,\n });\n _main_logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(`[MONACO]: editor created for language=${language}, theme=${theme}`, this.logMetadata);\n this.validateLazy(); // validate initial value\n this.restoreViewState(this.model); // restore previous state if any\n if (this.props.autoFocus) {\n this.editor.focus();\n }\n const onDidLayoutChangeDisposer = this.editor.onDidLayoutChange(layoutInfo => {\n var _a, _b;\n (_b = (_a = this.props).onDidLayoutChange) === null || _b === void 0 ? void 0 : _b.call(_a, layoutInfo);\n });\n const onValueChangeDisposer = this.editor.onDidChangeModelContent(event => {\n var _a, _b;\n const value = this.editor.getValue();\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value, event);\n this.validateLazy(value);\n });\n const onContentSizeChangeDisposer = this.editor.onDidContentSizeChange((params) => {\n var _a, _b;\n (_b = (_a = this.props).onDidContentSizeChange) === null || _b === void 0 ? void 0 : _b.call(_a, params);\n });\n this.dispose.push((0,mobx__WEBPACK_IMPORTED_MODULE_9__.reaction)(() => this.model, this.onModelChange), (0,mobx__WEBPACK_IMPORTED_MODULE_9__.reaction)(() => this.props.theme, monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.setTheme), (0,mobx__WEBPACK_IMPORTED_MODULE_9__.reaction)(() => this.props.value, value => this.setValue(value)), (0,mobx__WEBPACK_IMPORTED_MODULE_9__.reaction)(() => this.options, opts => this.editor.updateOptions(opts)), () => onDidLayoutChangeDisposer.dispose(), () => onValueChangeDisposer.dispose(), () => onContentSizeChangeDisposer.dispose(), this.bindResizeObserver());\n }\n destroy() {\n if (!this.editor)\n return;\n this.dispose();\n this.editor.dispose();\n this.editor = null;\n }\n setDimensions(width, height) {\n var _a;\n this.dimensions.width = width;\n this.dimensions.height = height;\n (_a = this.editor) === null || _a === void 0 ? void 0 : _a.layout({ width, height });\n }\n setValue(value = \"\") {\n if (value == this.getValue())\n return;\n this.editor.setValue(value);\n this.validate(value);\n }\n getValue(opts) {\n var _a, _b;\n return (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.getValue(opts)) !== null && _b !== void 0 ? _b : \"\";\n }\n focus() {\n var _a;\n (_a = this.editor) === null || _a === void 0 ? void 0 : _a.focus();\n }\n validate(value = this.getValue()) {\n var _a, _b;\n const validators = [\n _monaco_validators__WEBPACK_IMPORTED_MODULE_3__.monacoValidators[this.props.language], // parsing syntax check\n ].filter(Boolean);\n for (const validate of validators) {\n try {\n validate(value);\n }\n catch (error) {\n (_b = (_a = this.props).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error); // emit error outside\n }\n }\n }\n bindRef(elem) {\n this.containerElem = elem;\n }\n render() {\n const { className, style } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { \"data-test-id\": \"monaco-editor\", className: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.cssNames)(_monaco_editor_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].MonacoEditor, className), style: style, ref: this.bindRef }));\n }\n};\nObject.defineProperty(MonacoEditor, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultEditorProps\n});\nObject.defineProperty(MonacoEditor, \"viewStates\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new WeakMap()\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.observable.ref,\n __metadata(\"design:type\", HTMLElement)\n], MonacoEditor.prototype, \"containerElem\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.observable.ref,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"editor\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.observable,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"dimensions\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.observable,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"unmounting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"id\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"model\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"options\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"logMetadata\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Number, Number]),\n __metadata(\"design:returntype\", void 0)\n], MonacoEditor.prototype, \"setDimensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], MonacoEditor.prototype, \"validate\", null);\nMonacoEditor = MonacoEditor_1 = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_10__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], MonacoEditor);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/monaco-editor/monaco-editor.tsx?");
38632
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MonacoEditor\": () => (/* binding */ MonacoEditor),\n/* harmony export */ \"defaultEditorProps\": () => (/* binding */ defaultEditorProps)\n/* harmony export */ });\n/* harmony import */ var _monaco_editor_module_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./monaco-editor.module.scss */ \"./src/renderer/components/monaco-editor/monaco-editor.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var monaco_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! monaco-editor */ \"./node_modules/monaco-editor/esm/vs/editor/editor.main.js\");\n/* harmony import */ var _monaco_validators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./monaco-validators */ \"./src/renderer/components/monaco-editor/monaco-validators.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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};\nvar MonacoEditor_1;\n\n\n\n\n\n\n\n\n\n\nconst defaultEditorProps = {\n language: \"yaml\",\n get theme() {\n // theme for monaco-editor defined in `src/renderer/themes/lens-*.json`\n return _theme_store__WEBPACK_IMPORTED_MODULE_7__.ThemeStore.getInstance().activeTheme.monacoTheme;\n },\n};\nlet MonacoEditor = MonacoEditor_1 = class MonacoEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"staticId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `editor-id#${Math.round(1e7 * Math.random())}`\n });\n Object.defineProperty(this, \"dispose\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.disposer)()\n });\n Object.defineProperty(this, \"containerElem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"editor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dimensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"unmounting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n // TODO: investigate how to replace with \"common/logger\"\n // currently leads for stucking UI forever & infinite loop.\n // e.g. happens on tab change/create, maybe some other cases too.\n Object.defineProperty(this, \"logger\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: console\n });\n // avoid excessive validations during typing\n Object.defineProperty(this, \"validateLazy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,lodash__WEBPACK_IMPORTED_MODULE_4__.debounce)(this.validate, 250)\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_5__.autoBind)(this);\n }\n static createUri(id) {\n return monaco_editor__WEBPACK_IMPORTED_MODULE_2__.Uri.file(`/monaco-editor/${id}`);\n }\n get id() {\n var _a;\n return (_a = this.props.id) !== null && _a !== void 0 ? _a : this.staticId;\n }\n get model() {\n const uri = MonacoEditor_1.createUri(this.id);\n const model = monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.getModel(uri);\n if (model) {\n return model; // already exists\n }\n const { language, value } = this.props;\n return monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.createModel(value, language, uri);\n }\n get options() {\n return (0,lodash__WEBPACK_IMPORTED_MODULE_4__.merge)({}, _common_user_store__WEBPACK_IMPORTED_MODULE_6__.UserStore.getInstance().editorConfiguration, this.props.options);\n }\n get logMetadata() {\n return {\n editorId: this.id,\n model: this.model,\n };\n }\n /**\n * Monitor editor's dom container element box-size and sync with monaco's dimensions\n * @private\n */\n bindResizeObserver() {\n const resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n this.setDimensions(width, height);\n }\n });\n const containerElem = this.editor.getContainerDomNode();\n resizeObserver.observe(containerElem);\n return () => resizeObserver.unobserve(containerElem);\n }\n onModelChange(model, oldModel) {\n var _a, _b;\n this.logger.info(\"[MONACO]: model change\", { model, oldModel }, this.logMetadata);\n if (oldModel) {\n this.saveViewState(oldModel);\n }\n this.editor.setModel(model);\n this.restoreViewState(model);\n this.editor.layout();\n this.editor.focus(); // keep focus in editor, e.g. when clicking between dock-tabs\n (_b = (_a = this.props).onModelChange) === null || _b === void 0 ? void 0 : _b.call(_a, model, oldModel);\n this.validateLazy();\n }\n /**\n * Save current view-model state in the editor.\n * This will allow restore cursor position, selected text, etc.\n */\n saveViewState(model) {\n MonacoEditor_1.viewStates.set(model.uri, this.editor.saveViewState());\n }\n restoreViewState(model) {\n const viewState = MonacoEditor_1.viewStates.get(model.uri);\n if (viewState) {\n this.editor.restoreViewState(viewState);\n }\n }\n componentDidMount() {\n try {\n this.createEditor();\n this.logger.info(`[MONACO]: editor did mount`, this.logMetadata);\n }\n catch (error) {\n this.logger.error(`[MONACO]: mounting failed: ${error}`, this.logMetadata);\n }\n }\n componentWillUnmount() {\n this.unmounting = true;\n this.saveViewState(this.model);\n this.destroy();\n }\n createEditor() {\n if (!this.containerElem || this.editor || this.unmounting) {\n return;\n }\n const { language, theme, readOnly, value: defaultValue } = this.props;\n this.editor = monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.create(this.containerElem, {\n model: this.model,\n detectIndentation: false,\n value: defaultValue,\n language,\n theme,\n readOnly,\n ...this.options,\n });\n this.logger.info(`[MONACO]: editor created for language=${language}, theme=${theme}`, this.logMetadata);\n this.validateLazy(); // validate initial value\n this.restoreViewState(this.model); // restore previous state if any\n if (this.props.autoFocus) {\n this.editor.focus();\n }\n const onDidLayoutChangeDisposer = this.editor.onDidLayoutChange(layoutInfo => {\n var _a, _b;\n (_b = (_a = this.props).onDidLayoutChange) === null || _b === void 0 ? void 0 : _b.call(_a, layoutInfo);\n });\n const onValueChangeDisposer = this.editor.onDidChangeModelContent(event => {\n var _a, _b;\n const value = this.editor.getValue();\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value, event);\n this.validateLazy(value);\n });\n const onContentSizeChangeDisposer = this.editor.onDidContentSizeChange((params) => {\n var _a, _b;\n (_b = (_a = this.props).onDidContentSizeChange) === null || _b === void 0 ? void 0 : _b.call(_a, params);\n });\n this.dispose.push((0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.model, this.onModelChange), (0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.props.theme, monaco_editor__WEBPACK_IMPORTED_MODULE_2__.editor.setTheme), (0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.props.value, value => this.setValue(value)), (0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.options, opts => this.editor.updateOptions(opts)), () => onDidLayoutChangeDisposer.dispose(), () => onValueChangeDisposer.dispose(), () => onContentSizeChangeDisposer.dispose(), this.bindResizeObserver());\n }\n destroy() {\n if (!this.editor)\n return;\n this.dispose();\n this.editor.dispose();\n this.editor = null;\n }\n setDimensions(width, height) {\n var _a;\n this.dimensions.width = width;\n this.dimensions.height = height;\n (_a = this.editor) === null || _a === void 0 ? void 0 : _a.layout({ width, height });\n }\n setValue(value = \"\") {\n if (value == this.getValue())\n return;\n this.editor.setValue(value);\n this.validate(value);\n }\n getValue(opts) {\n var _a, _b;\n return (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.getValue(opts)) !== null && _b !== void 0 ? _b : \"\";\n }\n focus() {\n var _a;\n (_a = this.editor) === null || _a === void 0 ? void 0 : _a.focus();\n }\n validate(value = this.getValue()) {\n var _a, _b;\n const validators = [\n _monaco_validators__WEBPACK_IMPORTED_MODULE_3__.monacoValidators[this.props.language], // parsing syntax check\n ].filter(Boolean);\n for (const validate of validators) {\n try {\n validate(value);\n }\n catch (error) {\n (_b = (_a = this.props).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error); // emit error outside\n }\n }\n }\n bindRef(elem) {\n this.containerElem = elem;\n }\n render() {\n const { className, style } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { \"data-test-id\": \"monaco-editor\", className: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.cssNames)(_monaco_editor_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].MonacoEditor, className), style: style, ref: this.bindRef }));\n }\n};\nObject.defineProperty(MonacoEditor, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultEditorProps\n});\nObject.defineProperty(MonacoEditor, \"viewStates\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new WeakMap()\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable.ref,\n __metadata(\"design:type\", HTMLElement)\n], MonacoEditor.prototype, \"containerElem\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable.ref,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"editor\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"dimensions\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable,\n __metadata(\"design:type\", Object)\n], MonacoEditor.prototype, \"unmounting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"id\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"model\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"options\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], MonacoEditor.prototype, \"logMetadata\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Number, Number]),\n __metadata(\"design:returntype\", void 0)\n], MonacoEditor.prototype, \"setDimensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], MonacoEditor.prototype, \"validate\", null);\nMonacoEditor = MonacoEditor_1 = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_9__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], MonacoEditor);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/monaco-editor/monaco-editor.tsx?");
38633
38633
 
38634
38634
  /***/ }),
38635
38635
 
@@ -39414,6 +39414,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
39414
39414
 
39415
39415
  /***/ }),
39416
39416
 
39417
+ /***/ "./src/renderer/utils/display-mode.ts":
39418
+ /*!********************************************!*\
39419
+ !*** ./src/renderer/utils/display-mode.ts ***!
39420
+ \********************************************/
39421
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
39422
+
39423
+ "use strict";
39424
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"displayMode\": () => (/* binding */ displayMode)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * Format `mode` in octal notation\n */\nfunction displayMode(mode) {\n return `0o${mode.toString(8)}`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/display-mode.ts?");
39425
+
39426
+ /***/ }),
39427
+
39417
39428
  /***/ "./src/renderer/utils/index.ts":
39418
39429
  /*!*************************************!*\
39419
39430
  !*** ./src/renderer/utils/index.ts ***!
@@ -39421,7 +39432,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
39421
39432
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
39422
39433
 
39423
39434
  "use strict";
39424
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventEmitter\": () => (/* reexport safe */ _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__.EventEmitter),\n/* harmony export */ \"HashSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.HashSet),\n/* harmony export */ \"ObservableHashSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.ObservableHashSet),\n/* harmony export */ \"Ordering\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.Ordering),\n/* harmony export */ \"Singleton\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.Singleton),\n/* harmony export */ \"StorageHelper\": () => (/* reexport safe */ _storageHelper__WEBPACK_IMPORTED_MODULE_12__.StorageHelper),\n/* harmony export */ \"WrappedAbortController\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.WrappedAbortController),\n/* harmony export */ \"array\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.array),\n/* harmony export */ \"autoBind\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind),\n/* harmony export */ \"base64\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.base64),\n/* harmony export */ \"bifurcateArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bifurcateArray),\n/* harmony export */ \"bindPredicate\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bindPredicate),\n/* harmony export */ \"bytesToUnits\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bytesToUnits),\n/* harmony export */ \"cloneJsonObject\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.cloneJsonObject),\n/* harmony export */ \"cpuUnitsToNumber\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.cpuUnitsToNumber),\n/* harmony export */ \"cssNames\": () => (/* reexport safe */ _cssNames__WEBPACK_IMPORTED_MODULE_2__.cssNames),\n/* harmony export */ \"cssVar\": () => (/* reexport safe */ _cssVar__WEBPACK_IMPORTED_MODULE_3__.cssVar),\n/* harmony export */ \"debouncePromise\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.debouncePromise),\n/* harmony export */ \"delay\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.delay),\n/* harmony export */ \"displayBooleans\": () => (/* reexport safe */ _display_booleans__WEBPACK_IMPORTED_MODULE_4__.displayBooleans),\n/* harmony export */ \"disposer\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.disposer),\n/* harmony export */ \"downloadFile\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.downloadFile),\n/* harmony export */ \"downloadJson\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.downloadJson),\n/* harmony export */ \"entries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.entries),\n/* harmony export */ \"escapeRegExp\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.escapeRegExp),\n/* harmony export */ \"extractTar\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.extractTar),\n/* harmony export */ \"formatDuration\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.formatDuration),\n/* harmony export */ \"fromEntries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.fromEntries),\n/* harmony export */ \"getAppVersion\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getAppVersion),\n/* harmony export */ \"getAppVersionFromProxyServer\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getAppVersionFromProxyServer),\n/* harmony export */ \"getBundledKubectlVersion\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getBundledKubectlVersion),\n/* harmony export */ \"getClusterFrameUrl\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getClusterFrameUrl),\n/* harmony export */ \"getClusterIdFromHost\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getClusterIdFromHost),\n/* harmony export */ \"getConvertedParts\": () => (/* reexport safe */ _name_parts__WEBPACK_IMPORTED_MODULE_9__.getConvertedParts),\n/* harmony export */ \"getHostedClusterId\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getHostedClusterId),\n/* harmony export */ \"getOrInsert\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsert),\n/* harmony export */ \"getOrInsertMap\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertMap),\n/* harmony export */ \"getOrInsertSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertSet),\n/* harmony export */ \"getOrInsertWith\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertWith),\n/* harmony export */ \"getOrInsertWithAsync\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertWithAsync),\n/* harmony export */ \"getRandId\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getRandId),\n/* harmony export */ \"hasOptionalProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOptionalProperty),\n/* harmony export */ \"hasOwnProperties\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOwnProperties),\n/* harmony export */ \"hasOwnProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOwnProperty),\n/* harmony export */ \"hasTypedProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasTypedProperty),\n/* harmony export */ \"interval\": () => (/* reexport safe */ _interval__WEBPACK_IMPORTED_MODULE_5__.interval),\n/* harmony export */ \"isBoolean\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isBoolean),\n/* harmony export */ \"isClusterPageContext\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isClusterPageContext),\n/* harmony export */ \"isLogicalChildPath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isLogicalChildPath),\n/* harmony export */ \"isMiddleClick\": () => (/* reexport safe */ _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__.isMiddleClick),\n/* harmony export */ \"isObject\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isObject),\n/* harmony export */ \"isReactNode\": () => (/* reexport safe */ _isReactNode__WEBPACK_IMPORTED_MODULE_7__.isReactNode),\n/* harmony export */ \"isRecord\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isRecord),\n/* harmony export */ \"isString\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isString),\n/* harmony export */ \"isTypedArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isTypedArray),\n/* harmony export */ \"iter\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.iter),\n/* harmony export */ \"listTarEntries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.listTarEntries),\n/* harmony export */ \"makeIterableIterator\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.makeIterableIterator),\n/* harmony export */ \"metricUnitsToNumber\": () => (/* reexport safe */ _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__.metricUnitsToNumber),\n/* harmony export */ \"nFircate\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.nFircate),\n/* harmony export */ \"noop\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.noop),\n/* harmony export */ \"openBrowser\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.openBrowser),\n/* harmony export */ \"openExternal\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.openExternal),\n/* harmony export */ \"prevDefault\": () => (/* reexport safe */ _prevDefault__WEBPACK_IMPORTED_MODULE_10__.prevDefault),\n/* harmony export */ \"promiseExecFile\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.promiseExecFile),\n/* harmony export */ \"readFileFromTar\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.readFileFromTar),\n/* harmony export */ \"readonly\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.readonly),\n/* harmony export */ \"rectifyOrdering\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering),\n/* harmony export */ \"rejectPromiseBy\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.rejectPromiseBy),\n/* harmony export */ \"resolvePath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.resolvePath),\n/* harmony export */ \"resolveTilde\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.resolveTilde),\n/* harmony export */ \"saveFileDialog\": () => (/* reexport safe */ _saveFile__WEBPACK_IMPORTED_MODULE_11__.saveFileDialog),\n/* harmony export */ \"sortCharts\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCharts),\n/* harmony export */ \"sortCompare\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare),\n/* harmony export */ \"sortCompareChartVersions\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompareChartVersions),\n/* harmony export */ \"splitArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.splitArray),\n/* harmony export */ \"stopPropagation\": () => (/* reexport safe */ _prevDefault__WEBPACK_IMPORTED_MODULE_10__.stopPropagation),\n/* harmony export */ \"strictGet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.strictGet),\n/* harmony export */ \"strictSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.strictSet),\n/* harmony export */ \"toCamelCase\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toCamelCase),\n/* harmony export */ \"toJS\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toJS),\n/* harmony export */ \"toggle\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toggle),\n/* harmony export */ \"tuple\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.tuple),\n/* harmony export */ \"unitsToBytes\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.unitsToBytes),\n/* harmony export */ \"waitForPath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.waitForPath)\n/* harmony export */ });\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/index.ts?");
39435
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventEmitter\": () => (/* reexport safe */ _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__.EventEmitter),\n/* harmony export */ \"HashSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.HashSet),\n/* harmony export */ \"ObservableHashSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.ObservableHashSet),\n/* harmony export */ \"Ordering\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.Ordering),\n/* harmony export */ \"Singleton\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.Singleton),\n/* harmony export */ \"StorageHelper\": () => (/* reexport safe */ _storageHelper__WEBPACK_IMPORTED_MODULE_13__.StorageHelper),\n/* harmony export */ \"WrappedAbortController\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.WrappedAbortController),\n/* harmony export */ \"array\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.array),\n/* harmony export */ \"autoBind\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind),\n/* harmony export */ \"base64\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.base64),\n/* harmony export */ \"bifurcateArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bifurcateArray),\n/* harmony export */ \"bindPredicate\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bindPredicate),\n/* harmony export */ \"bytesToUnits\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.bytesToUnits),\n/* harmony export */ \"cloneJsonObject\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.cloneJsonObject),\n/* harmony export */ \"cpuUnitsToNumber\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.cpuUnitsToNumber),\n/* harmony export */ \"cssNames\": () => (/* reexport safe */ _cssNames__WEBPACK_IMPORTED_MODULE_2__.cssNames),\n/* harmony export */ \"cssVar\": () => (/* reexport safe */ _cssVar__WEBPACK_IMPORTED_MODULE_3__.cssVar),\n/* harmony export */ \"debouncePromise\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.debouncePromise),\n/* harmony export */ \"delay\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.delay),\n/* harmony export */ \"displayBooleans\": () => (/* reexport safe */ _display_booleans__WEBPACK_IMPORTED_MODULE_4__.displayBooleans),\n/* harmony export */ \"displayMode\": () => (/* reexport safe */ _display_mode__WEBPACK_IMPORTED_MODULE_5__.displayMode),\n/* harmony export */ \"disposer\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.disposer),\n/* harmony export */ \"downloadFile\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.downloadFile),\n/* harmony export */ \"downloadJson\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.downloadJson),\n/* harmony export */ \"entries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.entries),\n/* harmony export */ \"escapeRegExp\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.escapeRegExp),\n/* harmony export */ \"extractTar\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.extractTar),\n/* harmony export */ \"formatDuration\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.formatDuration),\n/* harmony export */ \"fromEntries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.fromEntries),\n/* harmony export */ \"getAppVersion\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getAppVersion),\n/* harmony export */ \"getAppVersionFromProxyServer\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getAppVersionFromProxyServer),\n/* harmony export */ \"getBundledKubectlVersion\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getBundledKubectlVersion),\n/* harmony export */ \"getClusterFrameUrl\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getClusterFrameUrl),\n/* harmony export */ \"getClusterIdFromHost\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getClusterIdFromHost),\n/* harmony export */ \"getConvertedParts\": () => (/* reexport safe */ _name_parts__WEBPACK_IMPORTED_MODULE_10__.getConvertedParts),\n/* harmony export */ \"getHostedClusterId\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getHostedClusterId),\n/* harmony export */ \"getOrInsert\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsert),\n/* harmony export */ \"getOrInsertMap\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertMap),\n/* harmony export */ \"getOrInsertSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertSet),\n/* harmony export */ \"getOrInsertWith\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertWith),\n/* harmony export */ \"getOrInsertWithAsync\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getOrInsertWithAsync),\n/* harmony export */ \"getRandId\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.getRandId),\n/* harmony export */ \"hasOptionalProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOptionalProperty),\n/* harmony export */ \"hasOwnProperties\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOwnProperties),\n/* harmony export */ \"hasOwnProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasOwnProperty),\n/* harmony export */ \"hasTypedProperty\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.hasTypedProperty),\n/* harmony export */ \"interval\": () => (/* reexport safe */ _interval__WEBPACK_IMPORTED_MODULE_6__.interval),\n/* harmony export */ \"isBoolean\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isBoolean),\n/* harmony export */ \"isClusterPageContext\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isClusterPageContext),\n/* harmony export */ \"isLogicalChildPath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isLogicalChildPath),\n/* harmony export */ \"isMiddleClick\": () => (/* reexport safe */ _isMiddleClick__WEBPACK_IMPORTED_MODULE_7__.isMiddleClick),\n/* harmony export */ \"isObject\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isObject),\n/* harmony export */ \"isReactNode\": () => (/* reexport safe */ _isReactNode__WEBPACK_IMPORTED_MODULE_8__.isReactNode),\n/* harmony export */ \"isRecord\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isRecord),\n/* harmony export */ \"isString\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isString),\n/* harmony export */ \"isTypedArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.isTypedArray),\n/* harmony export */ \"iter\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.iter),\n/* harmony export */ \"listTarEntries\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.listTarEntries),\n/* harmony export */ \"makeIterableIterator\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.makeIterableIterator),\n/* harmony export */ \"metricUnitsToNumber\": () => (/* reexport safe */ _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_9__.metricUnitsToNumber),\n/* harmony export */ \"nFircate\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.nFircate),\n/* harmony export */ \"noop\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.noop),\n/* harmony export */ \"openBrowser\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.openBrowser),\n/* harmony export */ \"openExternal\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.openExternal),\n/* harmony export */ \"prevDefault\": () => (/* reexport safe */ _prevDefault__WEBPACK_IMPORTED_MODULE_11__.prevDefault),\n/* harmony export */ \"promiseExecFile\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.promiseExecFile),\n/* harmony export */ \"readFileFromTar\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.readFileFromTar),\n/* harmony export */ \"readonly\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.readonly),\n/* harmony export */ \"rectifyOrdering\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering),\n/* harmony export */ \"rejectPromiseBy\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.rejectPromiseBy),\n/* harmony export */ \"resolvePath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.resolvePath),\n/* harmony export */ \"resolveTilde\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.resolveTilde),\n/* harmony export */ \"saveFileDialog\": () => (/* reexport safe */ _saveFile__WEBPACK_IMPORTED_MODULE_12__.saveFileDialog),\n/* harmony export */ \"sortCharts\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCharts),\n/* harmony export */ \"sortCompare\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare),\n/* harmony export */ \"sortCompareChartVersions\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompareChartVersions),\n/* harmony export */ \"splitArray\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.splitArray),\n/* harmony export */ \"stopPropagation\": () => (/* reexport safe */ _prevDefault__WEBPACK_IMPORTED_MODULE_11__.stopPropagation),\n/* harmony export */ \"strictGet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.strictGet),\n/* harmony export */ \"strictSet\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.strictSet),\n/* harmony export */ \"toCamelCase\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toCamelCase),\n/* harmony export */ \"toJS\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toJS),\n/* harmony export */ \"toggle\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.toggle),\n/* harmony export */ \"tuple\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.tuple),\n/* harmony export */ \"unitsToBytes\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.unitsToBytes),\n/* harmony export */ \"waitForPath\": () => (/* reexport safe */ _common_utils__WEBPACK_IMPORTED_MODULE_0__.waitForPath)\n/* harmony export */ });\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony import */ var _display_mode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./display-mode */ \"./src/renderer/utils/display-mode.ts\");\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/index.ts?");
39425
39436
 
39426
39437
  /***/ }),
39427
39438
 
@@ -41269,7 +41280,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
41269
41280
  /***/ ((module) => {
41270
41281
 
41271
41282
  "use strict";
41272
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.1\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack/dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack/main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack/renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack/extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/generate-tray-icons.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"identity-obj-proxy\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@astronautlabs/jsonpath\":\"^1.1.0\",\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/fp\":\"5.2.0\",\"@ogre-tools/injectable\":\"5.2.0\",\"@ogre-tools/injectable-react\":\"5.2.0\",\"@sentry/electron\":\"^3.0.7\",\"@sentry/integrations\":\"^6.19.3\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"await-lock\":\"^2.2.2\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.6\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.15\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.3\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.17\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.1\",\"semver\":\"^7.3.7\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.7.2\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.7\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.5\",\"@sentry/types\":\"^6.19.7\",\"@testing-library/jest-dom\":\"^5.16.4\",\"@testing-library/react\":\"^12.1.5\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/command-line-args\":\"^5.2.0\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.3\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.17\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.44\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.11\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.2\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.4\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.21.0\",\"@typescript-eslint/parser\":\"^5.17.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.0\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.1.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.9\",\"electron-builder\":\"^23.0.3\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.38\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.14.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.5.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.0\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.16\",\"playwright\":\"^1.20.2\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.12.0\",\"react-refresh-typescript\":\"^2.0.4\",\"react-router-dom\":\"^5.3.1\",\"react-select\":\"^5.3.2\",\"react-select-event\":\"^5.5.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.7\",\"sass\":\"^1.51.0\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.4\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.2\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.15\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.72.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.9.0\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
41283
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.3\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack/dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack/main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack/renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack/extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/generate-tray-icons.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"identity-obj-proxy\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"setupFilesAfterEnv\":[\"<rootDir>/src/jest-after-env.setup.ts\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@astronautlabs/jsonpath\":\"^1.1.0\",\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/fp\":\"5.2.0\",\"@ogre-tools/injectable\":\"5.2.0\",\"@ogre-tools/injectable-react\":\"5.2.0\",\"@sentry/electron\":\"^3.0.7\",\"@sentry/integrations\":\"^6.19.3\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"await-lock\":\"^2.2.2\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.6\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.15\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.3\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.17\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.1\",\"semver\":\"^7.3.7\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.7.2\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.7\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.5\",\"@sentry/types\":\"^6.19.7\",\"@testing-library/jest-dom\":\"^5.16.4\",\"@testing-library/react\":\"^12.1.5\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/command-line-args\":\"^5.2.0\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.3\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.17\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.44\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.11\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.2\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.4\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.21.0\",\"@typescript-eslint/parser\":\"^5.17.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.0\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.1.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.9\",\"electron-builder\":\"^23.0.3\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.38\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.14.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.5.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.0\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.16\",\"playwright\":\"^1.20.2\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.12.0\",\"react-refresh-typescript\":\"^2.0.4\",\"react-router-dom\":\"^5.3.1\",\"react-select\":\"^5.3.2\",\"react-select-event\":\"^5.5.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.7\",\"sass\":\"^1.51.0\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.4\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.2\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.15\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.72.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.9.0\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
41273
41284
 
41274
41285
  /***/ }),
41275
41286
 
@@ -2,4 +2,4 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- export declare function registerFileProtocol(name: string, basePath: string): void;
5
+ import "@testing-library/jest-dom/extend-expect";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export {};
@@ -17,8 +17,8 @@ export declare class PodDetailsList extends React.Component<PodDetailsListProps>
17
17
  private metricsWatcher;
18
18
  componentDidMount(): void;
19
19
  componentWillUnmount(): void;
20
- renderCpuUsage(id: string, usage: number): string | 0 | JSX.Element;
21
- renderMemoryUsage(id: string, usage: number): string | 0 | JSX.Element;
20
+ renderCpuUsage(id: string, usage: number): string | JSX.Element | 0;
21
+ renderMemoryUsage(id: string, usage: number): string | JSX.Element | 0;
22
22
  getTableRow(uid: string): JSX.Element;
23
23
  render(): JSX.Element;
24
24
  }
@@ -37,6 +37,7 @@ export declare class MonacoEditor extends React.Component<MonacoEditorProps> {
37
37
  height?: number;
38
38
  };
39
39
  private unmounting;
40
+ private logger;
40
41
  constructor(props: MonacoEditorProps);
41
42
  get id(): MonacoEditorId;
42
43
  get model(): editor.ITextModel;
@@ -13,5 +13,5 @@ export interface SwitcherProps extends SwitchProps {
13
13
  /**
14
14
  * @deprecated Use <Switch/> instead from "../switch.tsx".
15
15
  */
16
- export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "id" | "name" | "prefix" | "defaultValue" | "key" | "value" | "className" | "form" | "slot" | "style" | "title" | "size" | "hidden" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "switchBase" | "thumb" | "focusVisible">>;
16
+ export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "id" | "className" | "form" | "slot" | "style" | "title" | "value" | "size" | "key" | "name" | "prefix" | "defaultValue" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "switchBase" | "thumb" | "focusVisible">>;
17
17
  export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ /**
6
+ * Format `mode` in octal notation
7
+ */
8
+ export declare function displayMode(mode: number): string;
@@ -7,6 +7,7 @@ export * from "../../common/event-emitter";
7
7
  export * from "./cssNames";
8
8
  export * from "./cssVar";
9
9
  export * from "./display-booleans";
10
+ export * from "./display-mode";
10
11
  export * from "./interval";
11
12
  export * from "./isMiddleClick";
12
13
  export * from "./isReactNode";
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.5.1",
5
+ "version": "5.5.3",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",