@skydive-project/skydive-ui
Version:
Skydive WebUI v2
243 lines (240 loc) • 6.12 kB
text/typescript
/*
* Copyright (C) 2019 Sylvain Afchain
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
import { createStyles, Theme } from '@material-ui/core'
import { fade } from '@material-ui/core/styles'
const drawerWidth = 300
export const styles = (theme: Theme) => createStyles({
app: {
display: 'flex',
},
grow: {
flexGrow: 1
},
avatar: {
margin: 10,
color: '#121212',
backgroundColor: '#757575'
},
toolbar: {
paddingRight: 24, // keep right padding when drawer closed
},
toolbarIcon: {
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-end',
padding: '0 8px',
...theme.mixins.toolbar,
},
appBar: {
backgroundColor: theme.palette.common.black,
zIndex: theme.zIndex.drawer + 1,
transition: theme.transitions.create(['width', 'margin'], {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen,
}),
},
appBarShift: {
marginLeft: drawerWidth,
width: `calc(100% - ${drawerWidth}px)`,
transition: theme.transitions.create(['width', 'margin'], {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.enteringScreen,
}),
},
menuButton: {
marginRight: 20,
},
menuButtonHidden: {
display: 'none',
},
title: {
display: 'none',
[theme.breakpoints.up('sm')]: {
display: 'block',
},
},
subTitle: {
fontStyle: 'italic',
color: '#ddd'
},
drawerPaper: {
position: 'relative',
whiteSpace: 'nowrap',
width: drawerWidth,
transition: theme.transitions.create('width', {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.enteringScreen,
}),
},
drawerPaperClose: {
overflowX: 'hidden',
transition: theme.transitions.create('width', {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen,
}),
width: theme.spacing(7),
[theme.breakpoints.up('sm')]: {
width: theme.spacing(0),
},
},
content: {
flexGrow: 1,
height: '100vh',
overflow: 'auto',
},
container: {
paddingTop: theme.spacing(0),
paddingBottom: theme.spacing(0),
paddingLeft: theme.spacing(0),
paddingRight: theme.spacing(0),
},
topology: {
height: `calc(100vh - ${80}px)`,
},
rightPanel: {
position: 'absolute',
top: 65,
right: 0,
bottom: 0,
maxWidth: 'unset',
width: 'unset',
zIndex: 1000,
paddingTop: theme.spacing(0),
paddingBottom: theme.spacing(0),
paddingLeft: theme.spacing(0),
paddingRight: theme.spacing(0),
},
rightPanelPaper: {
overflow: 'hidden',
position: 'relative',
display: 'flex',
flexDirection: 'column',
width: 600,
[theme.breakpoints.down('xl')]: {
width: 500
},
height: `100%`,
transition: theme.transitions.create('width', {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.enteringScreen,
})
},
rightPanelPaperClose: {
overflow: 'hidden',
transition: theme.transitions.create('width', {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen,
}),
width: theme.spacing(7),
[theme.breakpoints.up('sm')]: {
width: theme.spacing(0),
},
},
nodeTagsPanel: {
position: 'absolute',
left: 15,
top: 80,
maxWidth: 'unset',
width: 'unset',
paddingTop: theme.spacing(0),
paddingBottom: theme.spacing(0),
paddingLeft: theme.spacing(0),
paddingRight: theme.spacing(0),
},
nodeTagsFab: {
margin: theme.spacing(1),
boxShadow: 'unset',
fontWeight: 'unset',
fontSize: '0.8rem',
padding: '0 12px !important'
},
linkTagsPanel: {
position: 'absolute',
left: 20,
bottom: 20,
maxWidth: 'unset',
width: 'unset',
paddingTop: theme.spacing(0),
paddingBottom: theme.spacing(0),
paddingLeft: theme.spacing(0),
paddingRight: theme.spacing(0),
},
linkTagsPanelPaper: {
position: 'relative',
display: 'flex',
flexDirection: 'column',
minWidth: '100px',
padding: theme.spacing(2),
border: '1px solid #ddd'
},
search: {
padding: theme.spacing(0.2),
position: 'relative',
borderRadius: theme.shape.borderRadius,
backgroundColor: fade(theme.palette.common.white, 0.15),
'&:hover': {
backgroundColor: fade(theme.palette.common.white, 0.25),
},
marginRight: theme.spacing(2),
marginLeft: 0,
width: '100%',
[theme.breakpoints.up('sm')]: {
marginLeft: theme.spacing(3),
width: 'auto',
},
lineHeight: 1,
fontSize: '2rem'
},
filtersPanel: {
position: 'absolute',
right: 20,
top: 80,
maxWidth: 'unset',
width: 'unset',
paddingTop: theme.spacing(0),
paddingBottom: theme.spacing(0),
paddingLeft: theme.spacing(0),
paddingRight: theme.spacing(0),
backgroundColor: theme.palette.common.white,
},
filtersFab: {
margin: theme.spacing(1),
boxShadow: 'unset',
fontWeight: 'unset',
fontSize: '0.8rem',
padding: '6px 12px !important'
},
menuItemIconFree: {
fontFamily: `"Font Awesome 5 Free" !important`,
fontWeight: 900,
fontSize: 16,
marginBottom: `0 !important`,
minWidth: 32
},
menuItemIconBrands: {
fontFamily: `"Font Awesome 5 Brands" !important`,
fontWeight: 900,
fontSize: 16,
marginBottom: `0 !important`,
minWidth: 32
},
menuItemIconImg: {
maxWidth: 18,
maxHeight: 18,
verticalAlign: 'middle'
}
})