@k8slens/extensions 5.4.1-git.a4954b9f8d.0 → 5.4.1-git.dd5dfb393d.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.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export declare const setNativeThemeChannel = "theme:set-native-theme";
6
+ export declare const getNativeThemeChannel = "theme:get-native-theme";
@@ -32416,6 +32416,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32416
32416
 
32417
32417
  /***/ }),
32418
32418
 
32419
+ /***/ "./src/common/ipc/native-theme.ts":
32420
+ /*!****************************************!*\
32421
+ !*** ./src/common/ipc/native-theme.ts ***!
32422
+ \****************************************/
32423
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32424
+
32425
+ "use strict";
32426
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setNativeThemeChannel\": () => (/* binding */ setNativeThemeChannel),\n/* harmony export */ \"getNativeThemeChannel\": () => (/* binding */ getNativeThemeChannel)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst setNativeThemeChannel = \"theme:set-native-theme\";\nconst getNativeThemeChannel = \"theme:get-native-theme\";\n\n\n//# sourceURL=webpack://open-lens/./src/common/ipc/native-theme.ts?");
32427
+
32428
+ /***/ }),
32429
+
32419
32430
  /***/ "./src/common/ipc/type-enforced-ipc.ts":
32420
32431
  /*!*********************************************!*\
32421
32432
  !*** ./src/common/ipc/type-enforced-ipc.ts ***!
@@ -37076,7 +37087,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37076
37087
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37077
37088
 
37078
37089
  "use strict";
37079
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ThemeStore\": () => (/* binding */ ThemeStore)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _themes_lens_dark_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./themes/lens-dark.json */ \"./src/renderer/themes/lens-dark.json\");\n/* harmony import */ var _themes_lens_light_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./themes/lens-light.json */ \"./src/renderer/themes/lens-light.json\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\nclass ThemeStore extends _utils__WEBPACK_IMPORTED_MODULE_0__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"terminalColorPrefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"terminal\"\n });\n // bundled themes from `themes/${themeId}.json`\n Object.defineProperty(this, \"themes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_7__.observable.map({\n \"lens-dark\": _themes_lens_dark_json__WEBPACK_IMPORTED_MODULE_3__,\n \"lens-light\": _themes_lens_light_json__WEBPACK_IMPORTED_MODULE_4__,\n })\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind)(this);\n // auto-apply active theme\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => ({\n themeId: this.activeThemeId,\n terminalThemeId: this.terminalThemeId,\n }), ({ themeId }) => {\n try {\n this.applyTheme(themeId);\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].error(err);\n _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().resetTheme();\n }\n }, {\n fireImmediately: true,\n equals: mobx__WEBPACK_IMPORTED_MODULE_7__.comparer.shallow,\n });\n }\n get activeThemeId() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().colorTheme;\n }\n get terminalThemeId() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().terminalTheme;\n }\n get activeTheme() {\n var _a;\n return (_a = this.themes.get(this.activeThemeId)) !== null && _a !== void 0 ? _a : this.themes.get(_common_vars__WEBPACK_IMPORTED_MODULE_5__.defaultTheme);\n }\n get terminalColors() {\n var _a;\n const theme = (_a = this.themes.get(this.terminalThemeId)) !== null && _a !== void 0 ? _a : this.activeTheme;\n return Object\n .entries(theme.colors)\n .filter(([name]) => name.startsWith(this.terminalColorPrefix));\n }\n // Replacing keys stored in styles to format accepted by terminal\n // E.g. terminalBrightBlack -> brightBlack\n get xtermColors() {\n return Object.fromEntries(this.terminalColors.map(([name, color]) => [\n (0,lodash__WEBPACK_IMPORTED_MODULE_6__.camelCase)(name.replace(this.terminalColorPrefix, \"\")),\n color,\n ]));\n }\n get themeOptions() {\n return Array.from(this.themes).map(([themeId, theme]) => ({\n label: theme.name,\n value: themeId,\n }));\n }\n getThemeById(themeId) {\n return this.themes.get(themeId);\n }\n applyTheme(themeId) {\n const theme = this.getThemeById(themeId);\n const colors = Object.entries({\n ...theme.colors,\n ...Object.fromEntries(this.terminalColors),\n });\n colors.forEach(([name, value]) => {\n document.documentElement.style.setProperty(`--${name}`, value);\n });\n // Adding universal theme flag which can be used in component styles\n document.body.classList.toggle(\"theme-light\", theme.type === \"light\");\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"activeThemeId\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"terminalThemeId\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"activeTheme\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"terminalColors\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"xtermColors\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"themeOptions\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/theme.store.ts?");
37090
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ThemeStore\": () => (/* binding */ ThemeStore)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _themes_lens_dark_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./themes/lens-dark.json */ \"./src/renderer/themes/lens-dark.json\");\n/* harmony import */ var _themes_lens_light_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./themes/lens-light.json */ \"./src/renderer/themes/lens-light.json\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _common_ipc_native_theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/ipc/native-theme */ \"./src/common/ipc/native-theme.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\nclass ThemeStore extends _utils__WEBPACK_IMPORTED_MODULE_0__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"terminalColorPrefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"terminal\"\n });\n // bundled themes from `themes/${themeId}.json`\n Object.defineProperty(this, \"themes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_9__.observable.map({\n \"lens-dark\": _themes_lens_dark_json__WEBPACK_IMPORTED_MODULE_3__,\n \"lens-light\": _themes_lens_light_json__WEBPACK_IMPORTED_MODULE_4__,\n })\n });\n Object.defineProperty(this, \"osNativeTheme\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_9__.makeObservable)(this);\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.autoBind)(this);\n this.init();\n }\n get activeThemeId() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().colorTheme;\n }\n get terminalThemeId() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().terminalTheme;\n }\n get activeTheme() {\n var _a, _b;\n return (_b = (_a = this.systemTheme) !== null && _a !== void 0 ? _a : this.themes.get(this.activeThemeId)) !== null && _b !== void 0 ? _b : this.themes.get(_common_vars__WEBPACK_IMPORTED_MODULE_5__.defaultTheme);\n }\n get terminalColors() {\n var _a;\n const theme = (_a = this.themes.get(this.terminalThemeId)) !== null && _a !== void 0 ? _a : this.activeTheme;\n return Object\n .entries(theme.colors)\n .filter(([name]) => name.startsWith(this.terminalColorPrefix));\n }\n // Replacing keys stored in styles to format accepted by terminal\n // E.g. terminalBrightBlack -> brightBlack\n get xtermColors() {\n return Object.fromEntries(this.terminalColors.map(([name, color]) => [\n (0,lodash__WEBPACK_IMPORTED_MODULE_6__.camelCase)(name.replace(this.terminalColorPrefix, \"\")),\n color,\n ]));\n }\n get themeOptions() {\n return Array.from(this.themes).map(([themeId, theme]) => ({\n label: theme.name,\n value: themeId,\n }));\n }\n get systemTheme() {\n if (this.activeThemeId == \"system\" && this.osNativeTheme) {\n return this.themes.get(`lens-${this.osNativeTheme}`);\n }\n return null;\n }\n async init() {\n await this.setNativeTheme();\n this.bindNativeThemeUpdateEvent();\n // auto-apply active theme\n (0,mobx__WEBPACK_IMPORTED_MODULE_9__.reaction)(() => ({\n themeId: this.activeThemeId,\n terminalThemeId: this.terminalThemeId,\n }), ({ themeId }) => {\n try {\n this.applyTheme(themeId);\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].error(err);\n _common_user_store__WEBPACK_IMPORTED_MODULE_1__.UserStore.getInstance().resetTheme();\n }\n }, {\n fireImmediately: true,\n equals: mobx__WEBPACK_IMPORTED_MODULE_9__.comparer.shallow,\n });\n }\n bindNativeThemeUpdateEvent() {\n electron__WEBPACK_IMPORTED_MODULE_7__.ipcRenderer.on(_common_ipc_native_theme__WEBPACK_IMPORTED_MODULE_8__.setNativeThemeChannel, (event, theme) => {\n this.osNativeTheme = theme;\n this.applyTheme(theme);\n });\n }\n async setNativeTheme() {\n const theme = await electron__WEBPACK_IMPORTED_MODULE_7__.ipcRenderer.invoke(_common_ipc_native_theme__WEBPACK_IMPORTED_MODULE_8__.getNativeThemeChannel);\n this.osNativeTheme = theme;\n }\n getThemeById(themeId) {\n return this.themes.get(themeId);\n }\n applyTheme(themeId) {\n var _a;\n const theme = (_a = this.systemTheme) !== null && _a !== void 0 ? _a : this.getThemeById(themeId);\n const colors = Object.entries({\n ...theme.colors,\n ...Object.fromEntries(this.terminalColors),\n });\n colors.forEach(([name, value]) => {\n document.documentElement.style.setProperty(`--${name}`, value);\n });\n // Adding universal theme flag which can be used in component styles\n document.body.classList.toggle(\"theme-light\", theme.type === \"light\");\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.observable,\n __metadata(\"design:type\", String)\n], ThemeStore.prototype, \"osNativeTheme\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"activeThemeId\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"terminalThemeId\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"activeTheme\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"terminalColors\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"xtermColors\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"themeOptions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ThemeStore.prototype, \"systemTheme\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/theme.store.ts?");
37080
37091
 
37081
37092
  /***/ }),
37082
37093
 
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export declare function broadcastNativeThemeOnUpdate(): void;
6
+ export declare function getNativeColorTheme(): "dark" | "light";
@@ -13,5 +13,5 @@ export interface SwitcherProps extends SwitchProps {
13
13
  /**
14
14
  * @deprecated Use <Switch/> instead from "../switch.tsx".
15
15
  */
16
- export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "name" | "id" | "title" | "value" | "size" | "key" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "hidden" | "className" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
16
+ export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "name" | "id" | "title" | "value" | "size" | "key" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "className" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "switchBase" | "thumb" | "focusVisible">>;
17
17
  export {};
@@ -17,13 +17,18 @@ export interface Theme {
17
17
  export declare class ThemeStore extends Singleton {
18
18
  private terminalColorPrefix;
19
19
  private themes;
20
+ osNativeTheme: "dark" | "light" | undefined;
20
21
  get activeThemeId(): ThemeId;
21
22
  get terminalThemeId(): ThemeId;
22
23
  get activeTheme(): Theme;
23
24
  get terminalColors(): [string, string][];
24
25
  get xtermColors(): Record<string, string>;
25
26
  get themeOptions(): SelectOption<string>[];
27
+ get systemTheme(): Theme;
26
28
  constructor();
29
+ init(): Promise<void>;
30
+ bindNativeThemeUpdateEvent(): void;
31
+ setNativeTheme(): Promise<void>;
27
32
  getThemeById(themeId: ThemeId): Theme;
28
33
  protected applyTheme(themeId: ThemeId): void;
29
34
  }
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.4.1-git.a4954b9f8d.0",
5
+ "version": "5.4.1-git.dd5dfb393d.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",