@k8slens/extensions 6.0.1-git.d78d009d41.0 → 6.0.1-git.d9785ad4dc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,13 +49,50 @@ export interface ResourceMetricSource {
49
49
  targetAverageValue?: string;
50
50
  }
51
51
  export interface BaseHorizontalPodAutoscalerMetricSpec {
52
- resource: ResourceMetricSource;
53
- object: ObjectMetricSource;
52
+ containerResource: ContainerResourceMetricSource;
54
53
  external: ExternalMetricSource;
54
+ object: ObjectMetricSource;
55
55
  pods: PodsMetricSource;
56
- containerResource: ContainerResourceMetricSource;
56
+ resource: ResourceMetricSource;
57
57
  }
58
58
  export declare type HorizontalPodAutoscalerMetricSpec = OptionVarient<HpaMetricType.Resource, BaseHorizontalPodAutoscalerMetricSpec, "resource"> | OptionVarient<HpaMetricType.External, BaseHorizontalPodAutoscalerMetricSpec, "external"> | OptionVarient<HpaMetricType.Object, BaseHorizontalPodAutoscalerMetricSpec, "object"> | OptionVarient<HpaMetricType.Pods, BaseHorizontalPodAutoscalerMetricSpec, "pods"> | OptionVarient<HpaMetricType.ContainerResource, BaseHorizontalPodAutoscalerMetricSpec, "containerResource">;
59
+ export interface ContainerResourceMetricStatus {
60
+ container: string;
61
+ currentAverageUtilization?: number;
62
+ currentAverageValue: string;
63
+ name: string;
64
+ }
65
+ export interface ExternalMetricStatus {
66
+ currentAverageValue?: string;
67
+ currentValue: string;
68
+ metricName: string;
69
+ metricSelector?: LabelSelector;
70
+ }
71
+ export interface ObjectMetricStatus {
72
+ averageValue?: string;
73
+ currentValue?: string;
74
+ metricName: string;
75
+ selector?: LabelSelector;
76
+ target: CrossVersionObjectReference;
77
+ }
78
+ export interface PodsMetricStatus {
79
+ currentAverageValue: string;
80
+ metricName: string;
81
+ selector?: LabelSelector;
82
+ }
83
+ export interface ResourceMetricStatus {
84
+ currentAverageUtilization?: number;
85
+ currentAverageValue: string;
86
+ name: string;
87
+ }
88
+ export interface BaseHorizontalPodAutoscalerMetricStatus {
89
+ containerResource: ContainerResourceMetricStatus;
90
+ external: ExternalMetricStatus;
91
+ object: ObjectMetricStatus;
92
+ pods: PodsMetricStatus;
93
+ resource: ResourceMetricStatus;
94
+ }
95
+ export declare type HorizontalPodAutoscalerMetricStatus = OptionVarient<HpaMetricType.Resource, BaseHorizontalPodAutoscalerMetricStatus, "resource"> | OptionVarient<HpaMetricType.External, BaseHorizontalPodAutoscalerMetricStatus, "external"> | OptionVarient<HpaMetricType.Object, BaseHorizontalPodAutoscalerMetricStatus, "object"> | OptionVarient<HpaMetricType.Pods, BaseHorizontalPodAutoscalerMetricStatus, "pods"> | OptionVarient<HpaMetricType.ContainerResource, BaseHorizontalPodAutoscalerMetricStatus, "containerResource">;
59
96
  export interface CrossVersionObjectReference {
60
97
  kind: string;
61
98
  name: string;
@@ -71,11 +108,7 @@ export interface HorizontalPodAutoscalerStatus {
71
108
  conditions?: BaseKubeObjectCondition[];
72
109
  currentReplicas: number;
73
110
  desiredReplicas: number;
74
- currentMetrics: HorizontalPodAutoscalerMetricSpec[];
75
- }
76
- interface MetricCurrentTarget {
77
- current?: string;
78
- target?: string;
111
+ currentMetrics?: HorizontalPodAutoscalerMetricStatus[];
79
112
  }
80
113
  export declare class HorizontalPodAutoscaler extends KubeObject<NamespaceScopedMetadata, HorizontalPodAutoscalerStatus, HorizontalPodAutoscalerSpec> {
81
114
  static readonly kind = "HorizontalPodAutoscaler";
@@ -103,17 +136,9 @@ export declare class HorizontalPodAutoscaler extends KubeObject<NamespaceScopedM
103
136
  type: string;
104
137
  }[];
105
138
  getMetrics(): HorizontalPodAutoscalerMetricSpec[];
106
- getCurrentMetrics(): HorizontalPodAutoscalerMetricSpec[];
107
- protected getMetricName(metric: HorizontalPodAutoscalerMetricSpec): string;
108
- protected getResourceMetricValue(currentMetric: ResourceMetricSource | undefined, targetMetric: ResourceMetricSource): MetricCurrentTarget;
109
- protected getPodsMetricValue(currentMetric: PodsMetricSource | undefined, targetMetric: PodsMetricSource): MetricCurrentTarget;
110
- protected getObjectMetricValue(currentMetric: ObjectMetricSource | undefined, targetMetric: ObjectMetricSource): MetricCurrentTarget;
111
- protected getExternalMetricValue(currentMetric: ExternalMetricSource | undefined, targetMetric: ExternalMetricSource): MetricCurrentTarget;
112
- protected getContainerResourceMetricValue(currentMetric: ContainerResourceMetricSource | undefined, targetMetric: ContainerResourceMetricSource): MetricCurrentTarget;
113
- protected getMetricCurrentTarget(metric: HorizontalPodAutoscalerMetricSpec): MetricCurrentTarget;
139
+ getCurrentMetrics(): HorizontalPodAutoscalerMetricStatus[];
114
140
  getMetricValues(metric: HorizontalPodAutoscalerMetricSpec): string;
115
141
  }
116
142
  export declare class HorizontalPodAutoscalerApi extends KubeApi<HorizontalPodAutoscaler> {
117
143
  constructor(opts?: DerivedKubeApiOptions);
118
144
  }
119
- export {};
@@ -125,7 +125,7 @@ export declare class Node extends KubeObject<ClusterScopedMetadata, NodeStatus,
125
125
  isMasterNode(): boolean;
126
126
  getRoleLabelItems(): string[];
127
127
  getRoleLabels(): string;
128
- getCpuCapacity(): number;
128
+ getCpuCapacity(): number | undefined;
129
129
  getMemoryCapacity(): number;
130
130
  getConditions(): NodeCondition[];
131
131
  getActiveConditions(): NodeCondition[];
@@ -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 cpuUnitsToNumber(cpu: string): number;
5
+ export declare function cpuUnitsToNumber(value: string): number | undefined;
@@ -14,8 +14,9 @@ declare type TupleOfImpl<T, N extends number, R extends unknown[]> = R["length"]
14
14
  * @yields A tuple of the next element from each of the sources
15
15
  * @returns The tuple of all the sources as soon as at least one of the sources is exausted
16
16
  */
17
- export declare function zip<T>(src1: T[]): Iterator<[T], Tuple<T[], 1>>;
18
- export declare function zip<T>(src1: T[], src2: T[]): Iterator<[T, T], Tuple<T[], 2>>;
17
+ export declare function zip<T>(...sources: Tuple<T[], 0>): Iterator<Tuple<T, 0>, Tuple<T[], 0>>;
18
+ export declare function zip<T>(...sources: Tuple<T[], 1>): Iterator<Tuple<T, 1>, Tuple<T[], 1>>;
19
+ export declare function zip<T>(...sources: Tuple<T[], 2>): Iterator<Tuple<T, 2>, Tuple<T[], 2>>;
19
20
  /**
20
21
  * Returns a `length` tuple filled with copies of `value`
21
22
  * @param length The size of the tuple
@@ -11547,7 +11547,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
11547
11547
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
11548
11548
 
11549
11549
  "use strict";
11550
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/**\\n * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\n.RadioGroup.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.RadioGroup.buttonsView {\\n display: inline-flex;\\n}\\n.RadioGroup.buttonsView .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: var(--border-radius);\\n text-align: center;\\n padding: 6px 8px;\\n white-space: nowrap;\\n transition: 250ms color;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled) {\\n cursor: pointer;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled):not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n}\\n.RadioGroup.buttonsView .Radio.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio.checked * {\\n cursor: default;\\n}\\n.RadioGroup.buttonsView .Radio:hover {\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio + .Radio {\\n margin-left: -1px;\\n}\\n.RadioGroup.buttonsView .Radio .tick {\\n display: none;\\n}\\n.RadioGroup.buttonsView .Radio .tick + * {\\n margin-left: 0;\\n}\\n\\n.Radio input[type=radio] {\\n display: none;\\n}\\n.Radio input[type=radio]:checked ~ .tick {\\n color: var(--colorInfo);\\n}\\n.Radio input[type=radio]:checked ~ .tick:after {\\n content: \\\"radio_button_checked\\\";\\n}\\n.Radio input[type=radio]:disabled ~ .tick {\\n color: currentColor;\\n}\\n.Radio input[type=radio]:disabled ~ * {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Radio input[type=radio]:not(:disabled) ~ * {\\n cursor: pointer;\\n}\\n.Radio:focus .tick {\\n color: var(--colorInfo);\\n}\\n.Radio.checked .label {\\n color: var(--textColorAccent);\\n}\\n.Radio .tick {\\n color: currentColor;\\n font: calc(var(--font-size) * 1.3) \\\"Material Icons\\\";\\n}\\n.Radio .tick:after {\\n content: \\\"radio_button_unchecked\\\";\\n}\\n.Radio .tick + * {\\n margin-left: 0.5em;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/renderer/components/vars.scss\",\"webpack://./src/renderer/components/colors.scss\",\"webpack://./src/renderer/components/media.scss\",\"webpack://./src/renderer/components/mixins.scss\",\"webpack://./src/renderer/components/+workloads/workloads-mixins.scss\",\"webpack://./src/renderer/components/+storage/storage-mixins.scss\",\"webpack://./src/renderer/components/+nodes/nodes-mixins.scss\",\"webpack://./src/renderer/components/+namespaces/namespaces-mixins.scss\",\"webpack://./src/renderer/components/table/table.mixins.scss\",\"webpack://./src/renderer/components/+network/network-mixins.scss\",\"webpack://./src/renderer/components/radio/radio.scss\"],\"names\":[],\"mappings\":\"AAAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACCA;;;EAAA;AAME;EACE,YAAA;EACA,oBAAA;AAsCJ;AAnCE;EACE,oBAAA;AAqCJ;AAnCI;EACE,qBAAA;EACA,yCAAA;EACA,mCVPG;EUQH,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,uBAAA;AAqCN;AAnCM;EACE,eAAA;AAqCR;AApCQ;EACE,kBAAA;EACA,4BAAA;EACA,0CAAA;AAsCV;AAlCM;EACE,8CAAA;EACA,6BAAA;AAoCR;AAnCQ;EACE,eAAA;AAqCV;AAjCM;EACE,6BAAA;AAmCR;AAhCM;EACE,iBAAA;AAkCR;AA/BM;EACE,aAAA;AAiCR;AA/BQ;EACE,cAAA;AAiCV;;AAnBE;EACE,aAAA;AAsBJ;AApBM;EACE,uBARY;AA8BpB;AArBQ;EACE,+BAAA;AAuBV;AAlBM;EACE,mBAjBM;AAqCd;AAlBM;EACE,YAAA;EACA,oBAAA;AAoBR;AAjBI;EACE,eAAA;AAmBN;AAdI;EACE,uBA9Bc;AA8CpB;AAXI;EACE,6BAlCe;AA+CrB;AATE;EACE,mBA1CU;EA2CV,mDAAA;AAWJ;AATI;EACE,iCAAA;AAWN;AARI;EACE,kBAAA;AAUN\",\"sourcesContent\":[\"/**\\n * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\n\\n@import \\\"colors\\\", \\\"media\\\";\\n\\n// Dimensions\\n$unit: 8px;\\n$padding: $unit;\\n$margin: $unit;\\n$radius: var(--border-radius);\\n\\n// Fonts\\n$font-main: var(--font-main);\\n$font-monospace: var(--font-monospace);\\n$font-size-small: var(--font-size-small);\\n$font-size: var(--font-size);\\n$font-size-big: var(--font-size-big);\\n$font-weight-thin: var(--font-weight-thin);\\n$font-weight-normal: var(--font-weight-normal);\\n$font-weight-bold: var(--font-weight-bold);\\n\\n// Z-index correlations\\n$zIndex-sidebar-hover: 500;\\n$zIndex-select-portal: 300;\\n$zIndex-dialog: 200;\\n$zIndex-drawer: 100;\\n\\n// Animation timing functions\\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1);\\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1);\\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1);\\n\\n// Import other common vars & mixins\\n@import \\\"mixins\\\";\\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//-- Material Design colors\\n\\n// Red\\n$red-50: rgb(255,235,238);\\n$red-100: rgb(255,205,210);\\n$red-200: rgb(239,154,154);\\n$red-300: rgb(229,115,115);\\n$red-400: rgb(239,83,80);\\n$red-500: rgb(244,67,54);\\n$red-600: rgb(229,57,53);\\n$red-700: rgb(211,47,47);\\n$red-800: rgb(198,40,40);\\n$red-900: rgb(183,28,28);\\n$red-a100: rgb(255,138,128);\\n$red-a200: rgb(255,82,82);\\n$red-a400: rgb(255,23,68);\\n$red-a700: rgb(213,0,0);\\n\\n// Pink\\n$pink-50: rgb(252,228,236);\\n$pink-100: rgb(248,187,208);\\n$pink-200: rgb(244,143,177);\\n$pink-300: rgb(240,98,146);\\n$pink-400: rgb(236,64,122);\\n$pink-500: rgb(233,30,99);\\n$pink-600: rgb(216,27,96);\\n$pink-700: rgb(194,24,91);\\n$pink-800: rgb(173,20,87);\\n$pink-900: rgb(136,14,79);\\n$pink-a100: rgb(255,128,171);\\n$pink-a200: rgb(255,64,129);\\n$pink-a400: rgb(245,0,87);\\n$pink-a700: rgb(197,17,98);\\n\\n// Purple\\n$purple-50: rgb(243,229,245);\\n$purple-100: rgb(225,190,231);\\n$purple-200: rgb(206,147,216);\\n$purple-300: rgb(186,104,200);\\n$purple-400: rgb(171,71,188);\\n$purple-500: rgb(156,39,176);\\n$purple-600: rgb(142,36,170);\\n$purple-700: rgb(123,31,162);\\n$purple-800: rgb(106,27,154);\\n$purple-900: rgb(74,20,140);\\n$purple-a100: rgb(234,128,252);\\n$purple-a200: rgb(224,64,251);\\n$purple-a400: rgb(213,0,249);\\n$purple-a700: rgb(170,0,255);\\n\\n//Deep Purple\\n$deep-purple-50: rgb(237,231,246);\\n$deep-purple-100: rgb(209,196,233);\\n$deep-purple-200: rgb(179,157,219);\\n$deep-purple-300: rgb(149,117,205);\\n$deep-purple-400: rgb(126,87,194);\\n$deep-purple-500: rgb(103,58,183);\\n$deep-purple-600: rgb(94,53,177);\\n$deep-purple-700: rgb(81,45,168);\\n$deep-purple-800: rgb(69,39,160);\\n$deep-purple-900: rgb(49,27,146);\\n$deep-purple-a100: rgb(179,136,255);\\n$deep-purple-a200: rgb(124,77,255);\\n$deep-purple-a400: rgb(101,31,255);\\n$deep-purple-a700: rgb(98,0,234);\\n\\n// Indigo\\n$indigo-50: rgb(232,234,246);\\n$indigo-100: rgb(197,202,233);\\n$indigo-200: rgb(159,168,218);\\n$indigo-300: rgb(121,134,203);\\n$indigo-400: rgb(92,107,192);\\n$indigo-500: rgb(63,81,181);\\n$indigo-600: rgb(57,73,171);\\n$indigo-700: rgb(48,63,159);\\n$indigo-800: rgb(40,53,147);\\n$indigo-900: rgb(26,35,126);\\n$indigo-a100: rgb(140,158,255);\\n$indigo-a200: rgb(83,109,254);\\n$indigo-a400: rgb(61,90,254);\\n$indigo-a700: rgb(48,79,254);\\n\\n// Blue\\n$blue-50: rgb(227,242,253);\\n$blue-100: rgb(187,222,251);\\n$blue-200: rgb(144,202,249);\\n$blue-300: rgb(100,181,246);\\n$blue-400: rgb(66,165,245);\\n$blue-500: rgb(33,150,243);\\n$blue-600: rgb(30,136,229);\\n$blue-700: rgb(25,118,210);\\n$blue-800: rgb(21,101,192);\\n$blue-900: rgb(13,71,161);\\n$blue-a100: rgb(130,177,255);\\n$blue-a200: rgb(68,138,255);\\n$blue-a400: rgb(41,121,255);\\n$blue-a700: rgb(41,98,255);\\n\\n// Light Blue\\n$light-blue-50: rgb(225,245,254);\\n$light-blue-100: rgb(179,229,252);\\n$light-blue-200: rgb(129,212,250);\\n$light-blue-300: rgb(79,195,247);\\n$light-blue-400: rgb(41,182,246);\\n$light-blue-500: rgb(3,169,244);\\n$light-blue-600: rgb(3,155,229);\\n$light-blue-700: rgb(2,136,209);\\n$light-blue-800: rgb(2,119,189);\\n$light-blue-900: rgb(1,87,155);\\n$light-blue-a100: rgb(128,216,255);\\n$light-blue-a200: rgb(64,196,255);\\n$light-blue-a400: rgb(0,176,255);\\n$light-blue-a700: rgb(0,145,234);\\n\\n// Cyan\\n$cyan-50: rgb(224,247,250);\\n$cyan-100: rgb(178,235,242);\\n$cyan-200: rgb(128,222,234);\\n$cyan-300: rgb(77,208,225);\\n$cyan-400: rgb(38,198,218);\\n$cyan-500: rgb(0,188,212);\\n$cyan-600: rgb(0,172,193);\\n$cyan-700: rgb(0,151,167);\\n$cyan-800: rgb(0,131,143);\\n$cyan-900: rgb(0,96,100);\\n$cyan-a100: rgb(132,255,255);\\n$cyan-a200: rgb(24,255,255);\\n$cyan-a400: rgb(0,229,255);\\n$cyan-a700: rgb(0,184,212);\\n\\n// Teal\\n$teal-50: rgb(224,242,241);\\n$teal-100: rgb(178,223,219);\\n$teal-200: rgb(128,203,196);\\n$teal-300: rgb(77,182,172);\\n$teal-400: rgb(38,166,154);\\n$teal-500: rgb(0,150,136);\\n$teal-600: rgb(0,137,123);\\n$teal-700: rgb(0,121,107);\\n$teal-800: rgb(0,105,92);\\n$teal-900: rgb(0,77,64);\\n$teal-a100: rgb(167,255,235);\\n$teal-a200: rgb(100,255,218);\\n$teal-a400: rgb(29,233,182);\\n$teal-a700: rgb(0,191,165);\\n\\n// Green\\n$green-50: rgb(232,245,233);\\n$green-100: rgb(200,230,201);\\n$green-200: rgb(165,214,167);\\n$green-300: rgb(129,199,132);\\n$green-400: rgb(102,187,106);\\n$green-500: rgb(76,175,80);\\n$green-600: rgb(67,160,71);\\n$green-700: rgb(56,142,60);\\n$green-800: rgb(46,125,50);\\n$green-900: rgb(27,94,32);\\n$green-a100: rgb(185,246,202);\\n$green-a200: rgb(105,240,174);\\n$green-a400: rgb(0,230,118);\\n$green-a700: rgb(0,200,83);\\n\\n// Green\\n$light-green-50: rgb(241,248,233);\\n$light-green-100: rgb(220,237,200);\\n$light-green-200: rgb(197,225,165);\\n$light-green-300: rgb(174,213,129);\\n$light-green-400: rgb(156,204,101);\\n$light-green-500: rgb(139,195,74);\\n$light-green-600: rgb(124,179,66);\\n$light-green-700: rgb(104,159,56);\\n$light-green-800: rgb(85,139,47);\\n$light-green-900: rgb(51,105,30);\\n$light-green-a100: rgb(204,255,144);\\n$light-green-a200: rgb(178,255,89);\\n$light-green-a400: rgb(118,255,3);\\n$light-green-a700: rgb(100,221,23);\\n\\n// Lime\\n$lime-50: rgb(249,251,231);\\n$lime-100: rgb(240,244,195);\\n$lime-200: rgb(230,238,156);\\n$lime-300: rgb(220,231,117);\\n$lime-400: rgb(212,225,87);\\n$lime-500: rgb(205,220,57);\\n$lime-600: rgb(192,202,51);\\n$lime-700: rgb(175,180,43);\\n$lime-800: rgb(158,157,36);\\n$lime-900: rgb(130,119,23);\\n$lime-a100: rgb(244,255,129);\\n$lime-a200: rgb(238,255,65);\\n$lime-a400: rgb(198,255,0);\\n$lime-a700: rgb(174,234,0);\\n\\n// Yellow\\n$yellow-50: rgb(255,253,231);\\n$yellow-100: rgb(255,249,196);\\n$yellow-200: rgb(255,245,157);\\n$yellow-300: rgb(255,241,118);\\n$yellow-400: rgb(255,238,88);\\n$yellow-500: rgb(255,235,59);\\n$yellow-600: rgb(253,216,53);\\n$yellow-700: rgb(251,192,45);\\n$yellow-800: rgb(249,168,37);\\n$yellow-900: rgb(245,127,23);\\n$yellow-a100: rgb(255,255,141);\\n$yellow-a200: rgb(255,255,0);\\n$yellow-a400: rgb(255,234,0);\\n$yellow-a700: rgb(255,214,0);\\n\\n// Amber\\n$amber-50: rgb(255,248,225);\\n$amber-100: rgb(255,236,179);\\n$amber-200: rgb(255,224,130);\\n$amber-300: rgb(255,213,79);\\n$amber-400: rgb(255,202,40);\\n$amber-500: rgb(255,193,7);\\n$amber-600: rgb(255,179,0);\\n$amber-700: rgb(255,160,0);\\n$amber-800: rgb(255,143,0);\\n$amber-900: rgb(255,111,0);\\n$amber-a100: rgb(255,229,127);\\n$amber-a200: rgb(255,215,64);\\n$amber-a400: rgb(255,196,0);\\n$amber-a700: rgb(255,171,0);\\n\\n// Orange\\n$orange-50: rgb(255,243,224);\\n$orange-100: rgb(255,224,178);\\n$orange-200: rgb(255,204,128);\\n$orange-300: rgb(255,183,77);\\n$orange-400: rgb(255,167,38);\\n$orange-500: rgb(255,152,0);\\n$orange-600: rgb(251,140,0);\\n$orange-700: rgb(245,124,0);\\n$orange-800: rgb(239,108,0);\\n$orange-900: rgb(230,81,0);\\n$orange-a100: rgb(255,209,128);\\n$orange-a200: rgb(255,171,64);\\n$orange-a400: rgb(255,145,0);\\n$orange-a700: rgb(255,109,0);\\n\\n// Deep Orange\\n$deep-orange-50: rgb(251,233,231);\\n$deep-orange-100: rgb(255,204,188);\\n$deep-orange-200: rgb(255,171,145);\\n$deep-orange-300: rgb(255,138,101);\\n$deep-orange-400: rgb(255,112,67);\\n$deep-orange-500: rgb(255,87,34);\\n$deep-orange-600: rgb(244,81,30);\\n$deep-orange-700: rgb(230,74,25);\\n$deep-orange-800: rgb(216,67,21);\\n$deep-orange-900: rgb(191,54,12);\\n$deep-orange-a100: rgb(255,158,128);\\n$deep-orange-a200: rgb(255,110,64);\\n$deep-orange-a400: rgb(255,61,0);\\n$deep-orange-a700: rgb(221,44,0);\\n\\n// Brown\\n$brown-50: rgb(239,235,233);\\n$brown-100: rgb(215,204,200);\\n$brown-200: rgb(188,170,164);\\n$brown-300: rgb(161,136,127);\\n$brown-400: rgb(141,110,99);\\n$brown-500: rgb(121,85,72);\\n$brown-600: rgb(109,76,65);\\n$brown-700: rgb(93,64,55);\\n$brown-800: rgb(78,52,46);\\n$brown-900: rgb(62,39,35);\\n\\n// Grey\\n$grey-50: rgb(250,250,250);\\n$grey-100: rgb(245,245,245);\\n$grey-200: rgb(238,238,238);\\n$grey-300: rgb(224,224,224);\\n$grey-400: rgb(189,189,189);\\n$grey-500: rgb(158,158,158);\\n$grey-600: rgb(117,117,117);\\n$grey-700: rgb(97,97,97);\\n$grey-800: rgb(66,66,66);\\n$grey-900: rgb(33,33,33);\\n\\n// Blue Grey\\n$blue-grey-50: rgb(236,239,241);\\n$blue-grey-100: rgb(207,216,220);\\n$blue-grey-200: rgb(176,190,197);\\n$blue-grey-300: rgb(144,164,174);\\n$blue-grey-400: rgb(120,144,156);\\n$blue-grey-500: rgb(96,125,139);\\n$blue-grey-600: rgb(84,110,122);\\n$blue-grey-700: rgb(69,90,100);\\n$blue-grey-800: rgb(55,71,79);\\n$blue-grey-900: rgb(38,50,56);\\n\\n$color-black: rgb(0,0,0);\\n$color-white: rgb(255,255,255);\\n\\n//-- The two possible colors for overlayed text.\\n$color-dark-contrast: $color-white !default;\\n$color-light-contrast: $color-black !default;\\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//-- Mixins for adaptive layout (media queries)\\n@import \\\"~include-media/dist/include-media\\\";\\n\\n@mixin mobile {\\n @include media(\\\"<=desktop\\\") {\\n @content;\\n }\\n}\\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//-- Mixins\\n@import \\\"+workloads/workloads-mixins\\\";\\n@import \\\"+storage/storage-mixins\\\";\\n@import \\\"+nodes/nodes-mixins\\\";\\n@import \\\"+namespaces/namespaces-mixins\\\";\\n@import \\\"table/table.mixins\\\";\\n@import \\\"+network/network-mixins\\\";\\n\\n// Hide scrollbar but keep the element scrollable\\n@mixin hidden-scrollbar {\\n overflow: auto;\\n // Chrome, Safari\\n &::-webkit-scrollbar {\\n width: 0;\\n height: 0;\\n background: transparent;\\n }\\n}\\n\\n@mixin stripeLinesAnimation($color1: #ccc, $color2: transparent, $spacing: 1rem) {\\n background: repeating-linear-gradient(-45deg, $color2, $color2, $spacing, $color1 $spacing, $color1 $spacing * 2);\\n background-size: 200% 200%;\\n animation: stripeLines 10s linear infinite;\\n\\n @keyframes stripeLines {\\n 100% {\\n background-position: 100% 100%;\\n }\\n }\\n}\\n\\n@mixin pseudo-link($color: var(--primary)) {\\n color: $color;\\n text-decoration: underline;\\n cursor: pointer;\\n}\\n\\n@mixin set-draggable($is-draggable: true) {\\n @if ($is-draggable) {\\n -webkit-user-select: none;\\n -webkit-app-region: drag;\\n } @else {\\n -webkit-app-region: no-drag;\\n }\\n}\\n\\n@mixin theme-light() {\\n $selector: \\\"theme-light\\\"; // keep in sync with class in `theme.store.ts`\\n\\n body.#{$selector} {\\n @content;\\n }\\n :global(body.#{$selector}) {\\n @content; // css-modules (*.module.scss)\\n }\\n}\\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// Pods\\n$pod-status-running-color: var(--colorOk);\\n$pod-status-pending-color: var(--colorWarning);\\n$pod-status-evicted-color: var(--colorError);\\n$pod-status-succeeded-color: var(--colorSuccess);\\n$pod-status-failed-color: var(--colorError);\\n$pod-status-terminated-color: var(--colorTerminated);\\n$pod-status-terminating-color: var(--colorTerminated);\\n$pod-status-unknown-color: var(--colorVague);\\n$pod-status-complete-color: var(--colorSuccess);\\n$pod-status-crash-loop-color: var(--colorError);\\n$pod-scheduled: var(--colorOk);\\n$pod-ready: var(--colorOk);\\n$pod-initialized: var(--colorOk);\\n$pod-unschedulable: var(--colorError);\\n$pod-containers-ready: var(--colorInfo);\\n$pod-error: var(--colorError);\\n$pod-container-creating: var(--colorInfo);\\n\\n// Deployments\\n$deployment-available: var(--colorOk);\\n$deployment-progressing: var(--colorInfo);\\n$deployment-replicafailure: var(--colorError);\\n\\n// Jobs\\n$job-complete: var(--colorSuccess);\\n$job-failed: var(--colorError);\\n\\n// Cronjob\\n$cronjob-scheduled: var(--colorSuccess);\\n$cronjob-suspended: var(--colorTerminated);\\n\\n// Pod Statuses\\n$pod-status-color-list: (\\n running: $pod-status-running-color,\\n pending: $pod-status-pending-color,\\n evicted: $pod-status-evicted-color,\\n waiting: $pod-status-pending-color,\\n succeeded: $pod-status-succeeded-color,\\n failed: $pod-status-failed-color,\\n terminating: $pod-status-terminating-color,\\n terminated: $pod-status-terminated-color,\\n completed: $pod-status-complete-color,\\n crash-loop-back-off: $pod-status-crash-loop-color,\\n error: $pod-error,\\n container-creating: $pod-container-creating,\\n);\\n\\n// Job Conditions\\n$job-condition-color-list: (\\n complete: $job-complete,\\n failed: $job-failed,\\n);\\n\\n// Cronjob Conditions\\n$cronjob-condition-color-list: (\\n scheduled: $cronjob-scheduled,\\n suspended: $cronjob-suspended,\\n);\\n\\n@mixin pod-status-bgs {\\n @each $status, $color in $pod-status-color-list {\\n &.#{$status} {\\n color: white;\\n background: $color;\\n }\\n }\\n}\\n\\n@mixin pod-status-colors {\\n @each $status, $color in $pod-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\\n@mixin job-condition-bgs {\\n @each $condition, $color in $job-condition-color-list {\\n .#{$condition} {\\n color: white;\\n background: $color;\\n }\\n }\\n}\\n\\n@mixin job-condition-colors {\\n @each $condition, $color in $job-condition-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\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// PersistentVolumes\\n$pv-bound: var(--colorOk);\\n$pv-available: var(--colorSuccess);\\n$pv-released: var(--colorWarning);\\n$pv-failed: var(--colorError);\\n\\n// PersistentVolumeClaims\\n$pvc-bound: var(--colorOk);\\n$pvc-pending: var(--colorWarning);\\n$pvc-lost: var(--colorError);\\n\\n// PersistentVolume Statuses\\n$pv-status-color-list: (\\n bound: $pv-bound,\\n available: $pv-available,\\n released: $pv-released,\\n failed: $pv-failed\\n);\\n\\n$pvc-status-color-list: (\\n bound: $pvc-bound,\\n pending: $pvc-pending,\\n lost: $pvc-lost\\n);\\n\\n@mixin pv-status-colors {\\n @each $condition, $color in $pv-status-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\n\\n@mixin pvc-status-colors {\\n @each $condition, $color in $pvc-status-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\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$node-status-color-list: (\\n out-of-disk: #ce3933,\\n network-unavailable: #812727,\\n memory-pressure: #901995,\\n disk-pressure: #CC8D00,\\n pid-pressure: #068DBF,\\n ready: #4caf50,\\n scheduling-disabled: #ff9800,\\n invalid-license: #ce3933,\\n cordoned: var(--colorWarning)\\n);\\n\\n@mixin node-status-bgs {\\n @each $status, $color in $node-status-color-list {\\n .#{$status} {\\n background: $color;\\n color: white;\\n }\\n }\\n}\\n\\n@mixin node-status-colors {\\n @each $status, $color in $node-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\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\\n@mixin namespaceStatus {\\n &.active {\\n color: var(--colorOk);\\n }\\n &.terminating {\\n color: var(--colorError);\\n }\\n}\\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@mixin table-cell-action {\\n display: flex;\\n padding: 0 !important;\\n flex: 0 0 55px !important;\\n\\n > * {\\n margin: 6px auto;\\n }\\n}\\n\\n@mixin table-cell-warning {\\n display: flex;\\n align-items: center;\\n flex-grow: 0.3;\\n padding: 0;\\n}\\n\\n@mixin table-cell-labels {\\n .TableRow {\\n .TableCell {\\n &.labels {\\n @include table-cell-labels-offsets;\\n }\\n }\\n }\\n}\\n\\n@mixin table-cell-labels-offsets {\\n padding-top: $padding * 0.5;\\n padding-bottom: 0;\\n}\\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$service-status-color-list: (\\n active: var(--colorOk),\\n pending: var(--colorWarning)\\n);\\n\\n@mixin service-status-colors {\\n @each $status, $color in $service-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\\n$port-forward-status-color-list: (\\n active: var(--colorOk),\\n disabled: var(--colorSoftError)\\n);\\n\\n@mixin port-forward-status-colors {\\n @each $status, $color in $port-forward-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\",\"@import \\\"vars.scss\\\";\\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.RadioGroup {\\n &.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n }\\n\\n &.buttonsView {\\n display: inline-flex;\\n\\n .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: $radius;\\n text-align: center;\\n padding: round($padding * .7) $padding;\\n white-space: nowrap;\\n transition: 250ms color;\\n\\n &:not(.checked):not(.disabled) {\\n cursor: pointer;\\n &:not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n }\\n }\\n\\n &.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n * {\\n cursor: default;\\n }\\n }\\n\\n &:hover {\\n color: var(--textColorAccent)\\n }\\n\\n + .Radio {\\n margin-left: -1px;\\n }\\n\\n .tick {\\n display: none;\\n\\n + * {\\n margin-left: 0;\\n }\\n }\\n }\\n }\\n}\\n\\n.Radio {\\n $tickSize: round(1.8 * $unit);\\n $tickColor: currentColor;\\n $tickColorActive: var(--colorInfo);\\n $tickColorFocus: var(--colorInfo);\\n $labelColorActive: var(--textColorAccent);\\n\\n input[type=\\\"radio\\\"] {\\n display: none;\\n &:checked {\\n ~ .tick {\\n color: $tickColorActive;\\n &:after {\\n content: \\\"radio_button_checked\\\";\\n }\\n }\\n }\\n &:disabled {\\n ~ .tick {\\n color: $tickColor;\\n }\\n ~ * {\\n opacity: .5;\\n pointer-events: none;\\n }\\n }\\n &:not(:disabled) ~ * {\\n cursor: pointer;\\n }\\n }\\n\\n &:focus {\\n .tick {\\n color: $tickColorActive;\\n }\\n }\\n\\n &.checked {\\n .label {\\n color: $labelColorActive;\\n }\\n }\\n\\n .tick {\\n color: $tickColor;\\n font: calc($font-size * 1.3) \\\"Material Icons\\\";\\n\\n &:after {\\n content: \\\"radio_button_unchecked\\\";\\n }\\n\\n + * {\\n margin-left: .5em;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/radio/radio.scss?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B3%5D");
11550
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/**\\n * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\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 * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\n.RadioGroup.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.RadioGroup.buttonsView {\\n display: inline-flex;\\n}\\n.RadioGroup.buttonsView .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: var(--border-radius);\\n text-align: center;\\n padding: 6px 8px;\\n white-space: nowrap;\\n transition: 250ms color;\\n}\\n.RadioGroup.buttonsView .Radio.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled) {\\n cursor: pointer;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled):not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n}\\n.RadioGroup.buttonsView .Radio.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio.checked * {\\n cursor: default;\\n}\\n.RadioGroup.buttonsView .Radio:hover {\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio + .Radio {\\n margin-left: -1px;\\n}\\n.RadioGroup.buttonsView .Radio .tick {\\n display: none;\\n}\\n.RadioGroup.buttonsView .Radio .tick + * {\\n margin-left: 0;\\n}\\n\\n.Radio input[type=radio] {\\n display: none;\\n}\\n.Radio input[type=radio]:checked ~ .tick {\\n color: var(--colorInfo);\\n}\\n.Radio input[type=radio]:checked ~ .tick:after {\\n content: \\\"radio_button_checked\\\";\\n}\\n.Radio input[type=radio]:disabled ~ .tick {\\n color: currentColor;\\n}\\n.Radio input[type=radio]:disabled ~ * {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Radio input[type=radio]:not(:disabled) ~ * {\\n cursor: pointer;\\n}\\n.Radio:focus .tick {\\n color: var(--colorInfo);\\n}\\n.Radio.checked .label {\\n color: var(--textColorAccent);\\n}\\n.Radio .tick {\\n color: currentColor;\\n font: calc(var(--font-size) * 1.3) \\\"Material Icons\\\";\\n}\\n.Radio .tick:after {\\n content: \\\"radio_button_unchecked\\\";\\n}\\n.Radio .tick + * {\\n margin-left: 0.5em;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/renderer/components/vars.scss\",\"webpack://./src/renderer/components/colors.scss\",\"webpack://./src/renderer/components/media.scss\",\"webpack://./src/renderer/components/mixins.scss\",\"webpack://./src/renderer/components/+workloads/workloads-mixins.scss\",\"webpack://./src/renderer/components/+storage/storage-mixins.scss\",\"webpack://./src/renderer/components/+nodes/nodes-mixins.scss\",\"webpack://./src/renderer/components/+namespaces/namespaces-mixins.scss\",\"webpack://./src/renderer/components/table/table.mixins.scss\",\"webpack://./src/renderer/components/+network/network-mixins.scss\",\"webpack://./src/renderer/components/radio/radio.scss\"],\"names\":[],\"mappings\":\"AAAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACAA;;;EAAA;ACCA;;;EAAA;AAME;EACE,YAAA;EACA,oBAAA;AAsCJ;AAnCE;EACE,oBAAA;AAqCJ;AAnCI;EACE,qBAAA;EACA,yCAAA;EACA,mCVPG;EUQH,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,uBAAA;AAqCN;AAnCM;EACE,YAAA;EACA,oBAAA;AAqCR;AAlCM;EACE,eAAA;AAoCR;AAnCQ;EACE,kBAAA;EACA,4BAAA;EACA,0CAAA;AAqCV;AAjCM;EACE,8CAAA;EACA,6BAAA;AAmCR;AAlCQ;EACE,eAAA;AAoCV;AAhCM;EACE,6BAAA;AAkCR;AA/BM;EACE,iBAAA;AAiCR;AA9BM;EACE,aAAA;AAgCR;AA9BQ;EACE,cAAA;AAgCV;;AAlBE;EACE,aAAA;AAqBJ;AAnBM;EACE,uBARY;AA6BpB;AApBQ;EACE,+BAAA;AAsBV;AAjBM;EACE,mBAjBM;AAoCd;AAjBM;EACE,YAAA;EACA,oBAAA;AAmBR;AAhBI;EACE,eAAA;AAkBN;AAbI;EACE,uBA9Bc;AA6CpB;AAVI;EACE,6BAlCe;AA8CrB;AARE;EACE,mBA1CU;EA2CV,mDAAA;AAUJ;AARI;EACE,iCAAA;AAUN;AAPI;EACE,kBAAA;AASN\",\"sourcesContent\":[\"/**\\n * Copyright (c) OpenLens Authors. All rights reserved.\\n * Licensed under MIT License. See LICENSE in root directory for more information.\\n */\\n\\n@import \\\"colors\\\", \\\"media\\\";\\n\\n// Dimensions\\n$unit: 8px;\\n$padding: $unit;\\n$margin: $unit;\\n$radius: var(--border-radius);\\n\\n// Fonts\\n$font-main: var(--font-main);\\n$font-monospace: var(--font-monospace);\\n$font-size-small: var(--font-size-small);\\n$font-size: var(--font-size);\\n$font-size-big: var(--font-size-big);\\n$font-weight-thin: var(--font-weight-thin);\\n$font-weight-normal: var(--font-weight-normal);\\n$font-weight-bold: var(--font-weight-bold);\\n\\n// Z-index correlations\\n$zIndex-sidebar-hover: 500;\\n$zIndex-select-portal: 300;\\n$zIndex-dialog: 200;\\n$zIndex-drawer: 100;\\n\\n// Animation timing functions\\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1);\\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1);\\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1);\\n\\n// Import other common vars & mixins\\n@import \\\"mixins\\\";\\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//-- Material Design colors\\n\\n// Red\\n$red-50: rgb(255,235,238);\\n$red-100: rgb(255,205,210);\\n$red-200: rgb(239,154,154);\\n$red-300: rgb(229,115,115);\\n$red-400: rgb(239,83,80);\\n$red-500: rgb(244,67,54);\\n$red-600: rgb(229,57,53);\\n$red-700: rgb(211,47,47);\\n$red-800: rgb(198,40,40);\\n$red-900: rgb(183,28,28);\\n$red-a100: rgb(255,138,128);\\n$red-a200: rgb(255,82,82);\\n$red-a400: rgb(255,23,68);\\n$red-a700: rgb(213,0,0);\\n\\n// Pink\\n$pink-50: rgb(252,228,236);\\n$pink-100: rgb(248,187,208);\\n$pink-200: rgb(244,143,177);\\n$pink-300: rgb(240,98,146);\\n$pink-400: rgb(236,64,122);\\n$pink-500: rgb(233,30,99);\\n$pink-600: rgb(216,27,96);\\n$pink-700: rgb(194,24,91);\\n$pink-800: rgb(173,20,87);\\n$pink-900: rgb(136,14,79);\\n$pink-a100: rgb(255,128,171);\\n$pink-a200: rgb(255,64,129);\\n$pink-a400: rgb(245,0,87);\\n$pink-a700: rgb(197,17,98);\\n\\n// Purple\\n$purple-50: rgb(243,229,245);\\n$purple-100: rgb(225,190,231);\\n$purple-200: rgb(206,147,216);\\n$purple-300: rgb(186,104,200);\\n$purple-400: rgb(171,71,188);\\n$purple-500: rgb(156,39,176);\\n$purple-600: rgb(142,36,170);\\n$purple-700: rgb(123,31,162);\\n$purple-800: rgb(106,27,154);\\n$purple-900: rgb(74,20,140);\\n$purple-a100: rgb(234,128,252);\\n$purple-a200: rgb(224,64,251);\\n$purple-a400: rgb(213,0,249);\\n$purple-a700: rgb(170,0,255);\\n\\n//Deep Purple\\n$deep-purple-50: rgb(237,231,246);\\n$deep-purple-100: rgb(209,196,233);\\n$deep-purple-200: rgb(179,157,219);\\n$deep-purple-300: rgb(149,117,205);\\n$deep-purple-400: rgb(126,87,194);\\n$deep-purple-500: rgb(103,58,183);\\n$deep-purple-600: rgb(94,53,177);\\n$deep-purple-700: rgb(81,45,168);\\n$deep-purple-800: rgb(69,39,160);\\n$deep-purple-900: rgb(49,27,146);\\n$deep-purple-a100: rgb(179,136,255);\\n$deep-purple-a200: rgb(124,77,255);\\n$deep-purple-a400: rgb(101,31,255);\\n$deep-purple-a700: rgb(98,0,234);\\n\\n// Indigo\\n$indigo-50: rgb(232,234,246);\\n$indigo-100: rgb(197,202,233);\\n$indigo-200: rgb(159,168,218);\\n$indigo-300: rgb(121,134,203);\\n$indigo-400: rgb(92,107,192);\\n$indigo-500: rgb(63,81,181);\\n$indigo-600: rgb(57,73,171);\\n$indigo-700: rgb(48,63,159);\\n$indigo-800: rgb(40,53,147);\\n$indigo-900: rgb(26,35,126);\\n$indigo-a100: rgb(140,158,255);\\n$indigo-a200: rgb(83,109,254);\\n$indigo-a400: rgb(61,90,254);\\n$indigo-a700: rgb(48,79,254);\\n\\n// Blue\\n$blue-50: rgb(227,242,253);\\n$blue-100: rgb(187,222,251);\\n$blue-200: rgb(144,202,249);\\n$blue-300: rgb(100,181,246);\\n$blue-400: rgb(66,165,245);\\n$blue-500: rgb(33,150,243);\\n$blue-600: rgb(30,136,229);\\n$blue-700: rgb(25,118,210);\\n$blue-800: rgb(21,101,192);\\n$blue-900: rgb(13,71,161);\\n$blue-a100: rgb(130,177,255);\\n$blue-a200: rgb(68,138,255);\\n$blue-a400: rgb(41,121,255);\\n$blue-a700: rgb(41,98,255);\\n\\n// Light Blue\\n$light-blue-50: rgb(225,245,254);\\n$light-blue-100: rgb(179,229,252);\\n$light-blue-200: rgb(129,212,250);\\n$light-blue-300: rgb(79,195,247);\\n$light-blue-400: rgb(41,182,246);\\n$light-blue-500: rgb(3,169,244);\\n$light-blue-600: rgb(3,155,229);\\n$light-blue-700: rgb(2,136,209);\\n$light-blue-800: rgb(2,119,189);\\n$light-blue-900: rgb(1,87,155);\\n$light-blue-a100: rgb(128,216,255);\\n$light-blue-a200: rgb(64,196,255);\\n$light-blue-a400: rgb(0,176,255);\\n$light-blue-a700: rgb(0,145,234);\\n\\n// Cyan\\n$cyan-50: rgb(224,247,250);\\n$cyan-100: rgb(178,235,242);\\n$cyan-200: rgb(128,222,234);\\n$cyan-300: rgb(77,208,225);\\n$cyan-400: rgb(38,198,218);\\n$cyan-500: rgb(0,188,212);\\n$cyan-600: rgb(0,172,193);\\n$cyan-700: rgb(0,151,167);\\n$cyan-800: rgb(0,131,143);\\n$cyan-900: rgb(0,96,100);\\n$cyan-a100: rgb(132,255,255);\\n$cyan-a200: rgb(24,255,255);\\n$cyan-a400: rgb(0,229,255);\\n$cyan-a700: rgb(0,184,212);\\n\\n// Teal\\n$teal-50: rgb(224,242,241);\\n$teal-100: rgb(178,223,219);\\n$teal-200: rgb(128,203,196);\\n$teal-300: rgb(77,182,172);\\n$teal-400: rgb(38,166,154);\\n$teal-500: rgb(0,150,136);\\n$teal-600: rgb(0,137,123);\\n$teal-700: rgb(0,121,107);\\n$teal-800: rgb(0,105,92);\\n$teal-900: rgb(0,77,64);\\n$teal-a100: rgb(167,255,235);\\n$teal-a200: rgb(100,255,218);\\n$teal-a400: rgb(29,233,182);\\n$teal-a700: rgb(0,191,165);\\n\\n// Green\\n$green-50: rgb(232,245,233);\\n$green-100: rgb(200,230,201);\\n$green-200: rgb(165,214,167);\\n$green-300: rgb(129,199,132);\\n$green-400: rgb(102,187,106);\\n$green-500: rgb(76,175,80);\\n$green-600: rgb(67,160,71);\\n$green-700: rgb(56,142,60);\\n$green-800: rgb(46,125,50);\\n$green-900: rgb(27,94,32);\\n$green-a100: rgb(185,246,202);\\n$green-a200: rgb(105,240,174);\\n$green-a400: rgb(0,230,118);\\n$green-a700: rgb(0,200,83);\\n\\n// Green\\n$light-green-50: rgb(241,248,233);\\n$light-green-100: rgb(220,237,200);\\n$light-green-200: rgb(197,225,165);\\n$light-green-300: rgb(174,213,129);\\n$light-green-400: rgb(156,204,101);\\n$light-green-500: rgb(139,195,74);\\n$light-green-600: rgb(124,179,66);\\n$light-green-700: rgb(104,159,56);\\n$light-green-800: rgb(85,139,47);\\n$light-green-900: rgb(51,105,30);\\n$light-green-a100: rgb(204,255,144);\\n$light-green-a200: rgb(178,255,89);\\n$light-green-a400: rgb(118,255,3);\\n$light-green-a700: rgb(100,221,23);\\n\\n// Lime\\n$lime-50: rgb(249,251,231);\\n$lime-100: rgb(240,244,195);\\n$lime-200: rgb(230,238,156);\\n$lime-300: rgb(220,231,117);\\n$lime-400: rgb(212,225,87);\\n$lime-500: rgb(205,220,57);\\n$lime-600: rgb(192,202,51);\\n$lime-700: rgb(175,180,43);\\n$lime-800: rgb(158,157,36);\\n$lime-900: rgb(130,119,23);\\n$lime-a100: rgb(244,255,129);\\n$lime-a200: rgb(238,255,65);\\n$lime-a400: rgb(198,255,0);\\n$lime-a700: rgb(174,234,0);\\n\\n// Yellow\\n$yellow-50: rgb(255,253,231);\\n$yellow-100: rgb(255,249,196);\\n$yellow-200: rgb(255,245,157);\\n$yellow-300: rgb(255,241,118);\\n$yellow-400: rgb(255,238,88);\\n$yellow-500: rgb(255,235,59);\\n$yellow-600: rgb(253,216,53);\\n$yellow-700: rgb(251,192,45);\\n$yellow-800: rgb(249,168,37);\\n$yellow-900: rgb(245,127,23);\\n$yellow-a100: rgb(255,255,141);\\n$yellow-a200: rgb(255,255,0);\\n$yellow-a400: rgb(255,234,0);\\n$yellow-a700: rgb(255,214,0);\\n\\n// Amber\\n$amber-50: rgb(255,248,225);\\n$amber-100: rgb(255,236,179);\\n$amber-200: rgb(255,224,130);\\n$amber-300: rgb(255,213,79);\\n$amber-400: rgb(255,202,40);\\n$amber-500: rgb(255,193,7);\\n$amber-600: rgb(255,179,0);\\n$amber-700: rgb(255,160,0);\\n$amber-800: rgb(255,143,0);\\n$amber-900: rgb(255,111,0);\\n$amber-a100: rgb(255,229,127);\\n$amber-a200: rgb(255,215,64);\\n$amber-a400: rgb(255,196,0);\\n$amber-a700: rgb(255,171,0);\\n\\n// Orange\\n$orange-50: rgb(255,243,224);\\n$orange-100: rgb(255,224,178);\\n$orange-200: rgb(255,204,128);\\n$orange-300: rgb(255,183,77);\\n$orange-400: rgb(255,167,38);\\n$orange-500: rgb(255,152,0);\\n$orange-600: rgb(251,140,0);\\n$orange-700: rgb(245,124,0);\\n$orange-800: rgb(239,108,0);\\n$orange-900: rgb(230,81,0);\\n$orange-a100: rgb(255,209,128);\\n$orange-a200: rgb(255,171,64);\\n$orange-a400: rgb(255,145,0);\\n$orange-a700: rgb(255,109,0);\\n\\n// Deep Orange\\n$deep-orange-50: rgb(251,233,231);\\n$deep-orange-100: rgb(255,204,188);\\n$deep-orange-200: rgb(255,171,145);\\n$deep-orange-300: rgb(255,138,101);\\n$deep-orange-400: rgb(255,112,67);\\n$deep-orange-500: rgb(255,87,34);\\n$deep-orange-600: rgb(244,81,30);\\n$deep-orange-700: rgb(230,74,25);\\n$deep-orange-800: rgb(216,67,21);\\n$deep-orange-900: rgb(191,54,12);\\n$deep-orange-a100: rgb(255,158,128);\\n$deep-orange-a200: rgb(255,110,64);\\n$deep-orange-a400: rgb(255,61,0);\\n$deep-orange-a700: rgb(221,44,0);\\n\\n// Brown\\n$brown-50: rgb(239,235,233);\\n$brown-100: rgb(215,204,200);\\n$brown-200: rgb(188,170,164);\\n$brown-300: rgb(161,136,127);\\n$brown-400: rgb(141,110,99);\\n$brown-500: rgb(121,85,72);\\n$brown-600: rgb(109,76,65);\\n$brown-700: rgb(93,64,55);\\n$brown-800: rgb(78,52,46);\\n$brown-900: rgb(62,39,35);\\n\\n// Grey\\n$grey-50: rgb(250,250,250);\\n$grey-100: rgb(245,245,245);\\n$grey-200: rgb(238,238,238);\\n$grey-300: rgb(224,224,224);\\n$grey-400: rgb(189,189,189);\\n$grey-500: rgb(158,158,158);\\n$grey-600: rgb(117,117,117);\\n$grey-700: rgb(97,97,97);\\n$grey-800: rgb(66,66,66);\\n$grey-900: rgb(33,33,33);\\n\\n// Blue Grey\\n$blue-grey-50: rgb(236,239,241);\\n$blue-grey-100: rgb(207,216,220);\\n$blue-grey-200: rgb(176,190,197);\\n$blue-grey-300: rgb(144,164,174);\\n$blue-grey-400: rgb(120,144,156);\\n$blue-grey-500: rgb(96,125,139);\\n$blue-grey-600: rgb(84,110,122);\\n$blue-grey-700: rgb(69,90,100);\\n$blue-grey-800: rgb(55,71,79);\\n$blue-grey-900: rgb(38,50,56);\\n\\n$color-black: rgb(0,0,0);\\n$color-white: rgb(255,255,255);\\n\\n//-- The two possible colors for overlayed text.\\n$color-dark-contrast: $color-white !default;\\n$color-light-contrast: $color-black !default;\\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//-- Mixins for adaptive layout (media queries)\\n@import \\\"~include-media/dist/include-media\\\";\\n\\n@mixin mobile {\\n @include media(\\\"<=desktop\\\") {\\n @content;\\n }\\n}\\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//-- Mixins\\n@import \\\"+workloads/workloads-mixins\\\";\\n@import \\\"+storage/storage-mixins\\\";\\n@import \\\"+nodes/nodes-mixins\\\";\\n@import \\\"+namespaces/namespaces-mixins\\\";\\n@import \\\"table/table.mixins\\\";\\n@import \\\"+network/network-mixins\\\";\\n\\n// Hide scrollbar but keep the element scrollable\\n@mixin hidden-scrollbar {\\n overflow: auto;\\n // Chrome, Safari\\n &::-webkit-scrollbar {\\n width: 0;\\n height: 0;\\n background: transparent;\\n }\\n}\\n\\n@mixin stripeLinesAnimation($color1: #ccc, $color2: transparent, $spacing: 1rem) {\\n background: repeating-linear-gradient(-45deg, $color2, $color2, $spacing, $color1 $spacing, $color1 $spacing * 2);\\n background-size: 200% 200%;\\n animation: stripeLines 10s linear infinite;\\n\\n @keyframes stripeLines {\\n 100% {\\n background-position: 100% 100%;\\n }\\n }\\n}\\n\\n@mixin pseudo-link($color: var(--primary)) {\\n color: $color;\\n text-decoration: underline;\\n cursor: pointer;\\n}\\n\\n@mixin set-draggable($is-draggable: true) {\\n @if ($is-draggable) {\\n -webkit-user-select: none;\\n -webkit-app-region: drag;\\n } @else {\\n -webkit-app-region: no-drag;\\n }\\n}\\n\\n@mixin theme-light() {\\n $selector: \\\"theme-light\\\"; // keep in sync with class in `theme.store.ts`\\n\\n body.#{$selector} {\\n @content;\\n }\\n :global(body.#{$selector}) {\\n @content; // css-modules (*.module.scss)\\n }\\n}\\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// Pods\\n$pod-status-running-color: var(--colorOk);\\n$pod-status-pending-color: var(--colorWarning);\\n$pod-status-evicted-color: var(--colorError);\\n$pod-status-succeeded-color: var(--colorSuccess);\\n$pod-status-failed-color: var(--colorError);\\n$pod-status-terminated-color: var(--colorTerminated);\\n$pod-status-terminating-color: var(--colorTerminated);\\n$pod-status-unknown-color: var(--colorVague);\\n$pod-status-complete-color: var(--colorSuccess);\\n$pod-status-crash-loop-color: var(--colorError);\\n$pod-scheduled: var(--colorOk);\\n$pod-ready: var(--colorOk);\\n$pod-initialized: var(--colorOk);\\n$pod-unschedulable: var(--colorError);\\n$pod-containers-ready: var(--colorInfo);\\n$pod-error: var(--colorError);\\n$pod-container-creating: var(--colorInfo);\\n\\n// Deployments\\n$deployment-available: var(--colorOk);\\n$deployment-progressing: var(--colorInfo);\\n$deployment-replicafailure: var(--colorError);\\n\\n// Jobs\\n$job-complete: var(--colorSuccess);\\n$job-failed: var(--colorError);\\n\\n// Cronjob\\n$cronjob-scheduled: var(--colorSuccess);\\n$cronjob-suspended: var(--colorTerminated);\\n\\n// Pod Statuses\\n$pod-status-color-list: (\\n running: $pod-status-running-color,\\n pending: $pod-status-pending-color,\\n evicted: $pod-status-evicted-color,\\n waiting: $pod-status-pending-color,\\n succeeded: $pod-status-succeeded-color,\\n failed: $pod-status-failed-color,\\n terminating: $pod-status-terminating-color,\\n terminated: $pod-status-terminated-color,\\n completed: $pod-status-complete-color,\\n crash-loop-back-off: $pod-status-crash-loop-color,\\n error: $pod-error,\\n container-creating: $pod-container-creating,\\n);\\n\\n// Job Conditions\\n$job-condition-color-list: (\\n complete: $job-complete,\\n failed: $job-failed,\\n);\\n\\n// Cronjob Conditions\\n$cronjob-condition-color-list: (\\n scheduled: $cronjob-scheduled,\\n suspended: $cronjob-suspended,\\n);\\n\\n@mixin pod-status-bgs {\\n @each $status, $color in $pod-status-color-list {\\n &.#{$status} {\\n color: white;\\n background: $color;\\n }\\n }\\n}\\n\\n@mixin pod-status-colors {\\n @each $status, $color in $pod-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\\n@mixin job-condition-bgs {\\n @each $condition, $color in $job-condition-color-list {\\n .#{$condition} {\\n color: white;\\n background: $color;\\n }\\n }\\n}\\n\\n@mixin job-condition-colors {\\n @each $condition, $color in $job-condition-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\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// PersistentVolumes\\n$pv-bound: var(--colorOk);\\n$pv-available: var(--colorSuccess);\\n$pv-released: var(--colorWarning);\\n$pv-failed: var(--colorError);\\n\\n// PersistentVolumeClaims\\n$pvc-bound: var(--colorOk);\\n$pvc-pending: var(--colorWarning);\\n$pvc-lost: var(--colorError);\\n\\n// PersistentVolume Statuses\\n$pv-status-color-list: (\\n bound: $pv-bound,\\n available: $pv-available,\\n released: $pv-released,\\n failed: $pv-failed\\n);\\n\\n$pvc-status-color-list: (\\n bound: $pvc-bound,\\n pending: $pvc-pending,\\n lost: $pvc-lost\\n);\\n\\n@mixin pv-status-colors {\\n @each $condition, $color in $pv-status-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\n\\n@mixin pvc-status-colors {\\n @each $condition, $color in $pvc-status-color-list {\\n &.#{$condition} {\\n color: $color;\\n }\\n }\\n}\\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$node-status-color-list: (\\n out-of-disk: #ce3933,\\n network-unavailable: #812727,\\n memory-pressure: #901995,\\n disk-pressure: #CC8D00,\\n pid-pressure: #068DBF,\\n ready: #4caf50,\\n scheduling-disabled: #ff9800,\\n invalid-license: #ce3933,\\n cordoned: var(--colorWarning)\\n);\\n\\n@mixin node-status-bgs {\\n @each $status, $color in $node-status-color-list {\\n .#{$status} {\\n background: $color;\\n color: white;\\n }\\n }\\n}\\n\\n@mixin node-status-colors {\\n @each $status, $color in $node-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\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\\n@mixin namespaceStatus {\\n &.active {\\n color: var(--colorOk);\\n }\\n &.terminating {\\n color: var(--colorError);\\n }\\n}\\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@mixin table-cell-action {\\n display: flex;\\n padding: 0 !important;\\n flex: 0 0 55px !important;\\n\\n > * {\\n margin: 6px auto;\\n }\\n}\\n\\n@mixin table-cell-warning {\\n display: flex;\\n align-items: center;\\n flex-grow: 0.3;\\n padding: 0;\\n}\\n\\n@mixin table-cell-labels {\\n .TableRow {\\n .TableCell {\\n &.labels {\\n @include table-cell-labels-offsets;\\n }\\n }\\n }\\n}\\n\\n@mixin table-cell-labels-offsets {\\n padding-top: $padding * 0.5;\\n padding-bottom: 0;\\n}\\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$service-status-color-list: (\\n active: var(--colorOk),\\n pending: var(--colorWarning)\\n);\\n\\n@mixin service-status-colors {\\n @each $status, $color in $service-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\\n$port-forward-status-color-list: (\\n active: var(--colorOk),\\n disabled: var(--colorSoftError)\\n);\\n\\n@mixin port-forward-status-colors {\\n @each $status, $color in $port-forward-status-color-list {\\n &.#{$status} {\\n color: $color;\\n }\\n }\\n}\\n\",\"@import \\\"vars.scss\\\";\\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.RadioGroup {\\n &.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n }\\n\\n &.buttonsView {\\n display: inline-flex;\\n\\n .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: $radius;\\n text-align: center;\\n padding: round($padding * .7) $padding;\\n white-space: nowrap;\\n transition: 250ms color;\\n\\n &.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n }\\n\\n &:not(.checked):not(.disabled) {\\n cursor: pointer;\\n &:not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n }\\n }\\n\\n &.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n * {\\n cursor: default;\\n }\\n }\\n\\n &:hover {\\n color: var(--textColorAccent)\\n }\\n\\n + .Radio {\\n margin-left: -1px;\\n }\\n\\n .tick {\\n display: none;\\n\\n + * {\\n margin-left: 0;\\n }\\n }\\n }\\n }\\n}\\n\\n.Radio {\\n $tickSize: round(1.8 * $unit);\\n $tickColor: currentColor;\\n $tickColorActive: var(--colorInfo);\\n $tickColorFocus: var(--colorInfo);\\n $labelColorActive: var(--textColorAccent);\\n\\n input[type=\\\"radio\\\"] {\\n display: none;\\n &:checked {\\n ~ .tick {\\n color: $tickColorActive;\\n &:after {\\n content: \\\"radio_button_checked\\\";\\n }\\n }\\n }\\n &:disabled {\\n ~ .tick {\\n color: $tickColor;\\n }\\n ~ * {\\n opacity: .5;\\n pointer-events: none;\\n }\\n }\\n &:not(:disabled) ~ * {\\n cursor: pointer;\\n }\\n }\\n\\n &:focus {\\n .tick {\\n color: $tickColorActive;\\n }\\n }\\n\\n &.checked {\\n .label {\\n color: $labelColorActive;\\n }\\n }\\n\\n .tick {\\n color: $tickColor;\\n font: calc($font-size * 1.3) \\\"Material Icons\\\";\\n\\n &:after {\\n content: \\\"radio_button_unchecked\\\";\\n }\\n\\n + * {\\n margin-left: .5em;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/radio/radio.scss?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B3%5D");
11551
11551
 
11552
11552
  /***/ }),
11553
11553
 
@@ -30648,7 +30648,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
30648
30648
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30649
30649
 
30650
30650
  "use strict";
30651
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* binding */ HorizontalPodAutoscaler),\n/* harmony export */ \"HorizontalPodAutoscalerApi\": () => (/* binding */ HorizontalPodAutoscalerApi),\n/* harmony export */ \"HpaMetricType\": () => (/* binding */ HpaMetricType)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nvar HpaMetricType;\n(function (HpaMetricType) {\n HpaMetricType[\"Resource\"] = \"Resource\";\n HpaMetricType[\"Pods\"] = \"Pods\";\n HpaMetricType[\"Object\"] = \"Object\";\n HpaMetricType[\"External\"] = \"External\";\n HpaMetricType[\"ContainerResource\"] = \"ContainerResource\";\n})(HpaMetricType || (HpaMetricType = {}));\nclass HorizontalPodAutoscaler extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n getMaxPods() {\n var _a;\n return (_a = this.spec.maxReplicas) !== null && _a !== void 0 ? _a : 0;\n }\n getMinPods() {\n var _a;\n return (_a = this.spec.minReplicas) !== null && _a !== void 0 ? _a : 0;\n }\n getReplicas() {\n var _a, _b;\n return (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.currentReplicas) !== null && _b !== void 0 ? _b : 0;\n }\n getReadyConditions() {\n return this.getConditions().filter(({ isReady }) => isReady);\n }\n getConditions() {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions) === null || _b === void 0 ? void 0 : _b.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return {\n ...condition,\n isReady: status === \"True\",\n tooltip: `${message || reason} (${lastTransitionTime})`,\n };\n })) !== null && _c !== void 0 ? _c : [];\n }\n getMetrics() {\n var _a;\n return (_a = this.spec.metrics) !== null && _a !== void 0 ? _a : [];\n }\n getCurrentMetrics() {\n var _a, _b;\n return (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.currentMetrics) !== null && _b !== void 0 ? _b : [];\n }\n getMetricName(metric) {\n switch (metric.type) {\n case HpaMetricType.Resource:\n return metric.resource.name;\n case HpaMetricType.Pods:\n return metric.pods.metricName;\n case HpaMetricType.Object:\n return metric.object.metricName;\n case HpaMetricType.External:\n return metric.external.metricName;\n case HpaMetricType.ContainerResource:\n return metric.containerResource.name;\n default:\n return `<unknown metric type: ${metric.type}>`;\n }\n }\n getResourceMetricValue(currentMetric, targetMetric) {\n return {\n current: ((currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageUtilization)\n ? `${currentMetric.targetAverageUtilization}%`\n : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageValue),\n target: ((targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageUtilization)\n ? `${targetMetric.targetAverageUtilization}%`\n : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n }\n getPodsMetricValue(currentMetric, targetMetric) {\n return {\n current: currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageValue,\n target: targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue,\n };\n }\n getObjectMetricValue(currentMetric, targetMetric) {\n var _a, _b;\n return {\n current: ((_a = currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetValue) !== null && _a !== void 0 ? _a : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.averageValue),\n target: ((_b = targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetValue) !== null && _b !== void 0 ? _b : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.averageValue),\n };\n }\n getExternalMetricValue(currentMetric, targetMetric) {\n var _a, _b;\n return {\n current: ((_a = currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetValue) !== null && _a !== void 0 ? _a : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageValue),\n target: ((_b = targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetValue) !== null && _b !== void 0 ? _b : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n }\n getContainerResourceMetricValue(currentMetric, targetMetric) {\n return {\n current: ((currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageUtilization)\n ? `${currentMetric.targetAverageUtilization}%`\n : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.targetAverageValue),\n target: ((targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageUtilization)\n ? `${targetMetric.targetAverageUtilization}%`\n : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n }\n getMetricCurrentTarget(metric) {\n const currentMetric = this.getMetrics()\n .find(m => (m.type === metric.type\n && this.getMetricName(m) === this.getMetricName(metric)));\n switch (metric.type) {\n case HpaMetricType.Resource:\n return this.getResourceMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.resource, metric.resource);\n case HpaMetricType.Pods:\n return this.getPodsMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.pods, metric.pods);\n case HpaMetricType.Object:\n return this.getObjectMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.object, metric.object);\n case HpaMetricType.External:\n return this.getExternalMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.external, metric.external);\n case HpaMetricType.ContainerResource:\n return this.getContainerResourceMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.containerResource, metric.containerResource);\n default:\n return {};\n }\n }\n getMetricValues(metric) {\n const { current = \"unknown\", target = \"unknown\", } = this.getMetricCurrentTarget(metric);\n return `${current} / ${target}`;\n }\n}\nObject.defineProperty(HorizontalPodAutoscaler, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"HorizontalPodAutoscaler\"\n});\nObject.defineProperty(HorizontalPodAutoscaler, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(HorizontalPodAutoscaler, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/autoscaling/v2beta1/horizontalpodautoscalers\"\n});\nclass HorizontalPodAutoscalerApi extends _kube_api__WEBPACK_IMPORTED_MODULE_1__.KubeApi {\n constructor(opts) {\n super({\n objectConstructor: HorizontalPodAutoscaler,\n ...opts !== null && opts !== void 0 ? opts : {},\n });\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.ts?");
30651
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* binding */ HorizontalPodAutoscaler),\n/* harmony export */ \"HorizontalPodAutoscalerApi\": () => (/* binding */ HorizontalPodAutoscalerApi),\n/* harmony export */ \"HpaMetricType\": () => (/* binding */ HpaMetricType)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nvar HpaMetricType;\n(function (HpaMetricType) {\n HpaMetricType[\"Resource\"] = \"Resource\";\n HpaMetricType[\"Pods\"] = \"Pods\";\n HpaMetricType[\"Object\"] = \"Object\";\n HpaMetricType[\"External\"] = \"External\";\n HpaMetricType[\"ContainerResource\"] = \"ContainerResource\";\n})(HpaMetricType || (HpaMetricType = {}));\nclass HorizontalPodAutoscaler extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n getMaxPods() {\n var _a;\n return (_a = this.spec.maxReplicas) !== null && _a !== void 0 ? _a : 0;\n }\n getMinPods() {\n var _a;\n return (_a = this.spec.minReplicas) !== null && _a !== void 0 ? _a : 0;\n }\n getReplicas() {\n var _a, _b;\n return (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.currentReplicas) !== null && _b !== void 0 ? _b : 0;\n }\n getReadyConditions() {\n return this.getConditions().filter(({ isReady }) => isReady);\n }\n getConditions() {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions) === null || _b === void 0 ? void 0 : _b.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return {\n ...condition,\n isReady: status === \"True\",\n tooltip: `${message || reason} (${lastTransitionTime})`,\n };\n })) !== null && _c !== void 0 ? _c : [];\n }\n getMetrics() {\n var _a;\n return (_a = this.spec.metrics) !== null && _a !== void 0 ? _a : [];\n }\n getCurrentMetrics() {\n var _a, _b;\n return (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.currentMetrics) !== null && _b !== void 0 ? _b : [];\n }\n getMetricValues(metric) {\n const { current = \"unknown\", target = \"unknown\", } = getMetricCurrentTarget(metric, this.getCurrentMetrics());\n return `${current} / ${target}`;\n }\n}\nObject.defineProperty(HorizontalPodAutoscaler, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"HorizontalPodAutoscaler\"\n});\nObject.defineProperty(HorizontalPodAutoscaler, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(HorizontalPodAutoscaler, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/autoscaling/v2beta1/horizontalpodautoscalers\"\n});\nclass HorizontalPodAutoscalerApi extends _kube_api__WEBPACK_IMPORTED_MODULE_1__.KubeApi {\n constructor(opts) {\n super({\n objectConstructor: HorizontalPodAutoscaler,\n ...opts !== null && opts !== void 0 ? opts : {},\n });\n }\n}\nfunction getMetricName(metric) {\n switch (metric.type) {\n case HpaMetricType.Resource:\n return metric.resource.name;\n case HpaMetricType.Pods:\n return metric.pods.metricName;\n case HpaMetricType.Object:\n return metric.object.metricName;\n case HpaMetricType.External:\n return metric.external.metricName;\n case HpaMetricType.ContainerResource:\n return metric.containerResource.name;\n default:\n return undefined;\n }\n}\nfunction getResourceMetricValue(currentMetric, targetMetric) {\n return {\n current: (typeof (currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageUtilization) === \"number\"\n ? `${currentMetric.currentAverageUtilization}%`\n : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageValue),\n target: (typeof (targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageUtilization) === \"number\"\n ? `${targetMetric.targetAverageUtilization}%`\n : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n}\nfunction getPodsMetricValue(currentMetric, targetMetric) {\n return {\n current: currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageValue,\n target: targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue,\n };\n}\nfunction getObjectMetricValue(currentMetric, targetMetric) {\n var _a, _b;\n return {\n current: ((_a = currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentValue) !== null && _a !== void 0 ? _a : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.averageValue),\n target: ((_b = targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetValue) !== null && _b !== void 0 ? _b : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.averageValue),\n };\n}\nfunction getExternalMetricValue(currentMetric, targetMetric) {\n var _a, _b;\n return {\n current: ((_a = currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentValue) !== null && _a !== void 0 ? _a : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageValue),\n target: ((_b = targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetValue) !== null && _b !== void 0 ? _b : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n}\nfunction getContainerResourceMetricValue(currentMetric, targetMetric) {\n return {\n current: (typeof (currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageUtilization) === \"number\"\n ? `${currentMetric.currentAverageUtilization}%`\n : currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.currentAverageValue),\n target: (typeof (targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageUtilization) === \"number\"\n ? `${targetMetric.targetAverageUtilization}%`\n : targetMetric === null || targetMetric === void 0 ? void 0 : targetMetric.targetAverageValue),\n };\n}\nfunction getMetricCurrentTarget(spec, status) {\n const currentMetric = status.find(m => (m.type === spec.type\n && getMetricName(m) === getMetricName(spec)));\n switch (spec.type) {\n case HpaMetricType.Resource:\n return getResourceMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.resource, spec.resource);\n case HpaMetricType.Pods:\n return getPodsMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.pods, spec.pods);\n case HpaMetricType.Object:\n return getObjectMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.object, spec.object);\n case HpaMetricType.External:\n return getExternalMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.external, spec.external);\n case HpaMetricType.ContainerResource:\n return getContainerResourceMetricValue(currentMetric === null || currentMetric === void 0 ? void 0 : currentMetric.containerResource, spec.containerResource);\n default:\n return {};\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.ts?");
30652
30652
 
30653
30653
  /***/ }),
30654
30654
 
@@ -31264,7 +31264,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31264
31264
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31265
31265
 
31266
31266
  "use strict";
31267
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectStore\": () => (/* binding */ KubeObjectStore)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _item_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../item.store */ \"./src/common/item.store.ts\");\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! abort-controller */ \"./node_modules/abort-controller/browser.js\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(abort_controller__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../logger */ \"./src/common/logger.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _utils_objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/objects */ \"./src/common/utils/objects.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\nclass KubeObjectStore extends _item_store__WEBPACK_IMPORTED_MODULE_2__.ItemStore {\n constructor(api, opts) {\n var _a;\n super();\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"limit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"bufferSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"loadedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: undefined\n });\n // collect items from watch-api events to avoid UI blowing up with huge streams of data\n Object.defineProperty(this, \"eventsBuffer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_8__.observable.array([], { deep: false })\n });\n if (api) {\n this.api = api;\n }\n this.limit = opts === null || opts === void 0 ? void 0 : opts.limit;\n this.bufferSize = (_a = opts === null || opts === void 0 ? void 0 : opts.bufferSize) !== null && _a !== void 0 ? _a : 50000;\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind)(this);\n this.bindWatchEventsUpdater();\n }\n get contextReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_8__.when)(() => Boolean(this.context));\n }\n get namespacesReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_8__.when)(() => Boolean(this.loadedNamespaces));\n }\n get context() {\n return KubeObjectStore.defaultContext.get();\n }\n // TODO: Circular dependency: KubeObjectStore -> ClusterFrameContext -> NamespaceStore -> KubeObjectStore\n get contextItems() {\n var _a, _b;\n const namespaces = (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.contextNamespaces) !== null && _b !== void 0 ? _b : [];\n return this.items.filter(item => {\n const itemNamespace = item.getNs();\n return !itemNamespace /* cluster-wide */ || namespaces.includes(itemNamespace);\n });\n }\n getTotalCount() {\n return this.contextItems.length;\n }\n get query() {\n const { limit } = this;\n if (!limit) {\n return {};\n }\n return { limit };\n }\n getAllByNs(namespace, strict = false) {\n const namespaces = [namespace].flat();\n if (namespaces.length) {\n return this.items.filter(item => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.includes)(namespaces, item.getNs()));\n }\n if (!strict) {\n return this.items;\n }\n return [];\n }\n getById(id) {\n return this.items.find(item => item.getId() === id);\n }\n getByName(name, namespace) {\n return this.items.find(item => {\n return item.getName() === name && (namespace ? item.getNs() === namespace : true);\n });\n }\n getByPath(path) {\n return this.items.find(item => item.selfLink === path);\n }\n getByLabel(labels) {\n if (Array.isArray(labels)) {\n return this.items.filter((item) => {\n const itemLabels = item.getLabels();\n return labels.every(label => itemLabels.includes(label));\n });\n }\n else {\n return this.items.filter((item) => {\n const itemLabels = item.metadata.labels || {};\n return (0,_utils_objects__WEBPACK_IMPORTED_MODULE_7__.entries)(labels)\n .every(([key, value]) => itemLabels[key] === value);\n });\n }\n }\n async loadItems({ namespaces, reqInit, onLoadFailure }) {\n var _a, _b, _c, _d, _e, _f;\n if (!((_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.cluster) === null || _b === void 0 ? void 0 : _b.isAllowedResource(this.api.kind))) {\n return [];\n }\n const isLoadingAll = ((_c = this.context.allNamespaces) === null || _c === void 0 ? void 0 : _c.length) > 1\n && this.context.cluster.accessibleNamespaces.length === 0\n && this.context.allNamespaces.every(ns => namespaces.includes(ns));\n if (!this.api.isNamespaced || isLoadingAll) {\n if (this.api.isNamespaced) {\n this.loadedNamespaces = [];\n }\n const res = this.api.list({ reqInit }, this.query);\n if (onLoadFailure) {\n try {\n return (_d = await res) !== null && _d !== void 0 ? _d : [];\n }\n catch (error) {\n onLoadFailure(((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isRequestError)(error)\n ? error.message || error.toString()\n : \"Unknown error\"));\n // reset the store because we are loading all, so that nothing is displayed\n this.items.clear();\n this.selectedItemsIds.clear();\n return [];\n }\n }\n return (_e = await res) !== null && _e !== void 0 ? _e : [];\n }\n this.loadedNamespaces = namespaces;\n const results = await Promise.allSettled(namespaces.map(namespace => this.api.list({ namespace, reqInit }, this.query)));\n const res = [];\n for (const result of results) {\n switch (result.status) {\n case \"fulfilled\":\n res.push(...(_f = result.value) !== null && _f !== void 0 ? _f : []);\n break;\n case \"rejected\":\n if (onLoadFailure) {\n onLoadFailure(result.reason.message || result.reason);\n }\n else {\n // if onLoadFailure is not provided then preserve old behaviour\n throw result.reason;\n }\n }\n }\n return res;\n }\n filterItemsOnLoad(items) {\n return items;\n }\n async loadAll({ namespaces, merge = true, reqInit, onLoadFailure } = {}) {\n const context = await (0,_utils__WEBPACK_IMPORTED_MODULE_0__.waitUntilDefined)(() => this.context);\n namespaces !== null && namespaces !== void 0 ? namespaces : (namespaces = context.contextNamespaces);\n this.isLoading = true;\n try {\n const items = await this.loadItems({ namespaces, reqInit, onLoadFailure });\n this.mergeItems(items, { merge, namespaces });\n this.isLoaded = true;\n this.failedLoading = false;\n return items;\n }\n catch (error) {\n console.warn(\"[KubeObjectStore] loadAll failed\", this.api.apiBase, error);\n this.resetOnError(error);\n this.failedLoading = true;\n }\n finally {\n this.isLoading = false;\n }\n return undefined;\n }\n async reloadAll(opts = {}) {\n const { force = false, ...loadingOptions } = opts;\n if (this.isLoading || (this.isLoaded && !force)) {\n return undefined;\n }\n return this.loadAll(loadingOptions);\n }\n mergeItems(partialItems, { merge = true, updateStore = true, sort = true, filter = true, namespaces }) {\n let items = partialItems;\n // update existing items\n if (merge && this.api.isNamespaced) {\n const ns = new Set(namespaces);\n items = [\n ...this.items.filter(item => !ns.has(item.getNs())),\n ...partialItems,\n ];\n }\n if (filter)\n items = this.filterItemsOnLoad(items);\n if (sort)\n items = this.sortItems(items);\n if (updateStore)\n this.items.replace(items);\n return items;\n }\n resetOnError(error) {\n if (error)\n this.reset();\n }\n async loadItem(params) {\n return this.api.get(params);\n }\n async load(params) {\n const { name, namespace } = params;\n let item = this.getByName(name, namespace);\n if (!item) {\n item = await this.loadItem(params);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(item, \"Failed to load item from kube\");\n const newItems = this.sortItems([...this.items, item]);\n this.items.replace(newItems);\n }\n return item;\n }\n async loadFromPath(resourcePath) {\n const { namespace, name } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_3__.parseKubeApi)(resourcePath);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(name && namespace, \"Both name and namesapce must be part of resourcePath\");\n return this.load({ name, namespace });\n }\n async createItem(params, data) {\n return this.api.create(params, data);\n }\n async create(params, data) {\n const newItem = await this.createItem(params, data);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(newItem, \"Failed to create item from kube\");\n const items = this.sortItems([...this.items, newItem]);\n this.items.replace(items);\n return newItem;\n }\n postUpdate(newItem) {\n const index = this.items.findIndex(item => item.getId() === newItem.getId());\n if (index < 0) {\n this.items.push(newItem);\n }\n else {\n this.items[index] = newItem;\n }\n return newItem;\n }\n async patch(item, patch) {\n const rawItem = await this.api.patch({\n name: item.getName(), namespace: item.getNs(),\n }, patch, \"json\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(rawItem, `Failed to patch ${item.getScopedName()} of ${item.kind} ${item.apiVersion}`);\n return this.postUpdate(rawItem);\n }\n async update(item, data) {\n const rawItem = await this.api.update({\n name: item.getName(),\n namespace: item.getNs(),\n }, data);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(rawItem, `Failed to update ${item.getScopedName()} of ${item.kind} ${item.apiVersion}`);\n return this.postUpdate(rawItem);\n }\n async remove(item) {\n await this.api.delete({ name: item.getName(), namespace: item.getNs() });\n this.selectedItemsIds.delete(item.getId());\n }\n async removeSelectedItems() {\n await Promise.all(this.selectedItems.map(this.remove));\n }\n async removeItems(items) {\n await Promise.all(items.map(this.remove));\n }\n bindWatchEventsUpdater(delay = 1000) {\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.eventsBuffer.length, this.updateFromEventsBuffer, {\n delay,\n });\n }\n subscribe({ onLoadFailure, abortController = new (abort_controller__WEBPACK_IMPORTED_MODULE_4___default())() } = {}) {\n if (this.api.isNamespaced) {\n Promise.race([\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rejectPromiseBy)(abortController.signal),\n Promise.all([\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.waitUntilDefined)(() => this.context),\n this.namespacesReady,\n ]),\n ])\n .then(([context]) => {\n var _a;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this.loadedNamespaces);\n if (((_a = context.cluster) === null || _a === void 0 ? void 0 : _a.isGlobalWatchEnabled) && this.loadedNamespaces.length === 0) {\n return this.watchNamespace(\"\", abortController, { onLoadFailure });\n }\n for (const namespace of this.loadedNamespaces) {\n this.watchNamespace(namespace, abortController, { onLoadFailure });\n }\n })\n .catch(_utils__WEBPACK_IMPORTED_MODULE_0__.noop); // ignore DOMExceptions\n }\n else {\n this.watchNamespace(\"\", abortController, { onLoadFailure });\n }\n return () => abortController.abort();\n }\n watchNamespace(namespace, abortController, opts) {\n if (!this.api.getResourceVersion(namespace)) {\n return;\n }\n let timedRetry;\n const watch = () => this.api.watch({\n namespace,\n abortController,\n callback,\n });\n const { signal } = abortController;\n const callback = (data, error) => {\n if (!this.isLoaded || (error === null || error === void 0 ? void 0 : error.type) === \"aborted\")\n return;\n if (error instanceof Response) {\n if (error.status === 404 || error.status === 401) {\n // api has gone, or credentials are not permitted, let's not retry\n return;\n }\n // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n else if (error instanceof _kube_object__WEBPACK_IMPORTED_MODULE_1__.KubeStatus && error.code === 410) {\n clearTimeout(timedRetry);\n // resourceVersion has gone, let's try to reload\n timedRetry = setTimeout(() => {\n (namespace\n ? this.loadAll({ namespaces: [namespace], reqInit: { signal }, ...opts })\n : this.loadAll({ merge: false, reqInit: { signal }, ...opts })).then(watch);\n }, 1000);\n }\n else if (error) { // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n if (data) {\n this.eventsBuffer.push(data);\n }\n };\n signal.addEventListener(\"abort\", () => clearTimeout(timedRetry));\n watch();\n }\n updateFromEventsBuffer() {\n var _a;\n const items = this.getItems();\n for (const event of this.eventsBuffer.clear()) {\n if (event.type === \"ERROR\") {\n continue;\n }\n try {\n const { type, object } = event;\n if (!((_a = object.metadata) === null || _a === void 0 ? void 0 : _a.uid)) {\n _logger__WEBPACK_IMPORTED_MODULE_5__[\"default\"].warn(\"[KUBE-STORE]: watch event did not have defined .metadata.uid, skipping\", { event });\n // Other parts of the code will break if this happens\n continue;\n }\n const index = items.findIndex(item => item.getId() === object.metadata.uid);\n const item = items[index];\n switch (type) {\n case \"ADDED\":\n // fallthrough\n case \"MODIFIED\": {\n const newItem = new this.api.objectConstructor(object);\n if (!item) {\n items.push(newItem);\n }\n else {\n items[index] = newItem;\n }\n break;\n }\n case \"DELETED\":\n if (item) {\n items.splice(index, 1);\n }\n break;\n }\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_5__[\"default\"].error(\"[KUBE-STORE]: failed to handle event from watch buffer\", { error, event });\n }\n }\n // update items\n this.items.replace(this.sortItems(items.slice(-this.bufferSize)));\n }\n}\nObject.defineProperty(KubeObjectStore, \"defaultContext\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_8__.observable.box()\n}); // TODO: support multiple cluster contexts\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable,\n __metadata(\"design:type\", Object)\n], KubeObjectStore.prototype, \"loadedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectStore.prototype, \"contextItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"reloadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array, Object]),\n __metadata(\"design:returntype\", Array)\n], KubeObjectStore.prototype, \"mergeItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"load\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadFromPath\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], KubeObjectStore.prototype, \"updateFromEventsBuffer\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/kube-object.store.ts?");
31267
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectStore\": () => (/* binding */ KubeObjectStore)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _item_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../item.store */ \"./src/common/item.store.ts\");\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! abort-controller */ \"./node_modules/abort-controller/browser.js\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(abort_controller__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../logger */ \"./src/common/logger.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _utils_objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/objects */ \"./src/common/utils/objects.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\nclass KubeObjectStore extends _item_store__WEBPACK_IMPORTED_MODULE_2__.ItemStore {\n constructor(api, opts) {\n var _a;\n super();\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"limit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"bufferSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"loadedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: undefined\n });\n // collect items from watch-api events to avoid UI blowing up with huge streams of data\n Object.defineProperty(this, \"eventsBuffer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_8__.observable.array([], { deep: false })\n });\n if (api) {\n this.api = api;\n }\n this.limit = opts === null || opts === void 0 ? void 0 : opts.limit;\n this.bufferSize = (_a = opts === null || opts === void 0 ? void 0 : opts.bufferSize) !== null && _a !== void 0 ? _a : 50000;\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind)(this);\n this.bindWatchEventsUpdater();\n }\n get contextReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_8__.when)(() => Boolean(this.context));\n }\n get namespacesReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_8__.when)(() => Boolean(this.loadedNamespaces));\n }\n get context() {\n return KubeObjectStore.defaultContext.get();\n }\n // TODO: Circular dependency: KubeObjectStore -> ClusterFrameContext -> NamespaceStore -> KubeObjectStore\n get contextItems() {\n var _a, _b;\n const namespaces = (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.contextNamespaces) !== null && _b !== void 0 ? _b : [];\n return this.items.filter(item => {\n const itemNamespace = item.getNs();\n return !itemNamespace /* cluster-wide */ || namespaces.includes(itemNamespace);\n });\n }\n getTotalCount() {\n return this.contextItems.length;\n }\n get query() {\n const { limit } = this;\n if (!limit) {\n return {};\n }\n return { limit };\n }\n getAllByNs(namespace, strict = false) {\n const namespaces = [namespace].flat();\n if (namespaces.length) {\n return this.items.filter(item => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.includes)(namespaces, item.getNs()));\n }\n if (!strict) {\n return this.items;\n }\n return [];\n }\n getById(id) {\n return this.items.find(item => item.getId() === id);\n }\n getByName(name, namespace) {\n return this.items.find(item => {\n return item.getName() === name && (namespace ? item.getNs() === namespace : true);\n });\n }\n getByPath(path) {\n return this.items.find(item => item.selfLink === path);\n }\n getByLabel(labels) {\n if (Array.isArray(labels)) {\n return this.items.filter((item) => {\n const itemLabels = item.getLabels();\n return labels.every(label => itemLabels.includes(label));\n });\n }\n else {\n return this.items.filter((item) => {\n const itemLabels = item.metadata.labels || {};\n return (0,_utils_objects__WEBPACK_IMPORTED_MODULE_7__.entries)(labels)\n .every(([key, value]) => itemLabels[key] === value);\n });\n }\n }\n async loadItems({ namespaces, reqInit, onLoadFailure }) {\n var _a, _b, _c, _d, _e, _f;\n if (!((_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.cluster) === null || _b === void 0 ? void 0 : _b.isAllowedResource(this.api.kind))) {\n return [];\n }\n const isLoadingAll = ((_c = this.context.allNamespaces) === null || _c === void 0 ? void 0 : _c.length) > 1\n && this.context.cluster.accessibleNamespaces.length === 0\n && this.context.allNamespaces.every(ns => namespaces.includes(ns));\n if (!this.api.isNamespaced || isLoadingAll) {\n if (this.api.isNamespaced) {\n this.loadedNamespaces = [];\n }\n const res = this.api.list({ reqInit }, this.query);\n if (onLoadFailure) {\n try {\n return (_d = await res) !== null && _d !== void 0 ? _d : [];\n }\n catch (error) {\n onLoadFailure(((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isRequestError)(error)\n ? error.message || error.toString()\n : \"Unknown error\"));\n // reset the store because we are loading all, so that nothing is displayed\n this.items.clear();\n this.selectedItemsIds.clear();\n return [];\n }\n }\n return (_e = await res) !== null && _e !== void 0 ? _e : [];\n }\n this.loadedNamespaces = namespaces;\n const results = await Promise.allSettled(namespaces.map(namespace => this.api.list({ namespace, reqInit }, this.query)));\n const res = [];\n for (const result of results) {\n switch (result.status) {\n case \"fulfilled\":\n res.push(...(_f = result.value) !== null && _f !== void 0 ? _f : []);\n break;\n case \"rejected\":\n if (onLoadFailure) {\n onLoadFailure(result.reason.message || result.reason);\n }\n else {\n // if onLoadFailure is not provided then preserve old behaviour\n throw result.reason;\n }\n }\n }\n return res;\n }\n filterItemsOnLoad(items) {\n return items;\n }\n async loadAll({ namespaces, merge = true, reqInit, onLoadFailure } = {}) {\n const context = await (0,_utils__WEBPACK_IMPORTED_MODULE_0__.waitUntilDefined)(() => this.context);\n namespaces !== null && namespaces !== void 0 ? namespaces : (namespaces = context.contextNamespaces);\n this.isLoading = true;\n try {\n const items = await this.loadItems({ namespaces, reqInit, onLoadFailure });\n this.mergeItems(items, { merge, namespaces });\n this.isLoaded = true;\n this.failedLoading = false;\n return items;\n }\n catch (error) {\n console.warn(\"[KubeObjectStore] loadAll failed\", this.api.apiBase, error);\n this.resetOnError(error);\n this.failedLoading = true;\n }\n finally {\n this.isLoading = false;\n }\n return undefined;\n }\n async reloadAll(opts = {}) {\n const { force = false, ...loadingOptions } = opts;\n if (this.isLoading || (this.isLoaded && !force)) {\n return undefined;\n }\n return this.loadAll(loadingOptions);\n }\n mergeItems(partialItems, { merge = true, updateStore = true, sort = true, filter = true, namespaces }) {\n let items = partialItems;\n // update existing items\n if (merge && this.api.isNamespaced) {\n const ns = new Set(namespaces);\n items = [\n ...this.items.filter(item => !ns.has(item.getNs())),\n ...partialItems,\n ];\n }\n if (filter)\n items = this.filterItemsOnLoad(items);\n if (sort)\n items = this.sortItems(items);\n if (updateStore)\n this.items.replace(items);\n return items;\n }\n resetOnError(error) {\n if (error)\n this.reset();\n }\n async loadItem(params) {\n return this.api.get(params);\n }\n async load(params) {\n const { name, namespace } = params;\n let item = this.getByName(name, namespace);\n if (!item) {\n item = await this.loadItem(params);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(item, \"Failed to load item from kube\");\n const newItems = this.sortItems([...this.items, item]);\n this.items.replace(newItems);\n }\n return item;\n }\n async loadFromPath(resourcePath) {\n const { namespace, name } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_3__.parseKubeApi)(resourcePath);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(name, \"name must be part of resourcePath\");\n return this.load({ name, namespace });\n }\n async createItem(params, data) {\n return this.api.create(params, data);\n }\n async create(params, data) {\n const newItem = await this.createItem(params, data);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(newItem, \"Failed to create item from kube\");\n const items = this.sortItems([...this.items, newItem]);\n this.items.replace(items);\n return newItem;\n }\n postUpdate(newItem) {\n const index = this.items.findIndex(item => item.getId() === newItem.getId());\n if (index < 0) {\n this.items.push(newItem);\n }\n else {\n this.items[index] = newItem;\n }\n return newItem;\n }\n async patch(item, patch) {\n const rawItem = await this.api.patch({\n name: item.getName(), namespace: item.getNs(),\n }, patch, \"json\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(rawItem, `Failed to patch ${item.getScopedName()} of ${item.kind} ${item.apiVersion}`);\n return this.postUpdate(rawItem);\n }\n async update(item, data) {\n const rawItem = await this.api.update({\n name: item.getName(),\n namespace: item.getNs(),\n }, data);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(rawItem, `Failed to update ${item.getScopedName()} of ${item.kind} ${item.apiVersion}`);\n return this.postUpdate(rawItem);\n }\n async remove(item) {\n await this.api.delete({ name: item.getName(), namespace: item.getNs() });\n this.selectedItemsIds.delete(item.getId());\n }\n async removeSelectedItems() {\n await Promise.all(this.selectedItems.map(this.remove));\n }\n async removeItems(items) {\n await Promise.all(items.map(this.remove));\n }\n bindWatchEventsUpdater(delay = 1000) {\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.reaction)(() => this.eventsBuffer.length, this.updateFromEventsBuffer, {\n delay,\n });\n }\n subscribe({ onLoadFailure, abortController = new (abort_controller__WEBPACK_IMPORTED_MODULE_4___default())() } = {}) {\n if (this.api.isNamespaced) {\n Promise.race([\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rejectPromiseBy)(abortController.signal),\n Promise.all([\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.waitUntilDefined)(() => this.context),\n this.namespacesReady,\n ]),\n ])\n .then(([context]) => {\n var _a;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this.loadedNamespaces);\n if (((_a = context.cluster) === null || _a === void 0 ? void 0 : _a.isGlobalWatchEnabled) && this.loadedNamespaces.length === 0) {\n return this.watchNamespace(\"\", abortController, { onLoadFailure });\n }\n for (const namespace of this.loadedNamespaces) {\n this.watchNamespace(namespace, abortController, { onLoadFailure });\n }\n })\n .catch(_utils__WEBPACK_IMPORTED_MODULE_0__.noop); // ignore DOMExceptions\n }\n else {\n this.watchNamespace(\"\", abortController, { onLoadFailure });\n }\n return () => abortController.abort();\n }\n watchNamespace(namespace, abortController, opts) {\n if (!this.api.getResourceVersion(namespace)) {\n return;\n }\n let timedRetry;\n const watch = () => this.api.watch({\n namespace,\n abortController,\n callback,\n });\n const { signal } = abortController;\n const callback = (data, error) => {\n if (!this.isLoaded || (error === null || error === void 0 ? void 0 : error.type) === \"aborted\")\n return;\n if (error instanceof Response) {\n if (error.status === 404 || error.status === 401) {\n // api has gone, or credentials are not permitted, let's not retry\n return;\n }\n // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n else if (error instanceof _kube_object__WEBPACK_IMPORTED_MODULE_1__.KubeStatus && error.code === 410) {\n clearTimeout(timedRetry);\n // resourceVersion has gone, let's try to reload\n timedRetry = setTimeout(() => {\n (namespace\n ? this.loadAll({ namespaces: [namespace], reqInit: { signal }, ...opts })\n : this.loadAll({ merge: false, reqInit: { signal }, ...opts })).then(watch);\n }, 1000);\n }\n else if (error) { // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n if (data) {\n this.eventsBuffer.push(data);\n }\n };\n signal.addEventListener(\"abort\", () => clearTimeout(timedRetry));\n watch();\n }\n updateFromEventsBuffer() {\n var _a;\n const items = this.getItems();\n for (const event of this.eventsBuffer.clear()) {\n if (event.type === \"ERROR\") {\n continue;\n }\n try {\n const { type, object } = event;\n if (!((_a = object.metadata) === null || _a === void 0 ? void 0 : _a.uid)) {\n _logger__WEBPACK_IMPORTED_MODULE_5__[\"default\"].warn(\"[KUBE-STORE]: watch event did not have defined .metadata.uid, skipping\", { event });\n // Other parts of the code will break if this happens\n continue;\n }\n const index = items.findIndex(item => item.getId() === object.metadata.uid);\n const item = items[index];\n switch (type) {\n case \"ADDED\":\n // fallthrough\n case \"MODIFIED\": {\n const newItem = new this.api.objectConstructor(object);\n if (!item) {\n items.push(newItem);\n }\n else {\n items[index] = newItem;\n }\n break;\n }\n case \"DELETED\":\n if (item) {\n items.splice(index, 1);\n }\n break;\n }\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_5__[\"default\"].error(\"[KUBE-STORE]: failed to handle event from watch buffer\", { error, event });\n }\n }\n // update items\n this.items.replace(this.sortItems(items.slice(-this.bufferSize)));\n }\n}\nObject.defineProperty(KubeObjectStore, \"defaultContext\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_8__.observable.box()\n}); // TODO: support multiple cluster contexts\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.observable,\n __metadata(\"design:type\", Object)\n], KubeObjectStore.prototype, \"loadedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectStore.prototype, \"contextItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"reloadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array, Object]),\n __metadata(\"design:returntype\", Array)\n], KubeObjectStore.prototype, \"mergeItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"load\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadFromPath\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], KubeObjectStore.prototype, \"updateFromEventsBuffer\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/kube-object.store.ts?");
31268
31268
 
31269
31269
  /***/ }),
31270
31270
 
@@ -31561,7 +31561,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31561
31561
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31562
31562
 
31563
31563
  "use strict";
31564
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cpuUnitsToNumber\": () => (/* binding */ cpuUnitsToNumber)\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// Helper to convert CPU K8S units to numbers\nconst thousand = 1000;\nconst million = thousand * thousand;\nconst shortBillion = thousand * million;\nfunction cpuUnitsToNumber(cpu) {\n const cpuNum = parseInt(cpu);\n if (cpu.includes(\"m\"))\n return cpuNum / thousand;\n if (cpu.includes(\"u\"))\n return cpuNum / million;\n if (cpu.includes(\"n\"))\n return cpuNum / shortBillion;\n return parseFloat(cpu);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/convertCpu.ts?");
31564
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cpuUnitsToNumber\": () => (/* binding */ cpuUnitsToNumber)\n/* harmony export */ });\n/* harmony import */ var typed_regex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! typed-regex */ \"./node_modules/typed-regex/dist/lib/index.js\");\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// Helper to convert CPU K8S units to numbers\nconst unitConverters = new Map([\n [\"n\", 1000 ** -3],\n [\"u\", 1000 ** -2],\n [\"m\", 1000 ** -1],\n [\"\", 1000 ** 0],\n [\"k\", 1000 ** 1],\n [\"M\", 1000 ** 2],\n [\"G\", 1000 ** 3],\n [\"P\", 1000 ** 4],\n [\"T\", 1000 ** 5],\n [\"E\", 1000 ** 6],\n]);\nconst cpuUnitsRegex = (0,typed_regex__WEBPACK_IMPORTED_MODULE_0__.TypedRegEx)(\"^(?<digits>[+-]?[0-9.]+(e[-+]?[0-9]+)?)(?<unit>[EinumkKMGTP]*)$\");\nfunction cpuUnitsToNumber(value) {\n const match = cpuUnitsRegex.captures(value);\n if (!match) {\n return undefined;\n }\n const { digits = \"\", unit } = match;\n const conversion = unitConverters.get(unit);\n if (conversion === undefined) {\n return undefined;\n }\n return parseFloat(digits) * conversion;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/convertCpu.ts?");
31565
31565
 
31566
31566
  /***/ }),
31567
31567
 
@@ -33332,7 +33332,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33332
33332
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33333
33333
 
33334
33334
  "use strict";
33335
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PodStore\": () => (/* binding */ PodStore)\n/* harmony export */ });\n/* harmony import */ var lodash_countBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/countBy */ \"./node_modules/lodash/countBy.js\");\n/* harmony import */ var lodash_countBy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_countBy__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\n\nclass PodStore extends _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_1__.KubeObjectStore {\n constructor(dependencies, api, opts) {\n super(api, opts);\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"kubeMetrics\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.array([])\n });\n }\n async loadKubeMetrics(namespace) {\n try {\n const metrics = await this.dependencies.podMetricsApi.list({ namespace });\n this.kubeMetrics.replace(metrics !== null && metrics !== void 0 ? metrics : []);\n }\n catch (error) {\n console.warn(\"loadKubeMetrics failed\", error);\n }\n }\n getPodsByOwner(workload) {\n return this.items.filter(pod => (pod.getOwnerRefs()\n .find(owner => owner.uid === workload.getId())));\n }\n getPodsByOwnerId(workloadId) {\n return this.items.filter(pod => {\n return pod.getOwnerRefs().find(owner => owner.uid === workloadId);\n });\n }\n getPodsByNode(node) {\n if (!this.isLoaded)\n return [];\n return this.items.filter(pod => pod.spec.nodeName === node);\n }\n getStatuses(pods) {\n return lodash_countBy__WEBPACK_IMPORTED_MODULE_0___default()(pods.map(pod => pod.getStatus()).sort().reverse());\n }\n getPodKubeMetrics(pod) {\n const containers = pod.getContainers();\n const empty = { cpu: 0, memory: 0 };\n const metrics = this.kubeMetrics.find(metric => {\n return [\n metric.getName() === pod.getName(),\n metric.getNs() === pod.getNs(),\n ].every(v => v);\n });\n if (!metrics)\n return empty;\n return containers.reduce((total, container) => {\n const metric = metrics.containers.find(item => item.name == container.name);\n let cpu = \"0\";\n let memory = \"0\";\n if (metric && metric.usage) {\n cpu = metric.usage.cpu || \"0\";\n memory = metric.usage.memory || \"0\";\n }\n return {\n cpu: total.cpu + (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cpuUnitsToNumber)(cpu),\n memory: total.memory + (0,_utils__WEBPACK_IMPORTED_MODULE_2__.unitsToBytes)(memory),\n };\n }, empty);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+workloads-pods/store.ts?");
33335
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PodStore\": () => (/* binding */ PodStore)\n/* harmony export */ });\n/* harmony import */ var lodash_countBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/countBy */ \"./node_modules/lodash/countBy.js\");\n/* harmony import */ var lodash_countBy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_countBy__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\n\nclass PodStore extends _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_1__.KubeObjectStore {\n constructor(dependencies, api, opts) {\n super(api, opts);\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"kubeMetrics\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__.observable.array([])\n });\n }\n async loadKubeMetrics(namespace) {\n try {\n const metrics = await this.dependencies.podMetricsApi.list({ namespace });\n this.kubeMetrics.replace(metrics !== null && metrics !== void 0 ? metrics : []);\n }\n catch (error) {\n console.warn(\"loadKubeMetrics failed\", error);\n }\n }\n getPodsByOwner(workload) {\n return this.items.filter(pod => (pod.getOwnerRefs()\n .find(owner => owner.uid === workload.getId())));\n }\n getPodsByOwnerId(workloadId) {\n return this.items.filter(pod => {\n return pod.getOwnerRefs().find(owner => owner.uid === workloadId);\n });\n }\n getPodsByNode(node) {\n if (!this.isLoaded)\n return [];\n return this.items.filter(pod => pod.spec.nodeName === node);\n }\n getStatuses(pods) {\n return lodash_countBy__WEBPACK_IMPORTED_MODULE_0___default()(pods.map(pod => pod.getStatus()).sort().reverse());\n }\n getPodKubeMetrics(pod) {\n const containers = pod.getContainers();\n const empty = { cpu: 0, memory: 0 };\n const metrics = this.kubeMetrics.find(metric => {\n return [\n metric.getName() === pod.getName(),\n metric.getNs() === pod.getNs(),\n ].every(v => v);\n });\n if (!metrics)\n return empty;\n return containers.reduce((total, container) => {\n var _a;\n const metric = metrics.containers.find(item => item.name == container.name);\n let cpu = \"0\";\n let memory = \"0\";\n if (metric && metric.usage) {\n cpu = metric.usage.cpu || \"0\";\n memory = metric.usage.memory || \"0\";\n }\n return {\n cpu: total.cpu + ((_a = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cpuUnitsToNumber)(cpu)) !== null && _a !== void 0 ? _a : 0),\n memory: total.memory + (0,_utils__WEBPACK_IMPORTED_MODULE_2__.unitsToBytes)(memory),\n };\n }, empty);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+workloads-pods/store.ts?");
33336
33336
 
33337
33337
  /***/ }),
33338
33338
 
@@ -33398,7 +33398,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33398
33398
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33399
33399
 
33400
33400
  "use strict";
33401
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Badge\": () => (/* binding */ Badge)\n/* harmony export */ });\n/* harmony import */ var _badge_module_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./badge.module.scss */ \"./src/renderer/components/badge/badge.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils_cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.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\n\n\n\n\n\n// Common handler for all Badge instances\ndocument.addEventListener(\"selectionchange\", () => {\n var _a, _b;\n badgeMeta.hasTextSelected || (badgeMeta.hasTextSelected = ((_b = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.toString().trim().length) !== null && _b !== void 0 ? _b : 0) > 0);\n});\nconst badgeMeta = (0,mobx__WEBPACK_IMPORTED_MODULE_4__.observable)({\n hasTextSelected: false,\n});\nconst Badge = (0,_tooltip__WEBPACK_IMPORTED_MODULE_3__.withTooltip)((0,mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer)(({ small, flat, label, expandable = false, disabled, scrollable, className, children, ...elemProps }) => {\n const elem = (0,react__WEBPACK_IMPORTED_MODULE_1__.createRef)();\n const [isExpanded, setIsExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const isExpandable = expandable && elem.current\n ? elem.current.clientWidth < elem.current.scrollWidth\n : false;\n const onMouseUp = (0,mobx__WEBPACK_IMPORTED_MODULE_4__.action)(() => {\n if (!isExpandable || badgeMeta.hasTextSelected) {\n badgeMeta.hasTextSelected = false;\n }\n else {\n setIsExpanded(!isExpanded);\n }\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: (0,_utils_cssNames__WEBPACK_IMPORTED_MODULE_2__.cssNames)(_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].badge, className, {\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].small]: small,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flat]: flat,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].clickable]: Boolean(elemProps.onClick) || isExpandable,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].interactive]: isExpandable,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isExpanded]: isExpanded,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].disabled]: disabled,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scrollable]: scrollable,\n }), onMouseUp: onMouseUp, ref: elem },\n label,\n children));\n}));\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/badge/badge.tsx?");
33401
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Badge\": () => (/* binding */ Badge)\n/* harmony export */ });\n/* harmony import */ var _badge_module_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./badge.module.scss */ \"./src/renderer/components/badge/badge.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils_cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.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\n\n\n\n\n\n// Common handler for all Badge instances\ndocument.addEventListener(\"selectionchange\", () => {\n var _a, _b;\n badgeMeta.hasTextSelected || (badgeMeta.hasTextSelected = ((_b = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.toString().trim().length) !== null && _b !== void 0 ? _b : 0) > 0);\n});\nconst badgeMeta = (0,mobx__WEBPACK_IMPORTED_MODULE_4__.observable)({\n hasTextSelected: false,\n});\nconst Badge = (0,_tooltip__WEBPACK_IMPORTED_MODULE_3__.withTooltip)((0,mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer)(({ small, flat, label, expandable = true, disabled, scrollable, className, children, ...elemProps }) => {\n const elem = (0,react__WEBPACK_IMPORTED_MODULE_1__.createRef)();\n const [isExpanded, setIsExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const isExpandable = expandable && elem.current\n ? elem.current.clientWidth < elem.current.scrollWidth\n : false;\n const onMouseUp = (0,mobx__WEBPACK_IMPORTED_MODULE_4__.action)(() => {\n if (!isExpandable || badgeMeta.hasTextSelected) {\n badgeMeta.hasTextSelected = false;\n }\n else {\n setIsExpanded(!isExpanded);\n }\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: (0,_utils_cssNames__WEBPACK_IMPORTED_MODULE_2__.cssNames)(_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].badge, className, {\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].small]: small,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flat]: flat,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].clickable]: Boolean(elemProps.onClick) || isExpandable,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].interactive]: isExpandable,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isExpanded]: isExpanded,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].disabled]: disabled,\n [_badge_module_scss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scrollable]: scrollable,\n }), onMouseUp: onMouseUp, ref: elem },\n label,\n children));\n}));\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/badge/badge.tsx?");
33402
33402
 
33403
33403
  /***/ }),
33404
33404
 
@@ -34080,7 +34080,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34080
34080
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34081
34081
 
34082
34082
  "use strict";
34083
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DrawerParamToggler\": () => (/* binding */ DrawerParamToggler)\n/* harmony export */ });\n/* harmony import */ var _drawer_param_toggler_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drawer-param-toggler.scss */ \"./src/renderer/components/drawer/drawer-param-toggler.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\n\nclass DrawerParamToggler extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"toggle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.setState({ open: !this.state.open });\n }\n });\n }\n render() {\n const { label, children } = this.props;\n const { open } = this.state;\n const icon = `arrow_drop_${open ? \"up\" : \"down\"}`;\n const link = open ? `Hide` : `Show`;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"DrawerParamToggler\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center params\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"param-label\" }, label),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"param-link\", onClick: this.toggle },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"param-link-text\" }, link),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { material: icon }))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"param-content\", { open }) }, children)));\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/drawer/drawer-param-toggler.tsx?");
34083
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DrawerParamToggler\": () => (/* binding */ DrawerParamToggler)\n/* harmony export */ });\n/* harmony import */ var _drawer_param_toggler_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drawer-param-toggler.scss */ \"./src/renderer/components/drawer/drawer-param-toggler.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\n\nclass DrawerParamToggler extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"toggle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n this.setState({ open: !this.state.open });\n }\n });\n }\n render() {\n const { label, children } = this.props;\n const { open } = this.state;\n const icon = `arrow_drop_${open ? \"up\" : \"down\"}`;\n const link = open ? `Hide` : `Show`;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"DrawerParamToggler\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center params\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"param-label\" }, label),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"param-link\", onClick: this.toggle, \"data-testid\": \"drawer-param-toggler\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"param-link-text\" }, link),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { material: icon }))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"param-content\", { open }) }, open && children)));\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/drawer/drawer-param-toggler.tsx?");
34084
34084
 
34085
34085
  /***/ }),
34086
34086
 
@@ -34498,7 +34498,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34498
34498
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34499
34499
 
34500
34500
  "use strict";
34501
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectDetails\": () => (/* binding */ KubeObjectDetails)\n/* harmony export */ });\n/* harmony import */ var _kube_object_details_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-details.scss */ \"./src/renderer/components/kube-object-details/kube-object-details.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_15__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _drawer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony import */ var _spinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _custom_resources__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../+custom-resources */ \"./src/renderer/components/+custom-resources/index.ts\");\n/* harmony import */ var _kube_object_meta__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../kube-object-meta */ \"./src/renderer/components/kube-object-meta/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__ = __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_7___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/k8s-api/api-manager/manager.injectable */ \"./src/common/k8s-api/api-manager/manager.injectable.ts\");\n/* harmony import */ var _custom_resources_definition_store_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../+custom-resources/definition.store.injectable */ \"./src/renderer/components/+custom-resources/definition.store.injectable.ts\");\n/* harmony import */ var _kube_detail_params_hide_details_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params/hide-details.injectable */ \"./src/renderer/components/kube-detail-params/hide-details.injectable.ts\");\n/* harmony import */ var _kube_detail_params_kube_details_url_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../kube-detail-params/kube-details-url.injectable */ \"./src/renderer/components/kube-detail-params/kube-details-url.injectable.ts\");\n/* harmony import */ var _kube_object_detail_items_kube_object_detail_items_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./kube-object-detail-items/kube-object-detail-items.injectable */ \"./src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-items.injectable.ts\");\n/* harmony import */ var _current_kube_object_in_details_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./current-kube-object-in-details.injectable */ \"./src/renderer/components/kube-object-details/current-kube-object-in-details.injectable.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\n\n\n\n\nlet NonInjectedKubeObjectDetails = class NonInjectedKubeObjectDetails extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"isLoading\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadingError\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.makeObservable)(this);\n }\n get path() {\n return this.props.kubeDetailsUrlParam.get();\n }\n get object() {\n return this.props.kubeObject.get();\n }\n componentDidMount() {\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_15__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.reaction)(() => [\n this.path,\n this.object,\n this.props.customResourceDefinitionStore.items.length, // crd stores initialized after loading\n ], async () => {\n this.loadingError = \"\";\n const { path, object } = this;\n if (!object) {\n const store = this.props.apiManager.getStore(path);\n if (store) {\n this.isLoading = true;\n try {\n await store.loadFromPath(path);\n }\n catch (err) {\n this.loadingError = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Resource loading has failed:\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"b\", null, String(err))));\n }\n finally {\n this.isLoading = false;\n }\n }\n }\n }),\n ]);\n }\n renderTitle(object) {\n if (!object) {\n return \"\";\n }\n return `${object.kind}: ${object.getName()}`;\n }\n renderContents(object) {\n const { isLoading, loadingError } = this;\n const details = this.props.detailComponents.get();\n const getContents = () => {\n if (details.length === 0) {\n const crd = this.props.customResourceDefinitionStore.getByObject(object);\n /**\n * This is a fallback so that if a custom resource object doesn't have\n * any defined details we should try and display at least some details\n */\n if (crd) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_custom_resources__WEBPACK_IMPORTED_MODULE_5__.CustomResourceDetails, { key: object.getId(), object: object, crd: crd }));\n }\n else {\n // if we still don't have any details to show, just show the standard object metadata\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_meta__WEBPACK_IMPORTED_MODULE_6__.KubeObjectMeta, { key: object.getId(), object: object });\n }\n }\n return details.map((DetailComponent, index) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(DetailComponent, { key: index, object: object })));\n };\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n isLoading && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_spinner__WEBPACK_IMPORTED_MODULE_3__.Spinner, { center: true }),\n loadingError && react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"box center\" }, loadingError),\n getContents()));\n }\n render() {\n const { object, isLoading, loadingError } = this;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_drawer__WEBPACK_IMPORTED_MODULE_2__.Drawer, { className: \"KubeObjectDetails flex column\", open: !!(object || isLoading || loadingError), title: this.renderTitle(object), toolbar: object && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_4__.KubeObjectMenu, { object: object, toolbar: true }), onClose: this.props.hideDetails }, object && this.renderContents(object)));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.observable,\n __metadata(\"design:type\", Object)\n], NonInjectedKubeObjectDetails.prototype, \"isLoading\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.observable.ref,\n __metadata(\"design:type\", Object)\n], NonInjectedKubeObjectDetails.prototype, \"loadingError\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedKubeObjectDetails.prototype, \"path\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedKubeObjectDetails.prototype, \"object\", null);\nNonInjectedKubeObjectDetails = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_15__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedKubeObjectDetails);\nconst KubeObjectDetails = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__.withInjectables)(NonInjectedKubeObjectDetails, {\n getProps: (di, props) => ({\n ...props,\n apiManager: di.inject(_common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n customResourceDefinitionStore: di.inject(_custom_resources_definition_store_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]),\n hideDetails: di.inject(_kube_detail_params_hide_details_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n kubeDetailsUrlParam: di.inject(_kube_detail_params_kube_details_url_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n detailComponents: di.inject(_kube_object_detail_items_kube_object_detail_items_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n kubeObject: di.inject(_current_kube_object_in_details_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]),\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-details/kube-object-details.tsx?");
34501
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectDetails\": () => (/* binding */ KubeObjectDetails)\n/* harmony export */ });\n/* harmony import */ var _kube_object_details_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-details.scss */ \"./src/renderer/components/kube-object-details/kube-object-details.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_15__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _drawer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony import */ var _spinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _custom_resources__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../+custom-resources */ \"./src/renderer/components/+custom-resources/index.ts\");\n/* harmony import */ var _kube_object_meta__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../kube-object-meta */ \"./src/renderer/components/kube-object-meta/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__ = __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_7___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/k8s-api/api-manager/manager.injectable */ \"./src/common/k8s-api/api-manager/manager.injectable.ts\");\n/* harmony import */ var _custom_resources_definition_store_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../+custom-resources/definition.store.injectable */ \"./src/renderer/components/+custom-resources/definition.store.injectable.ts\");\n/* harmony import */ var _kube_detail_params_hide_details_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params/hide-details.injectable */ \"./src/renderer/components/kube-detail-params/hide-details.injectable.ts\");\n/* harmony import */ var _kube_detail_params_kube_details_url_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../kube-detail-params/kube-details-url.injectable */ \"./src/renderer/components/kube-detail-params/kube-details-url.injectable.ts\");\n/* harmony import */ var _kube_object_detail_items_kube_object_detail_items_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./kube-object-detail-items/kube-object-detail-items.injectable */ \"./src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-items.injectable.ts\");\n/* harmony import */ var _current_kube_object_in_details_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./current-kube-object-in-details.injectable */ \"./src/renderer/components/kube-object-details/current-kube-object-in-details.injectable.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\n\n\n\n\nlet NonInjectedKubeObjectDetails = class NonInjectedKubeObjectDetails extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"isLoading\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadingError\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.makeObservable)(this);\n }\n get path() {\n return this.props.kubeDetailsUrlParam.get();\n }\n get object() {\n return this.props.kubeObject.get();\n }\n componentDidMount() {\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_15__.disposeOnUnmount)(this, [\n (0,mobx__WEBPACK_IMPORTED_MODULE_14__.reaction)(() => [\n this.path,\n this.object,\n this.props.customResourceDefinitionStore.items.length, // crd stores initialized after loading\n ], async () => {\n this.loadingError = \"\";\n const { path, object } = this;\n if (!object) {\n const store = this.props.apiManager.getStore(path);\n if (store) {\n this.isLoading = true;\n try {\n await store.loadFromPath(path);\n }\n catch (err) {\n this.loadingError = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Resource loading has failed:\",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"b\", null, String(err))));\n }\n finally {\n this.isLoading = false;\n }\n }\n }\n }),\n ]);\n }\n renderTitle(object) {\n if (!object) {\n return \"\";\n }\n return `${object.kind}: ${object.getName()}`;\n }\n renderContents(object) {\n const details = this.props.detailComponents.get();\n if (details.length === 0) {\n const crd = this.props.customResourceDefinitionStore.getByObject(object);\n /**\n * This is a fallback so that if a custom resource object doesn't have\n * any defined details we should try and display at least some details\n */\n if (crd) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_custom_resources__WEBPACK_IMPORTED_MODULE_5__.CustomResourceDetails, { key: object.getId(), object: object, crd: crd }));\n }\n else {\n // if we still don't have any details to show, just show the standard object metadata\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_meta__WEBPACK_IMPORTED_MODULE_6__.KubeObjectMeta, { key: object.getId(), object: object });\n }\n }\n return details.map((DetailComponent, index) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(DetailComponent, { key: index, object: object })));\n }\n render() {\n const { object, isLoading, loadingError } = this;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_drawer__WEBPACK_IMPORTED_MODULE_2__.Drawer, { className: \"KubeObjectDetails flex column\", open: !!(object || isLoading || loadingError), title: this.renderTitle(object), toolbar: object && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_4__.KubeObjectMenu, { object: object, toolbar: true }), onClose: this.props.hideDetails },\n isLoading && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_spinner__WEBPACK_IMPORTED_MODULE_3__.Spinner, { center: true }),\n loadingError && react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"box center\" }, loadingError),\n object && this.renderContents(object)));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.observable,\n __metadata(\"design:type\", Object)\n], NonInjectedKubeObjectDetails.prototype, \"isLoading\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_14__.observable.ref,\n __metadata(\"design:type\", Object)\n], NonInjectedKubeObjectDetails.prototype, \"loadingError\", void 0);\nNonInjectedKubeObjectDetails = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_15__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedKubeObjectDetails);\nconst KubeObjectDetails = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__.withInjectables)(NonInjectedKubeObjectDetails, {\n getProps: (di, props) => ({\n ...props,\n apiManager: di.inject(_common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n customResourceDefinitionStore: di.inject(_custom_resources_definition_store_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]),\n hideDetails: di.inject(_kube_detail_params_hide_details_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n kubeDetailsUrlParam: di.inject(_kube_detail_params_kube_details_url_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n detailComponents: di.inject(_kube_object_detail_items_kube_object_detail_items_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n kubeObject: di.inject(_current_kube_object_in_details_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]),\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-details/kube-object-details.tsx?");
34502
34502
 
34503
34503
  /***/ }),
34504
34504
 
@@ -35048,7 +35048,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35048
35048
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35049
35049
 
35050
35050
  "use strict";
35051
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Radio\": () => (/* binding */ Radio),\n/* harmony export */ \"RadioGroup\": () => (/* binding */ RadioGroup)\n/* harmony export */ });\n/* harmony import */ var _radio_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio.scss */ \"./src/renderer/components/radio/radio.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\nconst radioGroupContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext({\n disabled: false,\n value: undefined,\n onSelect: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n});\nfunction RadioGroup({ value, asButtons, disabled = false, onChange, className, children, }) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"RadioGroup\", { buttonsView: asButtons }, className) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(radioGroupContext.Provider, { value: { disabled, onSelect: onChange, value } }, children)));\n}\nfunction Radio({ className, label, value, disabled = false, }) {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(radioGroupContext);\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const checked = ctx.value === value;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"label\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Radio flex align-center\", className, {\n checked,\n disabled: disabled || ctx.disabled,\n }), tabIndex: checked ? undefined : 0, onKeyDown: event => {\n var _a;\n // Spacebar or Enter key\n if (event.key === \" \" || event.key === \"Enter\") {\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.click();\n event.preventDefault();\n }\n }, ref: ref },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"input\", { type: \"radio\", checked: checked, onChange: () => ctx.onSelect(value) }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"i\", { className: \"tick flex center\" }),\n label ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"label\" }, label) : null));\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/radio/radio.tsx?");
35051
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Radio\": () => (/* binding */ Radio),\n/* harmony export */ \"RadioGroup\": () => (/* binding */ RadioGroup)\n/* harmony export */ });\n/* harmony import */ var _radio_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio.scss */ \"./src/renderer/components/radio/radio.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\n\n\nconst radioGroupContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext({\n disabled: false,\n value: undefined,\n onSelect: _utils__WEBPACK_IMPORTED_MODULE_2__.noop,\n});\nfunction RadioGroup({ value, asButtons, disabled = false, onChange, className, children, }) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"RadioGroup\", { buttonsView: asButtons }, className) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(radioGroupContext.Provider, { value: { disabled, onSelect: onChange, value } }, children)));\n}\nfunction Radio({ className, label, value, disabled = false, }) {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(radioGroupContext);\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const checked = ctx.value === value;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"label\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Radio flex align-center\", className, {\n checked,\n disabled: disabled || ctx.disabled,\n }), tabIndex: checked ? undefined : 0, onKeyDown: event => {\n var _a;\n // Spacebar or Enter key\n if (event.key === \" \" || event.key === \"Enter\") {\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.click();\n event.preventDefault();\n }\n }, ref: ref },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"input\", { type: \"radio\", checked: checked, onChange: () => ctx.onSelect(value), disabled: disabled || ctx.disabled }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"i\", { className: \"tick flex center\" }),\n label ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"label\" }, label) : null));\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/radio/radio.tsx?");
35052
35052
 
35053
35053
  /***/ }),
35054
35054
 
@@ -35279,7 +35279,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35279
35279
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35280
35280
 
35281
35281
  "use strict";
35282
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getSorted\": () => (/* binding */ getSorted)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\nfunction getSorted(rawItems, sortingCallback, orderByRaw) {\n if (typeof sortingCallback !== \"function\") {\n return rawItems;\n }\n const orderBy = orderByRaw === \"asc\" || orderByRaw === \"desc\" ? orderByRaw : \"asc\";\n const sortData = rawItems.map((item, index) => ({\n index,\n sortBy: sortingCallback(item),\n }));\n sortData.sort((left, right) => {\n if (!Array.isArray(left.sortBy) && !Array.isArray(right.sortBy)) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering)((0,_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare)(left.sortBy, right.sortBy), orderBy);\n }\n const leftSortBy = [left.sortBy].flat();\n const rightSortBy = [right.sortBy].flat();\n const zipIter = _utils__WEBPACK_IMPORTED_MODULE_0__.tuple.zip(leftSortBy, rightSortBy);\n let r = zipIter.next();\n for (; !r.done; r = zipIter.next()) {\n const [nextL, nextR] = r.value;\n const sortOrder = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering)((0,_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare)(nextL, nextR), orderBy);\n if (sortOrder !== _utils__WEBPACK_IMPORTED_MODULE_0__.Ordering.EQUAL) {\n return sortOrder;\n }\n }\n const [leftRest, rightRest] = r.value;\n return leftRest.length - rightRest.length;\n });\n const res = [];\n for (const { index } of sortData) {\n res.push(rawItems[index]);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/table/sorting.ts?");
35282
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getSorted\": () => (/* binding */ getSorted)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.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\nfunction getSorted(rawItems, sortingCallback, orderBy = \"asc\") {\n if (typeof sortingCallback !== \"function\") {\n return rawItems;\n }\n const sortData = rawItems.map((item, index) => ({\n index,\n sortBy: sortingCallback(item),\n }));\n sortData.sort((left, right) => {\n if (!Array.isArray(left.sortBy) && !Array.isArray(right.sortBy)) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering)((0,_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare)(left.sortBy, right.sortBy), orderBy);\n }\n const leftSortBy = [left.sortBy].flat();\n const rightSortBy = [right.sortBy].flat();\n const zipIter = _utils__WEBPACK_IMPORTED_MODULE_0__.tuple.zip(leftSortBy, rightSortBy);\n let r = zipIter.next();\n for (; !r.done; r = zipIter.next()) {\n const [nextL, nextR] = r.value;\n const sortOrder = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.rectifyOrdering)((0,_utils__WEBPACK_IMPORTED_MODULE_0__.sortCompare)(nextL, nextR), orderBy);\n if (sortOrder !== _utils__WEBPACK_IMPORTED_MODULE_0__.Ordering.EQUAL) {\n return sortOrder;\n }\n }\n const [leftRest, rightRest] = r.value;\n return leftRest.length - rightRest.length;\n });\n const res = [];\n for (const { index } of sortData) {\n res.push(rawItems[index]);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/table/sorting.ts?");
35283
35283
 
35284
35284
  /***/ }),
35285
35285
 
@@ -35422,7 +35422,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35422
35422
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35423
35423
 
35424
35424
  "use strict";
35425
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"VirtualList\": () => (/* binding */ VirtualList)\n/* harmony export */ });\n/* harmony import */ var _virtual_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./virtual-list.scss */ \"./src/renderer/components/virtual-list/virtual-list.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_6__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-window */ \"./node_modules/react-window/dist/index.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_virtualized_auto_sizer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-virtualized-auto-sizer */ \"./node_modules/react-virtualized-auto-sizer/dist/index.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 */\n// Wrapper for \"react-window\" component\n// API docs: https://react-window.now.sh\n\n\n\n\n\n\n\nfunction VirtualListInner({ items, rowHeights, className, width = \"100%\", initialOffset = 1, readyOffset = 10, selectedItemId, getRow, onScroll = _utils__WEBPACK_IMPORTED_MODULE_2__.noop, outerRef, fixedHeight, forwardedRef, }) {\n const [overscanCount, setOverscanCount] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialOffset);\n const listRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.createRef)();\n const prevItems = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(items);\n const prevRowHeights = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(rowHeights);\n const scrollToSelectedItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {\n var _a;\n if (!selectedItemId) {\n return;\n }\n const index = items.findIndex(item => selectedItemId === (typeof item === \"string\"\n ? item\n : item.getId()));\n if (index >= 0) {\n (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, \"smart\");\n }\n }, [selectedItemId, [items]]);\n const getItemSize = (index) => rowHeights[index];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle)(forwardedRef, () => ({\n scrollToItem: (index, align) => { var _a; return (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, align); },\n }));\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n scrollToSelectedItem();\n setOverscanCount(readyOffset);\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n var _a;\n try {\n if (prevItems.current.length !== items.length || !lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default()(prevRowHeights.current, rowHeights)) {\n (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.resetAfterIndex(0, false);\n }\n }\n finally {\n prevItems.current = items;\n prevRowHeights.current = rowHeights;\n }\n }, [items, rowHeights]);\n const renderList = (height) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_window__WEBPACK_IMPORTED_MODULE_5__.VariableSizeList, { className: \"list\", width: width, height: height, itemSize: getItemSize, itemCount: items.length, itemData: {\n items,\n getRow: getRow,\n }, overscanCount: overscanCount, ref: listRef, outerRef: outerRef, onScroll: onScroll }, Row));\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"VirtualList\", className) }, typeof fixedHeight === \"number\"\n ? renderList(fixedHeight)\n : (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_virtualized_auto_sizer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { disableWidth: true }, ({ height }) => renderList(height)))));\n}\nconst VirtualList = (0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)((props, ref) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(VirtualListInner, { ...props, forwardedRef: ref })));\nconst Row = (0,mobx_react__WEBPACK_IMPORTED_MODULE_6__.observer)((props) => {\n const { index, style, data } = props;\n const { items, getRow } = data;\n const item = items[index];\n const row = getRow === null || getRow === void 0 ? void 0 : getRow((typeof item == \"string\"\n ? index\n : item.getId()));\n if (!row)\n return null;\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(row, {\n style: Object.assign({}, row.props.style, style),\n });\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/virtual-list/virtual-list.tsx?");
35425
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"VirtualList\": () => (/* binding */ VirtualList)\n/* harmony export */ });\n/* harmony import */ var _virtual_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./virtual-list.scss */ \"./src/renderer/components/virtual-list/virtual-list.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_6__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-window */ \"./node_modules/react-window/dist/index.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_virtualized_auto_sizer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-virtualized-auto-sizer */ \"./node_modules/react-virtualized-auto-sizer/dist/index.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 */\n// Wrapper for \"react-window\" component\n// API docs: https://react-window.now.sh\n\n\n\n\n\n\n\nfunction VirtualListInner({ items, rowHeights, className, width = \"100%\", initialOffset = 1, readyOffset = 10, selectedItemId, getRow, onScroll = _utils__WEBPACK_IMPORTED_MODULE_2__.noop, outerRef, fixedHeight, forwardedRef, }) {\n const [overscanCount, setOverscanCount] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialOffset);\n const listRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.createRef)();\n const prevItems = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(items);\n const prevRowHeights = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(rowHeights);\n const scrollToSelectedItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {\n var _a;\n if (!selectedItemId) {\n return;\n }\n const index = items.findIndex(item => selectedItemId === (typeof item === \"string\"\n ? item\n : item.getId()));\n if (index >= 0) {\n (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, \"smart\");\n }\n }, [selectedItemId, [items]]);\n const getItemSize = (index) => rowHeights[index];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle)(forwardedRef, () => ({\n scrollToItem: (index, align) => { var _a; return (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, align); },\n }));\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n scrollToSelectedItem();\n setOverscanCount(readyOffset);\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n var _a;\n try {\n if (prevItems.current.length !== items.length || !lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default()(prevRowHeights.current, rowHeights)) {\n (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.resetAfterIndex(0);\n }\n }\n finally {\n prevItems.current = items;\n prevRowHeights.current = rowHeights;\n }\n }, [items, rowHeights]);\n const renderList = (height) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_window__WEBPACK_IMPORTED_MODULE_5__.VariableSizeList, { className: \"list\", width: width, height: height, itemSize: getItemSize, itemCount: items.length, itemData: {\n items,\n getRow: getRow,\n }, overscanCount: overscanCount, ref: listRef, outerRef: outerRef, onScroll: onScroll }, Row));\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"VirtualList\", className) }, typeof fixedHeight === \"number\"\n ? renderList(fixedHeight)\n : (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_virtualized_auto_sizer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { disableWidth: true }, ({ height }) => renderList(height)))));\n}\nconst VirtualList = (0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)((props, ref) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(VirtualListInner, { ...props, forwardedRef: ref })));\nconst Row = (0,mobx_react__WEBPACK_IMPORTED_MODULE_6__.observer)((props) => {\n const { index, style, data } = props;\n const { items, getRow } = data;\n const item = items[index];\n const row = getRow === null || getRow === void 0 ? void 0 : getRow((typeof item == \"string\"\n ? index\n : item.getId()));\n if (!row)\n return null;\n return react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(row, {\n style: Object.assign({}, row.props.style, style),\n });\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/virtual-list/virtual-list.tsx?");
35426
35426
 
35427
35427
  /***/ }),
35428
35428
 
@@ -38513,7 +38513,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
38513
38513
  /***/ ((module) => {
38514
38514
 
38515
38515
  "use strict";
38516
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"6.0.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2022 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\":\"func() { jest ${1} --watch --testPathIgnorePatterns integration; }; func\",\"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\":\"\",\"contentSecurityPolicy\":\"script-src \\'unsafe-eval\\' \\'self\\'; frame-src http://*.localhost:*/; img-src * data:\"},\"engines\":{\"node\":\">=16 <17\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.(t|j)sx?$\":[\"@swc/jest\"]},\"testEnvironment\":\"jsdom\",\"resolver\":\"<rootDir>/src/jest-28-resolver.js\",\"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\"],\"globalSetup\":\"<rootDir>/src/jest.timezone.ts\",\"setupFilesAfterEnv\":[\"<rootDir>/src/jest-after-env.setup.ts\"],\"runtime\":\"@side/jest-runtime\"},\"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\":\"^9.0.0\",\"@hapi/subtext\":\"^7.0.4\",\"@kubernetes/client-node\":\"^0.17.0\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"9.0.1\",\"@ogre-tools/injectable\":\"9.0.1\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"9.0.1\",\"@ogre-tools/injectable-extension-for-mobx\":\"9.0.1\",\"@ogre-tools/injectable-react\":\"9.0.1\",\"@sentry/electron\":\"^3.0.7\",\"@sentry/integrations\":\"^6.19.3\",\"@side/jest-runtime\":\"^1.0.1\",\"@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.5\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"history\":\"^4.10.1\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.15\",\"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.18\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.6.1\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.5.2\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.4\",\"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\",\"typed-regex\":\"^0.0.8\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.8.1\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.8.0\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.4\",\"@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.7\",\"@sentry/types\":\"^6.19.7\",\"@swc/core\":\"^1.2.218\",\"@swc/jest\":\"^0.2.22\",\"@testing-library/dom\":\"^7.31.2\",\"@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/circular-dependency-plugin\":\"5.0.5\",\"@types/cli-progress\":\"^3.11.0\",\"@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/hapi__call\":\"^9.0.0\",\"@types/hapi__subtext\":\"^7.0.0\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^28.1.3\",\"@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\":\"^16.11.45\",\"@types/node-fetch\":\"^2.6.2\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.45\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.16\",\"@types/react-router\":\"^5.1.18\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.12\",\"@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.10\",\"@types/sharp\":\"^0.30.4\",\"@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.17.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.30.7\",\"@typescript-eslint/parser\":\"^5.30.5\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.2\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.3.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.10\",\"electron\":\"^15.5.7\",\"electron-builder\":\"^23.1.0\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.49\",\"esbuild-loader\":\"^2.19.0\",\"eslint\":\"^8.20.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"^7.30.1\",\"eslint-plugin-react-hooks\":\"^4.6.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.2\",\"gunzip-maybe\":\"^1.4.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"^28.1.2\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-environment-jsdom\":\"^28.1.3\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^2.0.7\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.1\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"^8.3.0\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.19\",\"playwright\":\"^1.23.4\",\"postcss\":\"^8.4.14\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.14.0\",\"react-refresh-typescript\":\"^2.0.7\",\"react-router-dom\":\"^5.3.3\",\"react-select\":\"^5.4.0\",\"react-select-event\":\"^5.5.0\",\"react-table\":\"^7.8.0\",\"react-window\":\"^1.8.7\",\"sass\":\"^1.53.0\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.7\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.1.6\",\"tar-stream\":\"^2.2.0\",\"ts-loader\":\"^9.3.1\",\"ts-node\":\"^10.8.1\",\"type-fest\":\"^2.14.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.23.8\",\"typedoc-plugin-markdown\":\"^3.13.1\",\"typescript\":\"^4.7.4\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.73.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.9.3\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.19.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
38516
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"6.0.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2022 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\":\"func() { jest ${1} --watch --testPathIgnorePatterns integration; }; func\",\"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\":\"\",\"contentSecurityPolicy\":\"script-src \\'unsafe-eval\\' \\'self\\'; frame-src http://*.localhost:*/; img-src * data:\"},\"engines\":{\"node\":\">=16 <17\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.(t|j)sx?$\":[\"@swc/jest\"]},\"testEnvironment\":\"jsdom\",\"resolver\":\"<rootDir>/src/jest-28-resolver.js\",\"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\"],\"globalSetup\":\"<rootDir>/src/jest.timezone.ts\",\"setupFilesAfterEnv\":[\"<rootDir>/src/jest-after-env.setup.ts\"],\"runtime\":\"@side/jest-runtime\"},\"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\":\"^9.0.0\",\"@hapi/subtext\":\"^7.0.4\",\"@kubernetes/client-node\":\"^0.17.0\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"9.0.1\",\"@ogre-tools/injectable\":\"9.0.1\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"9.0.1\",\"@ogre-tools/injectable-extension-for-mobx\":\"9.0.1\",\"@ogre-tools/injectable-react\":\"9.0.1\",\"@sentry/electron\":\"^3.0.7\",\"@sentry/integrations\":\"^6.19.3\",\"@side/jest-runtime\":\"^1.0.1\",\"@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.5\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"history\":\"^4.10.1\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.15\",\"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.18\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.6.1\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.5.2\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.4\",\"moment\":\"^2.29.4\",\"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\",\"typed-regex\":\"^0.0.8\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.8.1\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.8.1\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.4\",\"@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.7\",\"@sentry/types\":\"^6.19.7\",\"@swc/core\":\"^1.2.223\",\"@swc/jest\":\"^0.2.22\",\"@testing-library/dom\":\"^7.31.2\",\"@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/circular-dependency-plugin\":\"5.0.5\",\"@types/cli-progress\":\"^3.11.0\",\"@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/hapi__call\":\"^9.0.0\",\"@types/hapi__subtext\":\"^7.0.0\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^28.1.6\",\"@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\":\"^16.11.47\",\"@types/node-fetch\":\"^2.6.2\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.45\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.16\",\"@types/react-router\":\"^5.1.18\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.12\",\"@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.10\",\"@types/sharp\":\"^0.30.4\",\"@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.17.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.32.0\",\"@typescript-eslint/parser\":\"^5.31.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.2\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.3.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.10\",\"electron\":\"^15.5.7\",\"electron-builder\":\"^23.3.3\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.53\",\"esbuild-loader\":\"^2.19.0\",\"eslint\":\"^8.21.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"^7.30.1\",\"eslint-plugin-react-hooks\":\"^4.6.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.2\",\"gunzip-maybe\":\"^1.4.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"^28.1.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-environment-jsdom\":\"^28.1.3\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^2.0.7\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.1\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"^8.3.0\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.19\",\"playwright\":\"^1.24.2\",\"postcss\":\"^8.4.14\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.14.0\",\"react-refresh-typescript\":\"^2.0.7\",\"react-router-dom\":\"^5.3.3\",\"react-select\":\"^5.4.0\",\"react-select-event\":\"^5.5.0\",\"react-table\":\"^7.8.0\",\"react-window\":\"^1.8.7\",\"sass\":\"^1.54.2\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.7\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.1.6\",\"tar-stream\":\"^2.2.0\",\"ts-loader\":\"^9.3.1\",\"ts-node\":\"^10.9.1\",\"type-fest\":\"^2.14.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.23.8\",\"typedoc-plugin-markdown\":\"^3.13.1\",\"typescript\":\"^4.7.4\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.74.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.9.3\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.19.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
38517
38517
 
38518
38518
  /***/ }),
38519
38519
 
@@ -1,2 +1,4 @@
1
- declare const processCheckingForUpdatesInjectable: import("@ogre-tools/injectable").Injectable<(source: string) => Promise<void>, unknown, void>;
1
+ declare const processCheckingForUpdatesInjectable: import("@ogre-tools/injectable").Injectable<(source: string) => Promise<{
2
+ updateIsReadyToBeInstalled: boolean;
3
+ }>, unknown, void>;
2
4
  export default processCheckingForUpdatesInjectable;
@@ -2,6 +2,5 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import "./extensions.scss";
6
5
  import React from "react";
7
6
  export declare const Extensions: React.FunctionComponent<{}>;
@@ -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 {};
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import type { TableSortCallback } from "./table";
6
- export declare function getSorted<T>(rawItems: T[], sortingCallback: TableSortCallback<T> | undefined, orderByRaw: string): T[];
5
+ import type { TableOrderBy, TableSortCallback } from "./table";
6
+ export declare function getSorted<T>(rawItems: T[], sortingCallback: TableSortCallback<T> | undefined, orderBy?: TableOrderBy): T[];
@@ -0,0 +1 @@
1
+ export declare const withTooltip: (Target: any) => ({ tooltip, tooltipOverrideDisabled, ...props }: any) => JSX.Element;
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": "6.0.1-git.d78d009d41.0",
5
+ "version": "6.0.1-git.d9785ad4dc.0",
6
6
  "copyright": "© 2022 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",