From fde60ac3e041945d822246f1ffb3690db6cc53d4 Mon Sep 17 00:00:00 2001 From: Lukas Martinelli Date: Tue, 20 Dec 2016 11:44:22 +0100 Subject: [PATCH] Restructure and rename components --- package.json | 1 - src/{about.jsx => components/About.jsx} | 0 src/{app.jsx => components/App.jsx} | 28 ++--- .../ScrollContainer.jsx} | 1 - src/{toolbar.jsx => components/Toolbar.jsx} | 18 +-- .../fields/BooleanField.jsx} | 4 +- .../fields/ColorField.jsx} | 7 +- .../fields/EnumField.jsx} | 4 +- .../fields/NumberField.jsx} | 4 +- .../fields/PropertyGroup.jsx} | 16 +-- .../fields/SpecField.jsx} | 92 ++------------ .../fields/StringField.jsx} | 4 +- src/components/fields/ZoomSpecField.jsx | 98 +++++++++++++++ .../filter/FilterEditor.jsx} | 43 ++++--- .../icons/BackgroundIcon.jsx} | 0 .../icons/FillIcon.jsx} | 0 src/components/icons/LayerIcon.jsx | 26 ++++ .../icons/LineIcon.jsx} | 0 .../icons/SymbolIcon.jsx} | 0 .../layers/LayerEditor.jsx} | 19 +-- .../layers/LayerList.jsx} | 14 +-- .../layers/LayerListItem.jsx} | 25 ++-- .../layers/SourceEditor.jsx} | 20 +-- src/{map.jsx => components/map/Map.jsx} | 8 +- .../map/MapboxGlMap.jsx} | 9 +- .../map/OpenLayers3Map.jsx} | 7 +- .../modals/SettingsModal.jsx} | 0 .../modals/TilesetsModal.jsx} | 4 +- src/{ => components}/scrollbars.scss | 0 src/{ => components}/sources/editor.jsx | 0 src/{ => components}/sources/list.jsx | 0 src/config/colors.js | 29 +++++ src/{fields => config}/input.js | 4 +- src/{ => config}/layout.json | 0 src/config/rebass.js | 66 ++++++++++ src/config/scales.js | 2 + src/{ => config}/tilesets.json | 0 src/icons/layer.jsx | 35 ------ src/index.jsx | 3 +- src/{ => libs}/apistore.js | 0 src/{ => libs}/layerwatcher.js | 0 src/{ => libs}/style.js | 0 src/{ => libs}/stylestore.js | 0 src/settings.jsx | 79 ------------ src/theme.js | 115 ------------------ webpack.production.config.js | 5 +- 46 files changed, 365 insertions(+), 425 deletions(-) rename src/{about.jsx => components/About.jsx} (100%) rename src/{app.jsx => components/App.jsx} (87%) rename src/{scrollcontainer.jsx => components/ScrollContainer.jsx} (91%) rename src/{toolbar.jsx => components/Toolbar.jsx} (92%) rename src/{fields/boolean.jsx => components/fields/BooleanField.jsx} (89%) rename src/{fields/color.jsx => components/fields/ColorField.jsx} (94%) rename src/{fields/enum.jsx => components/fields/EnumField.jsx} (91%) rename src/{fields/number.jsx => components/fields/NumberField.jsx} (94%) rename src/{fields/propertygroup.jsx => components/fields/PropertyGroup.jsx} (77%) rename src/{fields/spec.jsx => components/fields/SpecField.jsx} (56%) rename src/{fields/string.jsx => components/fields/StringField.jsx} (92%) create mode 100644 src/components/fields/ZoomSpecField.jsx rename src/{filter/editor.jsx => components/filter/FilterEditor.jsx} (81%) rename src/{icons/background.jsx => components/icons/BackgroundIcon.jsx} (100%) rename src/{icons/fill.jsx => components/icons/FillIcon.jsx} (100%) create mode 100644 src/components/icons/LayerIcon.jsx rename src/{icons/line.jsx => components/icons/LineIcon.jsx} (100%) rename src/{icons/symbol.jsx => components/icons/SymbolIcon.jsx} (100%) rename src/{layers/editor.jsx => components/layers/LayerEditor.jsx} (85%) rename src/{layers/list.jsx => components/layers/LayerList.jsx} (89%) rename src/{layers/listitem.jsx => components/layers/LayerListItem.jsx} (74%) rename src/{layers/source.jsx => components/layers/SourceEditor.jsx} (79%) rename src/{map.jsx => components/map/Map.jsx} (79%) rename src/{gl.jsx => components/map/MapboxGlMap.jsx} (90%) rename src/{ol3.jsx => components/map/OpenLayers3Map.jsx} (92%) rename src/{modals/settings.jsx => components/modals/SettingsModal.jsx} (100%) rename src/{modals/tilesets.jsx => components/modals/TilesetsModal.jsx} (95%) rename src/{ => components}/scrollbars.scss (100%) rename src/{ => components}/sources/editor.jsx (100%) rename src/{ => components}/sources/list.jsx (100%) create mode 100644 src/config/colors.js rename src/{fields => config}/input.js (92%) rename src/{ => config}/layout.json (100%) create mode 100644 src/config/rebass.js create mode 100644 src/config/scales.js rename src/{ => config}/tilesets.json (100%) delete mode 100644 src/icons/layer.jsx rename src/{ => libs}/apistore.js (100%) rename src/{ => libs}/layerwatcher.js (100%) rename src/{ => libs}/style.js (100%) rename src/{ => libs}/stylestore.js (100%) delete mode 100644 src/settings.jsx delete mode 100644 src/theme.js diff --git a/package.json b/package.json index 7e9cf52..f1d0473 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,6 @@ "react-color": "^2.10.0", "react-dom": "^15.4.0", "react-file-reader-input": "^1.1.0", - "react-height": "^2.1.1", "react-icon-base": "^2.0.4", "react-icons": "^2.2.1", "react-simpletabs": "^0.7.0", diff --git a/src/about.jsx b/src/components/About.jsx similarity index 100% rename from src/about.jsx rename to src/components/About.jsx diff --git a/src/app.jsx b/src/components/App.jsx similarity index 87% rename from src/app.jsx rename to src/components/App.jsx index 72c81db..d3c2b22 100644 --- a/src/app.jsx +++ b/src/components/App.jsx @@ -1,24 +1,24 @@ import React from 'react' -import {saveAs} from 'file-saver' +import { saveAs } from 'file-saver' import Drawer from 'rebass/dist/Drawer' import Container from 'rebass/dist/Container' import Block from 'rebass/dist/Block' import Fixed from 'rebass/dist/Fixed' -import { MapboxGlMap } from './gl.jsx' -import { OpenLayers3Map } from './ol3.jsx' -import { LayerList } from './layers/list.jsx' -import { LayerEditor } from './layers/editor.jsx' -import {Toolbar} from './toolbar.jsx' -import style from './style.js' -import { loadDefaultStyle, SettingsStore, StyleStore } from './stylestore.js' -import { ApiStyleStore } from './apistore.js' +import MapboxGlMap from './map/MapboxGlMap.jsx' +import OpenLayers3Map from './map/OpenLayers3Map.jsx' +import LayerList from './layers/LayerList.jsx' +import LayerEditor from './layers/LayerEditor.jsx' +import Toolbar from './Toolbar.jsx' -import LayerWatcher from './layerwatcher.js' -import theme from './theme.js' -import { colors, fullHeight } from './theme.js' -import './index.css' +import style from '../libs/style.js' +import { loadDefaultStyle, SettingsStore, StyleStore } from '../libs/stylestore.js' +import { ApiStyleStore } from '../libs/apistore.js' +import LayerWatcher from '../libs/layerwatcher.js' + +import theme from '../config/rebass.js' +import colors from '../config/colors.js' export default class App extends React.Component { static childContextTypes = { @@ -160,7 +160,7 @@ export default class App extends React.Component { width: 300, backgroundColor: colors.gray} }> - {selectedLayer && } + {selectedLayer && } {this.mapRenderer()} diff --git a/src/scrollcontainer.jsx b/src/components/ScrollContainer.jsx similarity index 91% rename from src/scrollcontainer.jsx rename to src/components/ScrollContainer.jsx index f8b6466..83e0425 100644 --- a/src/scrollcontainer.jsx +++ b/src/components/ScrollContainer.jsx @@ -1,5 +1,4 @@ import React from 'react' -import theme from './theme.js' import scrollbars from './scrollbars.scss' const ScrollContainer = (props) => { diff --git a/src/toolbar.jsx b/src/components/Toolbar.jsx similarity index 92% rename from src/toolbar.jsx rename to src/components/Toolbar.jsx index 3b43ea6..9b130ca 100644 --- a/src/toolbar.jsx +++ b/src/components/Toolbar.jsx @@ -1,6 +1,6 @@ -import React from 'react'; +import React from 'react' import Immutable from 'immutable' -import FileReaderInput from 'react-file-reader-input'; +import FileReaderInput from 'react-file-reader-input' import Button from 'rebass/dist/Button' import Text from 'rebass/dist/Text' @@ -25,17 +25,17 @@ import MdFontDownload from 'react-icons/lib/md/font-download' import MdHelpOutline from 'react-icons/lib/md/help-outline' import MdFindInPage from 'react-icons/lib/md/find-in-page' -import SettingsModal from './modals/settings.jsx' -import TilesetsModal from './modals/tilesets.jsx' -import style from './style.js' -import { fullHeight } from './theme.js' -import theme from './theme.js'; +import SettingsModal from './modals/SettingsModal' +import TilesetsModal from './modals/TilesetsModal' + +import style from '../libs/style' +import colors from '../config/colors'; const InlineBlock = props =>
{props.children}
-export class Toolbar extends React.Component { +export default class Toolbar extends React.Component { static propTypes = { mapStyle: React.PropTypes.instanceOf(Immutable.Map).isRequired, onStyleChanged: React.PropTypes.func.isRequired, @@ -107,7 +107,7 @@ export class Toolbar extends React.Component { zIndex: 100, left: 0, top: 0, - backgroundColor: theme.colors.black + backgroundColor: colors.black }}> return
@@ -61,7 +62,7 @@ class ColorField extends React.Component { { - console.log(fieldName) const fieldSpec = getFieldSpec(this.props.layer.get('type'), fieldName) const fieldValue = this.props.layer.getIn(['paint', fieldName], this.props.layer.getIn(['layout', fieldName])) - return {fields}
diff --git a/src/fields/spec.jsx b/src/components/fields/SpecField.jsx similarity index 56% rename from src/fields/spec.jsx rename to src/components/fields/SpecField.jsx index d41c8d9..5799cc2 100644 --- a/src/fields/spec.jsx +++ b/src/components/fields/SpecField.jsx @@ -3,87 +3,19 @@ import Immutable from 'immutable' import color from 'color' import GlSpec from 'mapbox-gl-style-spec/reference/latest.min.js' -import NumberField from './number' -import EnumField from './enum' -import BooleanField from './boolean' -import ColorField from './color' -import StringField from './string' -import inputStyle from './input.js' -import theme from '../theme.js' +import NumberField from './NumberField' +import EnumField from './EnumField' +import BooleanField from './BooleanField' +import ColorField from './ColorField' +import StringField from './StringField' + +import input from '../../config/input.js' +import theme from '../../config/rebass.js' function isZoomField(value) { return Immutable.Map.isMap(value) } -const specFieldProps = { - onChange: React.PropTypes.func.isRequired, - fieldName: React.PropTypes.string.isRequired, - fieldSpec: React.PropTypes.object.isRequired, -} - -/** Supports displaying spec field for zoom function objects - * https://www.mapbox.com/mapbox-gl-style-spec/#types-function-zoom-property - */ -export class ZoomSpecField extends React.Component { - static propTypes = { - ...specFieldProps, - value: React.PropTypes.oneOfType([ - React.PropTypes.object, - React.PropTypes.string, - React.PropTypes.number, - React.PropTypes.bool, - ]), - } - - render() { - const label = - - if(isZoomField(this.props.value)) { - const zoomFields = this.props.value.get('stops').map(stop => { - const zoomLevel = stop.get(0) - const value = stop.get(1) - - return
- {label} - - - -
- }).toSeq() - return
- {zoomFields} -
- } else { - return
- {label} - -
- } - } -} - function labelFromFieldName(fieldName) { let label = fieldName.split('-').slice(1).join(' ') if(label.length > 0) { @@ -92,13 +24,15 @@ function labelFromFieldName(fieldName) { return label } - /** Display any field from the Mapbox GL style spec and * choose the correct field component based on the @{fieldSpec} * to display @{value}. */ -class SpecField extends React.Component { +export default class SpecField extends React.Component { static propTypes = { - ...specFieldProps, + onChange: React.PropTypes.func.isRequired, + fieldName: React.PropTypes.string.isRequired, + fieldSpec: React.PropTypes.object.isRequired, + value: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.number, diff --git a/src/fields/string.jsx b/src/components/fields/StringField.jsx similarity index 92% rename from src/fields/string.jsx rename to src/components/fields/StringField.jsx index f86b450..77776e4 100644 --- a/src/fields/string.jsx +++ b/src/components/fields/StringField.jsx @@ -1,5 +1,5 @@ import React from 'react' -import inputStyle from './input.js' +import input from '../../config/input.js' /*** Number fields with support for min, max and units and documentation*/ class StringField extends React.Component { @@ -20,7 +20,7 @@ class StringField extends React.Component { render() { return + {labelFromFieldName(this.props.fieldName)} + + + if(isZoomField(this.props.value)) { + const zoomFields = this.props.value.get('stops').map(stop => { + const zoomLevel = stop.get(0) + const value = stop.get(1) + + return
+ {label} + + + +
+ }).toSeq() + return
+ {zoomFields} +
+ } else { + return
+ {label} + +
+ } + } +} + +function labelFromFieldName(fieldName) { + let label = fieldName.split('-').slice(1).join(' ') + if(label.length > 0) { + label = label.charAt(0).toUpperCase() + label.slice(1); + } + return label +} diff --git a/src/filter/editor.jsx b/src/components/filter/FilterEditor.jsx similarity index 81% rename from src/filter/editor.jsx rename to src/components/filter/FilterEditor.jsx index cb5f69b..9a139b6 100644 --- a/src/filter/editor.jsx +++ b/src/components/filter/FilterEditor.jsx @@ -1,10 +1,11 @@ import React from 'react' import Immutable from 'immutable' -import { PropertyGroup } from '../fields/spec' import PureRenderMixin from 'react-addons-pure-render-mixin'; import GlSpec from 'mapbox-gl-style-spec/reference/latest.min.js' -import inputStyle from '../fields/input.js' -import theme from '../theme.js' + +import input from '../../config/input.js' +import colors from '../../config/colors.js' +import { margins } from '../../config/scales.js' const combiningFilterOps = ['all', 'any', 'none'] const setFilterOps = ['in', '!in'] @@ -26,9 +27,9 @@ class CombiningOperatorSelect extends React.Component { return
@@ -58,9 +59,9 @@ class OperatorSelect extends React.Component { }) return this.onFilterPartChanged(filterOp, newPropertyName, filterArgs)} - /> + > + {this.props.properties.keySeq().map(propName => { + return + }).toIndexedSeq()} + this.onFilterPartChanged(newFilterOp, propertyName, filterArgs)} /> { @@ -118,6 +124,8 @@ class SingleFilterEditor extends React.Component { export default class CombiningFilterEditor extends React.Component { static propTypes = { + /** Properties of the vector layer and the available fields */ + properties: React.PropTypes.instanceOf(Immutable.Map).isRequired, filter: React.PropTypes.array.isRequired, onChange: React.PropTypes.func.isRequired, } @@ -154,15 +162,16 @@ export default class CombiningFilterEditor extends React.Component { const filterEditors = filters.map((f, idx) => { return }) return
+ case 'background': return + case 'line': return + case 'symbol': return + default: return null + } + } +} + +export default LayerIcon diff --git a/src/icons/line.jsx b/src/components/icons/LineIcon.jsx similarity index 100% rename from src/icons/line.jsx rename to src/components/icons/LineIcon.jsx diff --git a/src/icons/symbol.jsx b/src/components/icons/SymbolIcon.jsx similarity index 100% rename from src/icons/symbol.jsx rename to src/components/icons/SymbolIcon.jsx diff --git a/src/layers/editor.jsx b/src/components/layers/LayerEditor.jsx similarity index 85% rename from src/layers/editor.jsx rename to src/components/layers/LayerEditor.jsx index e89e294..2b14778 100644 --- a/src/layers/editor.jsx +++ b/src/components/layers/LayerEditor.jsx @@ -6,18 +6,19 @@ import NavItem from 'rebass/dist/NavItem' import Space from 'rebass/dist/Space' import Tabs from 'react-simpletabs' -import theme from '../theme.js' -import SourceEditor from './source.jsx' -import FilterEditor from '../filter/editor.jsx' -import PropertyGroup from '../fields/propertygroup.jsx' +import SourceEditor from './SourceEditor' +import FilterEditor from '../filter/FilterEditor' +import PropertyGroup from '../fields/PropertyGroup' import MdVisibility from 'react-icons/lib/md/visibility' import MdVisibilityOff from 'react-icons/lib/md/visibility-off' import MdDelete from 'react-icons/lib/md/delete' import PureRenderMixin from 'react-addons-pure-render-mixin'; -import ScrollContainer from '../scrollcontainer.jsx' -import layout from '../layout.json' +import ScrollContainer from '../ScrollContainer' + +import layout from '../../config/layout.json' +import theme from '../../config/rebass.js' class UnsupportedLayer extends React.Component { render() { @@ -26,10 +27,11 @@ class UnsupportedLayer extends React.Component { } /** Layer editor supporting multiple types of layers. */ -export class LayerEditor extends React.Component { +export default class LayerEditor extends React.Component { static propTypes = { layer: React.PropTypes.object.isRequired, sources: React.PropTypes.instanceOf(Immutable.Map), + vectorLayers: React.PropTypes.instanceOf(Immutable.Map), onLayerChanged: React.PropTypes.func, onLayerDestroyed: React.PropTypes.func, } @@ -82,12 +84,14 @@ export class LayerEditor extends React.Component { const groups = layout[layerType].groups const propertyGroups = groups.map(group => { return }) + console.log(this.props.layer.toJSON()) let visibleIcon = if(this.props.layer.has('layout') && this.props.layer.getIn(['layout', 'visibility']) === 'none') { visibleIcon = @@ -110,6 +114,7 @@ export class LayerEditor extends React.Component { {propertyGroups} this.onFilterChange(Immutable.fromJS(f))} /> {this.props.layer.get('type') !== 'background' diff --git a/src/layers/list.jsx b/src/components/layers/LayerList.jsx similarity index 89% rename from src/layers/list.jsx rename to src/components/layers/LayerList.jsx index d3c0fc6..854a62d 100644 --- a/src/layers/list.jsx +++ b/src/components/layers/LayerList.jsx @@ -1,4 +1,5 @@ import React from 'react' +import PureRenderMixin from 'react-addons-pure-render-mixin'; import Immutable from 'immutable' import Heading from 'rebass/dist/Heading' @@ -6,11 +7,10 @@ import Toolbar from 'rebass/dist/Toolbar' import NavItem from 'rebass/dist/NavItem' import Space from 'rebass/dist/Space' -import { LayerEditor } from './editor.jsx' -import LayerListItem from './listitem.jsx' -import PureRenderMixin from 'react-addons-pure-render-mixin'; -import theme from '../theme.js' -import ScrollContainer from '../scrollcontainer.jsx' +import LayerListItem from './LayerListItem' +import ScrollContainer from '../ScrollContainer' + +import { margins } from '../../config/scales.js' import {SortableContainer, SortableHandle, arrayMove} from 'react-sortable-hoc'; @@ -55,14 +55,14 @@ class LayerListContainer extends React.Component { /> }) return -
    +
      {layerPanels}
    } } -export class LayerList extends React.Component { +export default class LayerList extends React.Component { static propTypes = {...layerListPropTypes} constructor(props) { diff --git a/src/layers/listitem.jsx b/src/components/layers/LayerListItem.jsx similarity index 74% rename from src/layers/listitem.jsx rename to src/components/layers/LayerListItem.jsx index 53eff69..782b104 100644 --- a/src/layers/listitem.jsx +++ b/src/components/layers/LayerListItem.jsx @@ -1,4 +1,5 @@ import React from 'react' +import PureRenderMixin from 'react-addons-pure-render-mixin' import Radium from 'radium' import Immutable from 'immutable' import Color from 'color' @@ -8,12 +9,12 @@ import Toolbar from 'rebass/dist/Toolbar' import NavItem from 'rebass/dist/NavItem' import Space from 'rebass/dist/Space' -import LayerIcon from '../icons/layer.jsx' -import { LayerEditor } from './editor.jsx' -import scrollbars from '../scrollbars.scss' -import PureRenderMixin from 'react-addons-pure-render-mixin'; -import theme from '../theme.js' -import {SortableElement, SortableHandle} from 'react-sortable-hoc'; +import LayerIcon from '../icons/LayerIcon' +import LayerEditor from './LayerEditor' +import {SortableElement, SortableHandle} from 'react-sortable-hoc' + +import colors from '../../config/colors.js' +import { fontSizes, margins } from '../../config/scales.js' @SortableHandle @@ -48,8 +49,8 @@ class LayerListItem extends React.Component { onClick={() => this.props.onLayerSelected(this.props.layerId)} style={{ fontWeight: 400, - color: theme.colors.lowgray, - fontSize: theme.fontSizes[5], + color: colors.lowgray, + fontSize: fontSizes[5], borderBottom: 1, borderLeft: 2, borderRight: 0, @@ -59,11 +60,11 @@ class LayerListItem extends React.Component { zIndex: 2000, cursor: 'pointer', position: 'relative', - padding: theme.scale[1], - borderColor: Color(theme.colors.gray).lighten(0.1).string(), - backgroundColor: theme.colors.gray, + padding: margins[1], + borderColor: Color(colors.gray).lighten(0.1).string(), + backgroundColor: colors.gray, ":hover": { - backgroundColor: Color(theme.colors.gray).lighten(0.15).string(), + backgroundColor: Color(colors.gray).lighten(0.15).string(), } }}> diff --git a/src/layers/source.jsx b/src/components/layers/SourceEditor.jsx similarity index 79% rename from src/layers/source.jsx rename to src/components/layers/SourceEditor.jsx index 5faf4b9..d5f7644 100644 --- a/src/layers/source.jsx +++ b/src/components/layers/SourceEditor.jsx @@ -1,8 +1,9 @@ import React from 'react' -import Immutable from 'immutable' -import { PropertyGroup } from '../fields/spec' import PureRenderMixin from 'react-addons-pure-render-mixin'; -import inputStyle from '../fields/input.js' +import Immutable from 'immutable' + +import PropertyGroup from '../fields/PropertyGroup' +import input from '../../config/input.js' /** Choose tileset (source) and the source layer */ export default class SourceEditor extends React.Component { @@ -33,22 +34,21 @@ export default class SourceEditor extends React.Component { return }).toIndexedSeq() - console.log(this.props.sources) return
    -
    - +
    +
    -
    - +
    + this.props.onAccessTokenChanged(e.target.value)} - /> - - - - - - -
    - } -} diff --git a/src/theme.js b/src/theme.js deleted file mode 100644 index a658bdc..0000000 --- a/src/theme.js +++ /dev/null @@ -1,115 +0,0 @@ -const caps = { - textTransform: 'uppercase', - letterSpacing: '.2em' -} - -export const fullHeight = { - position: "fixed", - top: 0, - bottom: 0, - height: "100%", -} - -const baseColors = { - black: '#1c1f24', - gray: '#26282e', - midgray: '#36383e', - lowgray: '#8e8e8e', - white: '#fff', - blue: '#00d9f7', - green: '#B4C7AD', - orange: '#fb3', - red: '#f04', -} - -const themeColors = { - primary: baseColors.gray, - secondary: baseColors.midgray, - default: baseColors.gray, - info: baseColors.blue, - success: baseColors.green, - warning: baseColors.orange, - error: baseColors.red -} - -export const colors = { - ...baseColors, - ...themeColors -} - -export const inputBase = { - display: 'block', - border: '1px solid rgb(36, 36, 36)', - height: 30, - width: '100%', - paddingLeft: 5, - paddingRight: 5, - backgroundColor: colors.gray, -} - -const scale = [3, 5, 10, 30, 40] -const fontSizes = [26, 20, 16, 14, 12, 10] - -const border = { - borderColor: colors.black, - borderRadius: 0, -} - -const dark = { - name: 'Dark', - color: colors.white, - fontFamily: 'Roboto, sans-serif', - scale, - fontSizes, - colors, - inverted: colors.midGray, - ...border, - - Block: { - backgroundColor: colors.gray, - ...border, - borderLeft: 0, - borderRight: 0, - marginBottom: 0, - paddingBottom: 0, - }, - PanelHeader: { - marginRight: -10, - marginBottom: 0, - fontSize: fontSizes[5], - fontWeight: 400, - color: colors.white, - }, - Panel: { - backgroundColor: colors.gray, - }, - Button: { - color: '#00d9f7', - }, - Menu: { - color: '#00d9f7', - backgroundColor: '#000' - }, - Message: { - color: '#111', - opacity: 15/16 - }, - Header: { - fontWeight: 400, - }, - ButtonCircle : { - }, - Toolbar: { - fontWeight: 400, - minHeight: scale[3] - }, - Label: { - fontWeight: 300, - }, - Input: { - fontWeight: 300, - fontSize: fontSizes[5], - }, -} - -export default dark diff --git a/webpack.production.config.js b/webpack.production.config.js index b0755a3..c2e0017 100644 --- a/webpack.production.config.js +++ b/webpack.production.config.js @@ -32,15 +32,14 @@ module.exports = { 'mapbox-gl', //TODO: Cannot resolve migrations file? //"mapbox-gl-style-spec", + "radium", "randomcolor", 'react', - "react-collapse", "react-dom", + "react-color", "react-file-reader-input", - "react-height", //TODO: Icons raise multi vendor errors? //"react-icons", - "react-motion", "rebass", // Open Layers 'openlayers',