diff --git a/src/browser/components/DataTables.jsx b/src/browser/components/DataTables.jsx index 68f1c23d998..3cff086d8a9 100644 --- a/src/browser/components/DataTables.jsx +++ b/src/browser/components/DataTables.jsx @@ -25,7 +25,8 @@ export const StyledTable = styled.table` margin-bottom: 0 ` export const StyledBodyTr = styled.tr` - background-color: #fff + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryText}; ` export const StyledTh = styled.th` text-align: left @@ -43,12 +44,12 @@ export const StyledTd = styled.td` ` export const StyledJsonPre = styled.pre` - background-color: #eee; + background-color: ${props => props.theme.preBackground}; -webkit-border-radius: 5px; border-radius: 5px; margin: 20px 10px; border-bottom: none; - color: #666; + color: ${props => props.theme.preText}; line-height: 26px; padding: 2px 10px; max-width: 320px; diff --git a/src/browser/components/Tables.jsx b/src/browser/components/Tables.jsx index 689069a892b..fedcca6c046 100644 --- a/src/browser/components/Tables.jsx +++ b/src/browser/components/Tables.jsx @@ -23,20 +23,21 @@ import styled from 'styled-components' const StyledTable = styled.table` border-radius: 4px; margin: 0 15px 20px 15px; - background-color: #fff; -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05); box-shadow: 0 1px 1px rgba(0,0,0,.05); ` const StyledTr = styled.tr` padding: 10px 15px; border: 1px solid #ddd; + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryText}; ` const StyledTh = styled.th` font-size: 18px; -webkit-column-span: all; column-span: all; text-align: left; - background-color: #f5f5f5; + background-color: ${props => props.theme.secondaryBackground}; border-color: #ddd; padding: 10px 15px ` diff --git a/src/browser/components/Text.jsx b/src/browser/components/Text.jsx new file mode 100644 index 00000000000..8764100dece --- /dev/null +++ b/src/browser/components/Text.jsx @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Neo4j is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +import styled from 'styled-components' + +export const Lead = styled.p` + font-weight: 300; + font-size: 15px; + line-height: 22px; + font-family: ${props => props.theme.primaryFontFamily}; + color: ${props => props.theme.headerText}; +` diff --git a/src/browser/components/buttons/index.jsx b/src/browser/components/buttons/index.jsx index c162910d464..ce512cb0019 100644 --- a/src/browser/components/buttons/index.jsx +++ b/src/browser/components/buttons/index.jsx @@ -108,23 +108,23 @@ export const NavigationButtonContainer = styled.li` ` const StyledFormButton = styled.button` - color: ${props => props.theme.primaryText}; - background-color: #fff; + color: ${props => props.theme.secondaryButtonText}; + background-color: ${props => props.theme.secondaryButtonBackground}; + border: ${props => props.theme.secondaryButtonBorder}; + font-family: ${props => props.theme.primaryFontFamily}; padding: 6px 12px; - border-color: #ccc; font-weight: 400; font-size: 14px; - font-family: ${props => props.theme.primaryFontFamily}; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; - border: ${props => props.theme.formButtonBorder}; border-radius: 4px; line-height: 20px; &:hover { - background-color: ${props => props.theme.formButtonBackgroundHover}; - border: ${props => props.theme.formButtonBorderHover} + background-color: ${props => props.theme.secondaryButtonBackgroundHover}; + color: ${props => props.theme.secondaryButtonTextHover}; + border: ${props => props.theme.secondaryButtonBorderHover}; } ` @@ -183,13 +183,15 @@ const StyledCypherFrameButton = styled.li` text-align: center; &:hover { background-color: ${props => props.theme.secondaryButtonBackgroundHover}; - color: ${props => props.theme.editorBarBackground}; + color: ${props => props.theme.secondaryButtonTextHover}; + fill: ${props => props.theme.secondaryButtonTextHover}; text-decoration: none; } ` const StyledSelectedCypherFrameButton = styled(StyledCypherFrameButton)` background-color: ${props => props.theme.secondaryButtonBackgroundHover}; - color: ${props => props.theme.editorBarBackground}; + color: ${props => props.theme.secondaryButtonTextHover}; + fill: ${props => props.theme.secondaryButtonTextHover}; ` export const FrameButton = (props) => { const {pressed, children, ...rest} = props @@ -199,7 +201,6 @@ const StyledFrameButton = styled.li` color: ${props => props.theme.secondaryButtonText}; background-color: transparent; border-left: ${props => props.theme.inFrameBorder}; - border-right: ${props => props.theme.inFrameBorder}; height: ${dim.frameTitlebarHeight}px; width: 41px; cursor: pointer; @@ -209,15 +210,15 @@ const StyledFrameButton = styled.li` display: inline-block; &:hover { background-color: ${props => props.theme.secondaryButtonBackgroundHover}; - color: ${props => props.theme.secondaryBackground}; - fill: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryButtonTextHover}; + fill: ${props => props.theme.secondaryButtonTextHover}; text-decoration: none; } ` const StyledFrameButtonPressed = styled(StyledFrameButton)` background-color: ${props => props.theme.secondaryButtonBackgroundHover}; - color: ${props => props.theme.secondaryBackground}; - fill: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryButtonTextHover}; + fill: ${props => props.theme.secondaryButtonTextHover}; ` export const DefaultA = styled.a` color: ${props => props.theme.secondaryButtonText}; diff --git a/src/browser/modules/App/styled.jsx b/src/browser/modules/App/styled.jsx index 501b108675d..ae9b00375e4 100644 --- a/src/browser/modules/App/styled.jsx +++ b/src/browser/modules/App/styled.jsx @@ -49,10 +49,11 @@ export const StyledBody = styled.div` export const StyledMainWrapper = styled.div` flex: auto; - background-color: #D2D5DA; overflow: auto; padding: 0; z-index: 1; height: auto; width: 0; + background-color: ${props => props.theme.primaryBackground}; + color: ${props => props.theme.primaryText}; ` diff --git a/src/browser/modules/D3Visualization/components/styled.jsx b/src/browser/modules/D3Visualization/components/styled.jsx index 08607df8c98..d644fd783e0 100644 --- a/src/browser/modules/D3Visualization/components/styled.jsx +++ b/src/browser/modules/D3Visualization/components/styled.jsx @@ -24,6 +24,20 @@ export const legendRowHeight = 32 export const inspectorFooterContractedHeight = 22 const pMarginTop = 6 +// Themes is here because the colors are unique to this component +const getColor = (theme, name) => { + const themes = { + normal: { + svgBackground: '#f9fbfd' + }, + dark: { + svgBackground: '#5a6070' + } + } + if (themes[theme] === undefined) theme = 'normal' + return themes[theme][name] || '' +} + export const StyledSvgWrapper = styled.div` line-height: 0; height: 100%; @@ -31,7 +45,7 @@ export const StyledSvgWrapper = styled.div` > svg { height: 100%; width: 100%; - background-color: #f9fbfd; + background-color: ${props => getColor(props.theme.name, 'svgBackground')}; .node { cursor: pointer; > .ring { @@ -181,10 +195,10 @@ export const StyledStatusBarWrapper = styled.div` export const StyledStatusBar = styled.div` min-height: 39px; line-height: 39px; - color: #788185; + color: ${props => props.theme.secondaryText}; font-size: 13px; position: relative; - background-color: #fff; + background-color: ${props => props.theme.secondaryBackground}; white-space: nowrap; overflow: hidden; border-top: 1px solid #e6e9ef; @@ -256,7 +270,7 @@ export const StyledLegendRow = styled.div` } ` export const StyledLegend = styled.div` - background-color: #eef1f8; + background-color: ${props => props.theme.secondaryBackground}; margin-top: -${(legendRowHeight * 2) + 1}px; &.one-row { margin-top: -${legendRowHeight}px; diff --git a/src/browser/modules/Editor/styled.jsx b/src/browser/modules/Editor/styled.jsx index e58ab4e259c..194902b5cc5 100644 --- a/src/browser/modules/Editor/styled.jsx +++ b/src/browser/modules/Editor/styled.jsx @@ -59,7 +59,11 @@ const BaseEditorWrapper = styled.div` padding: ${editorPadding}px; background-color: ${props => props.theme.editorBarBackground}; font-family: Monaco,"Courier New",Terminal,monospace; - min-Height: ${props => Math.max(dim.editorbarHeight, props.minHeight + editorPadding * 2)}px + min-Height: ${props => Math.max(dim.editorbarHeight, props.minHeight + editorPadding * 2)}px; + .CodeMirror { + background-color: ${props => props.theme.editorBackground} !important; + color: ${props => props.theme.editorCommandColor}; + } ` export const EditorWrapper = styled(BaseEditorWrapper)` diff --git a/src/browser/modules/Guides/Slide.jsx b/src/browser/modules/Guides/Slide.jsx index b4c5bc2147c..e7145675c83 100644 --- a/src/browser/modules/Guides/Slide.jsx +++ b/src/browser/modules/Guides/Slide.jsx @@ -19,8 +19,10 @@ */ import styles from './style.css' +import { StyledSlide } from './styled.jsx' + const Slide = ({html}) => { - return (
) + return () } export default Slide diff --git a/src/browser/modules/Guides/styled.jsx b/src/browser/modules/Guides/styled.jsx index 963ccd78b94..1c7b81644da 100644 --- a/src/browser/modules/Guides/styled.jsx +++ b/src/browser/modules/Guides/styled.jsx @@ -62,3 +62,41 @@ export const CarouselIndicatorActive = styled(CarouselIndicator)` export const StyledUl = styled.ul` margin: 15px; ` + +export const StyledSlide = styled.div` + color: ${props => props.theme.primaryText}; + & p.lead, .title, .subtitle, .content > p, .table-help { + color: ${props => props.theme.primaryText} !important; + } + & a { + color: ${props => props.theme.link}; + text-decoration: ${props => props.theme.name === 'dark' ? 'underline' : 'none'}; + } + & kbd { + color: ${props => props.theme.primaryBackground} !important; /* inverted */ + background-color: ${props => props.theme.primaryText} !important; + } + & .content > pre { + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.preText}; + } + & pre.runnable { + background-color: ${props => props.theme.preBackground}; + color: ${props => props.theme.preText}; + } + & pre.content { + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.preText}; + } + & a[help-topic], a[play-topic], a[server-topic], a[exec-topic] { + background-color: ${props => props.theme.topicBackground} !important; + color: ${props => props.theme.topicText} !important; + } + & button [help-topic], button [play-topic], button [server-topic], button [exec-topic] { + background-color: ${props => props.theme.primaryButtonBackground}; + color: ${props => props.theme.primaryButtonText}; + } + .code { + background-color: transparent; + } +` diff --git a/src/browser/modules/Main/styled.jsx b/src/browser/modules/Main/styled.jsx index 448bd42e985..762881077bc 100644 --- a/src/browser/modules/Main/styled.jsx +++ b/src/browser/modules/Main/styled.jsx @@ -37,7 +37,6 @@ export const StyledMain = styled.div` flex: 0 0 auto; display: flex; flex-direction: column; - background-color: #D2D5DA; min-width: 0; position: relative; height: 100vh; diff --git a/src/browser/modules/Sidebar/Settings.jsx b/src/browser/modules/Sidebar/Settings.jsx index e4b62917cf7..22948887fdf 100644 --- a/src/browser/modules/Sidebar/Settings.jsx +++ b/src/browser/modules/Sidebar/Settings.jsx @@ -33,7 +33,7 @@ const visualSettings = theme: { displayName: 'Theme', type: 'radio', - options: ['normal', 'outline'] + options: ['normal', 'outline', 'dark'] } }, { diff --git a/src/browser/modules/Stream/Auth/ChangePasswordFrame.jsx b/src/browser/modules/Stream/Auth/ChangePasswordFrame.jsx index 91133e3af54..e6783dfe02a 100644 --- a/src/browser/modules/Stream/Auth/ChangePasswordFrame.jsx +++ b/src/browser/modules/Stream/Auth/ChangePasswordFrame.jsx @@ -24,7 +24,8 @@ import ConnectionForm from './ConnectionForm' import FrameTemplate from '../FrameTemplate' import FrameError from '../FrameError' import Render from 'browser-components/Render' -import {H3} from 'browser-components/headers' +import { H3 } from 'browser-components/headers' +import { Lead } from 'browser-components/Text' import { StyledConnectionFrame, StyledConnectionAside, @@ -73,10 +74,10 @@ export class ChangePasswordFrame extends Component {

Password change

- Enter your current password and the new twice to change your password. + Enter your current password and the new twice to change your password. - Password change successful + Password change successful
diff --git a/src/browser/modules/Stream/Auth/ConnectionFrame.jsx b/src/browser/modules/Stream/Auth/ConnectionFrame.jsx index 2e42223b2d0..29dcfe51965 100644 --- a/src/browser/modules/Stream/Auth/ConnectionFrame.jsx +++ b/src/browser/modules/Stream/Auth/ConnectionFrame.jsx @@ -24,6 +24,8 @@ import FrameTemplate from '../FrameTemplate' import ConnectionForm from './ConnectionForm' import FrameError from '../FrameError' import {H3} from 'browser-components/headers' +import { Lead } from 'browser-components/Text' + import Render from 'browser-components/Render' import { StyledConnectionFrame, @@ -53,16 +55,16 @@ export class ConnectionFrame extends Component { - +

Connect to Neo4j

- Database access requires an authenticated connection. - + Database access requires an authenticated connection. +
- +

Connected to Neo4j

- Nice to meet you. - + Nice to meet you. +
diff --git a/src/browser/modules/Stream/Auth/DisconnectFrame.jsx b/src/browser/modules/Stream/Auth/DisconnectFrame.jsx index 96477376d3c..866aa80af04 100644 --- a/src/browser/modules/Stream/Auth/DisconnectFrame.jsx +++ b/src/browser/modules/Stream/Auth/DisconnectFrame.jsx @@ -20,7 +20,8 @@ import FrameTemplate from '../FrameTemplate' import { StyledConnectionFrame, StyledConnectionAside } from './styled' -import {H3} from 'browser-components/headers' +import { H3 } from 'browser-components/headers' +import { Lead } from 'browser-components/Text' import Render from 'browser-components/Render' const Disconnect = ({frame, activeConnectionData}) => { @@ -31,16 +32,20 @@ const Disconnect = ({frame, activeConnectionData}) => { - +

Connected

- {'You\'re still connected'} - + + You're still connected + +
- +

Disconnected

- You are disconnected from the server - + + You are disconnected from the server + +
diff --git a/src/browser/modules/Stream/HistoryFrame.jsx b/src/browser/modules/Stream/HistoryFrame.jsx index 551cf975fdc..cd9ac905216 100644 --- a/src/browser/modules/Stream/HistoryFrame.jsx +++ b/src/browser/modules/Stream/HistoryFrame.jsx @@ -21,10 +21,9 @@ import { withBus } from 'preact-suber' import * as editor from 'shared/modules/editor/editorDuck' import FrameTemplate from './FrameTemplate' +import { StyledHistoryList } from './styled' import HistoryRow from './HistoryRow' -import styles from './style_history.css' - export const HistoryFrame = (props) => { const {frame, bus} = props const onHistoryClick = (cmd) => { @@ -36,7 +35,7 @@ export const HistoryFrame = (props) => { return ( {historyRows}} + contents={{historyRows}} /> ) } diff --git a/src/browser/modules/Stream/HistoryRow.jsx b/src/browser/modules/Stream/HistoryRow.jsx index 230db33af56..f1f37b08172 100644 --- a/src/browser/modules/Stream/HistoryRow.jsx +++ b/src/browser/modules/Stream/HistoryRow.jsx @@ -18,7 +18,9 @@ * along with this program. If not, see . */ +import { StyledHistoryRow } from './styled' + const HistoryRow = ({entry, handleEntryClick}) => { - return
  • handleEntryClick(entry)}>{entry}
  • + return handleEntryClick(entry)}>{entry} } export default HistoryRow diff --git a/src/browser/modules/Stream/Views/CodeView.jsx b/src/browser/modules/Stream/Views/CodeView.jsx index aa50fe057f0..3a4c9fb2ac2 100644 --- a/src/browser/modules/Stream/Views/CodeView.jsx +++ b/src/browser/modules/Stream/Views/CodeView.jsx @@ -18,35 +18,34 @@ * along with this program. If not, see . */ -import style from './code_style.css' -import { PaddedDiv } from '../styled' +import { PaddedDiv, StyledTable, StyledTBody, StyledAlteringTr, StyledStrongTd, StyledTd } from '../styled' const CodeView = ({request, query, style: displayStyle}) => { if (request.status !== 'success') return null return ( - - - - - - - - - - - - - - - - - - - -
    Server version{request.result.summary.server.version}
    Server address{request.result.summary.server.address}
    Query{query}
    Response + + + + Server version + {request.result.summary.server.version} + + + Server address + {request.result.summary.server.address} + + + Query + {query} + + + Response +
    {JSON.stringify(request.result.records, null, 2)}
    -
    + + + +
    ) } diff --git a/src/browser/modules/Stream/Views/code_style.css b/src/browser/modules/Stream/Views/code_style.css deleted file mode 100644 index 83f1c5bc46a..00000000000 --- a/src/browser/modules/Stream/Views/code_style.css +++ /dev/null @@ -1,12 +0,0 @@ -.altRows tr:nth-child(even) { - background-color: #ddd -} - -.altRows td:first-child { - vertical-align: top; - width: 170px; -} - -.bold { - font-weight: bold; -} diff --git a/src/browser/modules/Stream/style_history.css b/src/browser/modules/Stream/style_history.css deleted file mode 100644 index 0f9abdbad94..00000000000 --- a/src/browser/modules/Stream/style_history.css +++ /dev/null @@ -1,12 +0,0 @@ -.history-list { - list-style: none; - li { - border: 1px solid black; - margin: 10px; - padding: 10px; - cursor: pointer; - } - li:hover { - background-color: #ddd - } -} diff --git a/src/browser/modules/Stream/styled.jsx b/src/browser/modules/Stream/styled.jsx index 225e9c38da9..1a2f0c5f974 100644 --- a/src/browser/modules/Stream/styled.jsx +++ b/src/browser/modules/Stream/styled.jsx @@ -48,7 +48,7 @@ const rollDownAnimation = keyframes` // Frames export const StyledFrame = styled.article` width: auto; - background-color: #fff; + background-color: ${props => props.theme.secondaryBackground}; box-shadow: 0 1px 4px rgba(0,0,0,.1); animation: ${rollDownAnimation} .2s linear; border: ${props => props.theme.frameBorder}; @@ -132,10 +132,12 @@ export const FrameTitlebarButtonSection = styled.ul` padding-left: 0; margin: 0; margin-left: auto; + color: ${props => props.theme.secondaryButtonText}; ` export const StyledFrameCommand = styled.label` font-family: ${props => props.theme.editorFont}; + color: ${props => props.theme.secondaryButtonText}; font-size: 1.2em; line-height: 2.2em; margin: 3px 5px 3px 15px; @@ -228,7 +230,8 @@ export const StyledPreformattedArea = styled.pre` margin: 0; background: none; border: none; - background-color: #f5f5f5; + background-color: ${props => props.theme.primaryBackground}; + color: ${props => props.theme.preText}; ` export const ErrorText = styled.span` @@ -244,10 +247,10 @@ export const StyledStatsBarContainer = styled.div` export const StyledStatsBar = styled.div` min-height: 39px; line-height: 39px; - color: #788185; + color: ${props => props.theme.secondaryText}; font-size: 13px; position: relative; - background-color: #fff; + background-color: ${props => props.theme.secondaryBackground}; white-space: nowrap; overflow: hidden; padding-left: 24px; @@ -272,7 +275,6 @@ export const DropdownButton = styled.li` color: ${props => props.theme.secondaryButtonText}; background-color: transparent; border-left: ${props => props.theme.inFrameBorder}; - border-right: ${props => props.theme.inFrameBorder}; height: ${dim.frameTitlebarHeight}px; width: 41px; cursor: pointer; @@ -282,8 +284,8 @@ export const DropdownButton = styled.li` float: left; &:hover { background-color: ${props => props.theme.secondaryButtonBackgroundHover}; - color: ${props => props.theme.secondaryBackground}; - fill: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryButtonTextHover}; + fill: ${props => props.theme.secondaryButtonTextHover}; text-decoration: none; } display: inline-block; @@ -301,8 +303,8 @@ export const DropdownList = styled.ul` export const DropdownContent = styled.li` display: none; position: absolute; - background-color: #ffffff; - color: #262626; + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryButtonText}; width: 100px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); border-radius: 6px; @@ -312,14 +314,14 @@ export const DropdownContent = styled.li` ` export const DropdownItem = styled.a` - background-color: #ffffff; - color: #262626; + background-color: ${props => props.theme.secondaryBackground}; + color: ${props => props.theme.secondaryButtonText}; width: 100%; display: inline-block; &:hover { - color: #262626; + color: ${props => props.theme.secondaryButtonTextHover}; text-decoration: none; - background-color: #f5f5f5; + background-color: ${props => props.theme.secondaryButtonBackgroundHover}; } ` @@ -389,3 +391,41 @@ export const StyledWidthSlider = styled.input` outline: none; } ` + +export const StyledTable = styled.table` + margin-top: 30px; +` + +export const StyledTBody = styled.tbody` + & td:first-child { + vertical-align: top; + width: 170px; + } +` + +export const StyledAlteringTr = styled.tr` + &:nth-child(even) { + background-color: ${props => props.theme.alteringTableRowBackground}; + } +` + +export const StyledStrongTd = styled.td` + font-weight: bold; +` + +export const StyledTd = styled.td` +` + +export const StyledHistoryList = styled.ul` + list-style: none; +` + +export const StyledHistoryRow = styled.li` + border: 1px solid black; + margin: 10px; + padding: 10px; + cursor: pointer; + &:hover { + background-color: ${props => props.theme.primaryBackground}; + } +` diff --git a/src/browser/styles/themes.js b/src/browser/styles/themes.js index 9528286a87a..45b9a991577 100644 --- a/src/browser/styles/themes.js +++ b/src/browser/styles/themes.js @@ -19,25 +19,34 @@ */ export const base = { + name: 'base', // Text colors primaryText: '#333', - secondaryText: '#fff', + secondaryText: '#717172', headerText: '#333', asideText: '#666', link: '#428BCA', linkHover: '#5dade2', + editorCommandColor: '#333', + topicText: '#428BCA', + preText: '#333', // Backgrounds - primaryBackground: '#eee', + primaryBackground: '#D2D5DA', secondaryBackground: '#fff', editorBarBackground: '#EFEFF4', + editorBackground: '#fff', drawerBackground: '#30333a', + topicBackground: '#f8f8f8', + preBackground: '#f5f5f5', + alteringTableRowBackground: '#f5f5f5', // Fonts primaryFontFamily: '"Helvetica Neue", Helvetica, Arial, sans-serif', drawerHeaderFontFamily: "'Open Sans', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, sans-serif", streamlineFontFamily: 'streamline', editorFont: '"Inconsolata", "Monaco", "Lucida Console", Courier, monospace;', + // Headers primaryHeaderText: '#fff', @@ -48,33 +57,77 @@ export const base = { auth: '#428BCA', // Buttons - primaryButtonText: '', - primaryButtonBackground: '', + primaryButtonText: '#fff', + primaryButtonBackground: '#008cc1', secondaryButtonText: '#717172', secondaryButtonBorder: '1px solid #717172', secondaryButtonBackground: 'transparent', - secondaryButtonTextHover: '#40454F', + secondaryButtonTextHover: '#fff', secondaryButtonBorderHover: '1px solid #717172', secondaryButtonBackgroundHover: '#717172', formButtonBorder: '1px solid #ccc', formButtonBorderHover: '1px solid ##adadad', formButtonBackgroundHover: '#e6e6e6', - // Frame + // Borders frameBorder: 'none', inFrameBorder: '1px solid #e6e9ef', + topicBorder: '1px solid #dadada', + + // Frame frameSidebarBackground: '#F8F9FB', frameTitlebarText: '#717172' } export const normal = { - ...base + ...base, + name: 'normal' } export const outline = { ...base, + name: 'outline', primaryText: '#000', secondaryText: '#000', frameBorder: '1px solid #000', - inFrameBorder: '1px solid #000' + inFrameBorder: '1px solid #000', + topicBorder: '1px solid #000' +} + +export const dark = { + ...base, + name: 'dark', + + primaryText: '#f4f4f4', + secondaryText: '#eee', + headerText: '#f4f4f4', + primaryHeaderText: '#f4f4f4', + editorCommandColor: '#1abc9c', + link: '#f4f4f4', + topicText: '#fff', + preText: '#fff', + + // Backgrounds + primaryBackground: '#282c32', + secondaryBackground: '#5a6070', + editorBarBackground: '#5a6070', + editorBackground: '#282c32', + drawerBackground: '#30333a', + frameSidebarBackground: '#5a6070', + topicBackground: 'transparent', + preBackground: '#282c32', + alteringTableRowBackground: '#282c32', + + // Buttons + primaryButtonText: '#fff', + primaryButtonBackground: '#008cc1', + secondaryButtonText: '#f4f4f4', + secondaryButtonBorder: '1px solid #717172', + secondaryButtonBackground: 'transparent', + secondaryButtonTextHover: '#f4f4f4', + secondaryButtonBorderHover: '1px solid #717172', + secondaryButtonBackgroundHover: '#282c32', + + // Borders + inFrameBorder: '1px solid #f4f4f4' }