diff --git a/components.js b/components.js
new file mode 100644
index 000000000..d6ccdf3f1
--- /dev/null
+++ b/components.js
@@ -0,0 +1,61 @@
+import App from './src/client/components/App';
+import Button from './src/client/components/controls/Button';
+import Group from './src/client/components/field-types/Group';
+import Input from './src/client/components/field-types/Input';
+import Textarea from './src/client/components/field-types/Textarea';
+import MeasureWindow from './src/client/components/utilities/MeasureWindow';
+import MeasureScroll from './src/client/components/utilities/MeasureScroll';
+import LoadContent from './src/client/components/utilities/LoadContent';
+import Dashboard from './src/client/components/views/Dashboard';
+import CollectionRoutes from './src/client/components/routes/Collections';
+import DefaultTemplate from './src/client/components/layout/DefaultTemplate';
+import Login from './src/client/components/views/Login';
+import AddView from './src/client/components/views/collections/Add';
+import ArchiveView from './src/client/components/views/collections/Archive';
+import HeadingButton from './src/client/components/modules/HeadingButton';
+import Filter from './src/client/components/modules/Filter';
+import EditView from './src/client/components/views/collections/Edit';
+import StickOnScroll from './src/client/components/layout/StickOnScroll';
+import APIUrl from './src/client/components/modules/APIUrl';
+import Form from './src/client/components/forms/Form';
+import PayloadIcon from './src/client/components/graphics/PayloadIcon';
+import PayloadLogo from './src/client/components/graphics/PayloadLogo';
+import Tooltip from './src/client/components/modules/Tooltip';
+import Sidebar from './src/client/components/layout/Sidebar';
+import StepNav from './src/client/components/modules/StepNav';
+import Arrow from './src/client/components/graphics/Arrow';
+import Label from './src/client/components/type/Label';
+import SetStepNav from './src/client/components/utilities/SetStepNav';
+import ContentBlock from './src/client/components/layout/ContentBlock';
+
+export {
+ App,
+ Button,
+ Group,
+ Input,
+ Textarea,
+ MeasureWindow,
+ MeasureScroll,
+ LoadContent,
+ Dashboard,
+ CollectionRoutes,
+ DefaultTemplate,
+ Login,
+ AddView,
+ ArchiveView,
+ HeadingButton,
+ Filter,
+ EditView,
+ StickOnScroll,
+ APIUrl,
+ Form,
+ PayloadIcon,
+ PayloadLogo,
+ Tooltip,
+ Sidebar,
+ StepNav,
+ Arrow,
+ Label,
+ SetStepNav,
+ ContentBlock
+};
diff --git a/demo/client/Routes.js b/demo/client/Routes.js
index 2e0add396..1ca04bc6f 100644
--- a/demo/client/Routes.js
+++ b/demo/client/Routes.js
@@ -2,10 +2,10 @@ import React, { Component } from 'react';
import { connect } from 'react-redux';
import { Route, Switch, withRouter } from 'react-router-dom';
-import CollectionRoutes from 'payload/client/components/routes/Collections';
-import DefaultTemplate from 'payload/client/components/layout/DefaultTemplate';
-import Dashboard from 'payload/client/components/views/Dashboard';
-import Login from 'payload/client/components/views/Login';
+import { CollectionRoutes } from 'payload/components';
+import { DefaultTemplate } from 'payload/components';
+import { Dashboard } from 'payload/components';
+import { Login } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Orders/Add/index.js b/demo/client/components/collections/Orders/Add/index.js
index 375c72713..5b95cb6d0 100644
--- a/demo/client/components/collections/Orders/Add/index.js
+++ b/demo/client/components/collections/Orders/Add/index.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import AddView from 'payload/client/components/views/collections/Add';
+import { AddView } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Orders/Archive/index.js b/demo/client/components/collections/Orders/Archive/index.js
index 0f2596ba9..05f65edfa 100644
--- a/demo/client/components/collections/Orders/Archive/index.js
+++ b/demo/client/components/collections/Orders/Archive/index.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import ArchiveView from 'payload/client/components/views/collections/Archive';
-import HeadingButton from 'payload/client/components/modules/HeadingButton';
-import Filter from 'payload/client/components/modules/Filter';
+import { ArchiveView } from 'payload/components';
+import { HeadingButton } from 'payload/components';
+import { Filter } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Orders/Edit/index.js b/demo/client/components/collections/Orders/Edit/index.js
index 20dad0888..24fd265f6 100644
--- a/demo/client/components/collections/Orders/Edit/index.js
+++ b/demo/client/components/collections/Orders/Edit/index.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import EditView from 'payload/client/components/views/collections/Edit';
+import { EditView } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Pages/Add/index.js b/demo/client/components/collections/Pages/Add/index.js
index 0a6c93d8d..92028aa81 100644
--- a/demo/client/components/collections/Pages/Add/index.js
+++ b/demo/client/components/collections/Pages/Add/index.js
@@ -1,14 +1,14 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import AddView from 'payload/client/components/views/collections/Add';
-import StickOnScroll from 'payload/client/components/layout/StickOnScroll';
-import APIUrl from 'payload/client/components/modules/APIUrl';
-import Button from 'payload/client/components/controls/Button';
-import Form from 'payload/client/components/forms/Form';
-import Input from 'payload/client/components/field-types/Input';
-import Textarea from 'payload/client/components/field-types/Textarea';
-import Group from 'payload/client/components/field-types/Group';
+import { AddView } from 'payload/components';
+import { StickOnScroll } from 'payload/components';
+import { APIUrl } from 'payload/components';
+import { Button } from 'payload/components';
+import { Form } from 'payload/components';
+import { Input } from 'payload/components';
+import { Textarea } from 'payload/components';
+import { Group } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Pages/Archive/index.js b/demo/client/components/collections/Pages/Archive/index.js
index 482fd5416..38e8175ab 100644
--- a/demo/client/components/collections/Pages/Archive/index.js
+++ b/demo/client/components/collections/Pages/Archive/index.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import ArchiveView from 'payload/client/components/views/collections/Archive';
-import HeadingButton from 'payload/client/components/modules/HeadingButton';
-import Filter from 'payload/client/components/modules/Filter';
+import { ArchiveView } from 'payload/components';
+import { HeadingButton } from 'payload/components';
+import { Filter } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/Pages/Edit/index.js b/demo/client/components/collections/Pages/Edit/index.js
index c79828014..5d21e354b 100644
--- a/demo/client/components/collections/Pages/Edit/index.js
+++ b/demo/client/components/collections/Pages/Edit/index.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import EditView from 'payload/client/components/views/collections/Edit';
+import { EditView } from 'payload/components';
const mapStateToProps = state => ({
collections: state.collections.all
diff --git a/demo/client/components/collections/index.js b/demo/client/components/collections/index.js
index 4129b8e67..498b4e664 100644
--- a/demo/client/components/collections/index.js
+++ b/demo/client/components/collections/index.js
@@ -18,4 +18,4 @@ export default {
Archive: PagesArchive,
Edit: PagesEdit
}
-}
+};
diff --git a/demo/client/components/graphics/Logo/index.js b/demo/client/components/graphics/Logo/index.js
index fede47e75..b8edce078 100644
--- a/demo/client/components/graphics/Logo/index.js
+++ b/demo/client/components/graphics/Logo/index.js
@@ -1,11 +1,11 @@
import React from 'react';
-import PayloadLogo from 'payload/client/components/graphics/PayloadLogo';
+import { PayloadLogo } from 'payload/components';
-export default props => {
+export default () => {
return (
);
-}
+};
diff --git a/demo/client/index.js b/demo/client/index.js
index 79c35b584..f3ae4b181 100644
--- a/demo/client/index.js
+++ b/demo/client/index.js
@@ -1,21 +1,16 @@
import React from 'react';
import { render } from 'react-dom';
-import { Test, Test2 } from 'payload';
+import { App } from 'payload/components';
-// import App from 'payload/client/components/App';
-
-// import Routes from './Routes';
-// import store from './store';
-
-console.log(Test);
+import Routes from './Routes';
+import store from './store';
const Index = () => {
return (
-
-
-
-
+
+
+
);
};
diff --git a/demo/client/store.js b/demo/client/store.js
index 19f8aa7e4..4a92f1b13 100644
--- a/demo/client/store.js
+++ b/demo/client/store.js
@@ -1,6 +1,6 @@
import { createStore, combineReducers } from 'redux';
-import common from 'payload/client/reducers/common';
-import collections from 'payload/client/reducers/collections';
+import { common } from 'payload/redux';
+import { collections } from 'payload/redux';
const reducer = combineReducers({
common,
diff --git a/demo/client/testStyles.scss b/demo/client/testStyles.scss
deleted file mode 100644
index e413e9a2c..000000000
--- a/demo/client/testStyles.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-@import '_vars';
-
-body {
- background: white;
- color: $black;
-}
diff --git a/index.js b/index.js
index 138a7bb08..408da7760 100644
--- a/index.js
+++ b/index.js
@@ -1 +1,5 @@
-export * from './src/client/Components';
+import ajax from './src/client/ajax';
+
+export {
+ ajax
+};
diff --git a/redux.js b/redux.js
new file mode 100644
index 000000000..fc2c3a40a
--- /dev/null
+++ b/redux.js
@@ -0,0 +1,7 @@
+import common from './src/client/reducers/common';
+import collections from './src/client/reducers/collections';
+
+export {
+ common,
+ collections
+};
diff --git a/src/client/components/App.js b/src/client/components/App.js
index c35cb768f..bc9705db7 100644
--- a/src/client/components/App.js
+++ b/src/client/components/App.js
@@ -1,11 +1,11 @@
import React, { Component } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import { Provider } from 'react-redux';
-import MeasureWindow from 'payload/client/components/utilities/MeasureWindow';
-import MeasureScroll from 'payload/client/components/utilities/MeasureScroll';
-import LoadContent from 'payload/client/components/utilities/LoadContent';
+import { MeasureWindow } from 'payload/components';
+import { MeasureScroll } from 'payload/components';
+import { LoadContent } from 'payload/components';
-import 'payload/client/scss/app.css';
+import '../scss/app.css';
class App extends Component {
render() {
diff --git a/src/client/components/Test.js b/src/client/components/Test.js
deleted file mode 100644
index 7367d13cb..000000000
--- a/src/client/components/Test.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import React from 'react';
-
-const Test = () => {
- return (
- Test
- );
-};
-
-export default Test;
diff --git a/src/client/components/Test2.js b/src/client/components/Test2.js
deleted file mode 100644
index bb7fed62a..000000000
--- a/src/client/components/Test2.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from 'react';
-
-export default () => {
- return (
- Test2
- );
-};
diff --git a/src/client/components/field-types/Input/index.js b/src/client/components/field-types/Input/index.js
index 311e229da..364e1da76 100644
--- a/src/client/components/field-types/Input/index.js
+++ b/src/client/components/field-types/Input/index.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import Tooltip from '../../modules/Tooltip';
+import { Tooltip } from 'payload/components';
import './index.css';
diff --git a/src/client/components/field-types/Textarea/index.js b/src/client/components/field-types/Textarea/index.js
index 7522a1ce7..a69afba70 100644
--- a/src/client/components/field-types/Textarea/index.js
+++ b/src/client/components/field-types/Textarea/index.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import Tooltip from '../../modules/Tooltip';
+import { Tooltip } from 'payload/components';
import './index.css';
diff --git a/src/client/components/forms/Form/index.js b/src/client/components/forms/Form/index.js
index e3136a563..cd1bd5b8a 100644
--- a/src/client/components/forms/Form/index.js
+++ b/src/client/components/forms/Form/index.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { withRouter } from 'react-router-dom';
-import ajax from '../../../ajax';
+import { ajax } from 'payload';
import './index.css';
diff --git a/src/client/components/index.js b/src/client/components/index.js
deleted file mode 100644
index 68b184e91..000000000
--- a/src/client/components/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Test from './Test';
-import Test2 from './Test2';
-
-export {
- Test,
- Test2
-};
diff --git a/src/client/components/layout/DefaultTemplate/index.js b/src/client/components/layout/DefaultTemplate/index.js
index 68ae14f24..484f9a07a 100644
--- a/src/client/components/layout/DefaultTemplate/index.js
+++ b/src/client/components/layout/DefaultTemplate/index.js
@@ -1,6 +1,6 @@
import React from 'react';
-import Sidebar from '../Sidebar';
-import StepNav from '../../modules/StepNav';
+import { Sidebar } from 'payload/components';
+import { StepNav } from 'payload/components';
import './index.css';
diff --git a/src/client/components/layout/Sidebar/index.js b/src/client/components/layout/Sidebar/index.js
index cdb0e19a6..42dd5390e 100644
--- a/src/client/components/layout/Sidebar/index.js
+++ b/src/client/components/layout/Sidebar/index.js
@@ -2,9 +2,10 @@ import React, { Component } from 'react';
import { withRouter } from 'react-router-dom';
import { connect } from 'react-redux';
import { NavLink, Link } from 'react-router-dom';
+import { Arrow } from 'payload/components';
+import { Label } from 'payload/components';
+
import Icon from 'local/client/components/graphics/Icon';
-import Arrow from 'payload/client/components/graphics/Arrow';
-import Label from 'payload/client/components/type/Label';
import './index.css';
diff --git a/src/client/components/modules/APIUrl/index.js b/src/client/components/modules/APIUrl/index.js
index 697babfa8..79837c356 100644
--- a/src/client/components/modules/APIUrl/index.js
+++ b/src/client/components/modules/APIUrl/index.js
@@ -1,6 +1,6 @@
import React from 'react';
-import Label from 'payload/client/components/type/Label';
+import { Label } from 'payload/components';
export default props => {
return (
diff --git a/src/client/components/modules/Filter/index.js b/src/client/components/modules/Filter/index.js
index e6bbadcc5..3df5486fd 100644
--- a/src/client/components/modules/Filter/index.js
+++ b/src/client/components/modules/Filter/index.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import Input from 'payload/client/components/field-types/Input';
+import { Input } from 'payload/components';
class Filter extends Component {
render() {
diff --git a/src/client/components/modules/HeadingButton/index.js b/src/client/components/modules/HeadingButton/index.js
index 62e0b6f1e..154dc10ba 100644
--- a/src/client/components/modules/HeadingButton/index.js
+++ b/src/client/components/modules/HeadingButton/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import Button from 'payload/client/components/controls/Button';
+import { Button } from 'payload/components';
import './index.css';
diff --git a/src/client/components/modules/StepNav/index.js b/src/client/components/modules/StepNav/index.js
index c59d4215b..6746ad651 100644
--- a/src/client/components/modules/StepNav/index.js
+++ b/src/client/components/modules/StepNav/index.js
@@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
-import Label from 'payload/client/components/type/Label';
-import Arrow from 'payload/client/components/graphics/Arrow';
+import { Label } from 'payload/components';
+import { Arrow } from 'payload/components';
import './index.css';
diff --git a/src/client/components/modules/Tooltip/index.js b/src/client/components/modules/Tooltip/index.js
index ee92dad90..cb8b201c8 100644
--- a/src/client/components/modules/Tooltip/index.js
+++ b/src/client/components/modules/Tooltip/index.js
@@ -3,13 +3,12 @@ import React from 'react';
import './Tooltip.css';
export default (props) => {
+ let className = props.className ? `tooltip ${props.className}` : 'tooltip';
- let className = props.className ? `tooltip ${props.className}` : 'tooltip';
-
- return (
-
- );
-}
\ No newline at end of file
+ return (
+
+ );
+};
diff --git a/src/client/components/views/Dashboard/index.js b/src/client/components/views/Dashboard/index.js
index 8d8f95dc8..b5ad9f12f 100644
--- a/src/client/components/views/Dashboard/index.js
+++ b/src/client/components/views/Dashboard/index.js
@@ -1,6 +1,6 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import SetStepNav from 'payload/client/components/utilities/SetStepNav';
+import { SetStepNav } from 'payload/components';
import './index.css';
diff --git a/src/client/components/views/Login/index.js b/src/client/components/views/Login/index.js
index 98c1340c3..02c8c667c 100644
--- a/src/client/components/views/Login/index.js
+++ b/src/client/components/views/Login/index.js
@@ -1,10 +1,11 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import ContentBlock from 'payload/client/components/layout/ContentBlock';
+import { ContentBlock } from 'payload/components';
+import { Form } from 'payload/components';
+import { Input } from 'payload/components';
+import { Button } from 'payload/components';
+
import Logo from 'local/client/components/graphics/Logo';
-import Form from 'payload/client/components/forms/Form';
-import Input from 'payload/client/components/field-types/Input';
-import Button from 'payload/client/components/controls/Button';
import './index.css';
diff --git a/src/client/components/views/collections/Add/index.js b/src/client/components/views/collections/Add/index.js
index 3d0cfb116..60104b033 100644
--- a/src/client/components/views/collections/Add/index.js
+++ b/src/client/components/views/collections/Add/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import SetStepNav from 'payload/client/components/utilities/SetStepNav';
+import { SetStepNav } from 'payload/components';
import './index.css';
diff --git a/src/client/components/views/collections/Archive/index.js b/src/client/components/views/collections/Archive/index.js
index 618c8f4ba..1d6f5ebdd 100644
--- a/src/client/components/views/collections/Archive/index.js
+++ b/src/client/components/views/collections/Archive/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import SetStepNav from 'payload/client/components/utilities/SetStepNav';
+import { SetStepNav } from 'payload/components';
import './index.css';
diff --git a/src/client/components/views/collections/Edit/index.js b/src/client/components/views/collections/Edit/index.js
index 143126159..1226cf7a1 100644
--- a/src/client/components/views/collections/Edit/index.js
+++ b/src/client/components/views/collections/Edit/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import SetStepNav from 'payload/client/components/utilities/SetStepNav';
+import { SetStepNav } from 'payload/components';
export default props => {
return (