mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-27 08:30:02 +03:00
Add redux-slider-monitor
This commit is contained in:
parent
e6fdfb9c9e
commit
9243fd29e9
3
packages/redux-slider-monitor/.babelrc
Executable file
3
packages/redux-slider-monitor/.babelrc
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"presets": ["es2015", "stage-0", "react"]
|
||||||
|
}
|
3
packages/redux-slider-monitor/.eslintignore
Executable file
3
packages/redux-slider-monitor/.eslintignore
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
lib
|
||||||
|
**/node_modules
|
||||||
|
examples/**/dist
|
22
packages/redux-slider-monitor/.eslintrc
Executable file
22
packages/redux-slider-monitor/.eslintrc
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"extends": "eslint-config-airbnb",
|
||||||
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"mocha": true,
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"parser": "babel-eslint",
|
||||||
|
"rules": {
|
||||||
|
"comma-dangle": [2, "never"],
|
||||||
|
"jsx-quotes": [2, "prefer-single"],
|
||||||
|
"react/jsx-uses-react": 2,
|
||||||
|
"react/jsx-uses-vars": 2,
|
||||||
|
"react/react-in-jsx-scope": 2,
|
||||||
|
"react/sort-comp": 0,
|
||||||
|
"react/forbid-prop-types": 0,
|
||||||
|
"import/no-extraneous-dependencies": 0,
|
||||||
|
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
|
||||||
|
"jsx-a11y/no-static-element-interactions": 0
|
||||||
|
},
|
||||||
|
"plugins": ["react"]
|
||||||
|
}
|
21
packages/redux-slider-monitor/LICENSE.md
Executable file
21
packages/redux-slider-monitor/LICENSE.md
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016 Cale Newman
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
61
packages/redux-slider-monitor/README.md
Executable file
61
packages/redux-slider-monitor/README.md
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
## Redux Slider Monitor
|
||||||
|
|
||||||
|
[](https://www.npmjs.com/package/redux-slider-monitor)
|
||||||
|
|
||||||
|
A custom monitor for use with [Redux DevTools](https://github.com/gaearon/redux-devtools).
|
||||||
|
|
||||||
|
It uses a slider based on [react-slider](https://github.com/mpowaga/react-slider) to slide between different recorded actions. It also features play/pause/step-through, which is inspired by some very cool [Elm](http://elm-lang.org/) [examples](http://elm-lang.org/blog/time-travel-made-easy).
|
||||||
|
|
||||||
|
[Try out the demo!](https://calesce.github.io/redux-slider-monitor/?debug_session=123)
|
||||||
|
|
||||||
|
<image src="https://s3.amazonaws.com/f.cl.ly/items/1I3P222C3N2R1M2y1K3b/Screen%20Recording%202015-12-22%20at%2007.20%20PM.gif?v=1b6267e7" width='800'>
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
```npm install redux-slider-monitor```
|
||||||
|
|
||||||
|
### Recommended Usage
|
||||||
|
|
||||||
|
Use with [`DockMonitor`](https://github.com/gaearon/redux-devtools-dock-monitor)
|
||||||
|
```javascript
|
||||||
|
<DockMonitor toggleVisibilityKey='ctrl-h'
|
||||||
|
changePositionKey='ctrl-q'
|
||||||
|
defaultPosition='bottom'
|
||||||
|
defaultSize={0.15}>
|
||||||
|
<SliderMonitor keyboardEnabled />
|
||||||
|
</DockMonitor>
|
||||||
|
```
|
||||||
|
|
||||||
|
Dispatch some Redux actions. Use the slider to navigate between the state changes.
|
||||||
|
|
||||||
|
Click the play/pause buttons to watch the state changes over time, or step backward or forward in state time with the left/right arrow buttons. Change replay speeds with the ```1x``` button, and "Live" will replay actions with the same time intervals in which they originally were dispatched.
|
||||||
|
|
||||||
|
## Keyboard shortcuts
|
||||||
|
|
||||||
|
Pass the ```keyboardEnabled``` prop to use these shortcuts
|
||||||
|
|
||||||
|
```ctrl+j```: play/pause
|
||||||
|
|
||||||
|
```ctrl+[```: step backward
|
||||||
|
|
||||||
|
```ctrl+]```: step forward
|
||||||
|
|
||||||
|
|
||||||
|
### Running Examples
|
||||||
|
|
||||||
|
You can do this:
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/calesce/redux-slider-monitor.git
|
||||||
|
cd redux-slider-monitor
|
||||||
|
npm install
|
||||||
|
|
||||||
|
cd examples/todomvc
|
||||||
|
npm install
|
||||||
|
npm start
|
||||||
|
open http://localhost:3000
|
||||||
|
```
|
||||||
|
|
||||||
|
### License
|
||||||
|
|
||||||
|
MIT
|
10
packages/redux-slider-monitor/examples/todomvc/.babelrc
Executable file
10
packages/redux-slider-monitor/examples/todomvc/.babelrc
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"presets": [
|
||||||
|
["es2015", { "modules": false }],
|
||||||
|
"stage-0",
|
||||||
|
"react"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"react-hot-loader/babel"
|
||||||
|
]
|
||||||
|
}
|
6
packages/redux-slider-monitor/examples/todomvc/README.md
Executable file
6
packages/redux-slider-monitor/examples/todomvc/README.md
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
# Redux DevTools TodoMVC example
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
1. Install dependencies: `npm i`
|
||||||
|
2. Start the development server: `npm start`
|
42
packages/redux-slider-monitor/examples/todomvc/actions/TodoActions.js
Executable file
42
packages/redux-slider-monitor/examples/todomvc/actions/TodoActions.js
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
import * as types from '../constants/ActionTypes';
|
||||||
|
|
||||||
|
export function addTodo(text) {
|
||||||
|
return {
|
||||||
|
type: types.ADD_TODO,
|
||||||
|
text
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deleteTodo(id) {
|
||||||
|
return {
|
||||||
|
type: types.DELETE_TODO,
|
||||||
|
id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function editTodo(id, text) {
|
||||||
|
return {
|
||||||
|
type: types.EDIT_TODO,
|
||||||
|
id,
|
||||||
|
text
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function markTodo(id) {
|
||||||
|
return {
|
||||||
|
type: types.MARK_TODO,
|
||||||
|
id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function markAll() {
|
||||||
|
return {
|
||||||
|
type: types.MARK_ALL
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function clearMarked() {
|
||||||
|
return {
|
||||||
|
type: types.CLEAR_MARKED
|
||||||
|
};
|
||||||
|
}
|
77
packages/redux-slider-monitor/examples/todomvc/components/Footer.js
Executable file
77
packages/redux-slider-monitor/examples/todomvc/components/Footer.js
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import classnames from 'classnames';
|
||||||
|
import { SHOW_ALL, SHOW_MARKED, SHOW_UNMARKED } from '../constants/TodoFilters';
|
||||||
|
|
||||||
|
const FILTER_TITLES = {
|
||||||
|
[SHOW_ALL]: 'All',
|
||||||
|
[SHOW_UNMARKED]: 'Active',
|
||||||
|
[SHOW_MARKED]: 'Completed'
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class Footer extends Component {
|
||||||
|
static propTypes = {
|
||||||
|
markedCount: PropTypes.number.isRequired,
|
||||||
|
unmarkedCount: PropTypes.number.isRequired,
|
||||||
|
filter: PropTypes.string.isRequired,
|
||||||
|
onClearMarked: PropTypes.func.isRequired,
|
||||||
|
onShow: PropTypes.func.isRequired
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<footer className='footer'>
|
||||||
|
{this.renderTodoCount()}
|
||||||
|
<ul className='filters'>
|
||||||
|
{[SHOW_ALL, SHOW_UNMARKED, SHOW_MARKED].map(filter =>
|
||||||
|
<li key={filter}>
|
||||||
|
{this.renderFilterLink(filter)}
|
||||||
|
</li>
|
||||||
|
)}
|
||||||
|
</ul>
|
||||||
|
{this.renderClearButton()}
|
||||||
|
</footer>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTodoCount() {
|
||||||
|
const { unmarkedCount } = this.props;
|
||||||
|
const itemWord = unmarkedCount === 1 ? 'item' : 'items';
|
||||||
|
|
||||||
|
return (
|
||||||
|
<span className='todo-count'>
|
||||||
|
<strong>{unmarkedCount || 'No'}</strong> {itemWord} left
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderFilterLink(filter) {
|
||||||
|
const title = FILTER_TITLES[filter];
|
||||||
|
const { filter: selectedFilter, onShow } = this.props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
className={classnames({ selected: filter === selectedFilter })}
|
||||||
|
style={{ cursor: 'hand' }}
|
||||||
|
onClick={() => onShow(filter)}
|
||||||
|
>
|
||||||
|
{title}
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderClearButton() {
|
||||||
|
const { markedCount, onClearMarked } = this.props;
|
||||||
|
if (markedCount > 0) {
|
||||||
|
return (
|
||||||
|
<button
|
||||||
|
className='clear-completed'
|
||||||
|
onClick={onClearMarked}
|
||||||
|
>
|
||||||
|
Clear completed
|
||||||
|
</button>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
28
packages/redux-slider-monitor/examples/todomvc/components/Header.js
Executable file
28
packages/redux-slider-monitor/examples/todomvc/components/Header.js
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import TodoTextInput from './TodoTextInput';
|
||||||
|
|
||||||
|
export default class Header extends Component {
|
||||||
|
static propTypes = {
|
||||||
|
addTodo: PropTypes.func.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
handleSave = (text) => {
|
||||||
|
if (text.length !== 0) {
|
||||||
|
this.props.addTodo(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<header className='header'>
|
||||||
|
<h1>todos</h1>
|
||||||
|
<TodoTextInput
|
||||||
|
newTodo
|
||||||
|
onSave={this.handleSave}
|
||||||
|
placeholder='What needs to be done?'
|
||||||
|
/>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
93
packages/redux-slider-monitor/examples/todomvc/components/MainSection.js
Executable file
93
packages/redux-slider-monitor/examples/todomvc/components/MainSection.js
Executable file
|
@ -0,0 +1,93 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import TodoItem from './TodoItem';
|
||||||
|
import Footer from './Footer';
|
||||||
|
import { SHOW_ALL, SHOW_MARKED, SHOW_UNMARKED } from '../constants/TodoFilters';
|
||||||
|
|
||||||
|
const TODO_FILTERS = {
|
||||||
|
[SHOW_ALL]: () => true,
|
||||||
|
[SHOW_UNMARKED]: todo => !todo.marked,
|
||||||
|
[SHOW_MARKED]: todo => todo.marked
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class MainSection extends Component {
|
||||||
|
static propTypes = {
|
||||||
|
todos: PropTypes.array.isRequired,
|
||||||
|
actions: PropTypes.object.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props, context) {
|
||||||
|
super(props, context);
|
||||||
|
this.handleClearMarked = this.handleClearMarked.bind(this);
|
||||||
|
this.handleShow = this.handleShow.bind(this);
|
||||||
|
this.state = { filter: SHOW_ALL };
|
||||||
|
}
|
||||||
|
|
||||||
|
handleClearMarked() {
|
||||||
|
const atLeastOneMarked = this.props.todos.some(todo => todo.marked);
|
||||||
|
if (atLeastOneMarked) {
|
||||||
|
this.props.actions.clearMarked();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleShow(filter) {
|
||||||
|
this.setState({ filter });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { todos, actions } = this.props;
|
||||||
|
const { filter } = this.state;
|
||||||
|
|
||||||
|
const filteredTodos = todos.filter(TODO_FILTERS[filter]);
|
||||||
|
const markedCount = todos.reduce((count, todo) =>
|
||||||
|
(todo.marked ? count + 1 : count),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<section className='main'>
|
||||||
|
{this.renderToggleAll(markedCount)}
|
||||||
|
<ul className='todo-list'>
|
||||||
|
{filteredTodos.map(todo =>
|
||||||
|
<TodoItem key={todo.id} todo={todo} {...actions} />
|
||||||
|
)}
|
||||||
|
</ul>
|
||||||
|
{this.renderFooter(markedCount)}
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderToggleAll(markedCount) {
|
||||||
|
const { todos, actions } = this.props;
|
||||||
|
if (todos.length > 0) {
|
||||||
|
return (
|
||||||
|
<input
|
||||||
|
className='toggle-all'
|
||||||
|
type='checkbox'
|
||||||
|
checked={markedCount === todos.length}
|
||||||
|
onChange={actions.markAll}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderFooter(markedCount) {
|
||||||
|
const { todos } = this.props;
|
||||||
|
const { filter } = this.state;
|
||||||
|
const unmarkedCount = todos.length - markedCount;
|
||||||
|
|
||||||
|
if (todos.length) {
|
||||||
|
return (
|
||||||
|
<Footer
|
||||||
|
markedCount={markedCount}
|
||||||
|
unmarkedCount={unmarkedCount}
|
||||||
|
filter={filter}
|
||||||
|
onClearMarked={this.handleClearMarked}
|
||||||
|
onShow={this.handleShow}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
77
packages/redux-slider-monitor/examples/todomvc/components/TodoItem.js
Executable file
77
packages/redux-slider-monitor/examples/todomvc/components/TodoItem.js
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import classnames from 'classnames';
|
||||||
|
import TodoTextInput from './TodoTextInput';
|
||||||
|
|
||||||
|
export default class TodoItem extends Component {
|
||||||
|
static propTypes = {
|
||||||
|
todo: PropTypes.object.isRequired,
|
||||||
|
editTodo: PropTypes.func.isRequired,
|
||||||
|
deleteTodo: PropTypes.func.isRequired,
|
||||||
|
markTodo: PropTypes.func.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props, context) {
|
||||||
|
super(props, context);
|
||||||
|
this.state = {
|
||||||
|
editing: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
handleDoubleClick = () => {
|
||||||
|
this.setState({ editing: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSave = (id, text) => {
|
||||||
|
if (text.length === 0) {
|
||||||
|
this.props.deleteTodo(id);
|
||||||
|
} else {
|
||||||
|
this.props.editTodo(id, text);
|
||||||
|
}
|
||||||
|
this.setState({ editing: false });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { todo, markTodo, deleteTodo } = this.props;
|
||||||
|
|
||||||
|
let element;
|
||||||
|
if (this.state.editing) {
|
||||||
|
element = (
|
||||||
|
<TodoTextInput
|
||||||
|
text={todo.text}
|
||||||
|
editing={this.state.editing}
|
||||||
|
onSave={text => this.handleSave(todo.id, text)}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
element = (
|
||||||
|
<div className='view'>
|
||||||
|
<input
|
||||||
|
className='toggle'
|
||||||
|
type='checkbox'
|
||||||
|
checked={todo.marked}
|
||||||
|
onChange={() => markTodo(todo.id)}
|
||||||
|
/>
|
||||||
|
<label htmlFor='text' onDoubleClick={this.handleDoubleClick}>
|
||||||
|
{todo.text}
|
||||||
|
</label>
|
||||||
|
<button
|
||||||
|
className='destroy'
|
||||||
|
onClick={() => deleteTodo(todo.id)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<li
|
||||||
|
className={classnames({
|
||||||
|
completed: todo.marked,
|
||||||
|
editing: this.state.editing
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
{element}
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
62
packages/redux-slider-monitor/examples/todomvc/components/TodoTextInput.js
Executable file
62
packages/redux-slider-monitor/examples/todomvc/components/TodoTextInput.js
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import classnames from 'classnames';
|
||||||
|
|
||||||
|
export default class TodoTextInput extends Component {
|
||||||
|
static propTypes = {
|
||||||
|
onSave: PropTypes.func.isRequired,
|
||||||
|
text: PropTypes.string,
|
||||||
|
placeholder: PropTypes.string,
|
||||||
|
editing: PropTypes.bool,
|
||||||
|
newTodo: PropTypes.bool
|
||||||
|
};
|
||||||
|
|
||||||
|
static defaultProps = {
|
||||||
|
text: '',
|
||||||
|
placeholder: '',
|
||||||
|
editing: false,
|
||||||
|
newTodo: false
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props, context) {
|
||||||
|
super(props, context);
|
||||||
|
this.state = {
|
||||||
|
text: this.props.text || ''
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSubmit = (e) => {
|
||||||
|
const text = e.target.value.trim();
|
||||||
|
if (e.which === 13) {
|
||||||
|
this.props.onSave(text);
|
||||||
|
if (this.props.newTodo) {
|
||||||
|
this.setState({ text: '' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleChange = (e) => {
|
||||||
|
this.setState({ text: e.target.value });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleBlur = (e) => {
|
||||||
|
if (!this.props.newTodo) {
|
||||||
|
this.props.onSave(e.target.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<input
|
||||||
|
className={classnames({ edit: this.props.editing, 'new-todo': this.props.newTodo })}
|
||||||
|
type='text'
|
||||||
|
placeholder={this.props.placeholder}
|
||||||
|
autoFocus='true'
|
||||||
|
value={this.state.text}
|
||||||
|
onBlur={this.handleBlur}
|
||||||
|
onChange={this.handleChange}
|
||||||
|
onKeyDown={this.handleSubmit}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
6
packages/redux-slider-monitor/examples/todomvc/constants/ActionTypes.js
Executable file
6
packages/redux-slider-monitor/examples/todomvc/constants/ActionTypes.js
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
export const ADD_TODO = 'ADD_TODO';
|
||||||
|
export const DELETE_TODO = 'DELETE_TODO';
|
||||||
|
export const EDIT_TODO = 'EDIT_TODO';
|
||||||
|
export const MARK_TODO = 'MARK_TODO';
|
||||||
|
export const MARK_ALL = 'MARK_ALL';
|
||||||
|
export const CLEAR_MARKED = 'CLEAR_MARKED';
|
3
packages/redux-slider-monitor/examples/todomvc/constants/TodoFilters.js
Executable file
3
packages/redux-slider-monitor/examples/todomvc/constants/TodoFilters.js
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
export const SHOW_ALL = 'show_all';
|
||||||
|
export const SHOW_MARKED = 'show_marked';
|
||||||
|
export const SHOW_UNMARKED = 'show_unmarked';
|
|
@ -0,0 +1,15 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { createDevTools } from 'redux-devtools';
|
||||||
|
import DockMonitor from 'redux-devtools-dock-monitor';
|
||||||
|
import SliderMonitor from 'redux-slider-monitor'; // eslint-disable-line
|
||||||
|
|
||||||
|
export default createDevTools(
|
||||||
|
<DockMonitor
|
||||||
|
toggleVisibilityKey='ctrl-h'
|
||||||
|
changePositionKey='ctrl-q'
|
||||||
|
defaultPosition='bottom'
|
||||||
|
defaultSize={0.15}
|
||||||
|
>
|
||||||
|
<SliderMonitor keyboardEnabled />
|
||||||
|
</DockMonitor>
|
||||||
|
);
|
|
@ -0,0 +1,20 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { Provider } from 'react-redux';
|
||||||
|
import TodoApp from './TodoApp';
|
||||||
|
import DevTools from './DevTools';
|
||||||
|
|
||||||
|
const Root = ({ store }) => (
|
||||||
|
<Provider store={store}>
|
||||||
|
<div>
|
||||||
|
<TodoApp />
|
||||||
|
<DevTools />
|
||||||
|
</div>
|
||||||
|
</Provider>
|
||||||
|
);
|
||||||
|
|
||||||
|
Root.propTypes = {
|
||||||
|
store: PropTypes.object.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Root;
|
|
@ -0,0 +1,6 @@
|
||||||
|
/* eslint-disable global-require */
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
module.exports = require('./Root.prod');
|
||||||
|
} else {
|
||||||
|
module.exports = require('./Root.dev');
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { Provider } from 'react-redux';
|
||||||
|
import TodoApp from './TodoApp';
|
||||||
|
|
||||||
|
const Root = ({ store }) => (
|
||||||
|
<Provider store={store}>
|
||||||
|
<div>
|
||||||
|
<TodoApp />
|
||||||
|
</div>
|
||||||
|
</Provider>
|
||||||
|
);
|
||||||
|
|
||||||
|
Root.propTypes = {
|
||||||
|
store: PropTypes.object.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Root;
|
33
packages/redux-slider-monitor/examples/todomvc/containers/TodoApp.js
Executable file
33
packages/redux-slider-monitor/examples/todomvc/containers/TodoApp.js
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { bindActionCreators } from 'redux';
|
||||||
|
import Header from '../components/Header';
|
||||||
|
import MainSection from '../components/MainSection';
|
||||||
|
import * as TodoActions from '../actions/TodoActions';
|
||||||
|
|
||||||
|
const TodoApp = ({ todos, actions }) => (
|
||||||
|
<div>
|
||||||
|
<Header addTodo={actions.addTodo} />
|
||||||
|
<MainSection todos={todos} actions={actions} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
TodoApp.propTypes = {
|
||||||
|
todos: PropTypes.array.isRequired,
|
||||||
|
actions: PropTypes.object.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
function mapState(state) {
|
||||||
|
return {
|
||||||
|
todos: state.todos
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapDispatch(dispatch) {
|
||||||
|
return {
|
||||||
|
actions: bindActionCreators(TodoActions, dispatch)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapState, mapDispatch)(TodoApp);
|
23
packages/redux-slider-monitor/examples/todomvc/index.js
Executable file
23
packages/redux-slider-monitor/examples/todomvc/index.js
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
import 'todomvc-app-css/index.css';
|
||||||
|
import React from 'react';
|
||||||
|
import ReactDOM from 'react-dom';
|
||||||
|
import { AppContainer } from 'react-hot-loader';
|
||||||
|
import configureStore from './store/configureStore';
|
||||||
|
import Root from './containers/Root';
|
||||||
|
|
||||||
|
const store = configureStore();
|
||||||
|
|
||||||
|
const rootEl = document.getElementById('root');
|
||||||
|
const render = () => {
|
||||||
|
ReactDOM.render(
|
||||||
|
<AppContainer>
|
||||||
|
<Root store={store} />
|
||||||
|
</AppContainer>,
|
||||||
|
rootEl
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
render(Root);
|
||||||
|
if (module.hot) {
|
||||||
|
module.hot.accept('./containers/Root', render);
|
||||||
|
}
|
37
packages/redux-slider-monitor/examples/todomvc/package.json
Normal file
37
packages/redux-slider-monitor/examples/todomvc/package.json
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"name": "todomvc",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"description": "TodoMVC example for redux",
|
||||||
|
"main": "server.js",
|
||||||
|
"scripts": {
|
||||||
|
"start": "webpack-dev-server",
|
||||||
|
"build": "webpack --config webpack.config.prod.js",
|
||||||
|
"deploy": "gh-pages -d dist"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/calesce/redux-slider-monitor.git"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"classnames": "^2.1.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"babel-cli": "^6.24.1",
|
||||||
|
"babel-core": "^6.24.1",
|
||||||
|
"babel-loader": "^6.4.1",
|
||||||
|
"babel-preset-es2015": "^6.24.1",
|
||||||
|
"babel-preset-react": "^6.24.1",
|
||||||
|
"babel-preset-stage-0": "^6.24.1",
|
||||||
|
"gh-pages": "^0.12.0",
|
||||||
|
"node-libs-browser": "^0.5.2",
|
||||||
|
"raw-loader": "^0.5.1",
|
||||||
|
"react-hot-loader": "^3.0.0-beta.6",
|
||||||
|
"redux-devtools-dock-monitor": "^1.0.1",
|
||||||
|
"redux-devtools-log-monitor": "^1.0.1",
|
||||||
|
"style-loader": "^0.16.1",
|
||||||
|
"todomvc-app-css": "^2.0.1",
|
||||||
|
"webpack": "^2.2.1",
|
||||||
|
"webpack-dev-server": "^2.4.1"
|
||||||
|
}
|
||||||
|
}
|
8
packages/redux-slider-monitor/examples/todomvc/reducers/index.js
Executable file
8
packages/redux-slider-monitor/examples/todomvc/reducers/index.js
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
import { combineReducers } from 'redux';
|
||||||
|
import todos from './todos';
|
||||||
|
|
||||||
|
const rootReducer = combineReducers({
|
||||||
|
todos
|
||||||
|
});
|
||||||
|
|
||||||
|
export default rootReducer;
|
50
packages/redux-slider-monitor/examples/todomvc/reducers/todos.js
Executable file
50
packages/redux-slider-monitor/examples/todomvc/reducers/todos.js
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
import { ADD_TODO, DELETE_TODO, EDIT_TODO, MARK_TODO, MARK_ALL, CLEAR_MARKED } from '../constants/ActionTypes';
|
||||||
|
|
||||||
|
const initialState = [{
|
||||||
|
text: 'Use Redux',
|
||||||
|
marked: false,
|
||||||
|
id: 0
|
||||||
|
}];
|
||||||
|
|
||||||
|
export default function todos(state = initialState, action) {
|
||||||
|
switch (action.type) {
|
||||||
|
case ADD_TODO:
|
||||||
|
return [{
|
||||||
|
id: (state.length === 0) ? 0 : state[0].id + 1,
|
||||||
|
marked: false,
|
||||||
|
text: action.text
|
||||||
|
}, ...state];
|
||||||
|
|
||||||
|
case DELETE_TODO:
|
||||||
|
return state.filter(todo =>
|
||||||
|
todo.id !== action.id
|
||||||
|
);
|
||||||
|
|
||||||
|
case EDIT_TODO:
|
||||||
|
return state.map(todo => (
|
||||||
|
todo.id === action.id ?
|
||||||
|
{ ...todo, text: action.text } :
|
||||||
|
todo
|
||||||
|
));
|
||||||
|
|
||||||
|
case MARK_TODO:
|
||||||
|
return state.map(todo => (
|
||||||
|
todo.id === action.id ?
|
||||||
|
{ ...todo, marked: !todo.marked } :
|
||||||
|
todo
|
||||||
|
));
|
||||||
|
|
||||||
|
case MARK_ALL: {
|
||||||
|
const areAllMarked = state.every(todo => todo.marked);
|
||||||
|
return state.map(todo => ({
|
||||||
|
...todo,
|
||||||
|
marked: !areAllMarked
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
case CLEAR_MARKED:
|
||||||
|
return state.filter(todo => todo.marked === false);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { createStore, compose } from 'redux';
|
||||||
|
import { persistState } from 'redux-devtools';
|
||||||
|
import rootReducer from '../reducers';
|
||||||
|
import DevTools from '../containers/DevTools';
|
||||||
|
|
||||||
|
const finalCreateStore = compose(
|
||||||
|
DevTools.instrument(),
|
||||||
|
persistState(
|
||||||
|
window.location.href.match(
|
||||||
|
/[?&]debug_session=([^&]+)\b/
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)(createStore);
|
||||||
|
|
||||||
|
export default function configureStore(initialState) {
|
||||||
|
const store = finalCreateStore(rootReducer, initialState);
|
||||||
|
|
||||||
|
if (module.hot) {
|
||||||
|
module.hot.accept('../reducers', () => store.replaceReducer(rootReducer));
|
||||||
|
}
|
||||||
|
|
||||||
|
return store;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
/* eslint-disable global-require */
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
module.exports = require('./configureStore.prod');
|
||||||
|
} else {
|
||||||
|
module.exports = require('./configureStore.dev');
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
import { createStore } from 'redux';
|
||||||
|
import rootReducer from '../reducers';
|
||||||
|
|
||||||
|
export default function configureStore(initialState) {
|
||||||
|
return createStore(rootReducer, initialState);
|
||||||
|
}
|
51
packages/redux-slider-monitor/examples/todomvc/webpack.config.js
Executable file
51
packages/redux-slider-monitor/examples/todomvc/webpack.config.js
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
const path = require('path');
|
||||||
|
const webpack = require('webpack');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
devtool: 'eval-cheap-module-source-map',
|
||||||
|
devServer: {
|
||||||
|
contentBase: path.join(__dirname, 'dist'),
|
||||||
|
host: 'localhost',
|
||||||
|
port: process.env.PORT || 3000,
|
||||||
|
historyApiFallback: true,
|
||||||
|
hot: true
|
||||||
|
},
|
||||||
|
entry: [
|
||||||
|
'react-hot-loader/patch',
|
||||||
|
'webpack-dev-server/client?http://localhost:3000',
|
||||||
|
'webpack/hot/only-dev-server',
|
||||||
|
'./index'
|
||||||
|
],
|
||||||
|
output: {
|
||||||
|
path: path.join(__dirname, 'dist'),
|
||||||
|
filename: 'bundle.js'
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new webpack.HotModuleReplacementPlugin(),
|
||||||
|
new webpack.NoEmitOnErrorsPlugin()
|
||||||
|
],
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
'redux-slider-monitor': path.join(__dirname, '..', '..', 'src/SliderMonitor'),
|
||||||
|
react: path.join(__dirname, '../../node_modules', 'react'),
|
||||||
|
'react-dom': path.join(__dirname, '../../node_modules', 'react-dom'),
|
||||||
|
'redux-devtools': path.join(__dirname, '../../node_modules', 'redux-devtools')
|
||||||
|
},
|
||||||
|
extensions: ['.js']
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [{
|
||||||
|
test: /\.js$/,
|
||||||
|
use: ['babel-loader'],
|
||||||
|
exclude: /node_modules/,
|
||||||
|
include: [
|
||||||
|
__dirname,
|
||||||
|
path.join(__dirname, '..', '..', 'src')
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
test: /\.css?$/,
|
||||||
|
use: ['style-loader', 'raw-loader'],
|
||||||
|
include: __dirname
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,10 @@
|
||||||
|
// NOTE: This config is used for deploy to gh-pages
|
||||||
|
const webpack = require('webpack');
|
||||||
|
const devConfig = require('./webpack.config');
|
||||||
|
|
||||||
|
devConfig.entry = './index';
|
||||||
|
devConfig.plugins = [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin()
|
||||||
|
];
|
||||||
|
|
||||||
|
module.exports = devConfig;
|
3988
packages/redux-slider-monitor/examples/todomvc/yarn.lock
Normal file
3988
packages/redux-slider-monitor/examples/todomvc/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
52
packages/redux-slider-monitor/package.json
Normal file
52
packages/redux-slider-monitor/package.json
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
"name": "redux-slider-monitor",
|
||||||
|
"version": "2.0.0-2",
|
||||||
|
"description": "A custom monitor for replaying Redux actions that works similarly to a video player",
|
||||||
|
"main": "lib/SliderMonitor.js",
|
||||||
|
"scripts": {
|
||||||
|
"clean": "rimraf lib",
|
||||||
|
"build": "babel src --out-dir lib",
|
||||||
|
"lint": "eslint src examples",
|
||||||
|
"prepublish": "npm run lint && npm run clean && npm run build"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/calesce/redux-slider-monitor.git"
|
||||||
|
},
|
||||||
|
"author": "Cale Newman <newman.cale@gmail.com> (http://github.com/calesce)",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/calesce/redux-slider-monitor/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/calesce/redux-slider-monitor",
|
||||||
|
"devDependencies": {
|
||||||
|
"babel-cli": "^6.24.1",
|
||||||
|
"babel-core": "^6.24.1",
|
||||||
|
"babel-eslint": "^7.2.2",
|
||||||
|
"babel-loader": "^6.4.1",
|
||||||
|
"babel-preset-es2015": "^6.24.1",
|
||||||
|
"babel-preset-react": "^6.24.1",
|
||||||
|
"babel-preset-stage-0": "^6.24.1",
|
||||||
|
"eslint": "^3.19.0",
|
||||||
|
"eslint-config-airbnb": "^14.1.0",
|
||||||
|
"eslint-plugin-import": "^2.2.0",
|
||||||
|
"eslint-plugin-jsx-a11y": "^4.0.0",
|
||||||
|
"eslint-plugin-react": "^6.10.3",
|
||||||
|
"react": "^16.7.0",
|
||||||
|
"react-dom": "^16.7.0",
|
||||||
|
"react-redux": "^5.0.4",
|
||||||
|
"redux": "^3.0.0",
|
||||||
|
"redux-devtools": "^3.0.0",
|
||||||
|
"rimraf": "^2.3.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^0.14.0 || ^15.0.0 || ^16.0.0-0",
|
||||||
|
"react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0-0",
|
||||||
|
"redux-devtools": "^3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"devui": "^1.0.0-3",
|
||||||
|
"prop-types": "^15.5.8",
|
||||||
|
"redux-devtools-themes": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
96
packages/redux-slider-monitor/src/SliderButton.js
Normal file
96
packages/redux-slider-monitor/src/SliderButton.js
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
import React, { Component, PureComponent } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import Button from 'devui/lib/Button';
|
||||||
|
|
||||||
|
export default class SliderButton extends (PureComponent || Component) {
|
||||||
|
static propTypes = {
|
||||||
|
theme: PropTypes.object,
|
||||||
|
type: PropTypes.string,
|
||||||
|
disabled: PropTypes.bool,
|
||||||
|
onClick: PropTypes.func
|
||||||
|
}
|
||||||
|
|
||||||
|
iconStyle() {
|
||||||
|
return {
|
||||||
|
cursor: 'hand',
|
||||||
|
fill: this.props.theme.base06,
|
||||||
|
width: '1.8rem',
|
||||||
|
height: '1.8rem'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
renderPlayButton() {
|
||||||
|
return (
|
||||||
|
<Button
|
||||||
|
onClick={this.props.onClick}
|
||||||
|
title='Play'
|
||||||
|
size='small'
|
||||||
|
disabled={this.props.disabled}
|
||||||
|
theme={this.props.theme}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
viewBox='0 0 24 24' preserveAspectRatio='xMidYMid meet'
|
||||||
|
style={this.iconStyle()}
|
||||||
|
>
|
||||||
|
<g><path d='M8 5v14l11-7z' /></g>
|
||||||
|
</svg>
|
||||||
|
</Button>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderPauseButton = () => (
|
||||||
|
<Button
|
||||||
|
onClick={this.props.onClick}
|
||||||
|
title='Pause'
|
||||||
|
size='small'
|
||||||
|
disabled={this.props.disabled}
|
||||||
|
theme={this.props.theme}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
viewBox='0 0 24 24' preserveAspectRatio='xMidYMid meet'
|
||||||
|
style={this.iconStyle()}
|
||||||
|
>
|
||||||
|
<g><path d='M6 19h4V5H6v14zm8-14v14h4V5h-4z' /></g>
|
||||||
|
</svg>
|
||||||
|
</Button>
|
||||||
|
)
|
||||||
|
|
||||||
|
renderStepButton = (direction) => {
|
||||||
|
const isLeft = direction === 'left';
|
||||||
|
const d = isLeft ?
|
||||||
|
'M15.41 16.09l-4.58-4.59 4.58-4.59-1.41-1.41-6 6 6 6z' :
|
||||||
|
'M8.59 16.34l4.58-4.59-4.58-4.59 1.41-1.41 6 6-6 6z';
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Button
|
||||||
|
size='small'
|
||||||
|
title={isLeft ? 'Go back' : 'Go forward'}
|
||||||
|
onClick={this.props.onClick}
|
||||||
|
disabled={this.props.disabled}
|
||||||
|
theme={this.props.theme}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
viewBox='0 0 24 24' preserveAspectRatio='xMidYMid meet'
|
||||||
|
style={this.iconStyle()}
|
||||||
|
>
|
||||||
|
<g><path d={d} /></g>
|
||||||
|
</svg>
|
||||||
|
</Button>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
switch (this.props.type) {
|
||||||
|
case 'play':
|
||||||
|
return this.renderPlayButton();
|
||||||
|
case 'pause':
|
||||||
|
return this.renderPauseButton();
|
||||||
|
case 'stepLeft':
|
||||||
|
return this.renderStepButton('left');
|
||||||
|
case 'stepRight':
|
||||||
|
return this.renderStepButton('right');
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
311
packages/redux-slider-monitor/src/SliderMonitor.js
Normal file
311
packages/redux-slider-monitor/src/SliderMonitor.js
Normal file
|
@ -0,0 +1,311 @@
|
||||||
|
import React, { Component, PureComponent } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import * as themes from 'redux-devtools-themes';
|
||||||
|
import { ActionCreators } from 'redux-devtools';
|
||||||
|
import { Toolbar, Divider } from 'devui/lib/Toolbar';
|
||||||
|
import Slider from 'devui/lib/Slider';
|
||||||
|
import Button from 'devui/lib/Button';
|
||||||
|
import SegmentedControl from 'devui/lib/SegmentedControl';
|
||||||
|
|
||||||
|
import reducer from './reducers';
|
||||||
|
import SliderButton from './SliderButton';
|
||||||
|
|
||||||
|
const { reset, jumpToState } = ActionCreators;
|
||||||
|
|
||||||
|
export default class SliderMonitor extends (PureComponent || Component) {
|
||||||
|
static update = reducer;
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
dispatch: PropTypes.func,
|
||||||
|
computedStates: PropTypes.array,
|
||||||
|
stagedActionIds: PropTypes.array,
|
||||||
|
actionsById: PropTypes.object,
|
||||||
|
currentStateIndex: PropTypes.number,
|
||||||
|
monitorState: PropTypes.shape({
|
||||||
|
initialScrollTop: PropTypes.number
|
||||||
|
}),
|
||||||
|
preserveScrollTop: PropTypes.bool,
|
||||||
|
stagedActions: PropTypes.array,
|
||||||
|
select: PropTypes.func.isRequired,
|
||||||
|
hideResetButton: PropTypes.bool,
|
||||||
|
theme: PropTypes.oneOfType([
|
||||||
|
PropTypes.object,
|
||||||
|
PropTypes.string
|
||||||
|
]),
|
||||||
|
keyboardEnabled: PropTypes.bool
|
||||||
|
};
|
||||||
|
|
||||||
|
static defaultProps = {
|
||||||
|
select: state => state,
|
||||||
|
theme: 'nicinabox',
|
||||||
|
preserveScrollTop: true,
|
||||||
|
keyboardEnabled: true
|
||||||
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
timer: undefined,
|
||||||
|
replaySpeed: '1x'
|
||||||
|
};
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
window.addEventListener('keydown', this.handleKeyPress);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
window.removeEventListener('keydown', this.handleKeyPress);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpTheme = () => {
|
||||||
|
let theme;
|
||||||
|
if (typeof this.props.theme === 'string') {
|
||||||
|
if (typeof themes[this.props.theme] !== 'undefined') {
|
||||||
|
theme = themes[this.props.theme];
|
||||||
|
} else {
|
||||||
|
theme = themes.nicinabox;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
theme = this.props.theme;
|
||||||
|
}
|
||||||
|
|
||||||
|
return theme;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleReset = () => {
|
||||||
|
this.pauseReplay();
|
||||||
|
this.props.dispatch(reset());
|
||||||
|
}
|
||||||
|
|
||||||
|
handleKeyPress = (event) => {
|
||||||
|
if (!this.props.keyboardEnabled) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (event.ctrlKey && event.keyCode === 74) { // ctrl+j
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
if (this.state.timer) {
|
||||||
|
return this.pauseReplay();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.state.replaySpeed === 'Live') {
|
||||||
|
this.startRealtimeReplay();
|
||||||
|
} else {
|
||||||
|
this.startReplay();
|
||||||
|
}
|
||||||
|
} else if (event.ctrlKey && event.keyCode === 219) { // ctrl+[
|
||||||
|
event.preventDefault();
|
||||||
|
this.stepLeft();
|
||||||
|
} else if (event.ctrlKey && event.keyCode === 221) { // ctrl+]
|
||||||
|
event.preventDefault();
|
||||||
|
this.stepRight();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSliderChange = (value) => {
|
||||||
|
if (this.state.timer) {
|
||||||
|
this.pauseReplay();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.props.dispatch(jumpToState(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
startReplay = () => {
|
||||||
|
const { computedStates, currentStateIndex, dispatch } = this.props;
|
||||||
|
|
||||||
|
if (computedStates.length < 2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const speed = this.state.replaySpeed === '1x' ? 500 : 200;
|
||||||
|
|
||||||
|
let stateIndex;
|
||||||
|
if (currentStateIndex === computedStates.length - 1) {
|
||||||
|
dispatch(jumpToState(0));
|
||||||
|
stateIndex = 0;
|
||||||
|
} else if (currentStateIndex === computedStates.length - 2) {
|
||||||
|
dispatch(jumpToState(currentStateIndex + 1));
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
stateIndex = currentStateIndex + 1;
|
||||||
|
dispatch(jumpToState(currentStateIndex + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
let counter = stateIndex;
|
||||||
|
const timer = setInterval(() => {
|
||||||
|
if (counter + 1 <= computedStates.length - 1) {
|
||||||
|
dispatch(jumpToState(counter + 1));
|
||||||
|
}
|
||||||
|
counter += 1;
|
||||||
|
|
||||||
|
if (counter >= computedStates.length - 1) {
|
||||||
|
clearInterval(this.state.timer);
|
||||||
|
this.setState({
|
||||||
|
timer: undefined
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, speed);
|
||||||
|
|
||||||
|
this.setState({ timer });
|
||||||
|
}
|
||||||
|
|
||||||
|
startRealtimeReplay = () => {
|
||||||
|
if (this.props.computedStates.length < 2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.props.currentStateIndex === this.props.computedStates.length - 1) {
|
||||||
|
this.props.dispatch(jumpToState(0));
|
||||||
|
|
||||||
|
this.loop(0);
|
||||||
|
} else {
|
||||||
|
this.loop(this.props.currentStateIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loop = (index) => {
|
||||||
|
let currentTimestamp = Date.now();
|
||||||
|
let timestampDiff = this.getLatestTimestampDiff(index);
|
||||||
|
|
||||||
|
const aLoop = () => {
|
||||||
|
const replayDiff = Date.now() - currentTimestamp;
|
||||||
|
if (replayDiff >= timestampDiff) {
|
||||||
|
this.props.dispatch(jumpToState(this.props.currentStateIndex + 1));
|
||||||
|
|
||||||
|
if (this.props.currentStateIndex >= this.props.computedStates.length - 1) {
|
||||||
|
this.pauseReplay();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
timestampDiff = this.getLatestTimestampDiff(this.props.currentStateIndex);
|
||||||
|
currentTimestamp = Date.now();
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
timer: requestAnimationFrame(aLoop)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.setState({
|
||||||
|
timer: requestAnimationFrame(aLoop)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (index !== this.props.computedStates.length - 1) {
|
||||||
|
this.setState({
|
||||||
|
timer: requestAnimationFrame(aLoop)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getLatestTimestampDiff = index =>
|
||||||
|
this.getTimestampOfStateIndex(index + 1) - this.getTimestampOfStateIndex(index)
|
||||||
|
|
||||||
|
getTimestampOfStateIndex = (stateIndex) => {
|
||||||
|
const id = this.props.stagedActionIds[stateIndex];
|
||||||
|
return this.props.actionsById[id].timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
pauseReplay = (cb) => {
|
||||||
|
if (this.state.timer) {
|
||||||
|
cancelAnimationFrame(this.state.timer);
|
||||||
|
clearInterval(this.state.timer);
|
||||||
|
this.setState({
|
||||||
|
timer: undefined
|
||||||
|
}, () => {
|
||||||
|
if (typeof cb === 'function') {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stepLeft = () => {
|
||||||
|
this.pauseReplay();
|
||||||
|
|
||||||
|
if (this.props.currentStateIndex !== 0) {
|
||||||
|
this.props.dispatch(jumpToState(this.props.currentStateIndex - 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stepRight = () => {
|
||||||
|
this.pauseReplay();
|
||||||
|
|
||||||
|
if (this.props.currentStateIndex !== this.props.computedStates.length - 1) {
|
||||||
|
this.props.dispatch(jumpToState(this.props.currentStateIndex + 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
changeReplaySpeed = (replaySpeed) => {
|
||||||
|
this.setState({ replaySpeed });
|
||||||
|
|
||||||
|
if (this.state.timer) {
|
||||||
|
this.pauseReplay(() => {
|
||||||
|
if (replaySpeed === 'Live') {
|
||||||
|
this.startRealtimeReplay();
|
||||||
|
} else {
|
||||||
|
this.startReplay();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {
|
||||||
|
currentStateIndex, computedStates, actionsById, stagedActionIds, hideResetButton
|
||||||
|
} = this.props;
|
||||||
|
const { replaySpeed } = this.state;
|
||||||
|
const theme = this.setUpTheme();
|
||||||
|
|
||||||
|
const max = computedStates.length - 1;
|
||||||
|
const actionId = stagedActionIds[currentStateIndex];
|
||||||
|
let actionType = actionsById[actionId].action.type;
|
||||||
|
if (actionType === undefined) actionType = '<UNDEFINED>';
|
||||||
|
else if (actionType === null) actionType = '<NULL>';
|
||||||
|
else actionType = actionType.toString() || '<EMPTY>';
|
||||||
|
|
||||||
|
const onPlayClick = replaySpeed === 'Live' ? this.startRealtimeReplay : this.startReplay;
|
||||||
|
const playPause = this.state.timer ?
|
||||||
|
<SliderButton theme={theme} type='pause' onClick={this.pauseReplay} /> :
|
||||||
|
<SliderButton theme={theme} type='play' disabled={max <= 0} onClick={onPlayClick} />;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Toolbar noBorder compact fullHeight theme={theme}>
|
||||||
|
{playPause}
|
||||||
|
<Slider
|
||||||
|
label={actionType}
|
||||||
|
sublabel={`(${actionId})`}
|
||||||
|
min={0}
|
||||||
|
max={max}
|
||||||
|
value={currentStateIndex}
|
||||||
|
onChange={this.handleSliderChange}
|
||||||
|
theme={theme}
|
||||||
|
/>
|
||||||
|
<SliderButton
|
||||||
|
theme={theme}
|
||||||
|
type='stepLeft'
|
||||||
|
disabled={currentStateIndex <= 0}
|
||||||
|
onClick={this.stepLeft}
|
||||||
|
/>
|
||||||
|
<SliderButton
|
||||||
|
theme={theme}
|
||||||
|
type='stepRight'
|
||||||
|
disabled={currentStateIndex === max}
|
||||||
|
onClick={this.stepRight}
|
||||||
|
/>
|
||||||
|
<Divider theme={theme} />
|
||||||
|
<SegmentedControl
|
||||||
|
theme={theme}
|
||||||
|
values={['Live', '1x', '2x']}
|
||||||
|
selected={replaySpeed}
|
||||||
|
onClick={this.changeReplaySpeed}
|
||||||
|
/>
|
||||||
|
{!hideResetButton && [
|
||||||
|
<Divider key='divider' theme={theme} />,
|
||||||
|
<Button key='reset' theme={theme} onClick={this.handleReset}>Reset</Button>
|
||||||
|
]}
|
||||||
|
</Toolbar>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
3
packages/redux-slider-monitor/src/reducers.js
Normal file
3
packages/redux-slider-monitor/src/reducers.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
export default function reducer() {
|
||||||
|
return {};
|
||||||
|
}
|
411
yarn.lock
411
yarn.lock
|
@ -882,11 +882,24 @@ airbnb-style@2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/airbnb-style/-/airbnb-style-2.0.0.tgz#aea1b7d45042726fb59fa72c33aa03cfebdad17b"
|
resolved "https://registry.yarnpkg.com/airbnb-style/-/airbnb-style-2.0.0.tgz#aea1b7d45042726fb59fa72c33aa03cfebdad17b"
|
||||||
integrity sha1-rqG31FBCcm+1n6csM6oDz+va0Xs=
|
integrity sha1-rqG31FBCcm+1n6csM6oDz+va0Xs=
|
||||||
|
|
||||||
|
ajv-keywords@^1.0.0:
|
||||||
|
version "1.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
||||||
|
integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw=
|
||||||
|
|
||||||
ajv-keywords@^2.1.0:
|
ajv-keywords@^2.1.0:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
|
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
|
||||||
integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=
|
integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=
|
||||||
|
|
||||||
|
ajv@^4.7.0:
|
||||||
|
version "4.11.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
|
||||||
|
integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
|
||||||
|
dependencies:
|
||||||
|
co "^4.6.0"
|
||||||
|
json-stable-stringify "^1.0.1"
|
||||||
|
|
||||||
ajv@^5.2.3, ajv@^5.3.0:
|
ajv@^5.2.3, ajv@^5.3.0:
|
||||||
version "5.5.2"
|
version "5.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
|
||||||
|
@ -1048,6 +1061,13 @@ argparse@^1.0.2, argparse@^1.0.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
sprintf-js "~1.0.2"
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
|
aria-query@^0.3.0:
|
||||||
|
version "0.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.3.0.tgz#cb8a9984e2862711c83c80ade5b8f5ca0de2b467"
|
||||||
|
integrity sha1-y4qZhOKGJxHIPICt5bj1yg3itGc=
|
||||||
|
dependencies:
|
||||||
|
ast-types-flow "0.0.7"
|
||||||
|
|
||||||
aria-query@^3.0.0:
|
aria-query@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"
|
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"
|
||||||
|
@ -1278,7 +1298,7 @@ axobject-query@^2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
ast-types-flow "0.0.7"
|
ast-types-flow "0.0.7"
|
||||||
|
|
||||||
babel-cli@^6.10.1, babel-cli@^6.26.0, babel-cli@^6.3.15, babel-cli@^6.3.17, babel-cli@^6.4.5:
|
babel-cli@^6.10.1, babel-cli@^6.24.1, babel-cli@^6.26.0, babel-cli@^6.3.15, babel-cli@^6.3.17, babel-cli@^6.4.5:
|
||||||
version "6.26.0"
|
version "6.26.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
|
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
|
||||||
integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE=
|
integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE=
|
||||||
|
@ -1300,7 +1320,7 @@ babel-cli@^6.10.1, babel-cli@^6.26.0, babel-cli@^6.3.15, babel-cli@^6.3.17, babe
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
chokidar "^1.6.1"
|
chokidar "^1.6.1"
|
||||||
|
|
||||||
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
||||||
version "6.26.0"
|
version "6.26.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
||||||
integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
|
integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
|
||||||
|
@ -1361,7 +1381,7 @@ babel-core@^5.1.8, babel-core@^5.8.25, babel-core@^5.8.33:
|
||||||
trim-right "^1.0.0"
|
trim-right "^1.0.0"
|
||||||
try-resolve "^1.0.0"
|
try-resolve "^1.0.0"
|
||||||
|
|
||||||
babel-core@^6.0.0, babel-core@^6.1.20, babel-core@^6.1.4, babel-core@^6.26.0, babel-core@^6.3.17, babel-core@^6.4.5:
|
babel-core@^6.0.0, babel-core@^6.1.20, babel-core@^6.1.4, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.3.17, babel-core@^6.4.5:
|
||||||
version "6.26.3"
|
version "6.26.3"
|
||||||
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
|
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
|
||||||
integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
|
integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
|
||||||
|
@ -1428,7 +1448,7 @@ babel-eslint@^5.0.0-beta4:
|
||||||
lodash.assign "^3.2.0"
|
lodash.assign "^3.2.0"
|
||||||
lodash.pick "^3.1.0"
|
lodash.pick "^3.1.0"
|
||||||
|
|
||||||
babel-eslint@^7.1.0:
|
babel-eslint@^7.1.0, babel-eslint@^7.2.2:
|
||||||
version "7.2.3"
|
version "7.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
|
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
|
||||||
integrity sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=
|
integrity sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=
|
||||||
|
@ -1613,7 +1633,7 @@ babel-jest@^23.6.0:
|
||||||
babel-plugin-istanbul "^4.1.6"
|
babel-plugin-istanbul "^4.1.6"
|
||||||
babel-preset-jest "^23.2.0"
|
babel-preset-jest "^23.2.0"
|
||||||
|
|
||||||
babel-loader@^6.2.0, babel-loader@^6.2.2, babel-loader@^6.2.4:
|
babel-loader@^6.2.0, babel-loader@^6.2.2, babel-loader@^6.2.4, babel-loader@^6.4.1:
|
||||||
version "6.4.1"
|
version "6.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
|
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
|
||||||
integrity sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=
|
integrity sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=
|
||||||
|
@ -2314,7 +2334,7 @@ babel-preset-es2015-loose@^7.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
modify-babel-preset "^1.0.0"
|
modify-babel-preset "^1.0.0"
|
||||||
|
|
||||||
babel-preset-es2015@^6.3.13, babel-preset-es2015@^6.9.0:
|
babel-preset-es2015@^6.24.1, babel-preset-es2015@^6.3.13, babel-preset-es2015@^6.9.0:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
|
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
|
||||||
integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=
|
integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=
|
||||||
|
@ -2378,7 +2398,7 @@ babel-preset-react-app@^3.1.2:
|
||||||
babel-preset-env "1.6.1"
|
babel-preset-env "1.6.1"
|
||||||
babel-preset-react "6.24.1"
|
babel-preset-react "6.24.1"
|
||||||
|
|
||||||
babel-preset-react@6.24.1, babel-preset-react@^6.3.13, babel-preset-react@^6.5.0:
|
babel-preset-react@6.24.1, babel-preset-react@^6.24.1, babel-preset-react@^6.3.13, babel-preset-react@^6.5.0:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
|
resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
|
||||||
integrity sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=
|
integrity sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=
|
||||||
|
@ -2402,7 +2422,7 @@ babel-preset-react@6.3.13:
|
||||||
babel-plugin-transform-react-jsx "^6.3.13"
|
babel-plugin-transform-react-jsx "^6.3.13"
|
||||||
babel-plugin-transform-react-jsx-source "^6.3.13"
|
babel-plugin-transform-react-jsx-source "^6.3.13"
|
||||||
|
|
||||||
babel-preset-stage-0@^6.3.13, babel-preset-stage-0@^6.5.0:
|
babel-preset-stage-0@^6.24.1, babel-preset-stage-0@^6.3.13, babel-preset-stage-0@^6.5.0:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a"
|
resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a"
|
||||||
integrity sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=
|
integrity sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=
|
||||||
|
@ -2729,6 +2749,14 @@ buffer@^4.9.0:
|
||||||
ieee754 "^1.1.4"
|
ieee754 "^1.1.4"
|
||||||
isarray "^1.0.0"
|
isarray "^1.0.0"
|
||||||
|
|
||||||
|
buffer@^5.0.3:
|
||||||
|
version "5.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
|
||||||
|
integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==
|
||||||
|
dependencies:
|
||||||
|
base64-js "^1.0.2"
|
||||||
|
ieee754 "^1.1.4"
|
||||||
|
|
||||||
builtin-modules@^1.0.0:
|
builtin-modules@^1.0.0:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
|
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
|
||||||
|
@ -3003,7 +3031,7 @@ class-utils@^0.3.5:
|
||||||
isobject "^3.0.0"
|
isobject "^3.0.0"
|
||||||
static-extend "^0.1.1"
|
static-extend "^0.1.1"
|
||||||
|
|
||||||
classnames@^2.2.5:
|
classnames@^2.2.4, classnames@^2.2.5:
|
||||||
version "2.2.6"
|
version "2.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
|
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
|
||||||
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
|
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
|
||||||
|
@ -3100,6 +3128,11 @@ code-point-at@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
|
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
|
||||||
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
|
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
|
||||||
|
|
||||||
|
codemirror@^5.21.0:
|
||||||
|
version "5.42.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.42.2.tgz#801ab715a7a7e1c7ed4162b78e9d8138b98de8f0"
|
||||||
|
integrity sha512-Tkv6im39VuhduFMsDA3MlXcC/kKas3Z0PI1/8N88QvFQbtOeiiwnfFJE4juGyC8/a4sb1BSxQlzsil8XLQdxRw==
|
||||||
|
|
||||||
collection-visit@^1.0.0:
|
collection-visit@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
||||||
|
@ -3108,7 +3141,7 @@ collection-visit@^1.0.0:
|
||||||
map-visit "^1.0.0"
|
map-visit "^1.0.0"
|
||||||
object-visit "^1.0.0"
|
object-visit "^1.0.0"
|
||||||
|
|
||||||
color-convert@^1.9.0:
|
color-convert@^1.8.2, color-convert@^1.9.0:
|
||||||
version "1.9.3"
|
version "1.9.3"
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||||
|
@ -3120,6 +3153,11 @@ color-name@1.1.3:
|
||||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||||
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
|
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
|
||||||
|
|
||||||
|
color-name@^1.0.0:
|
||||||
|
version "1.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||||
|
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||||
|
|
||||||
color-space@^1.14.3:
|
color-space@^1.14.3:
|
||||||
version "1.16.0"
|
version "1.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/color-space/-/color-space-1.16.0.tgz#611781bca41cd8582a1466fd9e28a7d3d89772a2"
|
resolved "https://registry.yarnpkg.com/color-space/-/color-space-1.16.0.tgz#611781bca41cd8582a1466fd9e28a7d3d89772a2"
|
||||||
|
@ -3128,6 +3166,22 @@ color-space@^1.14.3:
|
||||||
hsluv "^0.0.3"
|
hsluv "^0.0.3"
|
||||||
mumath "^3.3.4"
|
mumath "^3.3.4"
|
||||||
|
|
||||||
|
color-string@^1.4.0:
|
||||||
|
version "1.5.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
|
||||||
|
integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
|
||||||
|
dependencies:
|
||||||
|
color-name "^1.0.0"
|
||||||
|
simple-swizzle "^0.2.2"
|
||||||
|
|
||||||
|
color@^1.0.1:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz#e48e832d85f14ef694fb468811c2d5cfe729b55d"
|
||||||
|
integrity sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=
|
||||||
|
dependencies:
|
||||||
|
color-convert "^1.8.2"
|
||||||
|
color-string "^1.4.0"
|
||||||
|
|
||||||
colors@0.5.x:
|
colors@0.5.x:
|
||||||
version "0.5.1"
|
version "0.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
|
resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
|
||||||
|
@ -3231,7 +3285,7 @@ concat-map@0.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||||
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
||||||
|
|
||||||
concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.6.0:
|
concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.0:
|
||||||
version "1.6.2"
|
version "1.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||||
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
||||||
|
@ -3525,6 +3579,11 @@ crypto-browserify@~3.2.6:
|
||||||
ripemd160 "0.2.0"
|
ripemd160 "0.2.0"
|
||||||
sha.js "2.2.6"
|
sha.js "2.2.6"
|
||||||
|
|
||||||
|
css-color-keywords@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
|
||||||
|
integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
|
||||||
|
|
||||||
css-select@^1.1.0, css-select@~1.2.0:
|
css-select@^1.1.0, css-select@~1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
|
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
|
||||||
|
@ -3535,6 +3594,15 @@ css-select@^1.1.0, css-select@~1.2.0:
|
||||||
domutils "1.5.1"
|
domutils "1.5.1"
|
||||||
nth-check "~1.0.1"
|
nth-check "~1.0.1"
|
||||||
|
|
||||||
|
css-to-react-native@^2.0.3:
|
||||||
|
version "2.2.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.2.2.tgz#c077d0f7bf3e6c915a539e7325821c9dd01f9965"
|
||||||
|
integrity sha512-w99Fzop1FO8XKm0VpbQp3y5mnTnaS+rtCvS+ylSEOK76YXO5zoHQx/QMB1N54Cp+Ya9jB9922EHrh14ld4xmmw==
|
||||||
|
dependencies:
|
||||||
|
css-color-keywords "^1.0.0"
|
||||||
|
fbjs "^0.8.5"
|
||||||
|
postcss-value-parser "^3.3.0"
|
||||||
|
|
||||||
css-vendor@^0.3.8:
|
css-vendor@^0.3.8:
|
||||||
version "0.3.8"
|
version "0.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
|
resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
|
||||||
|
@ -3590,7 +3658,7 @@ d@1:
|
||||||
dependencies:
|
dependencies:
|
||||||
es5-ext "^0.10.9"
|
es5-ext "^0.10.9"
|
||||||
|
|
||||||
damerau-levenshtein@^1.0.4:
|
damerau-levenshtein@^1.0.0, damerau-levenshtein@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
|
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
|
||||||
integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
|
integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
|
||||||
|
@ -3847,6 +3915,22 @@ detective@^4.3.1:
|
||||||
acorn "^5.2.1"
|
acorn "^5.2.1"
|
||||||
defined "^1.0.0"
|
defined "^1.0.0"
|
||||||
|
|
||||||
|
devui@^1.0.0-3:
|
||||||
|
version "1.0.0-3"
|
||||||
|
resolved "https://registry.yarnpkg.com/devui/-/devui-1.0.0-3.tgz#a21c08185e84056d36d9993bbfabb5df60fe0a02"
|
||||||
|
integrity sha1-ohwIGF6EBW022Zk7v6u132D+CgI=
|
||||||
|
dependencies:
|
||||||
|
base16 "^1.0.0"
|
||||||
|
codemirror "^5.21.0"
|
||||||
|
color "^1.0.1"
|
||||||
|
prop-types "^15.5.10"
|
||||||
|
react-icons "^2.2.5"
|
||||||
|
react-jsonschema-form "^0.48.2"
|
||||||
|
react-select "^1.0.0-rc.5"
|
||||||
|
redux-devtools-themes "^1.0.0"
|
||||||
|
simple-element-resize-detector "^1.1.0"
|
||||||
|
styled-components "^2.0.0"
|
||||||
|
|
||||||
dezalgo@^1.0.0:
|
dezalgo@^1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
|
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
|
||||||
|
@ -4065,7 +4149,7 @@ elegant-spinner@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
|
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
|
||||||
integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
|
integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
|
||||||
|
|
||||||
emoji-regex@^6.5.1:
|
emoji-regex@^6.1.0, emoji-regex@^6.5.1:
|
||||||
version "6.5.1"
|
version "6.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
|
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
|
||||||
integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==
|
integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==
|
||||||
|
@ -4310,7 +4394,7 @@ escodegen@^1.6.1, escodegen@^1.9.1:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
source-map "~0.6.1"
|
source-map "~0.6.1"
|
||||||
|
|
||||||
escope@^3.0.1, escope@^3.1.0, escope@^3.3.0:
|
escope@^3.0.1, escope@^3.1.0, escope@^3.3.0, escope@^3.6.0:
|
||||||
version "3.6.0"
|
version "3.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
|
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
|
||||||
integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
|
integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
|
||||||
|
@ -4320,6 +4404,13 @@ escope@^3.0.1, escope@^3.1.0, escope@^3.3.0:
|
||||||
esrecurse "^4.1.0"
|
esrecurse "^4.1.0"
|
||||||
estraverse "^4.1.1"
|
estraverse "^4.1.1"
|
||||||
|
|
||||||
|
eslint-config-airbnb-base@^11.1.0:
|
||||||
|
version "11.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.2.tgz#8703b11abe3c88ac7ec2b745b7fdf52e00ae680a"
|
||||||
|
integrity sha512-/fhjt/VqzBA2SRsx7ErDtv6Ayf+XLw9LIOqmpBuHFCVwyJo2EtzGWMB9fYRFBoWWQLxmNmCpenNiH0RxyeS41w==
|
||||||
|
dependencies:
|
||||||
|
eslint-restricted-globals "^0.1.1"
|
||||||
|
|
||||||
eslint-config-airbnb@0.0.6:
|
eslint-config-airbnb@0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-0.0.6.tgz#ee3130c831734adb574bce6ee82c2f7fd9fae500"
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-0.0.6.tgz#ee3130c831734adb574bce6ee82c2f7fd9fae500"
|
||||||
|
@ -4332,6 +4423,13 @@ eslint-config-airbnb@0.0.6:
|
||||||
resolve "1.1.6"
|
resolve "1.1.6"
|
||||||
strip-json-comments "1.0.2"
|
strip-json-comments "1.0.2"
|
||||||
|
|
||||||
|
eslint-config-airbnb@^14.1.0:
|
||||||
|
version "14.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-14.1.0.tgz#355d290040bbf8e00bf8b4b19f4b70cbe7c2317f"
|
||||||
|
integrity sha1-NV0pAEC7+OAL+LSxn0twy+fCMX8=
|
||||||
|
dependencies:
|
||||||
|
eslint-config-airbnb-base "^11.1.0"
|
||||||
|
|
||||||
eslint-config-prettier@^2.6.0:
|
eslint-config-prettier@^2.6.0:
|
||||||
version "2.10.0"
|
version "2.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b"
|
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b"
|
||||||
|
@ -4383,7 +4481,7 @@ eslint-plugin-flowtype@3.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.10"
|
lodash "^4.17.10"
|
||||||
|
|
||||||
eslint-plugin-import@2.14.0, eslint-plugin-import@^2.8.0:
|
eslint-plugin-import@2.14.0, eslint-plugin-import@^2.2.0, eslint-plugin-import@^2.8.0:
|
||||||
version "2.14.0"
|
version "2.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8"
|
||||||
integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==
|
integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==
|
||||||
|
@ -4413,6 +4511,18 @@ eslint-plugin-jsx-a11y@6.1.1:
|
||||||
has "^1.0.3"
|
has "^1.0.3"
|
||||||
jsx-ast-utils "^2.0.1"
|
jsx-ast-utils "^2.0.1"
|
||||||
|
|
||||||
|
eslint-plugin-jsx-a11y@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-4.0.0.tgz#779bb0fe7b08da564a422624911de10061e048ee"
|
||||||
|
integrity sha1-d5uw/nsI2lZKQiYkkR3hAGHgSO4=
|
||||||
|
dependencies:
|
||||||
|
aria-query "^0.3.0"
|
||||||
|
ast-types-flow "0.0.7"
|
||||||
|
damerau-levenshtein "^1.0.0"
|
||||||
|
emoji-regex "^6.1.0"
|
||||||
|
jsx-ast-utils "^1.0.0"
|
||||||
|
object-assign "^4.0.1"
|
||||||
|
|
||||||
eslint-plugin-node@^5.2.1:
|
eslint-plugin-node@^5.2.1:
|
||||||
version "5.2.1"
|
version "5.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz#80df3253c4d7901045ec87fa660a284e32bdca29"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz#80df3253c4d7901045ec87fa660a284e32bdca29"
|
||||||
|
@ -4461,7 +4571,7 @@ eslint-plugin-react@^3.6.3:
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-3.16.1.tgz#262d96b77d7c4a42af809a73c0e527a58612293c"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-3.16.1.tgz#262d96b77d7c4a42af809a73c0e527a58612293c"
|
||||||
integrity sha1-Ji2Wt318SkKvgJpzwOUnpYYSKTw=
|
integrity sha1-Ji2Wt318SkKvgJpzwOUnpYYSKTw=
|
||||||
|
|
||||||
eslint-plugin-react@^6.6.0:
|
eslint-plugin-react@^6.10.3, eslint-plugin-react@^6.6.0:
|
||||||
version "6.10.3"
|
version "6.10.3"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
|
||||||
integrity sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=
|
integrity sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=
|
||||||
|
@ -4477,6 +4587,11 @@ eslint-plugin-standard@^3.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz#2a9e21259ba4c47c02d53b2d0c9135d4b1022d47"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz#2a9e21259ba4c47c02d53b2d0c9135d4b1022d47"
|
||||||
integrity sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==
|
integrity sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==
|
||||||
|
|
||||||
|
eslint-restricted-globals@^0.1.1:
|
||||||
|
version "0.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7"
|
||||||
|
integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=
|
||||||
|
|
||||||
eslint-scope@3.7.1:
|
eslint-scope@3.7.1:
|
||||||
version "3.7.1"
|
version "3.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
||||||
|
@ -4633,6 +4748,47 @@ eslint@^0.24:
|
||||||
user-home "^1.0.0"
|
user-home "^1.0.0"
|
||||||
xml-escape "~1.0.0"
|
xml-escape "~1.0.0"
|
||||||
|
|
||||||
|
eslint@^3.19.0:
|
||||||
|
version "3.19.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
|
||||||
|
integrity sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=
|
||||||
|
dependencies:
|
||||||
|
babel-code-frame "^6.16.0"
|
||||||
|
chalk "^1.1.3"
|
||||||
|
concat-stream "^1.5.2"
|
||||||
|
debug "^2.1.1"
|
||||||
|
doctrine "^2.0.0"
|
||||||
|
escope "^3.6.0"
|
||||||
|
espree "^3.4.0"
|
||||||
|
esquery "^1.0.0"
|
||||||
|
estraverse "^4.2.0"
|
||||||
|
esutils "^2.0.2"
|
||||||
|
file-entry-cache "^2.0.0"
|
||||||
|
glob "^7.0.3"
|
||||||
|
globals "^9.14.0"
|
||||||
|
ignore "^3.2.0"
|
||||||
|
imurmurhash "^0.1.4"
|
||||||
|
inquirer "^0.12.0"
|
||||||
|
is-my-json-valid "^2.10.0"
|
||||||
|
is-resolvable "^1.0.0"
|
||||||
|
js-yaml "^3.5.1"
|
||||||
|
json-stable-stringify "^1.0.0"
|
||||||
|
levn "^0.3.0"
|
||||||
|
lodash "^4.0.0"
|
||||||
|
mkdirp "^0.5.0"
|
||||||
|
natural-compare "^1.4.0"
|
||||||
|
optionator "^0.8.2"
|
||||||
|
path-is-inside "^1.0.1"
|
||||||
|
pluralize "^1.2.1"
|
||||||
|
progress "^1.1.8"
|
||||||
|
require-uncached "^1.0.2"
|
||||||
|
shelljs "^0.7.5"
|
||||||
|
strip-bom "^3.0.0"
|
||||||
|
strip-json-comments "~2.0.1"
|
||||||
|
table "^3.7.8"
|
||||||
|
text-table "~0.2.0"
|
||||||
|
user-home "^2.0.0"
|
||||||
|
|
||||||
eslint@^4.0.0, eslint@^4.10:
|
eslint@^4.0.0, eslint@^4.10:
|
||||||
version "4.19.1"
|
version "4.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
|
||||||
|
@ -4725,7 +4881,7 @@ espree@^2.0.1, espree@^2.2.4:
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-2.2.5.tgz#df691b9310889402aeb29cc066708c56690b854b"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-2.2.5.tgz#df691b9310889402aeb29cc066708c56690b854b"
|
||||||
integrity sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=
|
integrity sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=
|
||||||
|
|
||||||
espree@^3.5.4:
|
espree@^3.4.0, espree@^3.5.4:
|
||||||
version "3.5.4"
|
version "3.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
|
||||||
integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
|
integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
|
||||||
|
@ -5149,7 +5305,7 @@ fb-watchman@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
bser "^2.0.0"
|
bser "^2.0.0"
|
||||||
|
|
||||||
fbjs@^0.8.9:
|
fbjs@^0.8.5, fbjs@^0.8.9:
|
||||||
version "0.8.17"
|
version "0.8.17"
|
||||||
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
|
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
|
||||||
integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
|
integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
|
||||||
|
@ -5621,7 +5777,7 @@ glob@^5.0.14, glob@^5.0.15, glob@~5.0.3:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
|
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
|
||||||
version "7.1.3"
|
version "7.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
|
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
|
||||||
integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
|
integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
|
||||||
|
@ -5656,7 +5812,7 @@ globals@^8.0.0, globals@^8.11.0:
|
||||||
resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4"
|
resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4"
|
||||||
integrity sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=
|
integrity sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=
|
||||||
|
|
||||||
globals@^9.18.0:
|
globals@^9.14.0, globals@^9.18.0:
|
||||||
version "9.18.0"
|
version "9.18.0"
|
||||||
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
|
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
|
||||||
integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
|
integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
|
||||||
|
@ -5825,12 +5981,17 @@ history@^3.0.0:
|
||||||
query-string "^4.2.2"
|
query-string "^4.2.2"
|
||||||
warning "^3.0.0"
|
warning "^3.0.0"
|
||||||
|
|
||||||
|
hoist-non-react-statics@^1.2.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
|
||||||
|
integrity sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=
|
||||||
|
|
||||||
hoist-non-react-statics@^2.3.1:
|
hoist-non-react-statics@^2.3.1:
|
||||||
version "2.5.5"
|
version "2.5.5"
|
||||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
|
||||||
integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
|
integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
|
||||||
|
|
||||||
hoist-non-react-statics@^3.2.1:
|
hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1:
|
||||||
version "3.2.1"
|
version "3.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz#c09c0555c84b38a7ede6912b61efddafd6e75e1e"
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz#c09c0555c84b38a7ede6912b61efddafd6e75e1e"
|
||||||
integrity sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==
|
integrity sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==
|
||||||
|
@ -6056,7 +6217,7 @@ ignore-walk@^3.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
|
|
||||||
ignore@^3.3.3, ignore@^3.3.5, ignore@^3.3.6:
|
ignore@^3.2.0, ignore@^3.3.3, ignore@^3.3.5, ignore@^3.3.6:
|
||||||
version "3.3.10"
|
version "3.3.10"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
|
||||||
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
|
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
|
||||||
|
@ -6186,6 +6347,25 @@ inquirer@^0.11.0:
|
||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
through "^2.3.6"
|
through "^2.3.6"
|
||||||
|
|
||||||
|
inquirer@^0.12.0:
|
||||||
|
version "0.12.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
|
||||||
|
integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=
|
||||||
|
dependencies:
|
||||||
|
ansi-escapes "^1.1.0"
|
||||||
|
ansi-regex "^2.0.0"
|
||||||
|
chalk "^1.0.0"
|
||||||
|
cli-cursor "^1.0.1"
|
||||||
|
cli-width "^2.0.0"
|
||||||
|
figures "^1.3.5"
|
||||||
|
lodash "^4.3.0"
|
||||||
|
readline2 "^1.0.1"
|
||||||
|
run-async "^0.1.0"
|
||||||
|
rx-lite "^3.1.2"
|
||||||
|
string-width "^1.0.1"
|
||||||
|
strip-ansi "^3.0.0"
|
||||||
|
through "^2.3.6"
|
||||||
|
|
||||||
inquirer@^0.8.2:
|
inquirer@^0.8.2:
|
||||||
version "0.8.5"
|
version "0.8.5"
|
||||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.8.5.tgz#dbd740cf6ca3b731296a63ce6f6d961851f336df"
|
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.8.5.tgz#dbd740cf6ca3b731296a63ce6f6d961851f336df"
|
||||||
|
@ -6244,6 +6424,11 @@ interpret@^0.6.4:
|
||||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
|
resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
|
||||||
integrity sha1-/s16GOfOXKar+5U+H4YhOknxYls=
|
integrity sha1-/s16GOfOXKar+5U+H4YhOknxYls=
|
||||||
|
|
||||||
|
interpret@^1.0.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
|
||||||
|
integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=
|
||||||
|
|
||||||
invariant@^2.1.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
invariant@^2.1.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
||||||
version "2.2.4"
|
version "2.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||||
|
@ -6290,6 +6475,11 @@ is-arrayish@^0.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
||||||
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
|
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
|
||||||
|
|
||||||
|
is-arrayish@^0.3.1:
|
||||||
|
version "0.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
|
||||||
|
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
|
||||||
|
|
||||||
is-arrow-function@^2.0.3:
|
is-arrow-function@^2.0.3:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/is-arrow-function/-/is-arrow-function-2.0.3.tgz#29be2c2d8d9450852b8bbafb635ba7b8d8e87ec2"
|
resolved "https://registry.yarnpkg.com/is-arrow-function/-/is-arrow-function-2.0.3.tgz#29be2c2d8d9450852b8bbafb635ba7b8d8e87ec2"
|
||||||
|
@ -7198,7 +7388,7 @@ js-yaml@3.4.5:
|
||||||
argparse "^1.0.2"
|
argparse "^1.0.2"
|
||||||
esprima "^2.6.0"
|
esprima "^2.6.0"
|
||||||
|
|
||||||
js-yaml@3.x, js-yaml@^3.12.0, js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
|
js-yaml@3.x, js-yaml@^3.12.0, js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
|
||||||
version "3.12.0"
|
version "3.12.0"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
|
||||||
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
|
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
|
||||||
|
@ -7310,7 +7500,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
||||||
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
|
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
|
||||||
|
|
||||||
json-stable-stringify@^1.0.0:
|
json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
||||||
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
|
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
|
||||||
|
@ -7366,6 +7556,11 @@ jsonpointer@^4.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
||||||
integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
|
integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
|
||||||
|
|
||||||
|
jsonschema@^1.0.2:
|
||||||
|
version "1.2.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464"
|
||||||
|
integrity sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==
|
||||||
|
|
||||||
jsprim@^1.2.2:
|
jsprim@^1.2.2:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||||
|
@ -7398,7 +7593,7 @@ jss@^6.0.0:
|
||||||
is-in-browser "1.0.2"
|
is-in-browser "1.0.2"
|
||||||
warning "3.0.0"
|
warning "3.0.0"
|
||||||
|
|
||||||
jsx-ast-utils@^1.3.4:
|
jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
|
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
|
||||||
integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=
|
integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=
|
||||||
|
@ -7673,6 +7868,11 @@ locate-path@^3.0.0:
|
||||||
p-locate "^3.0.0"
|
p-locate "^3.0.0"
|
||||||
path-exists "^3.0.0"
|
path-exists "^3.0.0"
|
||||||
|
|
||||||
|
lodash-es@^4.2.1:
|
||||||
|
version "4.17.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0"
|
||||||
|
integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q==
|
||||||
|
|
||||||
lodash._arraycopy@^3.0.0:
|
lodash._arraycopy@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
|
resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
|
||||||
|
@ -7987,6 +8187,11 @@ lodash.templatesettings@^4.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash._reinterpolate "~3.0.0"
|
lodash._reinterpolate "~3.0.0"
|
||||||
|
|
||||||
|
lodash.topath@^4.5.2:
|
||||||
|
version "4.5.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009"
|
||||||
|
integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=
|
||||||
|
|
||||||
lodash.toplainobject@^3.0.0:
|
lodash.toplainobject@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d"
|
resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d"
|
||||||
|
@ -8000,7 +8205,7 @@ lodash@^3.10.0, lodash@^3.3.1, lodash@^3.6.0, lodash@^3.9.3:
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||||
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
|
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
|
||||||
|
|
||||||
lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1:
|
lodash@^4.0.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1:
|
||||||
version "4.17.11"
|
version "4.17.11"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||||
|
@ -9486,6 +9691,11 @@ plur@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156"
|
resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156"
|
||||||
integrity sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=
|
integrity sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=
|
||||||
|
|
||||||
|
pluralize@^1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
|
||||||
|
integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=
|
||||||
|
|
||||||
pluralize@^7.0.0:
|
pluralize@^7.0.0:
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
|
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
|
||||||
|
@ -9501,6 +9711,11 @@ posix-character-classes@^0.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
|
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
|
||||||
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
|
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
|
||||||
|
|
||||||
|
postcss-value-parser@^3.3.0:
|
||||||
|
version "3.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
|
||||||
|
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
|
||||||
|
|
||||||
pre-commit@^1.1.3:
|
pre-commit@^1.1.3:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6"
|
resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6"
|
||||||
|
@ -9578,6 +9793,11 @@ process@~0.5.1:
|
||||||
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
|
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
|
||||||
integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
|
integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
|
||||||
|
|
||||||
|
progress@^1.1.8:
|
||||||
|
version "1.1.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
|
||||||
|
integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
|
||||||
|
|
||||||
progress@^2.0.0:
|
progress@^2.0.0:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
||||||
|
@ -9618,7 +9838,7 @@ promzard@^0.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
read "1"
|
read "1"
|
||||||
|
|
||||||
prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2:
|
prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2:
|
||||||
version "15.6.2"
|
version "15.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
|
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
|
||||||
integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==
|
integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==
|
||||||
|
@ -9898,7 +10118,7 @@ react-dom@^15.4.0:
|
||||||
object-assign "^4.1.0"
|
object-assign "^4.1.0"
|
||||||
prop-types "^15.5.10"
|
prop-types "^15.5.10"
|
||||||
|
|
||||||
react-dom@^16.0.0, react-dom@^16.4.2:
|
react-dom@^16.0.0, react-dom@^16.4.2, react-dom@^16.7.0:
|
||||||
version "16.7.0"
|
version "16.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz#a17b2a7ca89ee7390bc1ed5eb81783c7461748b8"
|
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz#a17b2a7ca89ee7390bc1ed5eb81783c7461748b8"
|
||||||
integrity sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==
|
integrity sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==
|
||||||
|
@ -9916,6 +10136,25 @@ react-dragula@^1.1.17:
|
||||||
atoa "1.0.0"
|
atoa "1.0.0"
|
||||||
dragula "3.7.2"
|
dragula "3.7.2"
|
||||||
|
|
||||||
|
react-icon-base@2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d"
|
||||||
|
integrity sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50=
|
||||||
|
|
||||||
|
react-icons@^2.2.5:
|
||||||
|
version "2.2.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.7.tgz#d7860826b258557510dac10680abea5ca23cf650"
|
||||||
|
integrity sha512-0n4lcGqzJFcIQLoQytLdJCE0DKSA9dkwEZRYoGrIDJZFvIT6Hbajx5mv9geqhqFiNjUgtxg8kPyDfjlhymbGFg==
|
||||||
|
dependencies:
|
||||||
|
react-icon-base "2.1.0"
|
||||||
|
|
||||||
|
react-input-autosize@^2.1.2:
|
||||||
|
version "2.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
|
||||||
|
integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==
|
||||||
|
dependencies:
|
||||||
|
prop-types "^15.5.8"
|
||||||
|
|
||||||
react-input-enhancements@^0.7.5:
|
react-input-enhancements@^0.7.5:
|
||||||
version "0.7.5"
|
version "0.7.5"
|
||||||
resolved "https://registry.yarnpkg.com/react-input-enhancements/-/react-input-enhancements-0.7.5.tgz#a1bc1010d2f9dfef53fd490bb605db969f8f0e11"
|
resolved "https://registry.yarnpkg.com/react-input-enhancements/-/react-input-enhancements-0.7.5.tgz#a1bc1010d2f9dfef53fd490bb605db969f8f0e11"
|
||||||
|
@ -9934,7 +10173,7 @@ react-is-deprecated@0.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/react-is-deprecated/-/react-is-deprecated-0.1.2.tgz#301148f86ea428fe8e673eca7a372160b7579dbd"
|
resolved "https://registry.yarnpkg.com/react-is-deprecated/-/react-is-deprecated-0.1.2.tgz#301148f86ea428fe8e673eca7a372160b7579dbd"
|
||||||
integrity sha1-MBFI+G6kKP6OZz7KejchYLdXnb0=
|
integrity sha1-MBFI+G6kKP6OZz7KejchYLdXnb0=
|
||||||
|
|
||||||
react-is@^16.3.2, react-is@^16.6.3, react-is@^16.7.0:
|
react-is@^16.3.2, react-is@^16.6.0, react-is@^16.6.3, react-is@^16.7.0:
|
||||||
version "16.7.0"
|
version "16.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.7.0.tgz#c1bd21c64f1f1364c6f70695ec02d69392f41bfa"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.7.0.tgz#c1bd21c64f1f1364c6f70695ec02d69392f41bfa"
|
||||||
integrity sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==
|
integrity sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==
|
||||||
|
@ -9944,6 +10183,21 @@ react-is@^16.6.1:
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.3.tgz#d2d7462fcfcbe6ec0da56ad69047e47e56e7eac0"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.3.tgz#d2d7462fcfcbe6ec0da56ad69047e47e56e7eac0"
|
||||||
integrity sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==
|
integrity sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==
|
||||||
|
|
||||||
|
react-jsonschema-form@^0.48.2:
|
||||||
|
version "0.48.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-jsonschema-form/-/react-jsonschema-form-0.48.2.tgz#c75c47672b3c7a9d1d430a42a2afe69d93633d40"
|
||||||
|
integrity sha1-x1xHZys8ep0dQwpCoq/mnZNjPUA=
|
||||||
|
dependencies:
|
||||||
|
jsonschema "^1.0.2"
|
||||||
|
lodash.topath "^4.5.2"
|
||||||
|
prop-types "^15.5.8"
|
||||||
|
setimmediate "^1.0.5"
|
||||||
|
|
||||||
|
react-lifecycles-compat@^3.0.0:
|
||||||
|
version "3.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
|
||||||
|
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
|
||||||
|
|
||||||
react-overlays@^0.6.12:
|
react-overlays@^0.6.12:
|
||||||
version "0.6.12"
|
version "0.6.12"
|
||||||
resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.6.12.tgz#a079c750cc429d7db4c7474a95b4b54033e255c3"
|
resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.6.12.tgz#a079c750cc429d7db4c7474a95b4b54033e255c3"
|
||||||
|
@ -9974,6 +10228,19 @@ react-pure-render@^1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/react-pure-render/-/react-pure-render-1.0.2.tgz#9d8a928c7f2c37513c2d064e57b3e3c356e9fabb"
|
resolved "https://registry.yarnpkg.com/react-pure-render/-/react-pure-render-1.0.2.tgz#9d8a928c7f2c37513c2d064e57b3e3c356e9fabb"
|
||||||
integrity sha1-nYqSjH8sN1E8LQZOV7Pjw1bp+rs=
|
integrity sha1-nYqSjH8sN1E8LQZOV7Pjw1bp+rs=
|
||||||
|
|
||||||
|
react-redux@^5.0.4:
|
||||||
|
version "5.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.1.tgz#88e368682c7fa80e34e055cd7ac56f5936b0f52f"
|
||||||
|
integrity sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.1.2"
|
||||||
|
hoist-non-react-statics "^3.1.0"
|
||||||
|
invariant "^2.2.4"
|
||||||
|
loose-envify "^1.1.0"
|
||||||
|
prop-types "^15.6.1"
|
||||||
|
react-is "^16.6.0"
|
||||||
|
react-lifecycles-compat "^3.0.0"
|
||||||
|
|
||||||
react-redux@^6.0.0:
|
react-redux@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.0.tgz#09e86eeed5febb98e9442458ad2970c8f1a173ef"
|
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.0.tgz#09e86eeed5febb98e9442458ad2970c8f1a173ef"
|
||||||
|
@ -10004,6 +10271,15 @@ react-router@^3.0.0:
|
||||||
prop-types "^15.5.6"
|
prop-types "^15.5.6"
|
||||||
warning "^3.0.0"
|
warning "^3.0.0"
|
||||||
|
|
||||||
|
react-select@^1.0.0-rc.5:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.3.0.tgz#1828ad5bf7f3e42a835c7e2d8cb13b5c20714876"
|
||||||
|
integrity sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==
|
||||||
|
dependencies:
|
||||||
|
classnames "^2.2.4"
|
||||||
|
prop-types "^15.5.8"
|
||||||
|
react-input-autosize "^2.1.2"
|
||||||
|
|
||||||
react-test-renderer@^15.3.2:
|
react-test-renderer@^15.3.2:
|
||||||
version "15.6.2"
|
version "15.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.2.tgz#d0333434fc2c438092696ca770da5ed48037efa8"
|
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.2.tgz#d0333434fc2c438092696ca770da5ed48037efa8"
|
||||||
|
@ -10041,7 +10317,7 @@ react@^15.4.0:
|
||||||
object-assign "^4.1.0"
|
object-assign "^4.1.0"
|
||||||
prop-types "^15.5.10"
|
prop-types "^15.5.10"
|
||||||
|
|
||||||
react@^16.0.0, react@^16.4.2:
|
react@^16.0.0, react@^16.4.2, react@^16.7.0:
|
||||||
version "16.7.0"
|
version "16.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz#b674ec396b0a5715873b350446f7ea0802ab6381"
|
resolved "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz#b674ec396b0a5715873b350446f7ea0802ab6381"
|
||||||
integrity sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==
|
integrity sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==
|
||||||
|
@ -10254,6 +10530,13 @@ recast@^0.11.17:
|
||||||
private "~0.1.5"
|
private "~0.1.5"
|
||||||
source-map "~0.5.0"
|
source-map "~0.5.0"
|
||||||
|
|
||||||
|
rechoir@^0.6.2:
|
||||||
|
version "0.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
|
||||||
|
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
|
||||||
|
dependencies:
|
||||||
|
resolve "^1.1.6"
|
||||||
|
|
||||||
redent@^1.0.0:
|
redent@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
|
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
|
||||||
|
@ -10295,6 +10578,16 @@ redux-logger@^2.5.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
deep-diff "0.3.4"
|
deep-diff "0.3.4"
|
||||||
|
|
||||||
|
redux@^3.0.0:
|
||||||
|
version "3.7.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b"
|
||||||
|
integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.2.1"
|
||||||
|
lodash-es "^4.2.1"
|
||||||
|
loose-envify "^1.1.0"
|
||||||
|
symbol-observable "^1.0.3"
|
||||||
|
|
||||||
redux@^4.0.0:
|
redux@^4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
|
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
|
||||||
|
@ -10508,7 +10801,7 @@ require-relative@^0.8.7:
|
||||||
resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
|
resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
|
||||||
integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
|
integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
|
||||||
|
|
||||||
require-uncached@^1.0.3:
|
require-uncached@^1.0.2, require-uncached@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
|
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
|
||||||
integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
|
integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
|
||||||
|
@ -10854,6 +11147,15 @@ shelljs@^0.5.3:
|
||||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113"
|
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113"
|
||||||
integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=
|
integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=
|
||||||
|
|
||||||
|
shelljs@^0.7.5:
|
||||||
|
version "0.7.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
|
||||||
|
integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM=
|
||||||
|
dependencies:
|
||||||
|
glob "^7.0.0"
|
||||||
|
interpret "^1.0.0"
|
||||||
|
rechoir "^0.6.2"
|
||||||
|
|
||||||
shellwords@^0.1.1:
|
shellwords@^0.1.1:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
|
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
|
||||||
|
@ -10869,6 +11171,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||||
|
|
||||||
|
simple-element-resize-detector@^1.1.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-element-resize-detector/-/simple-element-resize-detector-1.2.0.tgz#d88a6e643b23514b9608008595a7b086de224c57"
|
||||||
|
integrity sha512-qB1wENNGcz2IgZQA2M3sSC4jOdriFvWdjCFZ81w7d4v95Y3a3x3esSZe8pYR8Sp7MYCINTLdXgd/ZxIcKaGUSA==
|
||||||
|
|
||||||
simple-fmt@~0.1.0:
|
simple-fmt@~0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b"
|
resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b"
|
||||||
|
@ -10879,6 +11186,13 @@ simple-is@~0.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
|
resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
|
||||||
integrity sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=
|
integrity sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=
|
||||||
|
|
||||||
|
simple-swizzle@^0.2.2:
|
||||||
|
version "0.2.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
||||||
|
integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
|
||||||
|
dependencies:
|
||||||
|
is-arrayish "^0.3.1"
|
||||||
|
|
||||||
sisteransi@^0.1.1:
|
sisteransi@^0.1.1:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
|
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
|
||||||
|
@ -11415,6 +11729,25 @@ strong-log-transformer@^2.0.0:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
through "^2.3.4"
|
through "^2.3.4"
|
||||||
|
|
||||||
|
styled-components@^2.0.0:
|
||||||
|
version "2.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.4.1.tgz#663bd0485d4b6ab46f946210dc03d2398d1ade74"
|
||||||
|
integrity sha1-ZjvQSF1LarRvlGIQ3APSOY0a3nQ=
|
||||||
|
dependencies:
|
||||||
|
buffer "^5.0.3"
|
||||||
|
css-to-react-native "^2.0.3"
|
||||||
|
fbjs "^0.8.9"
|
||||||
|
hoist-non-react-statics "^1.2.0"
|
||||||
|
is-plain-object "^2.0.1"
|
||||||
|
prop-types "^15.5.4"
|
||||||
|
stylis "^3.4.0"
|
||||||
|
supports-color "^3.2.3"
|
||||||
|
|
||||||
|
stylis@^3.4.0:
|
||||||
|
version "3.5.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
|
||||||
|
integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
|
||||||
|
|
||||||
supports-color@1.2.0:
|
supports-color@1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e"
|
||||||
|
@ -11437,7 +11770,7 @@ supports-color@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||||
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
|
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
|
||||||
|
|
||||||
supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2:
|
supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2, supports-color@^3.2.3:
|
||||||
version "3.2.3"
|
version "3.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
|
||||||
integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
|
integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
|
||||||
|
@ -11456,7 +11789,7 @@ symbol-observable@1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
|
||||||
integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=
|
integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=
|
||||||
|
|
||||||
symbol-observable@^1.0.2, symbol-observable@^1.2.0:
|
symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
||||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
||||||
|
@ -11478,6 +11811,18 @@ table@4.0.2:
|
||||||
slice-ansi "1.0.0"
|
slice-ansi "1.0.0"
|
||||||
string-width "^2.1.1"
|
string-width "^2.1.1"
|
||||||
|
|
||||||
|
table@^3.7.8:
|
||||||
|
version "3.8.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
|
||||||
|
integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=
|
||||||
|
dependencies:
|
||||||
|
ajv "^4.7.0"
|
||||||
|
ajv-keywords "^1.0.0"
|
||||||
|
chalk "^1.1.1"
|
||||||
|
lodash "^4.0.0"
|
||||||
|
slice-ansi "0.0.4"
|
||||||
|
string-width "^2.0.0"
|
||||||
|
|
||||||
table@^5.0.2:
|
table@^5.0.2:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837"
|
resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user