@k8slens/extensions 5.6.0-git.5d76dd4fc2.0 → 5.6.0-git.5f57213179.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.
- package/dist/src/behaviours/status-bar/status-bar-items-originating-from-extensions.test.d.ts +1 -0
- package/dist/src/common/application-update/discovered-update-version/discovered-update-version.injectable.d.ts +4 -2
- package/dist/src/common/application-update/progress-of-update-download/progress-of-update-download.injectable.d.ts +4 -1
- package/dist/src/common/application-update/update-is-being-downloaded/update-is-being-downloaded.injectable.d.ts +3 -1
- package/dist/src/common/application-update/updates-are-being-discovered/updates-are-being-discovered.injectable.d.ts +3 -1
- package/dist/src/common/test-utils/use-fake-time.d.ts +2 -0
- package/dist/src/common/utils/reactive-now/reactive-now.d.ts +1 -0
- package/dist/src/common/utils/reactive-now/reactive-now.test.d.ts +1 -0
- package/dist/src/extensions/extension-api.js +16 -5
- package/dist/src/renderer/components/status-bar/auto-update-component.d.ts +14 -0
- package/dist/src/renderer/components/status-bar/auto-update-status-bar-item.injectable.d.ts +7 -0
- package/dist/src/renderer/components/status-bar/status-bar-item-injection-token.d.ts +8 -0
- package/dist/src/renderer/components/status-bar/status-bar-item-registrator.injectable.d.ts +8 -0
- package/dist/src/renderer/components/status-bar/status-bar-items.injectable.d.ts +8 -1
- package/dist/src/renderer/components/test-utils/get-renderer-extension-fake.d.ts +2 -1
- package/package.json +2 -1
- package/dist/src/common/application-update/application-update-status-channel.injectable.d.ts +0 -9
- package/dist/src/main/application-update/check-for-updates/broadcast-change-in-updating-status.injectable.d.ts +0 -3
- package/dist/src/renderer/application-update/application-update-status-listener.injectable.d.ts +0 -4
- package/dist/src/renderer/components/status-bar/registered-status-bar-items.injectable.d.ts +0 -13
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            export {};
         | 
| @@ -1,6 +1,8 @@ | |
| 1 1 | 
             
            import type { UpdateChannel } from "../update-channels";
         | 
| 2 | 
            -
             | 
| 2 | 
            +
            import type { SyncBox } from "../../utils/sync-box/sync-box-injection-token";
         | 
| 3 | 
            +
            export declare type DiscoveredUpdateVersion = SyncBox<{
         | 
| 3 4 | 
             
                version: string;
         | 
| 4 5 | 
             
                updateChannel: UpdateChannel;
         | 
| 5 | 
            -
            } | null | 
| 6 | 
            +
            } | null>;
         | 
| 7 | 
            +
            declare const discoveredUpdateVersionInjectable: import("@ogre-tools/injectable").Injectable<DiscoveredUpdateVersion, SyncBox<any>, void>;
         | 
| 6 8 | 
             
            export default discoveredUpdateVersionInjectable;
         | 
| @@ -1,5 +1,8 @@ | |
| 1 | 
            +
            import type { SyncBox } from "../../utils/sync-box/sync-box-injection-token";
         | 
| 1 2 | 
             
            export interface ProgressOfDownload {
         | 
| 2 3 | 
             
                percentage: number;
         | 
| 4 | 
            +
                failed?: string;
         | 
| 3 5 | 
             
            }
         | 
| 4 | 
            -
            declare  | 
| 6 | 
            +
            export declare type ProgressOfUpdateDownload = SyncBox<ProgressOfDownload>;
         | 
| 7 | 
            +
            declare const progressOfUpdateDownloadInjectable: import("@ogre-tools/injectable").Injectable<SyncBox<ProgressOfDownload>, SyncBox<any>, void>;
         | 
| 5 8 | 
             
            export default progressOfUpdateDownloadInjectable;
         | 
| @@ -1,2 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            import type { SyncBox } from "../../utils/sync-box/sync-box-injection-token";
         | 
| 2 | 
            +
            export declare type UpdateIsBeingDownloaded = SyncBox<boolean>;
         | 
| 3 | 
            +
            declare const updateIsBeingDownloadedInjectable: import("@ogre-tools/injectable").Injectable<SyncBox<boolean>, SyncBox<any>, void>;
         | 
| 2 4 | 
             
            export default updateIsBeingDownloadedInjectable;
         | 
| @@ -1,2 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            import type { SyncBox } from "../../utils/sync-box/sync-box-injection-token";
         | 
| 2 | 
            +
            export declare type UpdatesAreBeingDiscovered = SyncBox<boolean>;
         | 
| 3 | 
            +
            declare const updatesAreBeingDiscoveredInjectable: import("@ogre-tools/injectable").Injectable<SyncBox<boolean>, SyncBox<any>, void>;
         | 
| 2 4 | 
             
            export default updatesAreBeingDiscoveredInjectable;
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            export declare function reactiveNow(interval?: number | "frame"): number;
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            export {};
         | 
| @@ -18001,7 +18001,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac | |
| 18001 18001 | 
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         | 
| 18002 18002 |  | 
| 18003 18003 | 
             
            "use strict";
         | 
| 18004 | 
            -
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"MobXProviderContext\": () => (/* binding */ MobXProviderContext),\n/* harmony export */   \"Observer\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.Observer),\n/* harmony export */   \"PropTypes\": () => (/* binding */ PropTypes),\n/* harmony export */   \"Provider\": () => (/* binding */ Provider),\n/* harmony export */   \"disposeOnUnmount\": () => (/* binding */ disposeOnUnmount),\n/* harmony export */   \"enableStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.enableStaticRendering),\n/* harmony export */   \"inject\": () => (/* binding */ inject),\n/* harmony export */   \"isUsingStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering),\n/* harmony export */   \"observer\": () => (/* binding */ observer),\n/* harmony export */   \"observerBatching\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.observerBatching),\n/* harmony export */   \"useAsObservableSource\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useAsObservableSource),\n/* harmony export */   \"useLocalObservable\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useLocalObservable),\n/* harmony export */   \"useLocalStore\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useLocalStore),\n/* harmony export */   \"useObserver\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useObserver),\n/* harmony export */   \"useStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useStaticRendering)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx-react-lite */ \"./node_modules/mobx-react-lite/es/index.js\");\n\n\n\n\n\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n  if (typeof Symbol === \"function\") {\n    return Symbol(name);\n  }\n\n  var symbol = \"__$mobx-react \" + name + \" (\" + symbolId + \")\";\n  symbolId++;\n  return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n  if (!createdSymbols[name]) {\n    createdSymbols[name] = createSymbol(name);\n  }\n\n  return createdSymbols[name];\n}\nfunction shallowEqual(objA, objB) {\n  //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n  if (is(objA, objB)) {\n    return true;\n  }\n\n  if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  for (var i = 0; i < keysA.length; i++) {\n    if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction is(x, y) {\n  // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n} // based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\n\n\nvar hoistBlackList = {\n  $$typeof: 1,\n  render: 1,\n  compare: 1,\n  type: 1,\n  childContextTypes: 1,\n  contextType: 1,\n  contextTypes: 1,\n  defaultProps: 1,\n  getDefaultProps: 1,\n  getDerivedStateFromError: 1,\n  getDerivedStateFromProps: 1,\n  mixins: 1,\n  displayName: 1,\n  propTypes: 1\n};\nfunction copyStaticProperties(base, target) {\n  var protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));\n  Object.getOwnPropertyNames(base).forEach(function (key) {\n    if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key));\n    }\n  });\n}\n/**\r\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\r\n * @param target\r\n * @param prop\r\n * @param value\r\n */\n\nfunction setHiddenProp(target, prop, value) {\n  if (!Object.hasOwnProperty.call(target, prop)) {\n    Object.defineProperty(target, prop, {\n      enumerable: false,\n      configurable: true,\n      writable: true,\n      value: value\n    });\n  } else {\n    target[prop] = value;\n  }\n}\n/**\r\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\r\n * and the handler provided by mobx-react\r\n */\n\nvar mobxMixins = /*#__PURE__*/newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = /*#__PURE__*/newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n  var mixins = target[mobxMixins] = target[mobxMixins] || {};\n  var methodMixins = mixins[methodName] = mixins[methodName] || {};\n  methodMixins.locks = methodMixins.locks || 0;\n  methodMixins.methods = methodMixins.methods || [];\n  return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n  var _this = this;\n\n  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    args[_key - 2] = arguments[_key];\n  }\n\n  // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n  mixins.locks++;\n\n  try {\n    var retVal;\n\n    if (realMethod !== undefined && realMethod !== null) {\n      retVal = realMethod.apply(this, args);\n    }\n\n    return retVal;\n  } finally {\n    mixins.locks--;\n\n    if (mixins.locks === 0) {\n      mixins.methods.forEach(function (mx) {\n        mx.apply(_this, args);\n      });\n    }\n  }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n  var fn = function fn() {\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n  };\n\n  return fn;\n}\n\nfunction patch(target, methodName, mixinMethod) {\n  var mixins = getMixins(target, methodName);\n\n  if (mixins.methods.indexOf(mixinMethod) < 0) {\n    mixins.methods.push(mixinMethod);\n  }\n\n  var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n  if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n    // already patched definition, do not repatch\n    return;\n  }\n\n  var originalMethod = target[methodName];\n  var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n  Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n  var _ref;\n\n  var wrappedFunc = wrapFunction(originalMethod, mixins);\n  return _ref = {}, _ref[mobxPatchedDefinition] = true, _ref.get = function get() {\n    return wrappedFunc;\n  }, _ref.set = function set(value) {\n    if (this === target) {\n      wrappedFunc = wrapFunction(value, mixins);\n    } else {\n      // when it is an instance of the prototype/a child prototype patch that particular case again separately\n      // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n      // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n      // as the method for the instance\n      var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n      Object.defineProperty(this, methodName, newDefinition);\n    }\n  }, _ref.configurable = true, _ref.enumerable = enumerable, _ref;\n}\n\nvar mobxAdminProperty = mobx__WEBPACK_IMPORTED_MODULE_2__.$mobx || \"$mobx\";\nvar mobxObserverProperty = /*#__PURE__*/newSymbol(\"isMobXReactObserver\");\nvar mobxIsUnmounted = /*#__PURE__*/newSymbol(\"isUnmounted\");\nvar skipRenderKey = /*#__PURE__*/newSymbol(\"skipRender\");\nvar isForcingUpdateKey = /*#__PURE__*/newSymbol(\"isForcingUpdate\");\nfunction makeClassComponentObserver(componentClass) {\n  var target = componentClass.prototype;\n\n  if (componentClass[mobxObserverProperty]) {\n    var displayName = getDisplayName(target);\n    console.warn(\"The provided component class (\" + displayName + \")\\n                has already been declared as an observer component.\");\n  } else {\n    componentClass[mobxObserverProperty] = true;\n  }\n\n  if (target.componentWillReact) throw new Error(\"The componentWillReact life-cycle event is no longer supported\");\n\n  if (componentClass[\"__proto__\"] !== react__WEBPACK_IMPORTED_MODULE_0__.PureComponent) {\n    if (!target.shouldComponentUpdate) target.shouldComponentUpdate = observerSCU;else if (target.shouldComponentUpdate !== observerSCU) // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n      throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\");\n  } // this.props and this.state are made observable, just to make sure @computed fields that\n  // are defined inside the component, and which rely on state or props, re-compute if state or props change\n  // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n  // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n\n\n  makeObservableProp(target, \"props\");\n  makeObservableProp(target, \"state\");\n\n  if (componentClass.contextType) {\n    makeObservableProp(target, \"context\");\n  }\n\n  var baseRender = target.render;\n\n  if (typeof baseRender !== \"function\") {\n    var _displayName = getDisplayName(target);\n\n    throw new Error(\"[mobx-react] class component (\" + _displayName + \") is missing `render` method.\" + \"\\n`observer` requires `render` being a function defined on prototype.\" + \"\\n`render = () => {}` or `render = function() {}` is not supported.\");\n  }\n\n  target.render = function () {\n    return makeComponentReactive.call(this, baseRender);\n  };\n\n  patch(target, \"componentWillUnmount\", function () {\n    var _this$render$mobxAdmi;\n\n    if ((0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)() === true) return;\n    (_this$render$mobxAdmi = this.render[mobxAdminProperty]) == null ? void 0 : _this$render$mobxAdmi.dispose();\n    this[mobxIsUnmounted] = true;\n\n    if (!this.render[mobxAdminProperty]) {\n      // Render may have been hot-swapped and/or overriden by a subclass.\n      var _displayName2 = getDisplayName(this);\n\n      console.warn(\"The reactive render of an observer class component (\" + _displayName2 + \")\\n                was overriden after MobX attached. This may result in a memory leak if the\\n                overriden reactive render was not properly disposed.\");\n    }\n  });\n  return componentClass;\n} // Generates a friendly name for debugging\n\nfunction getDisplayName(comp) {\n  return comp.displayName || comp.name || comp.constructor && (comp.constructor.displayName || comp.constructor.name) || \"<component>\";\n}\n\nfunction makeComponentReactive(render) {\n  var _this = this;\n\n  if ((0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)() === true) return render.call(this);\n  /**\r\n   * If props are shallowly modified, react will render anyway,\r\n   * so atom.reportChanged() should not result in yet another re-render\r\n   */\n\n  setHiddenProp(this, skipRenderKey, false);\n  /**\r\n   * forceUpdate will re-assign this.props. We don't want that to cause a loop,\r\n   * so detect these changes\r\n   */\n\n  setHiddenProp(this, isForcingUpdateKey, false);\n  var initialName = getDisplayName(this);\n  var baseRender = render.bind(this);\n  var isRenderingPending = false;\n  var reaction = new mobx__WEBPACK_IMPORTED_MODULE_2__.Reaction(initialName + \".render()\", function () {\n    if (!isRenderingPending) {\n      // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n      // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n      // See #85 / Pull #44\n      isRenderingPending = true;\n\n      if (_this[mobxIsUnmounted] !== true) {\n        var hasError = true;\n\n        try {\n          setHiddenProp(_this, isForcingUpdateKey, true);\n          if (!_this[skipRenderKey]) react__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.forceUpdate.call(_this);\n          hasError = false;\n        } finally {\n          setHiddenProp(_this, isForcingUpdateKey, false);\n          if (hasError) reaction.dispose();\n        }\n      }\n    }\n  });\n  reaction[\"reactComponent\"] = this;\n  reactiveRender[mobxAdminProperty] = reaction;\n  this.render = reactiveRender;\n\n  function reactiveRender() {\n    isRenderingPending = false;\n    var exception = undefined;\n    var rendering = undefined;\n    reaction.track(function () {\n      try {\n        rendering = (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateChanges)(false, baseRender);\n      } catch (e) {\n        exception = e;\n      }\n    });\n\n    if (exception) {\n      throw exception;\n    }\n\n    return rendering;\n  }\n\n  return reactiveRender.call(this);\n}\n\nfunction observerSCU(nextProps, nextState) {\n  if ((0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)()) {\n    console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n  } // update on any state changes (as is the default)\n\n\n  if (this.state !== nextState) {\n    return true;\n  } // update if props are shallowly not equal, inspired by PureRenderMixin\n  // we could return just 'false' here, and avoid the `skipRender` checks etc\n  // however, it is nicer if lifecycle events are triggered like usually,\n  // so we return true here if props are shallowly modified.\n\n\n  return !shallowEqual(this.props, nextProps);\n}\n\nfunction makeObservableProp(target, propName) {\n  var valueHolderKey = newSymbol(\"reactProp_\" + propName + \"_valueHolder\");\n  var atomHolderKey = newSymbol(\"reactProp_\" + propName + \"_atomHolder\");\n\n  function getAtom() {\n    if (!this[atomHolderKey]) {\n      setHiddenProp(this, atomHolderKey, (0,mobx__WEBPACK_IMPORTED_MODULE_2__.createAtom)(\"reactive \" + propName));\n    }\n\n    return this[atomHolderKey];\n  }\n\n  Object.defineProperty(target, propName, {\n    configurable: true,\n    enumerable: true,\n    get: function get() {\n      var prevReadState = false; // Why this check? BC?\n      // @ts-expect-error\n\n      if (mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart && mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd) {\n        prevReadState = (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart)(true);\n      }\n\n      getAtom.call(this).reportObserved(); // Why this check? BC?\n      // @ts-expect-error\n\n      if (mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart && mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd) {\n        (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd)(prevReadState);\n      }\n\n      return this[valueHolderKey];\n    },\n    set: function set(v) {\n      if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n        setHiddenProp(this, valueHolderKey, v);\n        setHiddenProp(this, skipRenderKey, true);\n        getAtom.call(this).reportChanged();\n        setHiddenProp(this, skipRenderKey, false);\n      } else {\n        setHiddenProp(this, valueHolderKey, v);\n      }\n    }\n  });\n}\n\n/**\r\n * Observer function / decorator\r\n */\n\nfunction observer(component) {\n  if (component[\"isMobxInjector\"] === true) {\n    console.warn(\"Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`\");\n  }\n\n  if (Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_0__.Component, component) || Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_0__.PureComponent, component)) {\n    // Class component\n    return makeClassComponentObserver(component);\n  } else {\n    // Function component\n    return (0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.observer)(component);\n  }\n}\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nvar _excluded = [\"children\"];\nvar MobXProviderContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({});\nfunction Provider(props) {\n  var children = props.children,\n      stores = _objectWithoutPropertiesLoose(props, _excluded);\n\n  var parentValue = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MobXProviderContext);\n  var mutableProviderRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(_extends({}, parentValue, stores));\n  var value = mutableProviderRef.current;\n\n  if (true) {\n    var newValue = _extends({}, value, stores); // spread in previous state for the context based stores\n\n\n    if (!shallowEqual(value, newValue)) {\n      throw new Error(\"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\");\n    }\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_0__.createElement(MobXProviderContext.Provider, {\n    value: value\n  }, children);\n}\nProvider.displayName = \"MobXProvider\";\n\n/**\r\n * Store Injection\r\n */\n\nfunction createStoreInjector(grabStoresFn, component, injectNames, makeReactive) {\n  // Support forward refs\n  var Injector = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {\n    var newProps = _extends({}, props);\n\n    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MobXProviderContext);\n    Object.assign(newProps, grabStoresFn(context || {}, newProps) || {});\n\n    if (ref) {\n      newProps.ref = ref;\n    }\n\n    return react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, newProps);\n  });\n  if (makeReactive) Injector = observer(Injector);\n  Injector[\"isMobxInjector\"] = true; // assigned late to suppress observer warning\n  // Static fields from component should be visible on the generated Injector\n\n  copyStaticProperties(component, Injector);\n  Injector[\"wrappedComponent\"] = component;\n  Injector.displayName = getInjectName(component, injectNames);\n  return Injector;\n}\n\nfunction getInjectName(component, injectNames) {\n  var displayName;\n  var componentName = component.displayName || component.name || component.constructor && component.constructor.name || \"Component\";\n  if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\";else displayName = \"inject(\" + componentName + \")\";\n  return displayName;\n}\n\nfunction grabStoresByName(storeNames) {\n  return function (baseStores, nextProps) {\n    storeNames.forEach(function (storeName) {\n      if (storeName in nextProps // prefer props over stores\n      ) return;\n      if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n      nextProps[storeName] = baseStores[storeName];\n    });\n    return nextProps;\n  };\n}\n/**\r\n * higher order component that injects stores to a child.\r\n * takes either a varargs list of strings, which are stores read from the context,\r\n * or a function that manually maps the available stores from the context to props:\r\n * storesToProps(mobxStores, props, context) => newProps\r\n */\n\n\nfunction inject() {\n  for (var _len = arguments.length, storeNames = new Array(_len), _key = 0; _key < _len; _key++) {\n    storeNames[_key] = arguments[_key];\n  }\n\n  if (typeof arguments[0] === \"function\") {\n    var grabStoresFn = arguments[0];\n    return function (componentClass) {\n      return createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);\n    };\n  } else {\n    return function (componentClass) {\n      return createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join(\"-\"), false);\n    };\n  }\n}\n\nvar protoStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountProto\");\nvar instStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountInst\");\n\nfunction runDisposersOnWillUnmount() {\n  var _this = this;\n  [].concat(this[protoStoreKey] || [], this[instStoreKey] || []).forEach(function (propKeyOrFunction) {\n    var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n    if (prop !== undefined && prop !== null) {\n      if (Array.isArray(prop)) prop.map(function (f) {\n        return f();\n      });else prop();\n    }\n  });\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n  if (Array.isArray(propertyKeyOrFunction)) {\n    return propertyKeyOrFunction.map(function (fn) {\n      return disposeOnUnmount(target, fn);\n    });\n  }\n\n  var c = Object.getPrototypeOf(target).constructor;\n  var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader\n\n  var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));\n\n  if (!(c === react__WEBPACK_IMPORTED_MODULE_0__.Component || c === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent || c2 === react__WEBPACK_IMPORTED_MODULE_0__.Component || c2 === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent || c3 === react__WEBPACK_IMPORTED_MODULE_0__.Component || c3 === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent)) {\n    throw new Error(\"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\");\n  }\n\n  if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\" && !Array.isArray(propertyKeyOrFunction)) {\n    throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n  } // decorator's target is the prototype, so it doesn't have any instance properties like props\n\n\n  var isDecorator = typeof propertyKeyOrFunction === \"string\"; // add property key / function we want run (disposed) to the store\n\n  var componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];\n  var store = isDecorator ? // decorators are added to the prototype store\n  target[protoStoreKey] || (target[protoStoreKey] = []) : // functions are added to the instance store\n  target[instStoreKey] || (target[instStoreKey] = []);\n  store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n  if (!componentWasAlreadyModified) {\n    patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n  } // return the disposer as is if invoked as a non decorator\n\n\n  if (typeof propertyKeyOrFunction !== \"string\") {\n    return propertyKeyOrFunction;\n  }\n}\n\nfunction createChainableTypeChecker(validator) {\n  function checkType(isRequired, props, propName, componentName, location, propFullName) {\n    for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n      rest[_key - 6] = arguments[_key];\n    }\n\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      componentName = componentName || \"<<anonymous>>\";\n      propFullName = propFullName || propName;\n\n      if (props[propName] == null) {\n        if (isRequired) {\n          var actual = props[propName] === null ? \"null\" : \"undefined\";\n          return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n        }\n\n        return null;\n      } else {\n        // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n        return validator.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n      }\n    });\n  }\n\n  var chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable\n\n  chainedCheckType.isRequired = checkType.bind(null, true);\n  return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n  // Native Symbol.\n  if (propType === \"symbol\") {\n    return true;\n  } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n  if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n    return true;\n  } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n  if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n    return true;\n  }\n\n  return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n  var propType = typeof propValue;\n\n  if (Array.isArray(propValue)) {\n    return \"array\";\n  }\n\n  if (propValue instanceof RegExp) {\n    // Old webkits (at least until Android 4.0) return 'function' rather than\n    // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n    // passes PropTypes.object.\n    return \"object\";\n  }\n\n  if (isSymbol(propType, propValue)) {\n    return \"symbol\";\n  }\n\n  return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n  var propType = getPropType(propValue);\n\n  if (propType === \"object\") {\n    if (propValue instanceof Date) {\n      return \"date\";\n    } else if (propValue instanceof RegExp) {\n      return \"regexp\";\n    }\n  }\n\n  return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n  return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      if (allowNativeType) {\n        if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n      }\n\n      var mobxChecker;\n\n      switch (mobxType) {\n        case \"Array\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableArray;\n          break;\n\n        case \"Object\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableObject;\n          break;\n\n        case \"Map\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableMap;\n          break;\n\n        default:\n          throw new Error(\"Unexpected mobxType: \" + mobxType);\n      }\n\n      var propValue = props[propName];\n\n      if (!mobxChecker(propValue)) {\n        var preciseType = getPreciseType(propValue);\n        var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n        return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n      }\n\n      return null;\n    });\n  });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n  return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n    for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n      rest[_key2 - 5] = arguments[_key2];\n    }\n\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      if (typeof typeChecker !== \"function\") {\n        return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n      } else {\n        var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName, location, propFullName);\n        if (error instanceof Error) return error;\n        var propValue = props[propName];\n\n        for (var i = 0; i < propValue.length; i++) {\n          error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n          if (error instanceof Error) return error;\n        }\n\n        return null;\n      }\n    });\n  });\n}\n\nvar observableArray = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Object\");\nvar PropTypes = {\n  observableArray: observableArray,\n  observableArrayOf: observableArrayOf,\n  observableMap: observableMap,\n  observableObject: observableObject,\n  arrayOrObservableArray: arrayOrObservableArray,\n  arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n  objectOrObservableObject: objectOrObservableObject\n};\n\nif (!react__WEBPACK_IMPORTED_MODULE_0__.Component) throw new Error(\"mobx-react requires React to be available\");\nif (!mobx__WEBPACK_IMPORTED_MODULE_2__.observable) throw new Error(\"mobx-react requires mobx to be available\");\n\n\n//# sourceMappingURL=mobxreact.esm.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mobx-react/dist/mobxreact.esm.js?");
         | 
| 18004 | 
            +
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"MobXProviderContext\": () => (/* binding */ MobXProviderContext),\n/* harmony export */   \"Observer\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.Observer),\n/* harmony export */   \"PropTypes\": () => (/* binding */ PropTypes),\n/* harmony export */   \"Provider\": () => (/* binding */ Provider),\n/* harmony export */   \"disposeOnUnmount\": () => (/* binding */ disposeOnUnmount),\n/* harmony export */   \"enableStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.enableStaticRendering),\n/* harmony export */   \"inject\": () => (/* binding */ inject),\n/* harmony export */   \"isUsingStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering),\n/* harmony export */   \"observer\": () => (/* binding */ observer),\n/* harmony export */   \"observerBatching\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.observerBatching),\n/* harmony export */   \"useAsObservableSource\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useAsObservableSource),\n/* harmony export */   \"useLocalObservable\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useLocalObservable),\n/* harmony export */   \"useLocalStore\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useLocalStore),\n/* harmony export */   \"useObserver\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useObserver),\n/* harmony export */   \"useStaticRendering\": () => (/* reexport safe */ mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.useStaticRendering)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx-react-lite */ \"./node_modules/mobx-react-lite/es/index.js\");\n\n\n\n\n\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n  if (typeof Symbol === \"function\") {\n    return Symbol(name);\n  }\n\n  var symbol = \"__$mobx-react \" + name + \" (\" + symbolId + \")\";\n  symbolId++;\n  return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n  if (!createdSymbols[name]) {\n    createdSymbols[name] = createSymbol(name);\n  }\n\n  return createdSymbols[name];\n}\nfunction shallowEqual(objA, objB) {\n  //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n  if (is(objA, objB)) {\n    return true;\n  }\n\n  if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  for (var i = 0; i < keysA.length; i++) {\n    if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction is(x, y) {\n  // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n} // based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\n\n\nvar hoistBlackList = {\n  $$typeof: 1,\n  render: 1,\n  compare: 1,\n  type: 1,\n  childContextTypes: 1,\n  contextType: 1,\n  contextTypes: 1,\n  defaultProps: 1,\n  getDefaultProps: 1,\n  getDerivedStateFromError: 1,\n  getDerivedStateFromProps: 1,\n  mixins: 1,\n  displayName: 1,\n  propTypes: 1\n};\nfunction copyStaticProperties(base, target) {\n  var protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));\n  Object.getOwnPropertyNames(base).forEach(function (key) {\n    if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key));\n    }\n  });\n}\n/**\r\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\r\n * @param target\r\n * @param prop\r\n * @param value\r\n */\n\nfunction setHiddenProp(target, prop, value) {\n  if (!Object.hasOwnProperty.call(target, prop)) {\n    Object.defineProperty(target, prop, {\n      enumerable: false,\n      configurable: true,\n      writable: true,\n      value: value\n    });\n  } else {\n    target[prop] = value;\n  }\n}\n/**\r\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\r\n * and the handler provided by mobx-react\r\n */\n\nvar mobxMixins = /*#__PURE__*/newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = /*#__PURE__*/newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n  var mixins = target[mobxMixins] = target[mobxMixins] || {};\n  var methodMixins = mixins[methodName] = mixins[methodName] || {};\n  methodMixins.locks = methodMixins.locks || 0;\n  methodMixins.methods = methodMixins.methods || [];\n  return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n  var _this = this;\n\n  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    args[_key - 2] = arguments[_key];\n  }\n\n  // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n  mixins.locks++;\n\n  try {\n    var retVal;\n\n    if (realMethod !== undefined && realMethod !== null) {\n      retVal = realMethod.apply(this, args);\n    }\n\n    return retVal;\n  } finally {\n    mixins.locks--;\n\n    if (mixins.locks === 0) {\n      mixins.methods.forEach(function (mx) {\n        mx.apply(_this, args);\n      });\n    }\n  }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n  var fn = function fn() {\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n  };\n\n  return fn;\n}\n\nfunction patch(target, methodName, mixinMethod) {\n  var mixins = getMixins(target, methodName);\n\n  if (mixins.methods.indexOf(mixinMethod) < 0) {\n    mixins.methods.push(mixinMethod);\n  }\n\n  var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n  if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n    // already patched definition, do not repatch\n    return;\n  }\n\n  var originalMethod = target[methodName];\n  var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n  Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n  var _ref;\n\n  var wrappedFunc = wrapFunction(originalMethod, mixins);\n  return _ref = {}, _ref[mobxPatchedDefinition] = true, _ref.get = function get() {\n    return wrappedFunc;\n  }, _ref.set = function set(value) {\n    if (this === target) {\n      wrappedFunc = wrapFunction(value, mixins);\n    } else {\n      // when it is an instance of the prototype/a child prototype patch that particular case again separately\n      // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n      // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n      // as the method for the instance\n      var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n      Object.defineProperty(this, methodName, newDefinition);\n    }\n  }, _ref.configurable = true, _ref.enumerable = enumerable, _ref;\n}\n\nvar mobxAdminProperty = mobx__WEBPACK_IMPORTED_MODULE_2__.$mobx || \"$mobx\"; // BC\n\nvar mobxObserverProperty = /*#__PURE__*/newSymbol(\"isMobXReactObserver\");\nvar mobxIsUnmounted = /*#__PURE__*/newSymbol(\"isUnmounted\");\nvar skipRenderKey = /*#__PURE__*/newSymbol(\"skipRender\");\nvar isForcingUpdateKey = /*#__PURE__*/newSymbol(\"isForcingUpdate\");\nfunction makeClassComponentObserver(componentClass) {\n  var target = componentClass.prototype;\n\n  if (componentClass[mobxObserverProperty]) {\n    var displayName = getDisplayName(target);\n    console.warn(\"The provided component class (\" + displayName + \")\\n                has already been declared as an observer component.\");\n  } else {\n    componentClass[mobxObserverProperty] = true;\n  }\n\n  if (target.componentWillReact) {\n    throw new Error(\"The componentWillReact life-cycle event is no longer supported\");\n  }\n\n  if (componentClass[\"__proto__\"] !== react__WEBPACK_IMPORTED_MODULE_0__.PureComponent) {\n    if (!target.shouldComponentUpdate) {\n      target.shouldComponentUpdate = observerSCU;\n    } else if (target.shouldComponentUpdate !== observerSCU) {\n      // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n      throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\");\n    }\n  } // this.props and this.state are made observable, just to make sure @computed fields that\n  // are defined inside the component, and which rely on state or props, re-compute if state or props change\n  // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n  // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n\n\n  makeObservableProp(target, \"props\");\n  makeObservableProp(target, \"state\");\n\n  if (componentClass.contextType) {\n    makeObservableProp(target, \"context\");\n  }\n\n  var originalRender = target.render;\n\n  if (typeof originalRender !== \"function\") {\n    var _displayName = getDisplayName(target);\n\n    throw new Error(\"[mobx-react] class component (\" + _displayName + \") is missing `render` method.\" + \"\\n`observer` requires `render` being a function defined on prototype.\" + \"\\n`render = () => {}` or `render = function() {}` is not supported.\");\n  }\n\n  target.render = function () {\n    if (!(0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)()) {\n      this.render = createReactiveRender.call(this, originalRender);\n    }\n\n    return this.render();\n  };\n\n  patch(target, \"componentDidMount\", function () {\n    this[mobxIsUnmounted] = false;\n\n    if (!this.render[mobxAdminProperty]) {\n      // Reaction is re-created automatically during render, but a component can re-mount and skip render #3395.\n      // To re-create the reaction and re-subscribe to relevant observables we have to force an update.\n      react__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.forceUpdate.call(this);\n    }\n  });\n  patch(target, \"componentWillUnmount\", function () {\n    if ((0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)()) {\n      return;\n    }\n\n    var reaction = this.render[mobxAdminProperty];\n\n    if (reaction) {\n      reaction.dispose(); // Forces reaction to be re-created on next render\n\n      this.render[mobxAdminProperty] = null;\n    } else {\n      // Render may have been hot-swapped and/or overriden by a subclass.\n      var _displayName2 = getDisplayName(this);\n\n      console.warn(\"The reactive render of an observer class component (\" + _displayName2 + \")\\n                was overriden after MobX attached. This may result in a memory leak if the\\n                overriden reactive render was not properly disposed.\");\n    }\n\n    this[mobxIsUnmounted] = true;\n  });\n  return componentClass;\n} // Generates a friendly name for debugging\n\nfunction getDisplayName(comp) {\n  return comp.displayName || comp.name || comp.constructor && (comp.constructor.displayName || comp.constructor.name) || \"<component>\";\n}\n\nfunction createReactiveRender(originalRender) {\n  var _this = this;\n\n  /**\r\n   * If props are shallowly modified, react will render anyway,\r\n   * so atom.reportChanged() should not result in yet another re-render\r\n   */\n  setHiddenProp(this, skipRenderKey, false);\n  /**\r\n   * forceUpdate will re-assign this.props. We don't want that to cause a loop,\r\n   * so detect these changes\r\n   */\n\n  setHiddenProp(this, isForcingUpdateKey, false);\n  var initialName = getDisplayName(this);\n  var boundOriginalRender = originalRender.bind(this);\n  var isRenderingPending = false;\n\n  var createReaction = function createReaction() {\n    var reaction = new mobx__WEBPACK_IMPORTED_MODULE_2__.Reaction(initialName + \".render()\", function () {\n      if (!isRenderingPending) {\n        // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.test.tsx)\n        // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n        // See #85 / Pull #44\n        isRenderingPending = true;\n\n        if (_this[mobxIsUnmounted] !== true) {\n          var hasError = true;\n\n          try {\n            setHiddenProp(_this, isForcingUpdateKey, true);\n\n            if (!_this[skipRenderKey]) {\n              react__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.forceUpdate.call(_this);\n            }\n\n            hasError = false;\n          } finally {\n            setHiddenProp(_this, isForcingUpdateKey, false);\n\n            if (hasError) {\n              reaction.dispose(); // Forces reaction to be re-created on next render\n\n              _this.render[mobxAdminProperty] = null;\n            }\n          }\n        }\n      }\n    });\n    reaction[\"reactComponent\"] = _this;\n    return reaction;\n  };\n\n  function reactiveRender() {\n    var _reactiveRender$mobxA;\n\n    isRenderingPending = false; // Create reaction lazily to support re-mounting #3395\n\n    var reaction = (_reactiveRender$mobxA = reactiveRender[mobxAdminProperty]) != null ? _reactiveRender$mobxA : reactiveRender[mobxAdminProperty] = createReaction();\n    var exception = undefined;\n    var rendering = undefined;\n    reaction.track(function () {\n      try {\n        // TODO@major\n        // Optimization: replace with _allowStateChangesStart/End (not available in mobx@6.0.0)\n        rendering = (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateChanges)(false, boundOriginalRender);\n      } catch (e) {\n        exception = e;\n      }\n    });\n\n    if (exception) {\n      throw exception;\n    }\n\n    return rendering;\n  }\n\n  return reactiveRender;\n}\n\nfunction observerSCU(nextProps, nextState) {\n  if ((0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.isUsingStaticRendering)()) {\n    console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n  } // update on any state changes (as is the default)\n\n\n  if (this.state !== nextState) {\n    return true;\n  } // update if props are shallowly not equal, inspired by PureRenderMixin\n  // we could return just 'false' here, and avoid the `skipRender` checks etc\n  // however, it is nicer if lifecycle events are triggered like usually,\n  // so we return true here if props are shallowly modified.\n\n\n  return !shallowEqual(this.props, nextProps);\n}\n\nfunction makeObservableProp(target, propName) {\n  var valueHolderKey = newSymbol(\"reactProp_\" + propName + \"_valueHolder\");\n  var atomHolderKey = newSymbol(\"reactProp_\" + propName + \"_atomHolder\");\n\n  function getAtom() {\n    if (!this[atomHolderKey]) {\n      setHiddenProp(this, atomHolderKey, (0,mobx__WEBPACK_IMPORTED_MODULE_2__.createAtom)(\"reactive \" + propName));\n    }\n\n    return this[atomHolderKey];\n  }\n\n  Object.defineProperty(target, propName, {\n    configurable: true,\n    enumerable: true,\n    get: function get() {\n      var prevReadState = false; // Why this check? BC?\n      // @ts-expect-error\n\n      if (mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart && mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd) {\n        prevReadState = (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart)(true);\n      }\n\n      getAtom.call(this).reportObserved(); // Why this check? BC?\n      // @ts-expect-error\n\n      if (mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsStart && mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd) {\n        (0,mobx__WEBPACK_IMPORTED_MODULE_2__._allowStateReadsEnd)(prevReadState);\n      }\n\n      return this[valueHolderKey];\n    },\n    set: function set(v) {\n      if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n        setHiddenProp(this, valueHolderKey, v);\n        setHiddenProp(this, skipRenderKey, true);\n        getAtom.call(this).reportChanged();\n        setHiddenProp(this, skipRenderKey, false);\n      } else {\n        setHiddenProp(this, valueHolderKey, v);\n      }\n    }\n  });\n}\n\n/**\r\n * Observer function / decorator\r\n */\n\nfunction observer(component) {\n  if (component[\"isMobxInjector\"] === true) {\n    console.warn(\"Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`\");\n  }\n\n  if (Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_0__.Component, component) || Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_0__.PureComponent, component)) {\n    // Class component\n    return makeClassComponentObserver(component);\n  } else {\n    // Function component\n    return (0,mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__.observer)(component);\n  }\n}\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nvar _excluded = [\"children\"];\nvar MobXProviderContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({});\nfunction Provider(props) {\n  var children = props.children,\n      stores = _objectWithoutPropertiesLoose(props, _excluded);\n\n  var parentValue = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MobXProviderContext);\n  var mutableProviderRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(_extends({}, parentValue, stores));\n  var value = mutableProviderRef.current;\n\n  if (true) {\n    var newValue = _extends({}, value, stores); // spread in previous state for the context based stores\n\n\n    if (!shallowEqual(value, newValue)) {\n      throw new Error(\"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\");\n    }\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_0__.createElement(MobXProviderContext.Provider, {\n    value: value\n  }, children);\n}\nProvider.displayName = \"MobXProvider\";\n\n/**\r\n * Store Injection\r\n */\n\nfunction createStoreInjector(grabStoresFn, component, injectNames, makeReactive) {\n  // Support forward refs\n  var Injector = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {\n    var newProps = _extends({}, props);\n\n    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MobXProviderContext);\n    Object.assign(newProps, grabStoresFn(context || {}, newProps) || {});\n\n    if (ref) {\n      newProps.ref = ref;\n    }\n\n    return react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, newProps);\n  });\n  if (makeReactive) Injector = observer(Injector);\n  Injector[\"isMobxInjector\"] = true; // assigned late to suppress observer warning\n  // Static fields from component should be visible on the generated Injector\n\n  copyStaticProperties(component, Injector);\n  Injector[\"wrappedComponent\"] = component;\n  Injector.displayName = getInjectName(component, injectNames);\n  return Injector;\n}\n\nfunction getInjectName(component, injectNames) {\n  var displayName;\n  var componentName = component.displayName || component.name || component.constructor && component.constructor.name || \"Component\";\n  if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\";else displayName = \"inject(\" + componentName + \")\";\n  return displayName;\n}\n\nfunction grabStoresByName(storeNames) {\n  return function (baseStores, nextProps) {\n    storeNames.forEach(function (storeName) {\n      if (storeName in nextProps // prefer props over stores\n      ) return;\n      if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n      nextProps[storeName] = baseStores[storeName];\n    });\n    return nextProps;\n  };\n}\n/**\r\n * higher order component that injects stores to a child.\r\n * takes either a varargs list of strings, which are stores read from the context,\r\n * or a function that manually maps the available stores from the context to props:\r\n * storesToProps(mobxStores, props, context) => newProps\r\n */\n\n\nfunction inject() {\n  for (var _len = arguments.length, storeNames = new Array(_len), _key = 0; _key < _len; _key++) {\n    storeNames[_key] = arguments[_key];\n  }\n\n  if (typeof arguments[0] === \"function\") {\n    var grabStoresFn = arguments[0];\n    return function (componentClass) {\n      return createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);\n    };\n  } else {\n    return function (componentClass) {\n      return createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join(\"-\"), false);\n    };\n  }\n}\n\nvar protoStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountProto\");\nvar instStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountInst\");\n\nfunction runDisposersOnWillUnmount() {\n  var _this = this;\n  [].concat(this[protoStoreKey] || [], this[instStoreKey] || []).forEach(function (propKeyOrFunction) {\n    var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n    if (prop !== undefined && prop !== null) {\n      if (Array.isArray(prop)) prop.map(function (f) {\n        return f();\n      });else prop();\n    }\n  });\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n  if (Array.isArray(propertyKeyOrFunction)) {\n    return propertyKeyOrFunction.map(function (fn) {\n      return disposeOnUnmount(target, fn);\n    });\n  }\n\n  var c = Object.getPrototypeOf(target).constructor;\n  var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader\n\n  var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));\n\n  if (!(c === react__WEBPACK_IMPORTED_MODULE_0__.Component || c === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent || c2 === react__WEBPACK_IMPORTED_MODULE_0__.Component || c2 === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent || c3 === react__WEBPACK_IMPORTED_MODULE_0__.Component || c3 === react__WEBPACK_IMPORTED_MODULE_0__.PureComponent)) {\n    throw new Error(\"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\");\n  }\n\n  if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\" && !Array.isArray(propertyKeyOrFunction)) {\n    throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n  } // decorator's target is the prototype, so it doesn't have any instance properties like props\n\n\n  var isDecorator = typeof propertyKeyOrFunction === \"string\"; // add property key / function we want run (disposed) to the store\n\n  var componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];\n  var store = isDecorator ? // decorators are added to the prototype store\n  target[protoStoreKey] || (target[protoStoreKey] = []) : // functions are added to the instance store\n  target[instStoreKey] || (target[instStoreKey] = []);\n  store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n  if (!componentWasAlreadyModified) {\n    patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n  } // return the disposer as is if invoked as a non decorator\n\n\n  if (typeof propertyKeyOrFunction !== \"string\") {\n    return propertyKeyOrFunction;\n  }\n}\n\nfunction createChainableTypeChecker(validator) {\n  function checkType(isRequired, props, propName, componentName, location, propFullName) {\n    for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n      rest[_key - 6] = arguments[_key];\n    }\n\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      componentName = componentName || \"<<anonymous>>\";\n      propFullName = propFullName || propName;\n\n      if (props[propName] == null) {\n        if (isRequired) {\n          var actual = props[propName] === null ? \"null\" : \"undefined\";\n          return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n        }\n\n        return null;\n      } else {\n        // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n        return validator.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n      }\n    });\n  }\n\n  var chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable\n\n  chainedCheckType.isRequired = checkType.bind(null, true);\n  return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n  // Native Symbol.\n  if (propType === \"symbol\") {\n    return true;\n  } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n  if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n    return true;\n  } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n  if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n    return true;\n  }\n\n  return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n  var propType = typeof propValue;\n\n  if (Array.isArray(propValue)) {\n    return \"array\";\n  }\n\n  if (propValue instanceof RegExp) {\n    // Old webkits (at least until Android 4.0) return 'function' rather than\n    // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n    // passes PropTypes.object.\n    return \"object\";\n  }\n\n  if (isSymbol(propType, propValue)) {\n    return \"symbol\";\n  }\n\n  return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n  var propType = getPropType(propValue);\n\n  if (propType === \"object\") {\n    if (propValue instanceof Date) {\n      return \"date\";\n    } else if (propValue instanceof RegExp) {\n      return \"regexp\";\n    }\n  }\n\n  return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n  return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      if (allowNativeType) {\n        if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n      }\n\n      var mobxChecker;\n\n      switch (mobxType) {\n        case \"Array\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableArray;\n          break;\n\n        case \"Object\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableObject;\n          break;\n\n        case \"Map\":\n          mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_2__.isObservableMap;\n          break;\n\n        default:\n          throw new Error(\"Unexpected mobxType: \" + mobxType);\n      }\n\n      var propValue = props[propName];\n\n      if (!mobxChecker(propValue)) {\n        var preciseType = getPreciseType(propValue);\n        var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n        return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n      }\n\n      return null;\n    });\n  });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n  return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n    for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n      rest[_key2 - 5] = arguments[_key2];\n    }\n\n    return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.untracked)(function () {\n      if (typeof typeChecker !== \"function\") {\n        return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n      } else {\n        var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName, location, propFullName);\n        if (error instanceof Error) return error;\n        var propValue = props[propName];\n\n        for (var i = 0; i < propValue.length; i++) {\n          error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n          if (error instanceof Error) return error;\n        }\n\n        return null;\n      }\n    });\n  });\n}\n\nvar observableArray = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Object\");\nvar PropTypes = {\n  observableArray: observableArray,\n  observableArrayOf: observableArrayOf,\n  observableMap: observableMap,\n  observableObject: observableObject,\n  arrayOrObservableArray: arrayOrObservableArray,\n  arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n  objectOrObservableObject: objectOrObservableObject\n};\n\nif (!react__WEBPACK_IMPORTED_MODULE_0__.Component) throw new Error(\"mobx-react requires React to be available\");\nif (!mobx__WEBPACK_IMPORTED_MODULE_2__.observable) throw new Error(\"mobx-react requires mobx to be available\");\n\n\n//# sourceMappingURL=mobxreact.esm.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mobx-react/dist/mobxreact.esm.js?");
         | 
| 18005 18005 |  | 
| 18006 18006 | 
             
            /***/ }),
         | 
| 18007 18007 |  | 
| @@ -33068,7 +33068,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac | |
| 33068 33068 | 
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         | 
| 33069 33069 |  | 
| 33070 33070 | 
             
            "use strict";
         | 
| 33071 | 
            -
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"bytesToUnits\": () => (/* binding */ bytesToUnits),\n/* harmony export */   \"unitsToBytes\": () => (/* binding */ unitsToBytes)\n/* harmony export */ });\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _iter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iter */ \"./src/common/utils/iter.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// Helper to convert memory from units Ki, Mi, Gi, Ti, Pi to bytes and vise versa\nconst baseMagnitude = 1024;\nconst maxMagnitude = [\" | 
| 33071 | 
            +
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"bytesToUnits\": () => (/* binding */ bytesToUnits),\n/* harmony export */   \"unitsToBytes\": () => (/* binding */ unitsToBytes)\n/* harmony export */ });\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _iter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iter */ \"./src/common/utils/iter.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// Helper to convert memory from units Ki, Mi, Gi, Ti, Pi to bytes and vise versa\nconst baseMagnitude = 1024;\nconst maxMagnitude = [\"PiB\", baseMagnitude ** 5];\nconst magnitudes = new Map([\n    [\"B\", 1],\n    [\"KiB\", baseMagnitude ** 1],\n    [\"MiB\", baseMagnitude ** 2],\n    [\"GiB\", baseMagnitude ** 3],\n    [\"TiB\", baseMagnitude ** 4],\n    maxMagnitude,\n]);\nconst unitRegex = /(?<value>[0-9]+(\\.[0-9]*)?)(?<suffix>(B|[KMGTP]iB?))?/;\nfunction unitsToBytes(value) {\n    var _a, _b;\n    const unitsMatch = value.match(unitRegex);\n    if (!(unitsMatch === null || unitsMatch === void 0 ? void 0 : unitsMatch.groups)) {\n        return NaN;\n    }\n    const parsedValue = parseFloat(unitsMatch.groups.value);\n    if (!((_a = unitsMatch.groups) === null || _a === void 0 ? void 0 : _a.suffix)) {\n        return parsedValue;\n    }\n    const magnitude = (_b = magnitudes.get(unitsMatch.groups.suffix)) !== null && _b !== void 0 ? _b : magnitudes.get(`${unitsMatch.groups.suffix}B`);\n    assert__WEBPACK_IMPORTED_MODULE_0___default()(magnitude, \"UnitRegex is wrong some how\");\n    return parseInt((parsedValue * magnitude).toFixed(1));\n}\nfunction bytesToUnits(bytes, { precision = 1 } = {}) {\n    var _a;\n    if (bytes <= 0 || isNaN(bytes) || !isFinite(bytes)) {\n        return \"N/A\";\n    }\n    const index = Math.floor(Math.log(bytes) / Math.log(baseMagnitude));\n    const [suffix, magnitude] = (_a = _iter__WEBPACK_IMPORTED_MODULE_1__.nth(magnitudes.entries(), index)) !== null && _a !== void 0 ? _a : maxMagnitude;\n    return `${(bytes / magnitude).toFixed(precision)}${suffix}`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/convertMemory.ts?");
         | 
| 33072 33072 |  | 
| 33073 33073 | 
             
            /***/ }),
         | 
| 33074 33074 |  | 
| @@ -33281,6 +33281,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac | |
| 33281 33281 |  | 
| 33282 33282 | 
             
            /***/ }),
         | 
| 33283 33283 |  | 
| 33284 | 
            +
            /***/ "./src/common/utils/reactive-now/reactive-now.ts":
         | 
| 33285 | 
            +
            /*!*******************************************************!*\
         | 
| 33286 | 
            +
              !*** ./src/common/utils/reactive-now/reactive-now.ts ***!
         | 
| 33287 | 
            +
              \*******************************************************/
         | 
| 33288 | 
            +
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         | 
| 33289 | 
            +
             | 
| 33290 | 
            +
            "use strict";
         | 
| 33291 | 
            +
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"reactiveNow\": () => (/* binding */ reactiveNow)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx-utils */ \"./node_modules/mobx-utils/mobx-utils.module.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\n// Note: This file is copy-pasted from mobx-utils to fix very specific issue.\n// TODO: Remove this file once https://github.com/mobxjs/mobx-utils/issues/306 is fixed.\nconst tickers = {};\nfunction reactiveNow(interval) {\n    if (interval === void 0) {\n        interval = 1000;\n    }\n    if (!(0,mobx__WEBPACK_IMPORTED_MODULE_0__._isComputingDerivation)()) {\n        // See #40\n        return Date.now();\n    }\n    // Note: This is the kludge until https://github.com/mobxjs/mobx-utils/issues/306 is fixed\n    const synchronizationIsEnabled = !process.env.JEST_WORKER_ID;\n    if (!tickers[interval] || !synchronizationIsEnabled) {\n        if (typeof interval === \"number\")\n            tickers[interval] = createIntervalTicker(interval);\n        else\n            tickers[interval] = createAnimationFrameTicker();\n    }\n    return tickers[interval].current();\n}\nfunction createIntervalTicker(interval) {\n    let subscriptionHandle;\n    return (0,mobx_utils__WEBPACK_IMPORTED_MODULE_1__.fromResource)(function (sink) {\n        sink(Date.now());\n        subscriptionHandle = setInterval(function () { return sink(Date.now()); }, interval);\n    }, function () {\n        clearInterval(subscriptionHandle);\n    }, Date.now());\n}\nfunction createAnimationFrameTicker() {\n    const frameBasedTicker = (0,mobx_utils__WEBPACK_IMPORTED_MODULE_1__.fromResource)(function (sink) {\n        sink(Date.now());\n        function scheduleTick() {\n            window.requestAnimationFrame(function () {\n                sink(Date.now());\n                if (frameBasedTicker.isAlive())\n                    scheduleTick();\n            });\n        }\n        scheduleTick();\n    }, function () { }, Date.now());\n    return frameBasedTicker;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/reactive-now/reactive-now.ts?");
         | 
| 33292 | 
            +
             | 
| 33293 | 
            +
            /***/ }),
         | 
| 33294 | 
            +
             | 
| 33284 33295 | 
             
            /***/ "./src/common/utils/readonly.ts":
         | 
| 33285 33296 | 
             
            /*!**************************************!*\
         | 
| 33286 33297 | 
             
              !*** ./src/common/utils/readonly.ts ***!
         | 
| @@ -35642,7 +35653,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac | |
| 35642 35653 | 
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         | 
| 35643 35654 |  | 
| 35644 35655 | 
             
            "use strict";
         | 
| 35645 | 
            -
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Drawer\": () => (/* binding */ Drawer),\n/* harmony export */   \"resizingAnchorProps\": () => (/* binding */ resizingAnchorProps)\n/* harmony export */ });\n/* harmony import */ var _drawer_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drawer.scss */ \"./src/renderer/components/drawer/drawer.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _animate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../animate */ \"./src/renderer/components/animate/index.ts\");\n/* harmony import */ var _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../resizing-anchor */ \"./src/renderer/components/resizing-anchor/index.ts\");\n/* harmony import */ var _drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./drawer-storage/drawer-storage.injectable */ \"./src/renderer/components/drawer/drawer-storage/drawer-storage.injectable.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__ = __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_9___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _navigation_history_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../navigation/history.injectable */ \"./src/renderer/navigation/history.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 */\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n    position: \"right\",\n    animation: \"slide-right\",\n    usePortal: false,\n    onClose: _utils__WEBPACK_IMPORTED_MODULE_4__.noop,\n};\nconst resizingAnchorProps = {\n    \"right\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.HORIZONTAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.LEADING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.RIGHT_TO_LEFT],\n    \"left\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.HORIZONTAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.TRAILING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.LEFT_TO_RIGHT],\n    \"top\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.VERTICAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.TRAILING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.TOP_TO_BOTTOM],\n    \"bottom\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.VERTICAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.LEADING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.BOTTOM_TO_TOP],\n};\nclass NonInjectedDrawer extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n    constructor() {\n        super(...arguments);\n        Object.defineProperty(this, \"mouseDownTarget\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"contentElem\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"scrollElem\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"scrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: new Map()\n        });\n        Object.defineProperty(this, \"stopListenLocation\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: this.props.history.listen(() => {\n                this.restoreScrollPos();\n            })\n        });\n        Object.defineProperty(this, \"state\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: {\n                isCopied: false,\n                width: this.props.drawerStorage.get().width,\n            }\n        });\n        Object.defineProperty(this, \"resizeWidth\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (width) => {\n                this.setState({ width });\n                this.props.drawerStorage.merge({ width });\n            }\n        });\n        Object.defineProperty(this, \"fixUpTripleClick\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (ev) => {\n                var _a;\n                // detail: A count of consecutive clicks that happened in a short amount of time\n                if (ev.detail === 3) {\n                    const selection = window.getSelection();\n                    if ((_a = selection === null || selection === void 0 ? void 0 : selection.anchorNode) === null || _a === void 0 ? void 0 : _a.parentNode) {\n                        selection.selectAllChildren(selection.anchorNode.parentNode);\n                    }\n                }\n            }\n        });\n        Object.defineProperty(this, \"saveScrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const key = this.props.history.location.key;\n                if (this.scrollElem && key) {\n                    this.scrollPos.set(key, this.scrollElem.scrollTop);\n                }\n            }\n        });\n        Object.defineProperty(this, \"restoreScrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const key = this.props.history.location.key;\n                if (this.scrollElem && key) {\n                    this.scrollElem.scrollTop = this.scrollPos.get(key) || 0;\n                }\n            }\n        });\n        Object.defineProperty(this, \"onEscapeKey\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                if (!this.props.open) {\n                    return;\n                }\n                if (evt.code === \"Escape\") {\n                    this.close();\n                }\n            }\n        });\n        Object.defineProperty(this, \"onClickOutside\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                const { contentElem, mouseDownTarget, close, props: { open } } = this;\n                if (!open || evt.defaultPrevented || (contentElem === null || contentElem === void 0 ? void 0 : contentElem.contains(mouseDownTarget))) {\n                    return;\n                }\n                const clickedElem = evt.target;\n                const isOutsideAnyDrawer = !clickedElem.closest(\".Drawer\");\n                if (isOutsideAnyDrawer) {\n                    close();\n                }\n                this.mouseDownTarget = null;\n            }\n        });\n        Object.defineProperty(this, \"onMouseDown\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                if (this.props.open) {\n                    this.mouseDownTarget = evt.target;\n                }\n            }\n        });\n        Object.defineProperty(this, \"close\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const { open, onClose } = this.props;\n                if (open)\n                    onClose();\n            }\n        });\n        Object.defineProperty(this, \"copyTitle\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (title) => {\n                const itemName = title.split(\":\").splice(1).join(\":\") || title; // copy whole if no :\n                electron__WEBPACK_IMPORTED_MODULE_2__.clipboard.writeText(itemName.trim());\n                this.setState({ isCopied: true });\n                setTimeout(() => {\n                    this.setState({ isCopied: false });\n                }, 3000);\n            }\n        });\n    }\n    componentDidMount() {\n        // Using window target for events to make sure they will be catched after other places (e.g. Dialog)\n        window.addEventListener(\"mousedown\", this.onMouseDown);\n        window.addEventListener(\"click\", this.onClickOutside);\n        window.addEventListener(\"keydown\", this.onEscapeKey);\n        window.addEventListener(\"click\", this.fixUpTripleClick);\n    }\n    componentWillUnmount() {\n        this.stopListenLocation();\n        window.removeEventListener(\"mousedown\", this.onMouseDown);\n        window.removeEventListener(\"click\", this.onClickOutside);\n        window.removeEventListener(\"click\", this.fixUpTripleClick);\n        window.removeEventListener(\"keydown\", this.onEscapeKey);\n    }\n    render() {\n        const { className, contentClass, animation, open, position, title, children, toolbar, size, usePortal } = this.props;\n        const { isCopied, width } = this.state;\n        const copyTooltip = isCopied ? \"Copied!\" : \"Copy\";\n        const copyIcon = isCopied ? \"done\" : \"content_copy\";\n        const canCopyTitle = typeof title === \"string\" && title.length > 0;\n        const [direction, placement, growthDirection] = resizingAnchorProps[position];\n        const drawerSize = size || `${width}px`;\n        const drawer = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_animate__WEBPACK_IMPORTED_MODULE_6__.Animate, { name: animation, enter: open },\n            react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"Drawer\", className, position), style: { \"--size\": drawerSize }, ref: e => this.contentElem = e },\n                react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-wrapper flex column\" },\n                    react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-title flex align-center\" },\n                        react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-title-text flex gaps align-center\" },\n                            title,\n                            canCopyTitle && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { material: copyIcon, tooltip: copyTooltip, onClick: () => this.copyTitle(title) }))),\n                        toolbar,\n                        react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { material: \"close\", tooltip: \"Close\", onClick: this.close })),\n                    react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"drawer-content flex column box grow\", contentClass), onScroll: this.saveScrollPos, ref: e => this.scrollElem = e }, children)),\n                !size && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizingAnchor, { direction: direction, placement: placement, growthDirection: growthDirection, getCurrentExtent: () => width, onDrag: this.resizeWidth, onDoubleClick: () => this.resizeWidth(_drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__.defaultDrawerWidth), minExtent: 300, maxExtent: window.innerWidth * 0.9 })))));\n        return usePortal ? (0,react_dom__WEBPACK_IMPORTED_MODULE_3__.createPortal)(drawer, document.body) : drawer;\n    }\n}\nObject.defineProperty(NonInjectedDrawer, \"defaultProps\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: defaultProps\n});\nconst Drawer = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__.withInjectables)(NonInjectedDrawer, {\n    getProps: (di, props) => ({\n        ...props,\n        history: di.inject(_navigation_history_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n        drawerStorage: di.inject(_drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n    }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/drawer/drawer.tsx?");
         | 
| 35656 | 
            +
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Drawer\": () => (/* binding */ Drawer),\n/* harmony export */   \"resizingAnchorProps\": () => (/* binding */ resizingAnchorProps)\n/* harmony export */ });\n/* harmony import */ var _drawer_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drawer.scss */ \"./src/renderer/components/drawer/drawer.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _animate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../animate */ \"./src/renderer/components/animate/index.ts\");\n/* harmony import */ var _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../resizing-anchor */ \"./src/renderer/components/resizing-anchor/index.ts\");\n/* harmony import */ var _drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./drawer-storage/drawer-storage.injectable */ \"./src/renderer/components/drawer/drawer-storage/drawer-storage.injectable.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__ = __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_9___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _navigation_history_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../navigation/history.injectable */ \"./src/renderer/navigation/history.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 */\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n    position: \"right\",\n    animation: \"slide-right\",\n    usePortal: false,\n    onClose: _utils__WEBPACK_IMPORTED_MODULE_4__.noop,\n};\nconst resizingAnchorProps = {\n    \"right\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.HORIZONTAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.LEADING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.RIGHT_TO_LEFT],\n    \"left\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.HORIZONTAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.TRAILING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.LEFT_TO_RIGHT],\n    \"top\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.VERTICAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.TRAILING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.TOP_TO_BOTTOM],\n    \"bottom\": [_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeDirection.VERTICAL, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeSide.LEADING, _resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizeGrowthDirection.BOTTOM_TO_TOP],\n};\nclass NonInjectedDrawer extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n    constructor() {\n        super(...arguments);\n        Object.defineProperty(this, \"mouseDownTarget\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"contentElem\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"scrollElem\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"scrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: new Map()\n        });\n        Object.defineProperty(this, \"stopListenLocation\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: this.props.history.listen(() => {\n                this.restoreScrollPos();\n            })\n        });\n        Object.defineProperty(this, \"state\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: {\n                isCopied: false,\n                width: this.props.drawerStorage.get().width,\n            }\n        });\n        Object.defineProperty(this, \"resizeWidth\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (width) => {\n                this.setState({ width });\n                this.props.drawerStorage.merge({ width });\n            }\n        });\n        Object.defineProperty(this, \"fixUpTripleClick\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (ev) => {\n                var _a;\n                // detail: A count of consecutive clicks that happened in a short amount of time\n                if (ev.detail === 3) {\n                    const selection = window.getSelection();\n                    const isSelectingChildrenOfInputLabel = (selection === null || selection === void 0 ? void 0 : selection.anchorNode) instanceof HTMLLabelElement;\n                    if (((_a = selection === null || selection === void 0 ? void 0 : selection.anchorNode) === null || _a === void 0 ? void 0 : _a.parentNode) && !isSelectingChildrenOfInputLabel) {\n                        selection.selectAllChildren(selection.anchorNode.parentNode);\n                    }\n                }\n            }\n        });\n        Object.defineProperty(this, \"saveScrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const key = this.props.history.location.key;\n                if (this.scrollElem && key) {\n                    this.scrollPos.set(key, this.scrollElem.scrollTop);\n                }\n            }\n        });\n        Object.defineProperty(this, \"restoreScrollPos\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const key = this.props.history.location.key;\n                if (this.scrollElem && key) {\n                    this.scrollElem.scrollTop = this.scrollPos.get(key) || 0;\n                }\n            }\n        });\n        Object.defineProperty(this, \"onEscapeKey\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                if (!this.props.open) {\n                    return;\n                }\n                if (evt.code === \"Escape\") {\n                    this.close();\n                }\n            }\n        });\n        Object.defineProperty(this, \"onClickOutside\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                const { contentElem, mouseDownTarget, close, props: { open } } = this;\n                if (!open || evt.defaultPrevented || (contentElem === null || contentElem === void 0 ? void 0 : contentElem.contains(mouseDownTarget))) {\n                    return;\n                }\n                const clickedElem = evt.target;\n                const isOutsideAnyDrawer = !clickedElem.closest(\".Drawer\");\n                if (isOutsideAnyDrawer) {\n                    close();\n                }\n                this.mouseDownTarget = null;\n            }\n        });\n        Object.defineProperty(this, \"onMouseDown\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (evt) => {\n                if (this.props.open) {\n                    this.mouseDownTarget = evt.target;\n                }\n            }\n        });\n        Object.defineProperty(this, \"close\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: () => {\n                const { open, onClose } = this.props;\n                if (open)\n                    onClose();\n            }\n        });\n        Object.defineProperty(this, \"copyTitle\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: (title) => {\n                const itemName = title.split(\":\").splice(1).join(\":\") || title; // copy whole if no :\n                electron__WEBPACK_IMPORTED_MODULE_2__.clipboard.writeText(itemName.trim());\n                this.setState({ isCopied: true });\n                setTimeout(() => {\n                    this.setState({ isCopied: false });\n                }, 3000);\n            }\n        });\n    }\n    componentDidMount() {\n        // Using window target for events to make sure they will be catched after other places (e.g. Dialog)\n        window.addEventListener(\"mousedown\", this.onMouseDown);\n        window.addEventListener(\"click\", this.onClickOutside);\n        window.addEventListener(\"keydown\", this.onEscapeKey);\n        window.addEventListener(\"click\", this.fixUpTripleClick);\n    }\n    componentWillUnmount() {\n        this.stopListenLocation();\n        window.removeEventListener(\"mousedown\", this.onMouseDown);\n        window.removeEventListener(\"click\", this.onClickOutside);\n        window.removeEventListener(\"click\", this.fixUpTripleClick);\n        window.removeEventListener(\"keydown\", this.onEscapeKey);\n    }\n    render() {\n        const { className, contentClass, animation, open, position, title, children, toolbar, size, usePortal } = this.props;\n        const { isCopied, width } = this.state;\n        const copyTooltip = isCopied ? \"Copied!\" : \"Copy\";\n        const copyIcon = isCopied ? \"done\" : \"content_copy\";\n        const canCopyTitle = typeof title === \"string\" && title.length > 0;\n        const [direction, placement, growthDirection] = resizingAnchorProps[position];\n        const drawerSize = size || `${width}px`;\n        const drawer = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_animate__WEBPACK_IMPORTED_MODULE_6__.Animate, { name: animation, enter: open },\n            react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"Drawer\", className, position), style: { \"--size\": drawerSize }, ref: e => this.contentElem = e },\n                react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-wrapper flex column\" },\n                    react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-title flex align-center\" },\n                        react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"drawer-title-text flex gaps align-center\" },\n                            title,\n                            canCopyTitle && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { material: copyIcon, tooltip: copyTooltip, onClick: () => this.copyTitle(title) }))),\n                        toolbar,\n                        react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__.Icon, { material: \"close\", tooltip: \"Close\", onClick: this.close })),\n                    react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"drawer-content flex column box grow\", contentClass), onScroll: this.saveScrollPos, ref: e => this.scrollElem = e }, children)),\n                !size && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_resizing_anchor__WEBPACK_IMPORTED_MODULE_7__.ResizingAnchor, { direction: direction, placement: placement, growthDirection: growthDirection, getCurrentExtent: () => width, onDrag: this.resizeWidth, onDoubleClick: () => this.resizeWidth(_drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__.defaultDrawerWidth), minExtent: 300, maxExtent: window.innerWidth * 0.9 })))));\n        return usePortal ? (0,react_dom__WEBPACK_IMPORTED_MODULE_3__.createPortal)(drawer, document.body) : drawer;\n    }\n}\nObject.defineProperty(NonInjectedDrawer, \"defaultProps\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: defaultProps\n});\nconst Drawer = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_9__.withInjectables)(NonInjectedDrawer, {\n    getProps: (di, props) => ({\n        ...props,\n        history: di.inject(_navigation_history_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n        drawerStorage: di.inject(_drawer_storage_drawer_storage_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n    }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/drawer/drawer.tsx?");
         | 
| 35646 35657 |  | 
| 35647 35658 | 
             
            /***/ }),
         | 
| 35648 35659 |  | 
| @@ -35664,7 +35675,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac | |
| 35664 35675 | 
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         | 
| 35665 35676 |  | 
| 35666 35677 | 
             
            "use strict";
         | 
| 35667 | 
            -
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"ReactiveDuration\": () => (/* binding */ ReactiveDuration)\n/* harmony export */ });\n/* harmony import */ var  | 
| 35678 | 
            +
            eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"ReactiveDuration\": () => (/* binding */ ReactiveDuration)\n/* harmony export */ });\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_utils_reactive_now_reactive_now__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/utils/reactive-now/reactive-now */ \"./src/common/utils/reactive-now/reactive-now.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 * This function computes a resonable update\n */\nfunction computeUpdateInterval(creationTimestampEpoch) {\n    const seconds = Math.floor((Date.now() - creationTimestampEpoch) / 1000);\n    const minutes = Math.floor(seconds / 60);\n    if (minutes < 10) {\n        // Update every second\n        return 1000;\n    }\n    return 60 * 1000;\n}\nconst ReactiveDuration = (0,mobx_react__WEBPACK_IMPORTED_MODULE_3__.observer)(({ timestamp, compact = true }) => {\n    if (!timestamp) {\n        return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, \"<unknown>\");\n    }\n    const timestampSeconds = new Date(timestamp).getTime();\n    return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_utils__WEBPACK_IMPORTED_MODULE_1__.formatDuration)((0,_common_utils_reactive_now_reactive_now__WEBPACK_IMPORTED_MODULE_2__.reactiveNow)(computeUpdateInterval(timestampSeconds)) - timestampSeconds, compact)));\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/duration/reactive-duration.tsx?");
         | 
| 35668 35679 |  | 
| 35669 35680 | 
             
            /***/ }),
         | 
| 35670 35681 |  | 
| @@ -39129,7 +39140,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log | |
| 39129 39140 | 
             
            /***/ ((module) => {
         | 
| 39130 39141 |  | 
| 39131 39142 | 
             
            "use strict";
         | 
| 39132 | 
            -
            eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.6.0-alpha.5\",\"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.16.3\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"9.0.0\",\"@ogre-tools/injectable\":\"9.0.0\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"9.0.0\",\"@ogre-tools/injectable-extension-for-mobx\":\"9.0.0\",\"@ogre-tools/injectable-react\":\"9.0.0\",\"@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.17\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.6.1\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.5.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.3\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.11.0-beta19\",\"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.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.8.0\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.1\",\"@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.197\",\"@swc/jest\":\"^0.2.21\",\"@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.41\",\"@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.29.0\",\"@typescript-eslint/parser\":\"^5.29.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.1\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.2.2\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.8\",\"electron\":\"^15.5.7\",\"electron-builder\":\"^23.1.0\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.47\",\"esbuild-loader\":\"^2.19.0\",\"eslint\":\"^8.18.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.1\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-environment-jsdom\":\"^28.1.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^2.0.6\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.1\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.18\",\"playwright\":\"^1.23.0\",\"postcss\":\"^8.4.14\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.13.0\",\"react-refresh-typescript\":\"^2.0.5\",\"react-router-dom\":\"^5.3.3\",\"react-select\":\"^5.3.2\",\"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.4\",\"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.2\",\"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.2\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
         | 
| 39143 | 
            +
            eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.6.0-alpha.5\",\"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.16.3\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"9.0.0\",\"@ogre-tools/injectable\":\"9.0.0\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"9.0.0\",\"@ogre-tools/injectable-extension-for-mobx\":\"9.0.0\",\"@ogre-tools/injectable-react\":\"9.0.0\",\"@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.17\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.6.1\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.5.1\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.3\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.11.0-beta19\",\"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.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.8.0\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.1\",\"@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.197\",\"@swc/jest\":\"^0.2.21\",\"@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.41\",\"@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.29.0\",\"@typescript-eslint/parser\":\"^5.29.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.2.2\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.8\",\"electron\":\"^15.5.7\",\"electron-builder\":\"^23.1.0\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.47\",\"esbuild-loader\":\"^2.19.0\",\"eslint\":\"^8.18.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.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^2.0.6\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.6.1\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.18\",\"playwright\":\"^1.23.0\",\"postcss\":\"^8.4.14\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.13.0\",\"react-refresh-typescript\":\"^2.0.5\",\"react-router-dom\":\"^5.3.3\",\"react-select\":\"^5.3.2\",\"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.4\",\"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.2\",\"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.2\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
         | 
| 39133 39144 |  | 
| 39134 39145 | 
             
            /***/ }),
         | 
| 39135 39146 |  | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            import React from "react";
         | 
| 2 | 
            +
            import type { ProgressOfUpdateDownload } from "../../../common/application-update/progress-of-update-download/progress-of-update-download.injectable";
         | 
| 3 | 
            +
            import type { DiscoveredUpdateVersion } from "../../../common/application-update/discovered-update-version/discovered-update-version.injectable";
         | 
| 4 | 
            +
            import type { UpdateIsBeingDownloaded } from "../../../common/application-update/update-is-being-downloaded/update-is-being-downloaded.injectable";
         | 
| 5 | 
            +
            import type { UpdatesAreBeingDiscovered } from "../../../common/application-update/updates-are-being-discovered/updates-are-being-discovered.injectable";
         | 
| 6 | 
            +
            interface Dependencies {
         | 
| 7 | 
            +
                progressOfUpdateDownload: ProgressOfUpdateDownload;
         | 
| 8 | 
            +
                discoveredVersionState: DiscoveredUpdateVersion;
         | 
| 9 | 
            +
                downloadingUpdateState: UpdateIsBeingDownloaded;
         | 
| 10 | 
            +
                checkingForUpdatesState: UpdatesAreBeingDiscovered;
         | 
| 11 | 
            +
            }
         | 
| 12 | 
            +
            export declare const NonInjectedAutoUpdateComponent: ({ progressOfUpdateDownload, discoveredVersionState, downloadingUpdateState, checkingForUpdatesState, }: Dependencies) => JSX.Element;
         | 
| 13 | 
            +
            export declare const AutoUpdateComponent: React.FunctionComponent<{}>;
         | 
| 14 | 
            +
            export {};
         | 
| @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            /// <reference types="react" />
         | 
| 2 | 
            +
            declare const autoUpdateStatusBarItemInjectable: import("@ogre-tools/injectable").Injectable<{
         | 
| 3 | 
            +
                component: import("react").FunctionComponent<{}>;
         | 
| 4 | 
            +
                position: "left";
         | 
| 5 | 
            +
                visible: import("mobx").IComputedValue<boolean>;
         | 
| 6 | 
            +
            }, import("./status-bar-item-injection-token").StatusBarItem, void>;
         | 
| 7 | 
            +
            export default autoUpdateStatusBarItemInjectable;
         | 
| @@ -0,0 +1,8 @@ | |
| 1 | 
            +
            import type { IComputedValue } from "mobx";
         | 
| 2 | 
            +
            import type React from "react";
         | 
| 3 | 
            +
            export interface StatusBarItem {
         | 
| 4 | 
            +
                component: React.ComponentType<any>;
         | 
| 5 | 
            +
                position: "left" | "right";
         | 
| 6 | 
            +
                visible: IComputedValue<boolean>;
         | 
| 7 | 
            +
            }
         | 
| 8 | 
            +
            export declare const statusBarItemInjectionToken: import("@ogre-tools/injectable").InjectionToken<StatusBarItem, void>;
         | 
| @@ -0,0 +1,8 @@ | |
| 1 | 
            +
            /**
         | 
| 2 | 
            +
             * Copyright (c) OpenLens Authors. All rights reserved.
         | 
| 3 | 
            +
             * Licensed under MIT License. See LICENSE in root directory for more information.
         | 
| 4 | 
            +
             */
         | 
| 5 | 
            +
            import type { Injectable } from "@ogre-tools/injectable";
         | 
| 6 | 
            +
            import type { StatusBarItem } from "./status-bar-item-injection-token";
         | 
| 7 | 
            +
            declare const statusBarItemRegistratorInjectable: Injectable<(extension: import("../../../extensions/lens-extension").LensExtension<import("../../../extensions/lens-extension-set-dependencies").LensExtensionDependencies>) => Injectable<StatusBarItem, StatusBarItem, void>[], (extension: import("../../../extensions/lens-extension").LensExtension<import("../../../extensions/lens-extension-set-dependencies").LensExtensionDependencies>) => Injectable<any, any, any>[], void>;
         | 
| 8 | 
            +
            export default statusBarItemRegistratorInjectable;
         | 
| @@ -1,2 +1,9 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            /// <reference types="react" />
         | 
| 2 | 
            +
            import type { IComputedValue } from "mobx";
         | 
| 3 | 
            +
            import type { StatusBarItemProps } from "./status-bar-registration";
         | 
| 4 | 
            +
            export interface StatusBarItems {
         | 
| 5 | 
            +
                right: React.ComponentType<StatusBarItemProps>[];
         | 
| 6 | 
            +
                left: React.ComponentType<StatusBarItemProps>[];
         | 
| 7 | 
            +
            }
         | 
| 8 | 
            +
            declare const statusBarItemsInjectable: import("@ogre-tools/injectable").Injectable<IComputedValue<StatusBarItems>, unknown, void>;
         | 
| 2 9 | 
             
            export default statusBarItemsInjectable;
         | 
| @@ -8,4 +8,5 @@ import type { ApplicationBuilder } from "./get-application-builder"; | |
| 8 8 | 
             
            export declare class TestExtension extends LensRendererExtension {
         | 
| 9 9 | 
             
            }
         | 
| 10 10 | 
             
            export declare type FakeExtensionData = SetRequired<Partial<LensRendererExtension>, "id" | "name">;
         | 
| 11 | 
            -
            export declare  | 
| 11 | 
            +
            export declare type GetRendererExtensionFake = (fakeExtensionData: FakeExtensionData) => TestExtension;
         | 
| 12 | 
            +
            export declare const getRendererExtensionFakeFor: (builder: ApplicationBuilder) => GetRendererExtensionFake;
         | 
    
        package/package.json
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
              "name": "@k8slens/extensions",
         | 
| 3 3 | 
             
              "productName": "OpenLens extensions",
         | 
| 4 4 | 
             
              "description": "OpenLens - Open Source Kubernetes IDE: extensions",
         | 
| 5 | 
            -
              "version": "5.6.0-git. | 
| 5 | 
            +
              "version": "5.6.0-git.5f57213179.0",
         | 
| 6 6 | 
             
              "copyright": "© 2022 OpenLens Authors",
         | 
| 7 7 | 
             
              "license": "MIT",
         | 
| 8 8 | 
             
              "main": "dist/src/extensions/extension-api.js",
         | 
| @@ -25,6 +25,7 @@ | |
| 25 25 | 
             
                "conf": "^7.0.1",
         | 
| 26 26 | 
             
                "mobx": "^6.5.0",
         | 
| 27 27 | 
             
                "mobx-react": "^7.3.0",
         | 
| 28 | 
            +
                "react-select": "^5.3.2",
         | 
| 28 29 | 
             
                "typed-emitter": "^1.3.1"
         | 
| 29 30 | 
             
              }
         | 
| 30 31 | 
             
            }
         | 
    
        package/dist/src/common/application-update/application-update-status-channel.injectable.d.ts
    DELETED
    
    | @@ -1,9 +0,0 @@ | |
| 1 | 
            -
            import type { MessageChannel } from "../utils/channel/message-channel-injection-token";
         | 
| 2 | 
            -
            export declare type ApplicationUpdateStatusEventId = "checking-for-updates" | "no-updates-available" | "download-for-update-started" | "download-for-update-failed";
         | 
| 3 | 
            -
            export declare type ApplicationUpdateStatusChannelMessage = {
         | 
| 4 | 
            -
                eventId: ApplicationUpdateStatusEventId;
         | 
| 5 | 
            -
                version?: string;
         | 
| 6 | 
            -
            };
         | 
| 7 | 
            -
            export declare type ApplicationUpdateStatusChannel = MessageChannel<ApplicationUpdateStatusChannelMessage>;
         | 
| 8 | 
            -
            declare const applicationUpdateStatusChannelInjectable: import("@ogre-tools/injectable").Injectable<ApplicationUpdateStatusChannel, MessageChannel<any>, void>;
         | 
| 9 | 
            -
            export default applicationUpdateStatusChannelInjectable;
         | 
| @@ -1,3 +0,0 @@ | |
| 1 | 
            -
            import type { ApplicationUpdateStatusChannelMessage } from "../../../common/application-update/application-update-status-channel.injectable";
         | 
| 2 | 
            -
            declare const broadcastChangeInUpdatingStatusInjectable: import("@ogre-tools/injectable").Injectable<(data: ApplicationUpdateStatusChannelMessage) => void, unknown, void>;
         | 
| 3 | 
            -
            export default broadcastChangeInUpdatingStatusInjectable;
         | 
    
        package/dist/src/renderer/application-update/application-update-status-listener.injectable.d.ts
    DELETED
    
    | @@ -1,4 +0,0 @@ | |
| 1 | 
            -
            import type { ApplicationUpdateStatusChannel } from "../../common/application-update/application-update-status-channel.injectable";
         | 
| 2 | 
            -
            import type { MessageChannelListener } from "../../common/utils/channel/message-channel-listener-injection-token";
         | 
| 3 | 
            -
            declare const applicationUpdateStatusListenerInjectable: import("@ogre-tools/injectable").Injectable<MessageChannelListener<ApplicationUpdateStatusChannel>, MessageChannelListener<import("../../common/utils/channel/message-channel-injection-token").MessageChannel<any>>, void>;
         | 
| 4 | 
            -
            export default applicationUpdateStatusListenerInjectable;
         | 
| @@ -1,13 +0,0 @@ | |
| 1 | 
            -
            /**
         | 
| 2 | 
            -
             * Copyright (c) OpenLens Authors. All rights reserved.
         | 
| 3 | 
            -
             * Licensed under MIT License. See LICENSE in root directory for more information.
         | 
| 4 | 
            -
             */
         | 
| 5 | 
            -
            import React from "react";
         | 
| 6 | 
            -
            import type { IComputedValue } from "mobx";
         | 
| 7 | 
            -
            import type { StatusBarItemProps } from "./status-bar-registration";
         | 
| 8 | 
            -
            export interface RegisteredStatusBarItems {
         | 
| 9 | 
            -
                right: React.ComponentType<StatusBarItemProps>[];
         | 
| 10 | 
            -
                left: React.ComponentType<StatusBarItemProps>[];
         | 
| 11 | 
            -
            }
         | 
| 12 | 
            -
            declare const registeredStatusBarItemsInjectable: import("@ogre-tools/injectable").Injectable<IComputedValue<RegisteredStatusBarItems>, unknown, void>;
         | 
| 13 | 
            -
            export default registeredStatusBarItemsInjectable;
         |