diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..900b426
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,4 @@
+build/
+public/gameoflife/
+*.test.js
+registerServiceWorker.js
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..9a726b1
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "parser": "babel-eslint",
+ "plugins": [
+ "react"
+ ],
+ "extends": "airbnb",
+ "rules": {
+ "semi": ["error", "never"]
+ },
+ "env": {
+ "browser": true,
+ "es6": true,
+ "node": true
+ // "mocha": true
+ // "mongo": true
+ // "commonjs": true
+ }
+}
diff --git a/package.json b/package.json
index a655181..b484266 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,12 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "antd": "^2.12.1",
+ "eslint": "^3.19.0",
+ "eslint-config-airbnb": "^15.0.2",
+ "eslint-plugin-import": "^2.6.1",
+ "eslint-plugin-jsx-a11y": "^5.1.1",
+ "eslint-plugin-react": "^7.1.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-scripts": "1.0.10"
@@ -10,6 +16,7 @@
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
+ "surge": "surge build paulhoskinson.surge.sh",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
diff --git a/public/gameoflife/gameoflife.css b/public/gameoflife/gameoflife.css
new file mode 100644
index 0000000..c060ec9
--- /dev/null
+++ b/public/gameoflife/gameoflife.css
@@ -0,0 +1,53 @@
+.cell {
+ height: 8px;
+ width: 8px;
+
+ margin: 0;
+ padding: 0;
+ border-style: none;
+}
+
+.cell-0 { background-color: #000; }
+
+.cell-1 { background-color: #fc0; }
+.cell-2 { background-color: #f90; }
+.cell-3 { background-color: #f50; }
+.cell-4 { background-color: #f00; }
+.cell-5 { background-color: #c00; }
+.cell-6 { background-color: #900; }
+.cell-7 { background-color: #00c; }
+
+body {
+ font-size: 100%;
+ font-family: sans-serif;
+ text-align: center;
+ max-width: 1000px;
+ margin: auto;
+ background: #2f496e;
+ color: #eee;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+h1 {
+}
+
+button {
+ margin: 5px;
+ padding: 8px;
+ background-color: #333;
+ color: #fff;
+ border-color: #666;
+ font-size: 1.1em;
+}
+
+table {
+ background-color: #000;
+ margin: auto;
+ border-collapse: collapse;
+ border-style: solid;
+ border-width: 2px;
+ border-color: #888;
+}
diff --git a/public/gameoflife/gameoflife.html b/public/gameoflife/gameoflife.html
new file mode 100644
index 0000000..70a1e7f
--- /dev/null
+++ b/public/gameoflife/gameoflife.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/gameoflife/gameoflife.js b/public/gameoflife/gameoflife.js
new file mode 100644
index 0000000..589f100
--- /dev/null
+++ b/public/gameoflife/gameoflife.js
@@ -0,0 +1,307 @@
+// CONSTANTS
+const ROWS = 50; // height of board
+const COLS = 120; // width
+const STEP_INTERVAL = 50; // milliseconds
+const RANDOM_DENSITY = 0.37;
+
+// LIBRARIES: React, Redux, React-Redux
+const { Component } = React;
+const { PropTypes } = React;
+const { createStore } = Redux;
+const { combineReducers } = Redux;
+const { Provider } = ReactRedux;
+const { connect } = ReactRedux;
+
+// MISC FUNCTIONS
+
+// Computes next state of board from current state
+const advanceBoardHelper = (current) => {
+ let next = [];
+ let row, col;
+ for (row = 0; row < ROWS; row++) {
+ next.push([]);
+ for (col = 0; col < COLS; col++) {
+ const neighbours = (() => {
+ const rowUp = row === 0 ? ROWS - 1 : row - 1;
+ const rowDown = row === ROWS - 1 ? 0 : row + 1;
+ const colLeft = col === 0 ? COLS - 1 : col - 1;
+ const colRight = col === COLS - 1 ? 0 : col + 1;
+ let num = 0;
+ num += current[rowUp][colLeft] > 0 ? 1 : 0;
+ num += current[rowUp][col] > 0 ? 1 : 0;
+ num += current[rowUp][colRight] > 0 ? 1 : 0;
+ num += current[row][colLeft] > 0 ? 1 : 0;
+ num += current[row][colRight] > 0 ? 1 : 0;
+ num += current[rowDown][colLeft] > 0 ? 1 : 0;
+ num += current[rowDown][col] > 0 ? 1 : 0;
+ num += current[rowDown][colRight] > 0 ? 1 : 0;
+ return num;
+ })();
+ if (current[row][col] > 0) {
+ switch (neighbours) {
+ case 0:
+ case 1:
+ next[row].push(0);
+ break;
+ case 2:
+ case 3:
+ next[row].push(current[row][col] === 7 ? 7 : current[row][col] + 1);
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ next[row].push(0);
+ break;
+ }
+ } else {
+ next[row].push(neighbours == 3 ? 1 : 0);
+ }
+ }
+ }
+ return next;
+};
+
+// Randomizes or clears board
+const initializeBoardHelper = (randomize = true) => {
+ let i, j;
+ let board = [];
+ for (i = 0; i < ROWS; i++) {
+ board.push([]);
+ for (j = 0; j < COLS; j++) {
+ board[i].push(randomize ? (Math.random() < RANDOM_DENSITY ? 1 : 0) : 0);
+ }
+ }
+ return board;
+};
+
+// Activate or deactivate a specific cell
+const changeCellHelper = (state, cellRow, cellCol, newAge) => {
+ let boardCopy = [];
+ for (let i = 0; i < ROWS; i++) {
+ boardCopy.push(state[i].slice());
+ }
+ boardCopy[cellRow][cellCol] = newAge;
+ return boardCopy;
+}
+
+// ACTION CREATORS
+
+const advanceBoard = () => {
+ return {
+ type: "ADVANCE_BOARD"
+ };
+};
+
+const initializeBoard = (randomize) => {
+ return {
+ type: "INITIALIZE_BOARD",
+ board: initializeBoardHelper(randomize)
+ };
+};
+
+const simulationStart = () => ({type: "SIMULATION_START"});
+const simulationPause = () => ({type: "SIMULATION_PAUSE"});
+
+const cellOn = (row, col) => ({
+ type: "CELL_ON",
+ row,
+ col
+});
+const cellOff = (row, col) => ({
+ type: "CELL_OFF",
+ row,
+ col
+});
+
+// COMPONENTS
+
+// Responsible for the auto advance timer.
+// This component only mounts while simulation is
+// running and unmounts while paused
+let intervalID;
+class AutoStep extends Component {
+ constructor(props) {
+ super(props);
+ intervalID = setInterval(props.tick, STEP_INTERVAL);
+ }
+ componentWillUnmount() {
+ clearInterval(intervalID);
+ }
+ render() {
+ return null;
+ }
+}
+
+// All the control buttons
+const Controls = ({ simulating, tick, reinitialize, start, pause }) => (
+
+ {simulating &&
}
+ {simulating ? (
) : (
)}
+
+
+
+
+);
+Controls.propTypes = {
+ simulating: PropTypes.bool.isRequired,
+ tick: PropTypes.func.isRequired,
+ reinitialize: PropTypes.func.isRequired,
+ start: PropTypes.func.isRequired,
+ pause: PropTypes.func.isRequired
+};
+const mapStateToControlsProps = ({ simulating }) => ({ simulating });
+const mapDispatchToControlsProps = (dispatch) => {
+ return {
+ tick: () => dispatch(advanceBoard()),
+ reinitialize: (randomize) => dispatch(initializeBoard(randomize)),
+ start: () => dispatch(simulationStart()),
+ pause: () => dispatch(simulationPause())
+ };
+};
+const ControlsContainer = connect(mapStateToControlsProps, mapDispatchToControlsProps)(Controls);
+
+// Each square on the board is a Cell
+const Cell = ({ rowIndex, colIndex, age, handleLeftClick, handleRightClick }) => (
+ {
+ if (e.buttons === 0) {
+ return;
+ }
+ if (e.buttons === 1 && age === 0) {
+ handleLeftClick(rowIndex, colIndex);
+ return;
+ }
+ if (e.buttons === 2 && age > 0) {
+ handleRightClick(rowIndex, colIndex);
+ return;
+ }
+ }}
+ onMouseDown={(e) => {
+ if (e.button === 0 && age === 0) {
+ handleLeftClick(rowIndex, colIndex);
+ } else if (e.button === 2 && age > 0) {
+ handleRightClick(rowIndex, colIndex);
+ }
+ }}
+ onContextMenu={(e) => {
+ e.preventDefault();
+ }}
+ />
+);
+
+const Board = ({ board, tick, handleLeftClick, handleRightClick }) => (
+
+
+ {board.map((row, rowIndex) => (
+
+ {row.map((age, colIndex) => (
+ |
+ ))}
+
+ ))}
+
+
+);
+Board.propTypes = {
+ board: PropTypes.array.isRequired,
+ handleLeftClick: PropTypes.func.isRequired,
+ handleRightClick: PropTypes.func.isRequired
+};
+const mapStateToBoardProps = ({ board }) => ({ board });
+const mapDispatchToBoardProps = (dispatch) => {
+ return {
+ handleLeftClick: (row, col) => dispatch(cellOn(row, col)),
+ handleRightClick: (row, col) => dispatch(cellOff(row, col))
+ }
+};
+const BoardContainer = connect(mapStateToBoardProps, mapDispatchToBoardProps)(Board);
+
+const GenerationCounter = ({ generation }) => (
+
+ Generation: {generation}
+
+);
+GenerationCounter.propTypes = {
+ generation: PropTypes.number.isRequired,
+};
+const mapStateToGenerationCounterProps = ({ generation }) => ({ generation });
+const GenerationCounterContainer = connect(mapStateToGenerationCounterProps)(GenerationCounter);
+
+const GameOfLifeApp = () => (
+
+ Conway's Game of Life (React/Redux)
+
+
+
+
+);
+
+// REDUCERS
+
+const boardReducer = (state = [], action) => {
+ switch (action.type) {
+ case "ADVANCE_BOARD":
+ return advanceBoardHelper(state);
+ case "INITIALIZE_BOARD":
+ return action.board;
+ case "CELL_ON":
+ return changeCellHelper(state, action.row, action.col, 1);
+ case "CELL_OFF":
+ return changeCellHelper(state, action.row, action.col, 0);
+ default:
+ return state;
+ }
+};
+
+const simulatingReducer = (state = true, action) => {
+ switch (action.type) {
+ case "SIMULATION_START":
+ return true;
+ case "SIMULATION_PAUSE":
+ return false;
+ default:
+ return state;
+ }
+};
+
+const generationReducer = (state = 0, action) => {
+ switch (action.type) {
+ case "ADVANCE_BOARD":
+ return state += 1;
+ case "INITIALIZE_BOARD":
+ return 0;
+ default:
+ return state;
+ }
+};
+
+const reducers = combineReducers({
+ board: boardReducer,
+ simulating: simulatingReducer,
+ generation: generationReducer
+});
+
+// APPLICATION WRAPPER
+
+const initialState = {
+ board: initializeBoardHelper(true),
+ simulating: true,
+ generation: 0
+};
+
+ReactDOM.render(
+
+
+ ,
+ document.getElementById('app')
+);
diff --git a/public/manifest.json b/public/manifest.json
index be607e4..4d5817b 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -1,6 +1,6 @@
{
- "short_name": "React App",
- "name": "Create React App Sample",
+ "short_name": "Portfolio",
+ "name": "Portfolio of Web Programming",
"icons": [
{
"src": "favicon.ico",
diff --git a/src/App.js b/src/App.js
deleted file mode 100644
index d7d52a7..0000000
--- a/src/App.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React, { Component } from 'react';
-import logo from './logo.svg';
-import './App.css';
-
-class App extends Component {
- render() {
- return (
-
-
-
- Welcome to React
-
-
- To get started, edit src/App.js and save to reload.
-
-
- );
- }
-}
-
-export default App;
diff --git a/src/App.jsx b/src/App.jsx
new file mode 100644
index 0000000..20712d2
--- /dev/null
+++ b/src/App.jsx
@@ -0,0 +1,20 @@
+import React from 'react'
+import logo from './logo.svg'
+import './App.css'
+
+import ProjectLinks from './ProjectLinks'
+
+const App = () => (
+
+
+
+ Welcome to React
+
+
+ To get started, edit src/App.js and save to reload.
+
+
+
+)
+
+export default App
diff --git a/src/App.test.js b/src/App.test.js
index b84af98..76d121e 100644
--- a/src/App.test.js
+++ b/src/App.test.js
@@ -1,8 +1,8 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import App from './App';
+import React from 'react'
+import ReactDOM from 'react-dom'
+import App from './App'
it('renders without crashing', () => {
- const div = document.createElement('div');
- ReactDOM.render(, div);
-});
+ const div = document.createElement('div')
+ ReactDOM.render(, div)
+})
diff --git a/src/ProjectLinks.css b/src/ProjectLinks.css
new file mode 100644
index 0000000..04d6bef
--- /dev/null
+++ b/src/ProjectLinks.css
@@ -0,0 +1,26 @@
+.header {
+ font-size: 1.5em;
+ text-align: center;
+}
+
+.listDiv {
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: space-around;
+ align-items: flex-start;
+}
+
+.itemDiv {
+ display: flex;
+ flex-flow: column nowrap;
+ align-items: center;
+}
+
+.title {
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+.thumbnail {
+ max-width: 300px;
+}
\ No newline at end of file
diff --git a/src/ProjectLinks.jsx b/src/ProjectLinks.jsx
new file mode 100644
index 0000000..d88a864
--- /dev/null
+++ b/src/ProjectLinks.jsx
@@ -0,0 +1,47 @@
+import React from 'react'
+
+import './ProjectLinks.css'
+
+const projectList = [
+ /* template for project entry
+ {
+ title: '',
+ href: '',
+ thumbnail300: '',
+ description: '',
+ },
+ */
+ {
+ title: "Conway's Game Of Life (React/Redux Example)",
+ href: 'https://codepen.io/plhosk/pen/kkqdAa',
+ thumbnail300: '',
+ description: "A simple React/Redux implementation of Conway's Game of Life on Codepen",
+ },
+ {
+ title: 'Game of Life (local)',
+ href: '/gameoflife/index.html',
+ thumbnail300: '',
+ description: 'Locally-hosted Game of Life (same as Codepen version)',
+ },
+]
+
+const ProjectLinks = () => (
+
+
+ Portfolio Projects
+
+
+ { projectList.length > 0 && (
+ projectList.map(project => (
+
+
+
+ {project.description}
+
+ ))
+ )}
+
+
+)
+
+export default ProjectLinks
diff --git a/src/index.js b/src/index.js
index fae3e35..d9aac01 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,8 +1,9 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import './index.css';
-import App from './App';
-import registerServiceWorker from './registerServiceWorker';
+import React from 'react'
+import ReactDOM from 'react-dom'
+import './index.css'
+import App from './App'
+import registerServiceWorker from './registerServiceWorker'
-ReactDOM.render(, document.getElementById('root'));
-registerServiceWorker();
+// eslint-disable-next-line react/jsx-filename-extension
+ReactDOM.render(, document.getElementById('root'))
+registerServiceWorker()
diff --git a/yarn.lock b/yarn.lock
index dc9b0c9..839eb5e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -47,6 +47,12 @@ acorn@^5.0.0, acorn@^5.0.1:
version "5.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
+add-dom-event-listener@1.x:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.0.2.tgz#8faed2c41008721cf111da1d30d995b85be42bed"
+ dependencies:
+ object-assign "4.x"
+
address@1.0.2, address@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af"
@@ -131,6 +137,52 @@ ansi-styles@^3.0.0, ansi-styles@^3.1.0:
dependencies:
color-convert "^1.0.0"
+antd@^2.12.1:
+ version "2.12.1"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-2.12.1.tgz#e4240d2a42fdbd12a55a85c0ff9cbbc0e7b94cfa"
+ dependencies:
+ array-tree-filter "~1.0.0"
+ babel-runtime "6.x"
+ classnames "~2.2.0"
+ create-react-class "^15.5.3"
+ css-animation "^1.2.5"
+ dom-closest "^0.2.0"
+ lodash.debounce "^4.0.8"
+ moment "^2.18.1"
+ omit.js "^1.0.0"
+ prop-types "^15.5.7"
+ rc-animate "^2.3.6"
+ rc-calendar "~8.4.1"
+ rc-cascader "~0.11.3"
+ rc-checkbox "~2.0.3"
+ rc-collapse "~1.7.5"
+ rc-dialog "~6.5.10"
+ rc-dropdown "~1.4.11"
+ rc-editor-mention "~0.6.12"
+ rc-form "~1.4.0"
+ rc-input-number "~3.6.0"
+ rc-menu "~5.0.10"
+ rc-notification "~2.0.0"
+ rc-pagination "~1.10.0"
+ rc-progress "~2.1.2"
+ rc-rate "~2.1.1"
+ rc-select "~6.8.6"
+ rc-slider "~8.2.0"
+ rc-steps "~2.5.1"
+ rc-switch "~1.5.1"
+ rc-table "~5.4.0"
+ rc-tabs "~8.0.0"
+ rc-time-picker "~2.4.1"
+ rc-tooltip "~3.4.6"
+ rc-tree "~1.5.0"
+ rc-tree-select "~1.10.2"
+ rc-upload "~2.3.7"
+ rc-util "^4.0.4"
+ react-lazy-load "^3.0.10"
+ react-slick "~0.14.2"
+ shallowequal "^1.0.1"
+ warning "~3.0.0"
+
anymatch@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
@@ -167,6 +219,12 @@ aria-query@^0.5.0:
dependencies:
ast-types-flow "0.0.7"
+aria-query@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.0.tgz#4af10a1e61573ddea0cf3b99b51c52c05b424d24"
+ dependencies:
+ ast-types-flow "0.0.7"
+
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
@@ -212,6 +270,10 @@ array-reduce@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+array-tree-filter@^1.0.0, array-tree-filter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-1.0.1.tgz#0a8ad1eefd38ce88858632f9cc0423d7634e4d5d"
+
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -268,6 +330,12 @@ async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+async-validator@1.x:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.7.1.tgz#89d3d7a384ca5d05e0f07bf51754d591e2cfec61"
+ dependencies:
+ babel-runtime "6.x"
+
async@^1.4.0, async@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
@@ -908,7 +976,7 @@ babel-register@^6.24.1:
mkdirp "^0.5.1"
source-map-support "^0.4.2"
-babel-runtime@6.23.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0:
+babel-runtime@6.23.0, babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
@@ -1201,6 +1269,10 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+can-use-dom@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a"
+
caniuse-api@^1.5.2:
version "1.6.1"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
@@ -1290,6 +1362,10 @@ clap@^1.0.9:
dependencies:
chalk "^1.1.3"
+classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@~2.2.0:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
+
clean-css@4.1.x:
version "4.1.5"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.5.tgz#d09a87a02a5375117589796ae76a063cacdb541a"
@@ -1402,6 +1478,16 @@ commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+component-classes@1.x, component-classes@^1.2.5, component-classes@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691"
+ dependencies:
+ component-indexof "0.0.3"
+
+component-indexof@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24"
+
compressible@~2.0.8:
version "2.0.10"
resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
@@ -1548,7 +1634,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-react-class@^15.6.0:
+create-react-class@15.x, create-react-class@^15.5.2, create-react-class@^15.5.3, create-react-class@^15.6.0:
version "15.6.0"
resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4"
dependencies:
@@ -1584,6 +1670,12 @@ crypto-browserify@^3.11.0:
public-encrypt "^4.0.0"
randombytes "^2.0.0"
+css-animation@1.x, css-animation@^1.2.5, css-animation@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.3.2.tgz#df515820ef5903733ad2db0999403b3037b8b880"
+ dependencies:
+ component-classes "^1.2.5"
+
css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -1869,12 +1961,30 @@ doctrine@^2.0.0:
esutils "^2.0.2"
isarray "^1.0.0"
+dom-align@1.x:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.6.2.tgz#b14e64917c25de6b4055227339b4d64f4b7db885"
+
+dom-closest@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/dom-closest/-/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf"
+ dependencies:
+ dom-matches ">=1.0.1"
+
dom-converter@~0.1:
version "0.1.4"
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b"
dependencies:
utila "~0.3"
+dom-matches@>=1.0.1:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-matches/-/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c"
+
+dom-scroll-into-view@1.x, dom-scroll-into-view@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz#e8f36732dd089b0201a88d7815dc3f88e6d66c7e"
+
dom-serializer@0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
@@ -1929,6 +2039,14 @@ dotenv@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
+draft-js@^0.10.0, draft-js@~0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/draft-js/-/draft-js-0.10.1.tgz#6f1219d8095729691429ca6fd7a58d2a8be5cb67"
+ dependencies:
+ fbjs "^0.8.7"
+ immutable "~3.7.4"
+ object-assign "^4.1.0"
+
duplexer2@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
@@ -1992,6 +2110,10 @@ enhanced-resolve@^3.0.0:
object-assign "^4.0.1"
tapable "^0.2.5"
+enquire.js@^2.1.6:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814"
+
entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
@@ -2109,6 +2231,16 @@ escope@^3.6.0:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-config-airbnb-base@^11.2.0:
+ version "11.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz#19a9dc4481a26f70904545ec040116876018f853"
+
+eslint-config-airbnb@^15.0.2:
+ version "15.0.2"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-15.0.2.tgz#7b99fa421d0c15aee3310d647644315b02ea24da"
+ dependencies:
+ eslint-config-airbnb-base "^11.2.0"
+
eslint-config-react-app@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-1.0.5.tgz#98337597bc01cc22991fcbdda07451f3b4511718"
@@ -2121,6 +2253,13 @@ eslint-import-resolver-node@^0.2.0:
object-assign "^4.0.1"
resolve "^1.1.6"
+eslint-import-resolver-node@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc"
+ dependencies:
+ debug "^2.6.8"
+ resolve "^1.2.0"
+
eslint-loader@1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.7.1.tgz#50b158dd6272dcefb97e984254837f81a5802ce0"
@@ -2132,7 +2271,7 @@ eslint-loader@1.7.1:
object-hash "^1.1.4"
rimraf "^2.6.1"
-eslint-module-utils@^2.0.0:
+eslint-module-utils@^2.0.0, eslint-module-utils@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
dependencies:
@@ -2160,6 +2299,21 @@ eslint-plugin-import@2.2.0:
minimatch "^3.0.3"
pkg-up "^1.0.0"
+eslint-plugin-import@^2.6.1:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f"
+ dependencies:
+ builtin-modules "^1.1.1"
+ contains-path "^0.1.0"
+ debug "^2.6.8"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.1"
+ eslint-module-utils "^2.1.1"
+ has "^1.0.1"
+ lodash.cond "^4.3.0"
+ minimatch "^3.0.3"
+ read-pkg-up "^2.0.0"
+
eslint-plugin-jsx-a11y@5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.0.3.tgz#4a939f76ec125010528823331bf948cc573380b6"
@@ -2172,7 +2326,19 @@ eslint-plugin-jsx-a11y@5.0.3:
emoji-regex "^6.1.0"
jsx-ast-utils "^1.4.0"
-eslint-plugin-react@7.1.0:
+eslint-plugin-jsx-a11y@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz#5c96bb5186ca14e94db1095ff59b3e2bd94069b1"
+ dependencies:
+ aria-query "^0.7.0"
+ array-includes "^3.0.3"
+ ast-types-flow "0.0.7"
+ axobject-query "^0.1.0"
+ damerau-levenshtein "^1.0.0"
+ emoji-regex "^6.1.0"
+ jsx-ast-utils "^1.4.0"
+
+eslint-plugin-react@7.1.0, eslint-plugin-react@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz#27770acf39f5fd49cd0af4083ce58104eb390d4c"
dependencies:
@@ -2180,7 +2346,7 @@ eslint-plugin-react@7.1.0:
has "^1.0.1"
jsx-ast-utils "^1.4.1"
-eslint@3.19.0:
+eslint@3.19.0, eslint@^3.19.0:
version "3.19.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
dependencies:
@@ -2275,6 +2441,10 @@ eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+eventlistener@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/eventlistener/-/eventlistener-0.0.1.tgz#ed2baabb852227af2bcf889152c72c63ca532eb8"
+
events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
@@ -2413,7 +2583,7 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
-fbjs@^0.8.9:
+fbjs@^0.8.7, fbjs@^0.8.9:
version "0.8.12"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
dependencies:
@@ -2507,7 +2677,7 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
-find-up@^2.1.0:
+find-up@^2.0.0, find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
dependencies:
@@ -2734,6 +2904,10 @@ gzip-size@3.0.0:
dependencies:
duplexer "^0.1.1"
+hammerjs@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
+
handle-thing@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
@@ -2821,6 +2995,10 @@ hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+hoist-non-react-statics@1.x:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
+
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
@@ -2955,6 +3133,14 @@ ignore@^3.2.0:
version "3.3.3"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
+immutable@^3.7.4, immutable@^3.8.1:
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
+
+immutable@~3.7.4:
+ version "3.7.6"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -3567,6 +3753,10 @@ jest@20.0.4:
dependencies:
jest-cli "^20.0.4"
+jquery@>=1.7.2:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
+
js-base64@^2.1.9:
version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
@@ -3651,6 +3841,12 @@ json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+json2mq@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
+ dependencies:
+ string-convert "^0.2.0"
+
json3@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@@ -3751,6 +3947,15 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
loader-fs-cache@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
@@ -3786,6 +3991,10 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
+lodash._getnative@^3.0.0:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+
lodash._reinterpolate@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -3798,10 +4007,34 @@ lodash.cond@^4.3.0:
version "4.5.2"
resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
+lodash.debounce@^4.0.0, lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+
lodash.defaults@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+lodash.get@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
+lodash.isarguments@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+
+lodash.isarray@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+
+lodash.keys@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ dependencies:
+ lodash._getnative "^3.0.0"
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
@@ -3819,11 +4052,15 @@ lodash.templatesettings@^4.0.0:
dependencies:
lodash._reinterpolate "~3.0.0"
+lodash.throttle@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.2.0, lodash@^4.3.0:
+"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.5, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@@ -4000,6 +4237,10 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi
dependencies:
minimist "0.0.8"
+moment@2.x, moment@^2.18.1:
+ version "2.18.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
+
ms@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
@@ -4187,7 +4428,7 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@4.1.1, object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1, object-assign@~4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -4210,6 +4451,12 @@ obuf@^1.0.0, obuf@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
+omit.js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-1.0.0.tgz#e013cb86a7517b9cf6f7cfb0ddb4297256a99288"
+ dependencies:
+ babel-runtime "^6.23.0"
+
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@@ -4408,6 +4655,12 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
pbkdf2@^3.0.3:
version "3.0.12"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2"
@@ -4800,7 +5053,7 @@ promise@7.1.1, promise@^7.1.1:
dependencies:
asap "~2.0.3"
-prop-types@^15.5.10:
+prop-types@15.x, 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.5.9:
version "15.5.10"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154"
dependencies:
@@ -4888,6 +5141,316 @@ range-parser@^1.0.3, range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+rc-align@2.x:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.3.4.tgz#d83bdab7560f0142e72a3de1d495dab6ba225249"
+ dependencies:
+ dom-align "1.x"
+ prop-types "^15.5.8"
+ rc-util "4.x"
+
+rc-animate@2.x, rc-animate@^2.0.2, rc-animate@^2.3.0, rc-animate@^2.3.6:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.4.1.tgz#df3e0f56fe106afe4bf52ff408ced241c5178919"
+ dependencies:
+ babel-runtime "6.x"
+ css-animation "^1.3.2"
+ prop-types "15.x"
+
+rc-calendar@~8.4.1:
+ version "8.4.6"
+ resolved "https://registry.yarnpkg.com/rc-calendar/-/rc-calendar-8.4.6.tgz#55dc45fcc8f91bf6f5bb5632c48b3a48e456f4e5"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "2.x"
+ create-react-class "^15.5.2"
+ moment "2.x"
+ prop-types "^15.5.8"
+ rc-trigger "1.x"
+ rc-util "^4.0.4"
+
+rc-cascader@~0.11.3:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-0.11.4.tgz#46bf93369a7c4a9185d27f5fffb35f453bede31a"
+ dependencies:
+ array-tree-filter "^1.0.0"
+ prop-types "^15.5.8"
+ rc-trigger "1.x"
+ rc-util "4.x"
+ shallow-equal "^1.0.0"
+
+rc-checkbox@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.0.3.tgz#436a9d508948e224980f0535ea738b48177a8f25"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "2.x"
+ prop-types "15.x"
+ rc-util "^4.0.4"
+
+rc-collapse@~1.7.5:
+ version "1.7.6"
+ resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-1.7.6.tgz#64433512d921f750df61433e675bb9547ba5ef6b"
+ dependencies:
+ classnames "2.x"
+ css-animation "1.x"
+ prop-types "^15.5.6"
+ rc-animate "2.x"
+
+rc-dialog@~6.5.10:
+ version "6.5.10"
+ resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-6.5.10.tgz#9ee857d1117a30c8fd65a37fed9f5313b04632a3"
+ dependencies:
+ babel-runtime "6.x"
+ create-react-class "^15.5.2"
+ object-assign "~4.1.0"
+ rc-animate "2.x"
+ rc-util "^4.0.4"
+
+rc-dropdown@~1.4.11:
+ version "1.4.12"
+ resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-1.4.12.tgz#02dea9f73fa579300586b869130aa2bf955ee733"
+ dependencies:
+ prop-types "^15.5.8"
+ rc-trigger "1.x"
+
+rc-editor-core@~0.7.7:
+ version "0.7.8"
+ resolved "https://registry.yarnpkg.com/rc-editor-core/-/rc-editor-core-0.7.8.tgz#ddb82cc83b5871b5a057e50b00d17866cc9dd707"
+ dependencies:
+ draft-js "^0.10.0"
+ immutable "^3.7.4"
+ lodash "^4.16.5"
+ prop-types "^15.5.8"
+ setimmediate "^1.0.5"
+
+rc-editor-mention@~0.6.12:
+ version "0.6.12"
+ resolved "https://registry.yarnpkg.com/rc-editor-mention/-/rc-editor-mention-0.6.12.tgz#5dfa348c5ed9a6b0cf58c15d2b7341bfdf2ba276"
+ dependencies:
+ classnames "^2.2.5"
+ dom-scroll-into-view "^1.2.0"
+ draft-js "~0.10.0"
+ immutable "^3.8.1"
+ prop-types "^15.5.8"
+ rc-animate "^2.3.0"
+ rc-editor-core "~0.7.7"
+
+rc-form@~1.4.0:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/rc-form/-/rc-form-1.4.3.tgz#4e96ef7a6913bf624f306d08ea2631d8ffc58c81"
+ dependencies:
+ async-validator "1.x"
+ babel-runtime "6.x"
+ create-react-class "^15.5.3"
+ dom-scroll-into-view "1.x"
+ hoist-non-react-statics "1.x"
+ lodash "^4.17.4"
+ warning "^3.0.0"
+
+rc-hammerjs@~0.6.0:
+ version "0.6.8"
+ resolved "https://registry.yarnpkg.com/rc-hammerjs/-/rc-hammerjs-0.6.8.tgz#dc50faff35ecce9a822a338d59206a962e09a23d"
+ dependencies:
+ babel-runtime "^6.23.0"
+ hammerjs "^2.0.8"
+ prop-types "^15.5.9"
+
+rc-input-number@~3.6.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-3.6.2.tgz#b8b2352a43972485c99c8b58481f446a07097f70"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "^2.2.0"
+ create-react-class "^15.5.2"
+ prop-types "^15.5.7"
+ rc-touchable "^1.0.0"
+
+"rc-menu@5.x || 4.x", rc-menu@~5.0.10:
+ version "5.0.10"
+ resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-5.0.10.tgz#266cf12e5844ba2606730b9198422da04d102b7e"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "2.x"
+ create-react-class "^15.5.2"
+ dom-scroll-into-view "1.x"
+ prop-types "^15.5.6"
+ rc-animate "2.x"
+ rc-util "^4.0.2"
+
+rc-notification@~2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-2.0.2.tgz#901a007e15ad6f6f66a8ef23131ec8c3ec51b0ed"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "2.x"
+ prop-types "^15.5.8"
+ rc-animate "2.x"
+ rc-util "^4.0.4"
+
+rc-pagination@~1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-1.10.0.tgz#24697b65755a1c2d87553ed4b2daeec994490232"
+ dependencies:
+ babel-runtime "^6.23.0"
+ prop-types "^15.5.7"
+
+rc-progress@~2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-2.1.2.tgz#d31ccb1499ae223c0d21d1485650aa4a0d374ce0"
+ dependencies:
+ babel-runtime "^6.23.0"
+ prop-types "^15.5.8"
+
+rc-rate@~2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.1.1.tgz#88aeda8b3d6470bbae4f6518c652a02a959bddc5"
+ dependencies:
+ classnames "^2.2.5"
+ prop-types "^15.5.8"
+
+rc-select@~6.8.6:
+ version "6.8.8"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-6.8.8.tgz#444174a5239e8d082deb930ac502e81b1725f5bd"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "2.x"
+ component-classes "1.x"
+ create-react-class "^15.5.2"
+ dom-scroll-into-view "1.x"
+ prop-types "^15.5.8"
+ rc-animate "2.x"
+ rc-menu "5.x || 4.x"
+ rc-trigger "1.x"
+ rc-util "^4.0.4"
+ warning "2.x"
+
+rc-slider@~8.2.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.2.0.tgz#ae37d17144cad60e1da6eac0ee4ffcfea0b0a6e8"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "^2.2.5"
+ prop-types "^15.5.4"
+ rc-tooltip "^3.4.2"
+ rc-util "^4.0.4"
+ shallowequal "^1.0.1"
+ warning "^3.0.0"
+
+rc-steps@~2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-2.5.1.tgz#c3969aea3fb984cecb977a4a96ab634d756a6dc4"
+ dependencies:
+ classnames "^2.2.3"
+ lodash.debounce "^4.0.8"
+ prop-types "^15.5.7"
+
+rc-switch@~1.5.1:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-1.5.2.tgz#ff5dc7291eb5562211f64482c9e3faa8b8d10f8e"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "^2.2.1"
+ prop-types "^15.5.6"
+
+rc-table@~5.4.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-5.4.1.tgz#64758095c24d481f1e18b3b37ed35cad5ce11ddc"
+ dependencies:
+ babel-runtime "^6.23.0"
+ component-classes "^1.2.6"
+ lodash.get "^4.4.2"
+ prop-types "^15.5.8"
+ rc-util "4.x"
+ shallowequal "^0.2.2"
+ warning "^3.0.0"
+
+rc-tabs@~8.0.0:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-8.0.2.tgz#05fa4b57252df33851e5c250a08bcc6f8e55ceb4"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "2.x"
+ create-react-class "15.x"
+ prop-types "15.x"
+ rc-hammerjs "~0.6.0"
+ warning "^3.0.0"
+
+rc-time-picker@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-2.4.1.tgz#074e3d1208e880edb0d99a7b9cc15b93505da8c6"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "2.x"
+ moment "2.x"
+ prop-types "^15.5.8"
+ rc-trigger "1.x"
+
+rc-tooltip@^3.4.2, rc-tooltip@~3.4.6:
+ version "3.4.7"
+ resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.4.7.tgz#ec6cc39a962de96a9147de08a78fb38f93517ff3"
+ dependencies:
+ babel-runtime "^6.23.0"
+ prop-types "^15.5.8"
+ rc-trigger "1.x"
+
+rc-touchable@^1.0.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/rc-touchable/-/rc-touchable-1.2.3.tgz#5f498324e3d0b9ba601a9c4834958eaa2c713618"
+ dependencies:
+ babel-runtime "6.x"
+
+rc-tree-select@~1.10.2:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-1.10.2.tgz#b47196159483f5c34d471ee841d0dc2da30ae124"
+ dependencies:
+ babel-runtime "^6.23.0"
+ classnames "^2.2.1"
+ object-assign "^4.0.1"
+ prop-types "^15.5.8"
+ rc-animate "^2.0.2"
+ rc-tree "^1.3.0"
+ rc-trigger "1.x"
+ rc-util "^4.0.2"
+
+rc-tree@^1.3.0, rc-tree@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-1.5.0.tgz#6b700303c4f160ad7f6c438a8fdca57de96a5dd1"
+ dependencies:
+ classnames "2.x"
+ object-assign "4.x"
+ prop-types "^15.5.8"
+ rc-animate "2.x"
+ rc-util "^4.0.2"
+
+rc-trigger@1.x:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-1.11.2.tgz#5c75a1928814a0595e3d912e0a15ca853df5464d"
+ dependencies:
+ babel-runtime "6.x"
+ create-react-class "15.x"
+ prop-types "15.x"
+ rc-align "2.x"
+ rc-animate "2.x"
+ rc-util "4.x"
+
+rc-upload@~2.3.7:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-2.3.8.tgz#eaf35913cfc2dced196dd9421df253f509a38e21"
+ dependencies:
+ babel-runtime "6.x"
+ classnames "^2.2.5"
+ prop-types "^15.5.7"
+ warning "2.x"
+
+rc-util@4.x, rc-util@^4.0.2, rc-util@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.0.4.tgz#99813dd90aee7e29b64939a70ac176ead3f4ff39"
+ dependencies:
+ add-dom-event-listener "1.x"
+ babel-runtime "6.x"
+ shallowequal "^0.2.2"
+
rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
version "1.2.1"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
@@ -4940,6 +5503,15 @@ react-error-overlay@^1.0.9:
settle-promise "1.0.0"
source-map "0.5.6"
+react-lazy-load@^3.0.10:
+ version "3.0.12"
+ resolved "https://registry.yarnpkg.com/react-lazy-load/-/react-lazy-load-3.0.12.tgz#2b841dfc3227e8119d033189d2c960ce384d0cb9"
+ dependencies:
+ eventlistener "0.0.1"
+ lodash.debounce "^4.0.0"
+ lodash.throttle "^4.0.0"
+ prop-types "^15.5.8"
+
react-scripts@1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-1.0.10.tgz#876035594742220f40ffb865a4c7e8dc0fa7ae23"
@@ -4983,6 +5555,18 @@ react-scripts@1.0.10:
optionalDependencies:
fsevents "1.1.2"
+react-slick@~0.14.2:
+ version "0.14.11"
+ resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.14.11.tgz#c2cbdbe3728c66a2ff4929be96d457e3ea0d80f3"
+ dependencies:
+ can-use-dom "^0.1.0"
+ classnames "^2.2.5"
+ create-react-class "^15.5.2"
+ enquire.js "^2.1.6"
+ json2mq "^0.2.0"
+ object-assign "^4.1.0"
+ slick-carousel "^1.6.0"
+
react@^15.6.1:
version "15.6.1"
resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df"
@@ -5007,6 +5591,13 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -5015,6 +5606,14 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
readable-stream@1.0:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
@@ -5238,7 +5837,7 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.6, resolve@^1.3.2:
+resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.2:
version "1.3.3"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
dependencies:
@@ -5418,6 +6017,20 @@ sha.js@^2.4.0, sha.js@^2.4.8:
dependencies:
inherits "^2.0.1"
+shallow-equal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.0.0.tgz#508d1838b3de590ab8757b011b25e430900945f7"
+
+shallowequal@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e"
+ dependencies:
+ lodash.keys "^3.1.2"
+
+shallowequal@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.0.2.tgz#1561dbdefb8c01408100319085764da3fcf83f8f"
+
shell-quote@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
@@ -5451,6 +6064,12 @@ slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+slick-carousel@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/slick-carousel/-/slick-carousel-1.6.0.tgz#780f378e470f4e6f6bec1aa2bae0475f4f9eb085"
+ dependencies:
+ jquery ">=1.7.2"
+
slide@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
@@ -5610,6 +6229,10 @@ strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+string-convert@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
+
string-length@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
@@ -6071,6 +6694,18 @@ walker@~1.0.5:
dependencies:
makeerror "1.0.x"
+warning@2.x:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-2.1.0.tgz#21220d9c63afc77a8c92111e011af705ce0c6901"
+ dependencies:
+ loose-envify "^1.0.0"
+
+warning@^3.0.0, warning@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
+ dependencies:
+ loose-envify "^1.0.0"
+
watch@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
|