Skip to content

Commit 4a69ebd

Browse files
dmiller9911jeff-phillips-18
authored andcommitted
chore(Console): Add skeleton of @patternfly-react/console package (#311)
Added a skelton for the console package under `packages/console`. This package will include the upcoming VncConsole and SerialConsole.
1 parent 0404790 commit 4a69ebd

23 files changed

+807
-0
lines changed

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@
116116
"build:scripts": "babel src --out-dir dist/js --ignore .test.js,__mocks__",
117117
"build:less": "mkdir -p dist/less && cp -r less/* dist/less",
118118
"build:sass": "mkdir -p dist/sass && cp -r sass/patternfly-react/* dist/sass && node-sass --output-style compressed --include-path sass --include-path $npm_package_sassIncludes_patternfly --include-path $npm_package_sassIncludes_bootstrap --include-path $npm_package_sassIncludes_fontAwesome -o dist/css sass/patternfly-react.scss",
119+
"build:console": "yarn build:console:scripts && yarn build:console:less && yarn build:console:sass",
120+
"build:console:scripts": "babel packages/console/src --out-dir packages/console/dist/cjs --ignore .test.js,__mocks__",
121+
"build:console:less": "mkdir -p packages/console/dist/less && cp -r packages/console/less/* packages/console/dist/less",
122+
"build:console:sass": "mkdir -p packages/console/dist/sass && cp -r packages/console/sass/* packages/console/dist/sass && node-sass --output-style compressed --include-path sass --include-path $npm_package_sassIncludes_patternfly --include-path $npm_package_sassIncludes_bootstrap --include-path $npm_package_sassIncludes_fontAwesome -o packages/console/dist/css packages/console/sass/console.scss",
123+
"publish:console": "cd packages/console && yarn publish",
119124
"lint": "yarn lint:js && yarn lint:styles",
120125
"lint:fix": "yarn lint:js --fix && yarn lint:styles --fix",
121126
"lint:js": "eslint --rulesdir lint-rules/ --max-warnings 0 src storybook",

packages/console/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# @patternfly-react/console
2+
3+
This package provides VncConsole and SerialConsole React components to be used alongside patternfly-react.
4+
5+
**_The below commands are temporary and will be replaced once this repo starts using Lerna._**
6+
7+
### Installing
8+
9+
```
10+
yarn add @patternfly-react/console
11+
```
12+
13+
or
14+
15+
```
16+
npm install @patternfly-react/console --save
17+
```
18+
19+
### Usage
20+
21+
```javascript
22+
import { VncConsole, SerialConsole } from '@patternfly-react/console
23+
```
24+
25+
### Building
26+
27+
```
28+
yarn build
29+
```
30+
31+
Note the build scripts for this are located in the root package.json under `build:console:*`.
32+
33+
### Testing
34+
35+
Testing is done at the root of this repo. To only run the console tests:
36+
37+
```
38+
yarn test packages/console
39+
```
40+
41+
### Publishing
42+
43+
```
44+
yarn publish
45+
```

packages/console/less/console.less

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
+ Styling shared by both VncConsole and SerialConsole.
3+
+*/
4+
@import 'serial-console';
5+
@import 'vnc-console';
6+
7+
.console-actions-pf {
8+
float: right;
9+
position: relative;
10+
top: -2em;
11+
}
12+
13+
.console-actions-buttons-pf {
14+
margin-left: 5px;
15+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/**
2+
SerialConsole styles
3+
*/
4+
5+
.console-pf > .terminal {
6+
color: @color-pf-white;
7+
text-align: left;
8+
outline: medium none;
9+
background-color: @color-pf-black;
10+
border: 1px solid @color-pf-black;
11+
padding: 10px;
12+
}
13+
14+
.console-pf {
15+
font-family: @font-family-monospace;
16+
font-size: 15px;
17+
margin-top: 0;
18+
margin-bottom: 0;
19+
text-align: center;
20+
line-height: normal;
21+
}
22+
23+
.console-pf .terminal .terminal-cursor {
24+
border: 1px solid @color-pf-white;
25+
}
26+
27+
.console-pf .terminal:focus .terminal-cursor {
28+
border: none;
29+
animation: blink 1s step-end infinite;
30+
}
31+
32+
@keyframes blink {
33+
from {
34+
color: @color-pf-black;
35+
background: @color-pf-white;
36+
}
37+
38+
50% {
39+
color: @color-pf-white;
40+
background: @color-pf-black;
41+
}
42+
}
43+
44+
.console-terminal-pf {
45+
width: 100%;
46+
padding-right: 0px;
47+
padding-left: 0px;
48+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.vnc-console {
2+
.vnc-console-connecting {
3+
background-color: @color-pf-green;
4+
}
5+
.vnc-console-disconnected {
6+
background-color: @color-pf-red;
7+
}
8+
}

packages/console/package.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"name": "@patternfly-react/console",
3+
"version": "0.0.0",
4+
"description": "This library provides a set of Console React components for use with the PatternFly reference implementation.",
5+
"main": "dist/cjs/index.js",
6+
"sideEffects": false,
7+
"files": [
8+
"./dist"
9+
],
10+
"repository": {
11+
"type": "git",
12+
"url": "https://github.com/patternfly/patternfly-react.git"
13+
},
14+
"keywords": [
15+
"react",
16+
"patternfly"
17+
],
18+
"author": "Red Hat",
19+
"license": "Apache-2.0",
20+
"bugs": {
21+
"url": "https://github.com/patternfly/patternfly-react/issues"
22+
},
23+
"homepage": "https://github.com/patternfly/patternfly-react/blob/master/src/console/README.md",
24+
"publishConfig": {
25+
"access": "public"
26+
},
27+
"scripts": {
28+
"build": "node ../../scripts/runScript.js build:console",
29+
"prepublish": "yarn build"
30+
},
31+
"dependencies": {
32+
"@novnc/novnc": "^1.0.0",
33+
"patternfly": "^3.45.0",
34+
"patternfly-react": "^1.19.1",
35+
"xterm": "^3.3.0"
36+
},
37+
"devDependencies": {},
38+
"peerDependencies": {
39+
"prop-types": "^15.6.1",
40+
"react": "^16.3.2",
41+
"react-dom": "^16.3.2"
42+
}
43+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/**
2+
SerialConsole styles
3+
*/
4+
5+
.console-pf > .terminal {
6+
color: $color-pf-white;
7+
text-align: left;
8+
outline: medium none;
9+
background-color: $color-pf-black;
10+
border: 1px solid $color-pf-black;
11+
padding: 10px;
12+
}
13+
14+
.console-pf {
15+
font-family: $font-family-monospace;
16+
font-size: 15px;
17+
margin-top: 0;
18+
margin-bottom: 0;
19+
text-align: center;
20+
line-height: normal;
21+
}
22+
23+
.console-pf .terminal .terminal-cursor {
24+
border: 1px solid $color-pf-white;
25+
}
26+
27+
.console-pf .terminal:focus .terminal-cursor {
28+
border: none;
29+
animation: blink 1s step-end infinite;
30+
}
31+
32+
@keyframes blink {
33+
from {
34+
color: $color-pf-black;
35+
background: $color-pf-white;
36+
}
37+
38+
50% {
39+
color: $color-pf-white;
40+
background: $color-pf-black;
41+
}
42+
}
43+
44+
.console-terminal-pf {
45+
width: 100%;
46+
height: 40%;
47+
padding-right: 0;
48+
padding-left: 0;
49+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.vnc-console {
2+
.vnc-console-connecting {
3+
background-color: $color-pf-green;
4+
}
5+
6+
.vnc-console-disconnected {
7+
background-color: $color-pf-red;
8+
}
9+
}

packages/console/sass/console.scss

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
Styling shared by both VncConsole and SerialConsole.
3+
*/
4+
// Bootstrap Core variables and mixins
5+
@import 'bootstrap/variables';
6+
@import 'bootstrap/mixins';
7+
8+
// Patternfly Core variables and mixins
9+
@import 'patternfly/variables';
10+
@import 'patternfly/bootstrap-mixin-overrides';
11+
@import 'patternfly/mixins';
12+
13+
// Console StyleSheets
14+
@import "serial-console";
15+
@import "vnc-console";
16+
17+
/**
18+
Styling shared by both VncConsole and SerialConsole.
19+
*/
20+
.console-actions-pf {
21+
float: right;
22+
position: relative;
23+
top: -2em;
24+
}
25+
26+
.console-actions-buttons-pf {
27+
margin-left: 5px;
28+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from 'react';
2+
3+
const propTypes = {};
4+
const defaultProps = {};
5+
6+
const SerialConsole = () => <div>Serial Console</div>;
7+
8+
SerialConsole.propTypes = propTypes;
9+
SerialConsole.defaultProps = defaultProps;
10+
11+
export default SerialConsole;

0 commit comments

Comments
 (0)