From 3890495587459c3a8a658bd58b9eb62fabcd2d8d Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 10 Dec 2023 23:29:18 -0500 Subject: [PATCH] Start conversion --- .../src/DevtoolsInspector.tsx | 127 +++++++++--------- .../src/utils/createStylingFromTheme.ts | 49 ++++--- 2 files changed, 95 insertions(+), 81 deletions(-) diff --git a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx index ff03ae80..1cedb9ac 100644 --- a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx +++ b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx @@ -2,6 +2,7 @@ import React, { PureComponent } from 'react'; import { Base16Theme } from 'redux-devtools-themes'; import { getBase16Theme, + invertBase16Theme, invertTheme, StylingFunction, } from 'react-base16-styling'; @@ -15,6 +16,8 @@ import { Delta, DiffContext } from 'jsondiffpatch'; import { createStylingFromTheme, base16Themes, + inspectorCss, + inspectorWideCss, } from './utils/createStylingFromTheme'; import ActionList from './ActionList'; import ActionPreview, { Tab } from './ActionPreview'; @@ -26,6 +29,7 @@ import { reducer, updateMonitorState, } from './redux'; +import { ThemeProvider } from '@emotion/react'; const { // eslint-disable-next-line @typescript-eslint/unbound-method @@ -296,68 +300,69 @@ class DevtoolsInspector> extends PureComponent< const { base16Theme, styling } = themeState; return ( -
- - - this.handleInspectPath(inspectedPathType, path) - } - inspectedPath={monitorState[inspectedPathType]} - onSelectTab={this.handleSelectTab} - /> -
+
+ + + this.handleInspectPath(inspectedPathType, path) + } + inspectedPath={monitorState[inspectedPathType]} + onSelectTab={this.handleSelectTab} + /> +
+ ); } diff --git a/packages/redux-devtools-inspector-monitor/src/utils/createStylingFromTheme.ts b/packages/redux-devtools-inspector-monitor/src/utils/createStylingFromTheme.ts index 9bd45ea3..40a12df9 100644 --- a/packages/redux-devtools-inspector-monitor/src/utils/createStylingFromTheme.ts +++ b/packages/redux-devtools-inspector-monitor/src/utils/createStylingFromTheme.ts @@ -1,6 +1,12 @@ import jss, { StyleSheet } from 'jss'; import preset from 'jss-preset-default'; -import { createStyling, StylingFunction, Theme } from 'react-base16-styling'; +import { css } from '@emotion/react'; +import type { Interpolation, Theme } from '@emotion/react'; +import { + createStyling, + StylingFunction, + Theme as Base16StylingTheme, +} from 'react-base16-styling'; import rgba from 'hex-rgba'; import { Base16Theme } from 'redux-devtools-themes'; import type { CurriedFunction1 } from 'lodash'; @@ -8,6 +14,11 @@ import inspector from '../themes/inspector'; import * as reduxThemes from 'redux-devtools-themes'; import * as inspectorThemes from '../themes'; +declare module '@emotion/react' { + // eslint-disable-next-line @typescript-eslint/no-empty-interface + export interface Theme extends Base16Theme {} +} + jss.setup(preset()); const colorMap = (theme: Base16Theme) => ({ @@ -41,25 +52,23 @@ type ColorMap = { [color in Color]: string; }; +export const inspectorCss: Interpolation = (theme) => ({ + display: 'flex', + flexDirection: 'column', + width: '100%', + height: '100%', + fontFamily: 'monaco, Consolas, "Lucida Console", monospace', + fontSize: '12px', + WebkitFontSmoothing: 'antialiased', + lineHeight: '1.5em', + + backgroundColor: colorMap(theme).BACKGROUND_COLOR, + color: colorMap(theme).TEXT_COLOR, +}); + +export const inspectorWideCss = css({ flexDirection: 'column' }); + const getSheetFromColorMap = (map: ColorMap) => ({ - inspector: { - display: 'flex', - 'flex-direction': 'column', - width: '100%', - height: '100%', - 'font-family': 'monaco, Consolas, "Lucida Console", monospace', - 'font-size': '12px', - 'font-smoothing': 'antialiased', - 'line-height': '1.5em', - - 'background-color': map.BACKGROUND_COLOR, - color: map.TEXT_COLOR, - }, - - inspectorWide: { - 'flex-direction': 'row', - }, - actionList: { 'flex-basis': '40%', 'flex-shrink': 0, @@ -386,7 +395,7 @@ const getDefaultThemeStyling = (theme: Base16Theme) => { export const base16Themes = { ...reduxThemes, ...inspectorThemes }; export const createStylingFromTheme: CurriedFunction1< - Theme | undefined, + Base16StylingTheme | undefined, StylingFunction > = createStyling(getDefaultThemeStyling, { defaultBase16: inspector,