From 643a9ce555b2bd79ffb04cf90507ddfab87ede08 Mon Sep 17 00:00:00 2001 From: Donald Labaj Date: Wed, 24 Jul 2024 18:58:33 -0400 Subject: [PATCH 1/2] feat(styles): Moved console react-styles to react-console, and added jss. Also added corepack support for legacy yarn. --- package.json | 3 +- packages/module/package.json | 8 +- .../react-console/examples/ReactConsole.md | 6 +- .../extensions/react-console/react.js | 6 +- .../AccessConsoles/AccessConsoles.tsx | 25 +- .../AccessConsoles.test.tsx.snap | 20 +- .../DesktopViewer/DesktopViewer.tsx | 15 +- .../__snapshots__/DesktopViewer.test.tsx.snap | 8 +- .../SerialConsole/SerialConsole.tsx | 15 +- .../SerialConsole/SerialConsoleActions.tsx | 15 +- .../src/components/SerialConsole/XTerm.tsx | 2 +- .../__snapshots__/SerialConsole.test.tsx.snap | 11 +- .../SerialConsoleActions.test.tsx.snap | 4 +- .../__snapshots__/XTerm.test.tsx.snap | 1 - .../src/components/VncConsole/VncActions.tsx | 15 +- .../src/components/VncConsole/VncConsole.tsx | 13 +- .../__snapshots__/VncActions.test.tsx.snap | 6 +- .../__snapshots__/VncConsole.test.tsx.snap | 2 +- packages/module/src/css/xterm.css | 171 ++++++++ yarn.lock | 380 +++++++++++++++++- 20 files changed, 656 insertions(+), 70 deletions(-) create mode 100644 packages/module/src/css/xterm.css diff --git a/package.json b/package.json index be92099..e23ef26 100644 --- a/package.json +++ b/package.json @@ -57,5 +57,6 @@ "@types/react-dom": "^18", "@types/file-saver": "^2.0.7", "tslib": "^2.6.3" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/packages/module/package.json b/packages/module/package.json index f680e9d..9b6ba05 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -5,10 +5,11 @@ "main": "dist/esm/index.js", "module": "dist/esm/index.js", "scripts": { - "build": "yarn build:esm && yarn build:cjs", + "build": "yarn build:esm && yarn build:cjs && yarn cp:css", "build:watch": "npm run build:esm -- --watch", "build:esm": "tsc --build --verbose ./tsconfig.json", "build:cjs": "tsc --build --verbose ./tsconfig.cjs.json", + "cp:css": "cp -r src/css dist/css", "clean": "rimraf dist", "docs:develop": "pf-docs-framework start", "docs:build": "pf-docs-framework build all --output public", @@ -39,6 +40,7 @@ "@patternfly/react-styles": "6.0.0-alpha.23", "@spice-project/spice-html5": "^0.2.1", "file-saver": "^1.3.8", + "react-jss": "^10.10.0", "xterm": "^4.8.1", "xterm-addon-fit": "^0.2.1" }, @@ -52,8 +54,8 @@ "@patternfly/patternfly-a11y": "^4.3.1", "@patternfly/react-code-editor": "6.0.0-alpha.61", "@patternfly/react-table": "6.0.0-alpha.61", + "monaco-editor": "^0.34.1", "rimraf": "^2.6.2", - "serve": "^14.2.3", - "monaco-editor": "^0.34.1" + "serve": "^14.2.3" } } diff --git a/packages/module/patternfly-docs/content/extensions/react-console/examples/ReactConsole.md b/packages/module/patternfly-docs/content/extensions/react-console/examples/ReactConsole.md index 3c1b4b9..e09aeca 100644 --- a/packages/module/patternfly-docs/content/extensions/react-console/examples/ReactConsole.md +++ b/packages/module/patternfly-docs/content/extensions/react-console/examples/ReactConsole.md @@ -13,11 +13,7 @@ React console lives in its own package at [`@patternfly/react-console`](https:// import { AccessConsoles, SerialConsole, VncConsole, DesktopViewer } from '@patternfly/react-console'; import { SerialConsoleCustom } from './SerialConsoleCustom.jsx'; import { debounce } from '@patternfly/react-core'; -import '@patternfly/react-styles/src/css/components/Consoles/AccessConsoles.css'; -import '@patternfly/react-styles/src/css/components/Consoles/DesktopViewer.css'; -import '@patternfly/react-styles/src/css/components/Consoles/SerialConsole.css'; -import '@patternfly/react-styles/src/css/components/Consoles/VncConsole.css'; -import '@patternfly/react-styles/src/css/components/Consoles/xterm.css'; +import '@patternfly/react-console/dist/css/xterm.css'; ## Examples diff --git a/packages/module/patternfly-docs/generated/extensions/react-console/react.js b/packages/module/patternfly-docs/generated/extensions/react-console/react.js index 600ff24..a4230ed 100644 --- a/packages/module/patternfly-docs/generated/extensions/react-console/react.js +++ b/packages/module/patternfly-docs/generated/extensions/react-console/react.js @@ -3,11 +3,7 @@ import { AutoLinkHeader, Example, Link as PatternflyThemeLink } from '@patternfl import { AccessConsoles, SerialConsole, VncConsole, DesktopViewer } from '@patternfly/react-console'; import { SerialConsoleCustom } from '../../../content/extensions/react-console/examples/./SerialConsoleCustom.jsx'; import { debounce } from '@patternfly/react-core'; -import '@patternfly/react-styles/src/css/components/Consoles/AccessConsoles.css'; -import '@patternfly/react-styles/src/css/components/Consoles/DesktopViewer.css'; -import '@patternfly/react-styles/src/css/components/Consoles/SerialConsole.css'; -import '@patternfly/react-styles/src/css/components/Consoles/VncConsole.css'; -import '@patternfly/react-styles/src/css/components/Consoles/xterm.css'; +import '@patternfly/react-console/dist/css/xterm.css'; import srcImportbasicusage from './react/basic-usage.png'; const pageData = { "id": "React console", diff --git a/packages/module/src/components/AccessConsoles/AccessConsoles.tsx b/packages/module/src/components/AccessConsoles/AccessConsoles.tsx index 699cd9c..4aa0586 100644 --- a/packages/module/src/components/AccessConsoles/AccessConsoles.tsx +++ b/packages/module/src/components/AccessConsoles/AccessConsoles.tsx @@ -1,14 +1,26 @@ import React from 'react'; -import { css } from '@patternfly/react-styles'; import { Select, SelectOption, MenuToggle, MenuToggleElement, SelectList } from '@patternfly/react-core'; import { constants } from '../common/constants'; - -import styles from '@patternfly/react-styles/css/components/Consoles/AccessConsoles'; -import '@patternfly/react-styles/css/components/Consoles/AccessConsoles.css'; +import { createUseStyles } from 'react-jss'; const { NONE_TYPE, SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE, DESKTOP_VIEWER_CONSOLE_TYPE } = constants; +const useStyles = createUseStyles({ + console: { + display: 'grid', + gridTemplateAreas: '\'actions-main actions-extra\'\n \'main main\'', + rowGap: 'var(--pf-t-global--spacer--md)' + }, + consoleActions: { + gridArea: 'actions-main', + display: 'flex', + '> div': { + marginRight: 'var(--pf-t-global--spacer--sm)' + } + } +}); + const getChildTypeName = (child: any) => child && child.props && child.props.type ? child.props.type : (child && child.type && child.type.displayName) || null; @@ -48,6 +60,7 @@ export const AccessConsoles: React.FunctionComponent = ({ textDesktopViewerConsole = 'Desktop viewer', preselectedType = null }) => { + const styles = useStyles(); const typeMap = { [SERIAL_CONSOLE_TYPE]: textSerialConsole, [VNC_CONSOLE_TYPE]: textVncConsole, @@ -135,9 +148,9 @@ export const AccessConsoles: React.FunctionComponent = ({ } }); return ( -
+
{React.Children.toArray(children).length > 1 && ( -
+