diff --git a/lib/styleguide/StyleGuideRenderer.js b/lib/styleguide/StyleGuideRenderer.js deleted file mode 100644 index 3a7d1428cad53a745ed56bfdb1f5e7fb3a57a6b7..0000000000000000000000000000000000000000 --- a/lib/styleguide/StyleGuideRenderer.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react' -import 'xpub-fonts' -import classes from './StyleGuideRenderer.local.css' - -const StyleGuideRenderer = ({ title, children, toc }) => { - return ( - <div className={classes.root}> - <div className={classes.sidebar}> - <header className={classes.header}> - <h1 className={classes.title}>{title}</h1> - </header> - - <nav className={classes.nav}> - {toc} - </nav> - </div> - - <div className={classes.content}> - {children} - </div> - </div> - ) -} - -export default StyleGuideRenderer diff --git a/lib/styleguide/StyleGuideRenderer.local.css b/lib/styleguide/StyleGuideRenderer.local.css deleted file mode 100644 index ddcdbb33071538347eb9907b44dad20dc4531d96..0000000000000000000000000000000000000000 --- a/lib/styleguide/StyleGuideRenderer.local.css +++ /dev/null @@ -1,37 +0,0 @@ -.root { - display: grid; - grid-template-columns: 1fr 3fr; - grid-template-areas: "side content"; - height: 100vh; - width: 100vw; -} - -.sidebar { - grid-area: side; - display: flex; - flex-direction: column; - overflow-y: hidden; -} - -.content { - grid-area: content; - padding: 1rem; - overflow-y: auto; -} - -.header { - padding: 0.5rem; -} - -.nav { - flex: 1; - overflow-y: auto; - padding: 0.5rem; -} - -.title { - font-family: "Fira Sans", serif; - font-size: 1rem; - margin-bottom: 0; - padding: 0 1rem; -} diff --git a/lib/styleguide/Wrapper.js b/lib/styleguide/Wrapper.js deleted file mode 100644 index a1569989fe823e85af0ed44d8a94488b388b35df..0000000000000000000000000000000000000000 --- a/lib/styleguide/Wrapper.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' -// import { Router, createMemoryHistory } from 'react-router' -import { Provider } from 'react-redux' -import { reducer as formReducer } from 'redux-form' -import { createStore, combineReducers } from 'redux' - -import 'xpub-fonts' -import classes from './Wrapper.local.css' - -const rootReducer = combineReducers({ - form: formReducer -}) - -const store = createStore(rootReducer) - -const Wrapper = ({ children }) => ( - <Provider store={store}> - <div className={classes.root}> - {children} - </div> - </Provider> -) - -/*const Wrapper = ({ children }) => ( - <Provider store={store}> - <Router history={createMemoryHistory()}> - <div className={classes.root}> - {children} - </div> - </Router> - </Provider> -)*/ - -export default Wrapper diff --git a/lib/styleguide/Wrapper.local.css b/lib/styleguide/Wrapper.local.css deleted file mode 100644 index a72adc66096660c2be4b656582b5ec7e6fb3962c..0000000000000000000000000000000000000000 --- a/lib/styleguide/Wrapper.local.css +++ /dev/null @@ -1,3 +0,0 @@ -.root { - font-family: "Fira Sans", sans-serif; -} diff --git a/package.json b/package.json index 6e9ae95ff2d16f1ebad314a0d1d2dbf272920e80..5e080451349a470c3f26037745e282203dc03c5d 100644 --- a/package.json +++ b/package.json @@ -9,26 +9,28 @@ "main": "src", "jsnext:main": "src", "dependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", "classnames": "^2.2.5", - "css-loader": "^0.28.5", - "file-loader": "^0.11.2", - "lodash": "^4.17.4", "prop-types": "^15.5.10", "react": "^15.6.1", "react-dom": "^15.6.1", "react-redux": "^5.0.6", "react-router": "^3.0.5", "redux": "^3.6.0", - "redux-form": "^7.0.3", - "style-loader": "^0.18.2", "xpub-fonts": "^0.0.2" }, "devDependencies": { - "babel-preset-react-app": "^3.0.2", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.0", + "babel-preset-minify": "^0.2.0", + "babel-preset-react": "^6.24.1", + "babel-preset-stage-2": "^6.24.1", + "css-loader": "^0.28.4", "faker": "^4.1.0", + "file-loader": "^0.11.2", + "xpub-styleguide": "^0.0.2", "react-styleguidist": "^6.0.8", + "style-loader": "^0.18.2", "webpack": "^3.5.5", "webpack-node-externals": "^1.6.0" }, diff --git a/src/index.js b/src/index.js index c11202f70363baa414ac147d5f2c5af84dd5703a..b90319f982aee80332a7297f58324e8c87a99a6a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,2 @@ export { default as AppBar } from './molecules/AppBar' -export { default as Login } from './molecules/Login' -export { default as Signup } from './molecules/Signup' export { default as YesOrNo } from './molecules/YesOrNo' diff --git a/src/molecules/Login.js b/src/molecules/Login.js deleted file mode 100644 index 513c6f87c1513bc00f4461a00d158ea49933b40b..0000000000000000000000000000000000000000 --- a/src/molecules/Login.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react' -import classnames from 'classnames' -import { Field } from 'redux-form' -import classes from './Login.local.css' - - const Login = ({ loginError, handleSubmit }) => ( - <div className={classes.root}> - <div className={classes.title}> - Login - </div> - - {loginError && <div className={classes.error}>{loginError}</div>} - - <form - onSubmit={handleSubmit} - className={classnames({ error: !!loginError, success: !loginError })}> - <div> - <label> - Username - <Field name="username" component="input" type="text"/> - </label> - </div> - - <div> - <label> - Password - <Field name="password" component="input" type="password"/> - </label> - </div> - - <div> - <button type="submit" className={classes.button}>Login</button> - </div> - </form> - </div> -) - -export default Login diff --git a/src/molecules/Login.local.css b/src/molecules/Login.local.css deleted file mode 100644 index ee7dba2315cbe848026d243951aa45c13ddf5c12..0000000000000000000000000000000000000000 --- a/src/molecules/Login.local.css +++ /dev/null @@ -1,3 +0,0 @@ -.error { - color: red; -} diff --git a/src/molecules/Login.md b/src/molecules/Login.md deleted file mode 100644 index b786a768b020332bfc519aea7dfea5f1479c23d8..0000000000000000000000000000000000000000 --- a/src/molecules/Login.md +++ /dev/null @@ -1,23 +0,0 @@ -A login form. - -```js -const { reduxForm } = require('redux-form'); - -const LoginForm = reduxForm({ form: 'login' })(Login); - -<LoginForm - onSubmit={values => console.log(values)}/> -``` - -An error is displayed at the top of the form. - -```js -const { reduxForm } = require('redux-form'); - -const LoginForm = reduxForm({ form: 'login-error' })(Login); - -<LoginForm - loginError="There was an error" - onSubmit={values => console.log(values)}/> -``` - diff --git a/src/molecules/Signup.js b/src/molecules/Signup.js deleted file mode 100644 index a96ea0f0e71bb4f1a372d4cae0727166ba817c93..0000000000000000000000000000000000000000 --- a/src/molecules/Signup.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react' -import classnames from 'classnames' -import { Field } from 'redux-form' -import classes from './Signup.local.css' - -const Signup = ({ signupError, handleSubmit }) => ( - <div className={classes.root}> - <div className={classes.title}> - Sign up - </div> - - {signupError && <div className={classes.error}>{signupError}</div>} - - <form - onSubmit={handleSubmit} - className={classnames({ error: !!signupError, success: !signupError })}> - <div> - <label> - Username - <Field name="username" component="input" type="text"/> - </label> - </div> - - <div> - <label> - Email - <Field name="email" component="input" type="email"/> - </label> - </div> - - <div> - <label> - Password - <Field name="password" component="input" type="password"/> - </label> - </div> - - <div> - <button type="submit" className={classes.button}>Sign up</button> - </div> - </form> - </div> -) - -export default Signup diff --git a/src/molecules/Signup.local.css b/src/molecules/Signup.local.css deleted file mode 100644 index ee7dba2315cbe848026d243951aa45c13ddf5c12..0000000000000000000000000000000000000000 --- a/src/molecules/Signup.local.css +++ /dev/null @@ -1,3 +0,0 @@ -.error { - color: red; -} diff --git a/src/molecules/Signup.md b/src/molecules/Signup.md deleted file mode 100644 index eef2d43915781350bec3754a0d350d39b34b5223..0000000000000000000000000000000000000000 --- a/src/molecules/Signup.md +++ /dev/null @@ -1,24 +0,0 @@ -A signup form. - -```js -const { reduxForm } = require('redux-form'); - -const SignupForm = reduxForm({ form: 'signup' })(Signup); - -<SignupForm - onSubmit={values => console.log(values)}/> -``` - -An error is displayed at the top of the form. - -```js - -const { reduxForm } = require('redux-form'); - -const SignupForm = reduxForm({ form: 'signup-error' })(Signup); - -<SignupForm - signupError="There was an error" - onSubmit={values => console.log(values)}/> -``` - diff --git a/styleguide.config.js b/styleguide.config.js index 905c4b2946b728ec89592b9ab2fd5636ff909d59..fc12e711a42680f00e0ad662d8bfeb26c1b8148e 100644 --- a/styleguide.config.js +++ b/styleguide.config.js @@ -1,11 +1,8 @@ -const path = require('path') +const styleguideComponents = require('xpub-styleguide') module.exports = { title: 'xpub-ui style guide', - styleguideComponents: { - StyleGuideRenderer: path.join(__dirname, 'lib/styleguide/StyleGuideRenderer'), - Wrapper: path.join(__dirname, 'lib/styleguide/Wrapper'), - }, + styleguideComponents, context: { faker: 'faker', }, diff --git a/webpack.config.js b/webpack.config.js index eb924224b64ea33582065ee8ffe2082e3cff1c89..842d4ee1c90261ada12d399f6d369ee8b058aef2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -16,6 +16,9 @@ module.exports = { externals: [nodeExternals({ whitelist: [/\.(?!js$).{1,5}$/i] })], + resolve: { + symlinks: false + }, module: { rules: [ { @@ -25,12 +28,14 @@ module.exports = { test: /\.js$/, include: [ path.join(__dirname, 'src'), - path.join(__dirname, 'lib'), + /xpub-[^/]+\/src/, ], loader: 'babel-loader', options: { presets: [ - 'react-app', + ['env', { modules: false }], + 'react', + 'stage-2' ], cacheDirectory: true, }, @@ -41,7 +46,7 @@ module.exports = { test: /\.local\.css$/, include: [ path.join(__dirname, 'src'), - path.join(__dirname, 'lib'), + /xpub-[^/]+\/src/, ], use: [ 'style-loader',