diff --git a/README.md b/README.md index 01791d4c..e64bb345 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,7 @@ A live-editing time travel environment for [Redux](https://github.com/rackt/redu * If you change the reducer code, each “staged” action will be re-evaluted * If the reducers throw, you will see during which action this happened, and what the error was * With `persistState()` store enhancer, you can persist debug sessions across page reloads -* To monitor a part of the state, you can set a `select` prop on the DevTools component: ` state.todos} store={store} monitor={LogMonitor} />` * Toggle visibility with Ctrl+H -* To hide the devtools on load, set `visibleOnLoad` to false, e.g.: `` ### Installation @@ -30,10 +28,12 @@ To install, firstly import `devTools` into your root React component: ```js // Redux utility functions import { compose, createStore, applyMiddleware } from 'redux'; + // Redux DevTools store enhancers import { devTools, persistState } from 'redux-devtools'; -// React components for Redux DevTools -import { DevTools, DebugPanel, LogMonitor } from 'redux-devtools/lib/react'; + +// A monitor component for Redux DevTools +import LogMonitor from 'redux-devtools-log-monitor'; ``` Then, add `devTools` to your store enhancers, and create your store: @@ -42,8 +42,10 @@ Then, add `devTools` to your store enhancers, and create your store: const finalCreateStore = compose( // Enables your middleware: applyMiddleware(m1, m2, m3), // any Redux middleware, e.g. redux-thunk + // Provides support for DevTools: devTools(), + // Lets you write ?debug_session= in address bar to persist debug sessions persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/)) )(createStore); @@ -51,7 +53,7 @@ const finalCreateStore = compose( const store = finalCreateStore(reducer); ``` -Finally, include the `DevTools` in your page. You may pass either `LogMonitor` (the default one) or any of the custom monitors described below. For convenience, you can use `DebugPanel` to dock `DevTools` to some part of the screen, but you can put it also somewhere else in the component tree. +Finally, include the `DevTools` in your page. You may pass either `LogMonitor` (the default one) or any of the custom monitors described below. ```js export default class Root extends Component { @@ -59,11 +61,10 @@ export default class Root extends Component { return (
- {() => } + - - - + +
); } diff --git a/package.json b/package.json index 3eec1194..92740fdb 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,6 @@ "redux": "^2.0.0 || ^3.0.0" }, "dependencies": { - "react-json-tree": "^0.1.9", - "react-mixin": "^1.7.0", "react-redux": "^3.0.0", "redux": "^2.0.0 || ^3.0.0" } diff --git a/src/connectMonitor.js b/src/connectMonitor.js new file mode 100644 index 00000000..9ff7e892 --- /dev/null +++ b/src/connectMonitor.js @@ -0,0 +1,6 @@ +import { connect } from 'react-redux'; +import { ActionCreators } from './devTools'; + +export default function connectMonitor(Monitor) { + return connect(state => state, ActionCreators)(Monitor); +} diff --git a/src/createDevTools.js b/src/createDevTools.js deleted file mode 100644 index b5eecadd..00000000 --- a/src/createDevTools.js +++ /dev/null @@ -1,46 +0,0 @@ -import createAll from 'react-redux/lib/components/createAll'; -import { ActionCreators } from './devTools'; - -export default function createDevTools(React) { - const { PropTypes, Component } = React; - const { connect } = createAll(React); - - @connect( - state => state, - ActionCreators - ) - class DevTools extends Component { - render() { - const { monitor: Monitor } = this.props; - return ; - } - } - - return class DevToolsWrapper extends Component { - static propTypes = { - monitor: PropTypes.func.isRequired, - store: PropTypes.shape({ - devToolsStore: PropTypes.shape({ - dispatch: PropTypes.func.isRequired - }).isRequired - }).isRequired - }; - - constructor(props, context) { - if (props.store && !props.store.devToolsStore) { - console.error( - 'Could not find the devTools store inside your store. ' + - 'Have you applied devTools() store enhancer?' - ); - } - super(props, context); - } - - render() { - return ( - - ); - } - }; -} diff --git a/src/index.js b/src/index.js index 6e63a3a8..c2668d84 100644 --- a/src/index.js +++ b/src/index.js @@ -1,2 +1,3 @@ export { default as devTools } from './devTools'; export { default as persistState } from './persistState'; +export { default as connectMonitor } from './connectMonitor'; diff --git a/src/react/DebugPanel.js b/src/react/DebugPanel.js deleted file mode 100644 index d58dc3b4..00000000 --- a/src/react/DebugPanel.js +++ /dev/null @@ -1,51 +0,0 @@ -import React, { PropTypes, Component } from 'react'; - -export function getDefaultStyle(props) { - let { left, right, bottom, top } = props; - if (typeof left === 'undefined' && typeof right === 'undefined') { - right = true; - } - if (typeof top === 'undefined' && typeof bottom === 'undefined') { - bottom = true; - } - - return { - position: 'fixed', - zIndex: 10000, - fontSize: 17, - overflow: 'hidden', - opacity: 1, - color: 'white', - left: left ? 0 : undefined, - right: right ? 0 : undefined, - top: top ? 0 : undefined, - bottom: bottom ? 0 : undefined, - maxHeight: (bottom && top) ? '100%' : '30%', - maxWidth: (left && right) ? '100%' : '30%', - wordWrap: 'break-word', - boxSizing: 'border-box', - boxShadow: '-2px 0 7px 0 rgba(0, 0, 0, 0.5)' - }; -} - -export default class DebugPanel extends Component { - static propTypes = { - left: PropTypes.bool, - right: PropTypes.bool, - bottom: PropTypes.bool, - top: PropTypes.bool, - getStyle: PropTypes.func.isRequired - }; - - static defaultProps = { - getStyle: getDefaultStyle - }; - - render() { - return ( -
- {this.props.children} -
- ); - } -} diff --git a/src/react/LogMonitor.js b/src/react/LogMonitor.js deleted file mode 100644 index d960f460..00000000 --- a/src/react/LogMonitor.js +++ /dev/null @@ -1,190 +0,0 @@ -import React, { PropTypes, findDOMNode, Component } from 'react'; -import LogMonitorEntry from './LogMonitorEntry'; -import LogMonitorButton from './LogMonitorButton'; -import * as themes from './themes'; - -const styles = { - container: { - fontFamily: 'monaco, Consolas, Lucida Console, monospace', - position: 'relative', - overflowY: 'hidden', - width: '100%', - height: '100%', - minWidth: 300 - }, - buttonBar: { - textAlign: 'center', - borderBottomWidth: 1, - borderBottomStyle: 'solid', - borderColor: 'transparent', - zIndex: 1, - display: 'flex', - flexDirection: 'row' - }, - elements: { - position: 'absolute', - left: 0, - right: 0, - top: 38, - bottom: 0, - overflowX: 'hidden', - overflowY: 'auto' - } -}; - -export default class LogMonitor extends Component { - constructor(props) { - super(props); - if (typeof window !== 'undefined') { - window.addEventListener('keydown', ::this.handleKeyPress); - } - } - - static propTypes = { - computedStates: PropTypes.array.isRequired, - currentStateIndex: PropTypes.number.isRequired, - monitorState: PropTypes.object.isRequired, - stagedActions: PropTypes.array.isRequired, - skippedActions: PropTypes.object.isRequired, - reset: PropTypes.func.isRequired, - commit: PropTypes.func.isRequired, - rollback: PropTypes.func.isRequired, - sweep: PropTypes.func.isRequired, - toggleAction: PropTypes.func.isRequired, - jumpToState: PropTypes.func.isRequired, - setMonitorState: PropTypes.func.isRequired, - select: PropTypes.func.isRequired, - visibleOnLoad: PropTypes.bool - }; - - static defaultProps = { - select: (state) => state, - monitorState: { isVisible: true }, - theme: 'nicinabox', - visibleOnLoad: true - }; - - componentWillReceiveProps(nextProps) { - const node = findDOMNode(this.refs.elements); - if (!node) { - this.scrollDown = true; - } else if ( - this.props.stagedActions.length < nextProps.stagedActions.length - ) { - const { scrollTop, offsetHeight, scrollHeight } = node; - - this.scrollDown = Math.abs( - scrollHeight - (scrollTop + offsetHeight) - ) < 20; - } else { - this.scrollDown = false; - } - } - - componentDidUpdate() { - const node = findDOMNode(this.refs.elements); - if (!node) { - return; - } - if (this.scrollDown) { - const { offsetHeight, scrollHeight } = node; - node.scrollTop = scrollHeight - offsetHeight; - this.scrollDown = false; - } - } - - componentWillMount() { - let visibleOnLoad = this.props.visibleOnLoad; - const { monitorState } = this.props; - this.props.setMonitorState({ - ...monitorState, - isVisible: visibleOnLoad - }); - } - - handleRollback() { - this.props.rollback(); - } - - handleSweep() { - this.props.sweep(); - } - - handleCommit() { - this.props.commit(); - } - - handleToggleAction(index) { - this.props.toggleAction(index); - } - - handleReset() { - this.props.reset(); - } - - handleKeyPress(event) { - const { monitorState } = this.props; - - if (event.ctrlKey && event.keyCode === 72) { // Ctrl+H - event.preventDefault(); - this.props.setMonitorState({ - ...monitorState, - isVisible: !monitorState.isVisible - }); - } - } - - render() { - const elements = []; - const { monitorState, skippedActions, stagedActions, computedStates, select } = this.props; - let theme; - if (typeof this.props.theme === 'string') { - if (typeof themes[this.props.theme] !== 'undefined') { - theme = themes[this.props.theme]; - } else { - console.warn('DevTools theme ' + this.props.theme + ' not found, defaulting to nicinabox'); - theme = themes.nicinabox; - } - } else { - theme = this.props.theme; - } - if (!monitorState.isVisible) { - return null; - } - - for (let i = 0; i < stagedActions.length; i++) { - const action = stagedActions[i]; - const { state, error } = computedStates[i]; - let previousState; - if (i > 0) { - previousState = computedStates[i - 1].state; - } - elements.push( - - ); - } - - return ( -
-
- Reset - Revert - skippedActions[key])}>Sweep - 1}>Commit -
-
- {elements} -
-
- ); - } -} diff --git a/src/react/LogMonitorButton.js b/src/react/LogMonitorButton.js deleted file mode 100644 index 93291524..00000000 --- a/src/react/LogMonitorButton.js +++ /dev/null @@ -1,85 +0,0 @@ -import React from 'react'; -import brighten from '../utils/brighten'; - -const styles = { - base: { - cursor: 'pointer', - fontWeight: 'bold', - borderRadius: 3, - padding: 4, - marginLeft: 3, - marginRight: 3, - marginTop: 5, - marginBottom: 5, - flexGrow: 1, - display: 'inline-block', - fontSize: '0.8em', - color: 'white', - textDecoration: 'none' - } -}; - -export default class LogMonitorButton extends React.Component { - constructor(props) { - super(props); - this.state = { - hovered: false, - active: false - }; - } - - handleMouseEnter() { - this.setState({ hovered: true }); - } - - handleMouseLeave() { - this.setState({ hovered: false }); - } - - handleMouseDown() { - this.setState({ active: true }); - } - - handleMouseUp() { - this.setState({ active: false }); - } - - onClick() { - if (!this.props.enabled) { - return; - } - if (this.props.onClick) { - this.props.onClick(); - } - } - - render() { - let style = { - ...styles.base, - backgroundColor: this.props.theme.base02 - }; - if (this.props.enabled && this.state.hovered) { - style = { - ...style, - backgroundColor: brighten(this.props.theme.base02, 0.2) - }; - } - if (!this.props.enabled) { - style = { - ...style, - opacity: 0.2, - cursor: 'text', - backgroundColor: 'transparent' - }; - } - return ( - - {this.props.children} - - ); - } -} diff --git a/src/react/LogMonitorEntry.js b/src/react/LogMonitorEntry.js deleted file mode 100644 index e9edfb9c..00000000 --- a/src/react/LogMonitorEntry.js +++ /dev/null @@ -1,82 +0,0 @@ -import React, { PropTypes, Component } from 'react'; -import JSONTree from 'react-json-tree'; -import LogMonitorEntryAction from './LogMonitorEntryAction'; - -const styles = { - entry: { - display: 'block', - WebkitUserSelect: 'none' - }, - tree: { - paddingLeft: 0 - } -}; - -export default class LogMonitorEntry extends Component { - static propTypes = { - index: PropTypes.number.isRequired, - state: PropTypes.object.isRequired, - action: PropTypes.object.isRequired, - select: PropTypes.func.isRequired, - error: PropTypes.string, - onActionClick: PropTypes.func.isRequired, - collapsed: PropTypes.bool - }; - - printState(state, error) { - let errorText = error; - if (!errorText) { - try { - return ; - } catch (err) { - errorText = 'Error selecting state.'; - } - } - return ( -
- {errorText} -
- ); - } - - handleActionClick() { - const { index, onActionClick } = this.props; - if (index > 0) { - onActionClick(index); - } - } - - render() { - const { index, error, action, state, collapsed } = this.props; - const styleEntry = { - opacity: collapsed ? 0.5 : 1, - cursor: (index > 0) ? 'pointer' : 'default' - }; - return ( -
- - {!collapsed && -
- {this.printState(state, error)} -
- } -
- ); - } -} diff --git a/src/react/LogMonitorEntryAction.js b/src/react/LogMonitorEntryAction.js deleted file mode 100644 index 508d7c72..00000000 --- a/src/react/LogMonitorEntryAction.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import JSONTree from 'react-json-tree'; - -const styles = { - actionBar: { - paddingTop: 8, - paddingBottom: 7, - paddingLeft: 16 - }, - payload: { - margin: 0, - overflow: 'auto' - } -}; - -export default class LogMonitorAction extends React.Component { - - renderPayload(payload) { - return ( -
- { Object.keys(payload).length > 0 ? : '' } -
- ); - } - - render() { - const { type, ...payload } = this.props.action; - return ( -
-
- {type} -
- {!this.props.collapsed ? this.renderPayload(payload) : ''} -
- ); - } -} diff --git a/src/react/index.js b/src/react/index.js deleted file mode 100644 index cce0e96d..00000000 --- a/src/react/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react'; -import createDevTools from '../createDevTools'; - -export const DevTools = createDevTools(React); -export { default as LogMonitor } from './LogMonitor'; -export { default as DebugPanel } from './DebugPanel'; diff --git a/src/react/native/index.js b/src/react/native/index.js deleted file mode 100644 index 70b786d1..00000000 --- a/src/react/native/index.js +++ /dev/null @@ -1 +0,0 @@ -// TODO diff --git a/src/react/theme.js b/src/react/theme.js deleted file mode 100644 index de78238c..00000000 --- a/src/react/theme.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - ocean: { - - } -}; diff --git a/src/react/themes/apathy.js b/src/react/themes/apathy.js deleted file mode 100644 index e020afdd..00000000 --- a/src/react/themes/apathy.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'apathy', - author: 'jannik siebert (https://github.com/janniks)', - base00: '#031A16', - base01: '#0B342D', - base02: '#184E45', - base03: '#2B685E', - base04: '#5F9C92', - base05: '#81B5AC', - base06: '#A7CEC8', - base07: '#D2E7E4', - base08: '#3E9688', - base09: '#3E7996', - base0A: '#3E4C96', - base0B: '#883E96', - base0C: '#963E4C', - base0D: '#96883E', - base0E: '#4C963E', - base0F: '#3E965B' -}; diff --git a/src/react/themes/ashes.js b/src/react/themes/ashes.js deleted file mode 100644 index e297377c..00000000 --- a/src/react/themes/ashes.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'ashes', - author: 'jannik siebert (https://github.com/janniks)', - base00: '#1C2023', - base01: '#393F45', - base02: '#565E65', - base03: '#747C84', - base04: '#ADB3BA', - base05: '#C7CCD1', - base06: '#DFE2E5', - base07: '#F3F4F5', - base08: '#C7AE95', - base09: '#C7C795', - base0A: '#AEC795', - base0B: '#95C7AE', - base0C: '#95AEC7', - base0D: '#AE95C7', - base0E: '#C795AE', - base0F: '#C79595' -}; diff --git a/src/react/themes/atelier-dune.js b/src/react/themes/atelier-dune.js deleted file mode 100644 index 0ab20e7e..00000000 --- a/src/react/themes/atelier-dune.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'atelier dune', - author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)', - base00: '#20201d', - base01: '#292824', - base02: '#6e6b5e', - base03: '#7d7a68', - base04: '#999580', - base05: '#a6a28c', - base06: '#e8e4cf', - base07: '#fefbec', - base08: '#d73737', - base09: '#b65611', - base0A: '#cfb017', - base0B: '#60ac39', - base0C: '#1fad83', - base0D: '#6684e1', - base0E: '#b854d4', - base0F: '#d43552' -}; diff --git a/src/react/themes/atelier-forest.js b/src/react/themes/atelier-forest.js deleted file mode 100644 index 50ea1369..00000000 --- a/src/react/themes/atelier-forest.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'atelier forest', - author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)', - base00: '#1b1918', - base01: '#2c2421', - base02: '#68615e', - base03: '#766e6b', - base04: '#9c9491', - base05: '#a8a19f', - base06: '#e6e2e0', - base07: '#f1efee', - base08: '#f22c40', - base09: '#df5320', - base0A: '#d5911a', - base0B: '#5ab738', - base0C: '#00ad9c', - base0D: '#407ee7', - base0E: '#6666ea', - base0F: '#c33ff3' -}; diff --git a/src/react/themes/atelier-heath.js b/src/react/themes/atelier-heath.js deleted file mode 100644 index 1faabf7f..00000000 --- a/src/react/themes/atelier-heath.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'atelier heath', - author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)', - base00: '#1b181b', - base01: '#292329', - base02: '#695d69', - base03: '#776977', - base04: '#9e8f9e', - base05: '#ab9bab', - base06: '#d8cad8', - base07: '#f7f3f7', - base08: '#ca402b', - base09: '#a65926', - base0A: '#bb8a35', - base0B: '#379a37', - base0C: '#159393', - base0D: '#516aec', - base0E: '#7b59c0', - base0F: '#cc33cc' -}; diff --git a/src/react/themes/atelier-lakeside.js b/src/react/themes/atelier-lakeside.js deleted file mode 100644 index 66185731..00000000 --- a/src/react/themes/atelier-lakeside.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'atelier lakeside', - author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)', - base00: '#161b1d', - base01: '#1f292e', - base02: '#516d7b', - base03: '#5a7b8c', - base04: '#7195a8', - base05: '#7ea2b4', - base06: '#c1e4f6', - base07: '#ebf8ff', - base08: '#d22d72', - base09: '#935c25', - base0A: '#8a8a0f', - base0B: '#568c3b', - base0C: '#2d8f6f', - base0D: '#257fad', - base0E: '#5d5db1', - base0F: '#b72dd2' -}; diff --git a/src/react/themes/atelier-seaside.js b/src/react/themes/atelier-seaside.js deleted file mode 100644 index b789a499..00000000 --- a/src/react/themes/atelier-seaside.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'atelier seaside', - author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)', - base00: '#131513', - base01: '#242924', - base02: '#5e6e5e', - base03: '#687d68', - base04: '#809980', - base05: '#8ca68c', - base06: '#cfe8cf', - base07: '#f0fff0', - base08: '#e6193c', - base09: '#87711d', - base0A: '#c3c322', - base0B: '#29a329', - base0C: '#1999b3', - base0D: '#3d62f5', - base0E: '#ad2bee', - base0F: '#e619c3' -}; diff --git a/src/react/themes/bespin.js b/src/react/themes/bespin.js deleted file mode 100644 index bfb7a6bc..00000000 --- a/src/react/themes/bespin.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'bespin', - author: 'jan t. sott', - base00: '#28211c', - base01: '#36312e', - base02: '#5e5d5c', - base03: '#666666', - base04: '#797977', - base05: '#8a8986', - base06: '#9d9b97', - base07: '#baae9e', - base08: '#cf6a4c', - base09: '#cf7d34', - base0A: '#f9ee98', - base0B: '#54be0d', - base0C: '#afc4db', - base0D: '#5ea6ea', - base0E: '#9b859d', - base0F: '#937121' -}; diff --git a/src/react/themes/brewer.js b/src/react/themes/brewer.js deleted file mode 100644 index 53c17391..00000000 --- a/src/react/themes/brewer.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'brewer', - author: 'timothée poisot (http://github.com/tpoisot)', - base00: '#0c0d0e', - base01: '#2e2f30', - base02: '#515253', - base03: '#737475', - base04: '#959697', - base05: '#b7b8b9', - base06: '#dadbdc', - base07: '#fcfdfe', - base08: '#e31a1c', - base09: '#e6550d', - base0A: '#dca060', - base0B: '#31a354', - base0C: '#80b1d3', - base0D: '#3182bd', - base0E: '#756bb1', - base0F: '#b15928' -}; diff --git a/src/react/themes/bright.js b/src/react/themes/bright.js deleted file mode 100644 index 2b76fabd..00000000 --- a/src/react/themes/bright.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'bright', - author: 'chris kempson (http://chriskempson.com)', - base00: '#000000', - base01: '#303030', - base02: '#505050', - base03: '#b0b0b0', - base04: '#d0d0d0', - base05: '#e0e0e0', - base06: '#f5f5f5', - base07: '#ffffff', - base08: '#fb0120', - base09: '#fc6d24', - base0A: '#fda331', - base0B: '#a1c659', - base0C: '#76c7b7', - base0D: '#6fb3d2', - base0E: '#d381c3', - base0F: '#be643c' -}; diff --git a/src/react/themes/chalk.js b/src/react/themes/chalk.js deleted file mode 100644 index 3d4359bb..00000000 --- a/src/react/themes/chalk.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'chalk', - author: 'chris kempson (http://chriskempson.com)', - base00: '#151515', - base01: '#202020', - base02: '#303030', - base03: '#505050', - base04: '#b0b0b0', - base05: '#d0d0d0', - base06: '#e0e0e0', - base07: '#f5f5f5', - base08: '#fb9fb1', - base09: '#eda987', - base0A: '#ddb26f', - base0B: '#acc267', - base0C: '#12cfc0', - base0D: '#6fc2ef', - base0E: '#e1a3ee', - base0F: '#deaf8f' -}; diff --git a/src/react/themes/codeschool.js b/src/react/themes/codeschool.js deleted file mode 100644 index 4911e9e8..00000000 --- a/src/react/themes/codeschool.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'codeschool', - author: 'brettof86', - base00: '#232c31', - base01: '#1c3657', - base02: '#2a343a', - base03: '#3f4944', - base04: '#84898c', - base05: '#9ea7a6', - base06: '#a7cfa3', - base07: '#b5d8f6', - base08: '#2a5491', - base09: '#43820d', - base0A: '#a03b1e', - base0B: '#237986', - base0C: '#b02f30', - base0D: '#484d79', - base0E: '#c59820', - base0F: '#c98344' -}; diff --git a/src/react/themes/colors.js b/src/react/themes/colors.js deleted file mode 100644 index 17e96fee..00000000 --- a/src/react/themes/colors.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'colors', - author: 'mrmrs (http://clrs.cc)', - base00: '#111111', - base01: '#333333', - base02: '#555555', - base03: '#777777', - base04: '#999999', - base05: '#bbbbbb', - base06: '#dddddd', - base07: '#ffffff', - base08: '#ff4136', - base09: '#ff851b', - base0A: '#ffdc00', - base0B: '#2ecc40', - base0C: '#7fdbff', - base0D: '#0074d9', - base0E: '#b10dc9', - base0F: '#85144b' -}; diff --git a/src/react/themes/default.js b/src/react/themes/default.js deleted file mode 100644 index c8831510..00000000 --- a/src/react/themes/default.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'default', - author: 'chris kempson (http://chriskempson.com)', - base00: '#181818', - base01: '#282828', - base02: '#383838', - base03: '#585858', - base04: '#b8b8b8', - base05: '#d8d8d8', - base06: '#e8e8e8', - base07: '#f8f8f8', - base08: '#ab4642', - base09: '#dc9656', - base0A: '#f7ca88', - base0B: '#a1b56c', - base0C: '#86c1b9', - base0D: '#7cafc2', - base0E: '#ba8baf', - base0F: '#a16946' -}; diff --git a/src/react/themes/eighties.js b/src/react/themes/eighties.js deleted file mode 100644 index 0dfc3a7d..00000000 --- a/src/react/themes/eighties.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'eighties', - author: 'chris kempson (http://chriskempson.com)', - base00: '#2d2d2d', - base01: '#393939', - base02: '#515151', - base03: '#747369', - base04: '#a09f93', - base05: '#d3d0c8', - base06: '#e8e6df', - base07: '#f2f0ec', - base08: '#f2777a', - base09: '#f99157', - base0A: '#ffcc66', - base0B: '#99cc99', - base0C: '#66cccc', - base0D: '#6699cc', - base0E: '#cc99cc', - base0F: '#d27b53' -}; diff --git a/src/react/themes/embers.js b/src/react/themes/embers.js deleted file mode 100644 index 14398a09..00000000 --- a/src/react/themes/embers.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'embers', - author: 'jannik siebert (https://github.com/janniks)', - base00: '#16130F', - base01: '#2C2620', - base02: '#433B32', - base03: '#5A5047', - base04: '#8A8075', - base05: '#A39A90', - base06: '#BEB6AE', - base07: '#DBD6D1', - base08: '#826D57', - base09: '#828257', - base0A: '#6D8257', - base0B: '#57826D', - base0C: '#576D82', - base0D: '#6D5782', - base0E: '#82576D', - base0F: '#825757' -}; diff --git a/src/react/themes/flat.js b/src/react/themes/flat.js deleted file mode 100644 index 333e8a48..00000000 --- a/src/react/themes/flat.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'flat', - author: 'chris kempson (http://chriskempson.com)', - base00: '#2C3E50', - base01: '#34495E', - base02: '#7F8C8D', - base03: '#95A5A6', - base04: '#BDC3C7', - base05: '#e0e0e0', - base06: '#f5f5f5', - base07: '#ECF0F1', - base08: '#E74C3C', - base09: '#E67E22', - base0A: '#F1C40F', - base0B: '#2ECC71', - base0C: '#1ABC9C', - base0D: '#3498DB', - base0E: '#9B59B6', - base0F: '#be643c' -}; diff --git a/src/react/themes/google.js b/src/react/themes/google.js deleted file mode 100644 index c2f1d57a..00000000 --- a/src/react/themes/google.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'google', - author: 'seth wright (http://sethawright.com)', - base00: '#1d1f21', - base01: '#282a2e', - base02: '#373b41', - base03: '#969896', - base04: '#b4b7b4', - base05: '#c5c8c6', - base06: '#e0e0e0', - base07: '#ffffff', - base08: '#CC342B', - base09: '#F96A38', - base0A: '#FBA922', - base0B: '#198844', - base0C: '#3971ED', - base0D: '#3971ED', - base0E: '#A36AC7', - base0F: '#3971ED' -}; diff --git a/src/react/themes/grayscale.js b/src/react/themes/grayscale.js deleted file mode 100644 index 2aeec11d..00000000 --- a/src/react/themes/grayscale.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'grayscale', - author: 'alexandre gavioli (https://github.com/alexx2/)', - base00: '#101010', - base01: '#252525', - base02: '#464646', - base03: '#525252', - base04: '#ababab', - base05: '#b9b9b9', - base06: '#e3e3e3', - base07: '#f7f7f7', - base08: '#7c7c7c', - base09: '#999999', - base0A: '#a0a0a0', - base0B: '#8e8e8e', - base0C: '#868686', - base0D: '#686868', - base0E: '#747474', - base0F: '#5e5e5e' -}; diff --git a/src/react/themes/greenscreen.js b/src/react/themes/greenscreen.js deleted file mode 100644 index 75e2430e..00000000 --- a/src/react/themes/greenscreen.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'green screen', - author: 'chris kempson (http://chriskempson.com)', - base00: '#001100', - base01: '#003300', - base02: '#005500', - base03: '#007700', - base04: '#009900', - base05: '#00bb00', - base06: '#00dd00', - base07: '#00ff00', - base08: '#007700', - base09: '#009900', - base0A: '#007700', - base0B: '#00bb00', - base0C: '#005500', - base0D: '#009900', - base0E: '#00bb00', - base0F: '#005500' -}; diff --git a/src/react/themes/harmonic.js b/src/react/themes/harmonic.js deleted file mode 100644 index 665d0476..00000000 --- a/src/react/themes/harmonic.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'harmonic16', - author: 'jannik siebert (https://github.com/janniks)', - base00: '#0b1c2c', - base01: '#223b54', - base02: '#405c79', - base03: '#627e99', - base04: '#aabcce', - base05: '#cbd6e2', - base06: '#e5ebf1', - base07: '#f7f9fb', - base08: '#bf8b56', - base09: '#bfbf56', - base0A: '#8bbf56', - base0B: '#56bf8b', - base0C: '#568bbf', - base0D: '#8b56bf', - base0E: '#bf568b', - base0F: '#bf5656' -}; diff --git a/src/react/themes/hopscotch.js b/src/react/themes/hopscotch.js deleted file mode 100644 index 4eca7b8c..00000000 --- a/src/react/themes/hopscotch.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'hopscotch', - author: 'jan t. sott', - base00: '#322931', - base01: '#433b42', - base02: '#5c545b', - base03: '#797379', - base04: '#989498', - base05: '#b9b5b8', - base06: '#d5d3d5', - base07: '#ffffff', - base08: '#dd464c', - base09: '#fd8b19', - base0A: '#fdcc59', - base0B: '#8fc13e', - base0C: '#149b93', - base0D: '#1290bf', - base0E: '#c85e7c', - base0F: '#b33508' -}; diff --git a/src/react/themes/index.js b/src/react/themes/index.js deleted file mode 100644 index ca0660f9..00000000 --- a/src/react/themes/index.js +++ /dev/null @@ -1,38 +0,0 @@ -export { default as threezerotwofour } from './threezerotwofour'; -export { default as apathy } from './apathy'; -export { default as ashes } from './ashes'; -export { default as atelierDune } from './atelier-dune'; -export { default as atelierForest } from './atelier-forest'; -export { default as atelierHeath } from './atelier-heath'; -export { default as atelierLakeside } from './atelier-lakeside'; -export { default as atelierSeaside } from './atelier-seaside'; -export { default as bespin } from './bespin'; -export { default as brewer } from './brewer'; -export { default as bright } from './bright'; -export { default as chalk } from './chalk'; -export { default as codeschool } from './codeschool'; -export { default as colors } from './colors'; -export { default as default } from './default'; -export { default as eighties } from './eighties'; -export { default as embers } from './embers'; -export { default as flat } from './flat'; -export { default as google } from './google'; -export { default as grayscale } from './grayscale'; -export { default as greenscreen } from './greenscreen'; -export { default as harmonic } from './harmonic'; -export { default as hopscotch } from './hopscotch'; -export { default as isotope } from './isotope'; -export { default as marrakesh } from './marrakesh'; -export { default as mocha } from './mocha'; -export { default as monokai } from './monokai'; -export { default as ocean } from './ocean'; -export { default as paraiso } from './paraiso'; -export { default as pop } from './pop'; -export { default as railscasts } from './railscasts'; -export { default as shapeshifter } from './shapeshifter'; -export { default as solarized } from './solarized'; -export { default as summerfruit } from './summerfruit'; -export { default as tomorrow } from './tomorrow'; -export { default as tube } from './tube'; -export { default as twilight } from './twilight'; -export { default as nicinabox } from './nicinabox'; diff --git a/src/react/themes/isotope.js b/src/react/themes/isotope.js deleted file mode 100644 index 484524f0..00000000 --- a/src/react/themes/isotope.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'isotope', - author: 'jan t. sott', - base00: '#000000', - base01: '#404040', - base02: '#606060', - base03: '#808080', - base04: '#c0c0c0', - base05: '#d0d0d0', - base06: '#e0e0e0', - base07: '#ffffff', - base08: '#ff0000', - base09: '#ff9900', - base0A: '#ff0099', - base0B: '#33ff00', - base0C: '#00ffff', - base0D: '#0066ff', - base0E: '#cc00ff', - base0F: '#3300ff' -}; diff --git a/src/react/themes/marrakesh.js b/src/react/themes/marrakesh.js deleted file mode 100644 index ca2ef0df..00000000 --- a/src/react/themes/marrakesh.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'marrakesh', - author: 'alexandre gavioli (http://github.com/alexx2/)', - base00: '#201602', - base01: '#302e00', - base02: '#5f5b17', - base03: '#6c6823', - base04: '#86813b', - base05: '#948e48', - base06: '#ccc37a', - base07: '#faf0a5', - base08: '#c35359', - base09: '#b36144', - base0A: '#a88339', - base0B: '#18974e', - base0C: '#75a738', - base0D: '#477ca1', - base0E: '#8868b3', - base0F: '#b3588e' -}; diff --git a/src/react/themes/mocha.js b/src/react/themes/mocha.js deleted file mode 100644 index 9c86e910..00000000 --- a/src/react/themes/mocha.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'mocha', - author: 'chris kempson (http://chriskempson.com)', - base00: '#3B3228', - base01: '#534636', - base02: '#645240', - base03: '#7e705a', - base04: '#b8afad', - base05: '#d0c8c6', - base06: '#e9e1dd', - base07: '#f5eeeb', - base08: '#cb6077', - base09: '#d28b71', - base0A: '#f4bc87', - base0B: '#beb55b', - base0C: '#7bbda4', - base0D: '#8ab3b5', - base0E: '#a89bb9', - base0F: '#bb9584' -}; diff --git a/src/react/themes/monokai.js b/src/react/themes/monokai.js deleted file mode 100644 index 298fc861..00000000 --- a/src/react/themes/monokai.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'monokai', - author: 'wimer hazenberg (http://www.monokai.nl)', - base00: '#272822', - base01: '#383830', - base02: '#49483e', - base03: '#75715e', - base04: '#a59f85', - base05: '#f8f8f2', - base06: '#f5f4f1', - base07: '#f9f8f5', - base08: '#f92672', - base09: '#fd971f', - base0A: '#f4bf75', - base0B: '#a6e22e', - base0C: '#a1efe4', - base0D: '#66d9ef', - base0E: '#ae81ff', - base0F: '#cc6633' -}; diff --git a/src/react/themes/nicinabox.js b/src/react/themes/nicinabox.js deleted file mode 100644 index 0b1cdd36..00000000 --- a/src/react/themes/nicinabox.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'nicinabox', - author: 'nicinabox (http://github.com/nicinabox)', - base00: '#2A2F3A', - base01: '#3C444F', - base02: '#4F5A65', - base03: '#BEBEBE', - base04: '#b0b0b0', // unmodified - base05: '#d0d0d0', // unmodified - base06: '#FFFFFF', - base07: '#f5f5f5', // unmodified - base08: '#fb9fb1', // unmodified - base09: '#FC6D24', - base0A: '#ddb26f', // unmodified - base0B: '#A1C659', - base0C: '#12cfc0', // unmodified - base0D: '#6FB3D2', - base0E: '#D381C3', - base0F: '#deaf8f' // unmodified -}; diff --git a/src/react/themes/ocean.js b/src/react/themes/ocean.js deleted file mode 100644 index d3143b29..00000000 --- a/src/react/themes/ocean.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'ocean', - author: 'chris kempson (http://chriskempson.com)', - base00: '#2b303b', - base01: '#343d46', - base02: '#4f5b66', - base03: '#65737e', - base04: '#a7adba', - base05: '#c0c5ce', - base06: '#dfe1e8', - base07: '#eff1f5', - base08: '#bf616a', - base09: '#d08770', - base0A: '#ebcb8b', - base0B: '#a3be8c', - base0C: '#96b5b4', - base0D: '#8fa1b3', - base0E: '#b48ead', - base0F: '#ab7967' -}; diff --git a/src/react/themes/paraiso.js b/src/react/themes/paraiso.js deleted file mode 100644 index 4d89e01a..00000000 --- a/src/react/themes/paraiso.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'paraiso', - author: 'jan t. sott', - base00: '#2f1e2e', - base01: '#41323f', - base02: '#4f424c', - base03: '#776e71', - base04: '#8d8687', - base05: '#a39e9b', - base06: '#b9b6b0', - base07: '#e7e9db', - base08: '#ef6155', - base09: '#f99b15', - base0A: '#fec418', - base0B: '#48b685', - base0C: '#5bc4bf', - base0D: '#06b6ef', - base0E: '#815ba4', - base0F: '#e96ba8' -}; diff --git a/src/react/themes/pop.js b/src/react/themes/pop.js deleted file mode 100644 index 29daefeb..00000000 --- a/src/react/themes/pop.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'pop', - author: 'chris kempson (http://chriskempson.com)', - base00: '#000000', - base01: '#202020', - base02: '#303030', - base03: '#505050', - base04: '#b0b0b0', - base05: '#d0d0d0', - base06: '#e0e0e0', - base07: '#ffffff', - base08: '#eb008a', - base09: '#f29333', - base0A: '#f8ca12', - base0B: '#37b349', - base0C: '#00aabb', - base0D: '#0e5a94', - base0E: '#b31e8d', - base0F: '#7a2d00' -}; diff --git a/src/react/themes/railscasts.js b/src/react/themes/railscasts.js deleted file mode 100644 index 2f914042..00000000 --- a/src/react/themes/railscasts.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'railscasts', - author: 'ryan bates (http://railscasts.com)', - base00: '#2b2b2b', - base01: '#272935', - base02: '#3a4055', - base03: '#5a647e', - base04: '#d4cfc9', - base05: '#e6e1dc', - base06: '#f4f1ed', - base07: '#f9f7f3', - base08: '#da4939', - base09: '#cc7833', - base0A: '#ffc66d', - base0B: '#a5c261', - base0C: '#519f50', - base0D: '#6d9cbe', - base0E: '#b6b3eb', - base0F: '#bc9458' -}; diff --git a/src/react/themes/shapeshifter.js b/src/react/themes/shapeshifter.js deleted file mode 100644 index f6d99e02..00000000 --- a/src/react/themes/shapeshifter.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'shapeshifter', - author: 'tyler benziger (http://tybenz.com)', - base00: '#000000', - base01: '#040404', - base02: '#102015', - base03: '#343434', - base04: '#555555', - base05: '#ababab', - base06: '#e0e0e0', - base07: '#f9f9f9', - base08: '#e92f2f', - base09: '#e09448', - base0A: '#dddd13', - base0B: '#0ed839', - base0C: '#23edda', - base0D: '#3b48e3', - base0E: '#f996e2', - base0F: '#69542d' -}; diff --git a/src/react/themes/solarized.js b/src/react/themes/solarized.js deleted file mode 100644 index b601e859..00000000 --- a/src/react/themes/solarized.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'solarized', - author: 'ethan schoonover (http://ethanschoonover.com/solarized)', - base00: '#002b36', - base01: '#073642', - base02: '#586e75', - base03: '#657b83', - base04: '#839496', - base05: '#93a1a1', - base06: '#eee8d5', - base07: '#fdf6e3', - base08: '#dc322f', - base09: '#cb4b16', - base0A: '#b58900', - base0B: '#859900', - base0C: '#2aa198', - base0D: '#268bd2', - base0E: '#6c71c4', - base0F: '#d33682' -}; diff --git a/src/react/themes/summerfruit.js b/src/react/themes/summerfruit.js deleted file mode 100644 index ff9fe944..00000000 --- a/src/react/themes/summerfruit.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'summerfruit', - author: 'christopher corley (http://cscorley.github.io/)', - base00: '#151515', - base01: '#202020', - base02: '#303030', - base03: '#505050', - base04: '#B0B0B0', - base05: '#D0D0D0', - base06: '#E0E0E0', - base07: '#FFFFFF', - base08: '#FF0086', - base09: '#FD8900', - base0A: '#ABA800', - base0B: '#00C918', - base0C: '#1faaaa', - base0D: '#3777E6', - base0E: '#AD00A1', - base0F: '#cc6633' -}; diff --git a/src/react/themes/threezerotwofour.js b/src/react/themes/threezerotwofour.js deleted file mode 100644 index f0c7de32..00000000 --- a/src/react/themes/threezerotwofour.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'threezerotwofour', - author: 'jan t. sott (http://github.com/idleberg)', - base00: '#090300', - base01: '#3a3432', - base02: '#4a4543', - base03: '#5c5855', - base04: '#807d7c', - base05: '#a5a2a2', - base06: '#d6d5d4', - base07: '#f7f7f7', - base08: '#db2d20', - base09: '#e8bbd0', - base0A: '#fded02', - base0B: '#01a252', - base0C: '#b5e4f4', - base0D: '#01a0e4', - base0E: '#a16a94', - base0F: '#cdab53' -}; diff --git a/src/react/themes/tomorrow.js b/src/react/themes/tomorrow.js deleted file mode 100644 index 9dd69015..00000000 --- a/src/react/themes/tomorrow.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'tomorrow', - author: 'chris kempson (http://chriskempson.com)', - base00: '#1d1f21', - base01: '#282a2e', - base02: '#373b41', - base03: '#969896', - base04: '#b4b7b4', - base05: '#c5c8c6', - base06: '#e0e0e0', - base07: '#ffffff', - base08: '#cc6666', - base09: '#de935f', - base0A: '#f0c674', - base0B: '#b5bd68', - base0C: '#8abeb7', - base0D: '#81a2be', - base0E: '#b294bb', - base0F: '#a3685a' -}; diff --git a/src/react/themes/tube.js b/src/react/themes/tube.js deleted file mode 100644 index d0bfe87c..00000000 --- a/src/react/themes/tube.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'london tube', - author: 'jan t. sott', - base00: '#231f20', - base01: '#1c3f95', - base02: '#5a5758', - base03: '#737171', - base04: '#959ca1', - base05: '#d9d8d8', - base06: '#e7e7e8', - base07: '#ffffff', - base08: '#ee2e24', - base09: '#f386a1', - base0A: '#ffd204', - base0B: '#00853e', - base0C: '#85cebc', - base0D: '#009ddc', - base0E: '#98005d', - base0F: '#b06110' -}; diff --git a/src/react/themes/twilight.js b/src/react/themes/twilight.js deleted file mode 100644 index d0423a2c..00000000 --- a/src/react/themes/twilight.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - scheme: 'twilight', - author: 'david hart (http://hart-dev.com)', - base00: '#1e1e1e', - base01: '#323537', - base02: '#464b50', - base03: '#5f5a60', - base04: '#838184', - base05: '#a7a7a7', - base06: '#c3c3c3', - base07: '#ffffff', - base08: '#cf6a4c', - base09: '#cda869', - base0A: '#f9ee98', - base0B: '#8f9d6a', - base0C: '#afc4db', - base0D: '#7587a6', - base0E: '#9b859d', - base0F: '#9b703f' -}; diff --git a/src/utils/brighten.js b/src/utils/brighten.js deleted file mode 100644 index 8599ec1d..00000000 --- a/src/utils/brighten.js +++ /dev/null @@ -1,16 +0,0 @@ -export default function(hexColor, lightness) { - let hex = String(hexColor).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex.replace(/(.)/g, '$1$1'); - } - let lum = lightness || 0; - - let rgb = '#'; - let c; - for (let i = 0; i < 3; ++i) { - c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - return rgb; -}