diff --git a/package-lock.json b/package-lock.json
index 22370939..48d79a1e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10788,19 +10788,9 @@
"integrity": "sha1-oXEB2tnBGSZSNWCWhgqatDoHZsc="
},
"react-icons": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-2.2.7.tgz",
- "integrity": "sha512-0n4lcGqzJFcIQLoQytLdJCE0DKSA9dkwEZRYoGrIDJZFvIT6Hbajx5mv9geqhqFiNjUgtxg8kPyDfjlhymbGFg==",
- "requires": {
- "react-icon-base": "2.1.0"
- },
- "dependencies": {
- "react-icon-base": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/react-icon-base/-/react-icon-base-2.1.0.tgz",
- "integrity": "sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50="
- }
- }
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-3.1.0.tgz",
+ "integrity": "sha512-kz0Dg1pEY+Ln0zcHYmBfx75pWz4U1kvCGku+QdwZkaIrCK+UQhPd69oLwik0KW5KpNhWHed0aMtAx6DnBhfIxQ=="
},
"react-motion": {
"version": "0.5.2",
diff --git a/package.json b/package.json
index 080a09ef..55eddc33 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"react-dom": "^16.5.2",
"react-file-reader-input": "^2.0.0",
"react-icon-base": "^2.1.2",
- "react-icons": "^2.2.7",
+ "react-icons": "^3.1.0",
"react-motion": "^0.5.2",
"react-sortable-hoc": "^0.8.3",
"reconnecting-websocket": "^3.2.2",
diff --git a/src/components/Toolbar.jsx b/src/components/Toolbar.jsx
index f1175374..c6ff9455 100644
--- a/src/components/Toolbar.jsx
+++ b/src/components/Toolbar.jsx
@@ -2,13 +2,7 @@ import React from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'
-import MdFileDownload from 'react-icons/lib/md/file-download'
-import OpenIcon from 'react-icons/lib/md/open-in-browser'
-import SettingsIcon from 'react-icons/lib/md/settings'
-import SourcesIcon from 'react-icons/lib/md/layers'
-import HelpIcon from 'react-icons/lib/md/help-outline'
-import InspectionIcon from 'react-icons/lib/md/find-in-page'
-import SurveyIcon from 'react-icons/lib/md/assignment-turned-in'
+import {MdFileDownload, MdOpenInBrowser, MdSettings, MdLayers, MdHelpOutline, MdFindInPage, MdAssignmentTurnedIn} from 'react-icons/md'
import logoImage from 'maputnik-design/logos/logo-color.svg'
import pkgJson from '../../package.json'
@@ -132,7 +126,7 @@ export default class Toolbar extends React.Component {
-
+
Open
@@ -140,26 +134,26 @@ export default class Toolbar extends React.Component {
Export
-
+
Data Sources
-
+
Style Settings
-
+
{ this.props.inspectModeEnabled && Map Mode }
{ !this.props.inspectModeEnabled && Inspect Mode }
-
+
Help
-
+
Take the Maputnik Survey
diff --git a/src/components/fields/_DeleteStopButton.jsx b/src/components/fields/_DeleteStopButton.jsx
index ef64f434..3cab507e 100644
--- a/src/components/fields/_DeleteStopButton.jsx
+++ b/src/components/fields/_DeleteStopButton.jsx
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types'
import DocLabel from './DocLabel'
import Button from '../Button'
-import DeleteIcon from 'react-icons/lib/md/delete'
+import {MdDelete} from 'react-icons/md'
export default class DeleteStopButton extends React.Component {
@@ -17,7 +17,7 @@ export default class DeleteStopButton extends React.Component {
onClick={this.props.onClick}
>
}
+ label={}
doc={"Remove zoom level stop."}
/>
diff --git a/src/components/fields/_FunctionButtons.jsx b/src/components/fields/_FunctionButtons.jsx
index ffd6552c..9048a608 100644
--- a/src/components/fields/_FunctionButtons.jsx
+++ b/src/components/fields/_FunctionButtons.jsx
@@ -3,8 +3,7 @@ import PropTypes from 'prop-types'
import DocLabel from './DocLabel'
import Button from '../Button'
-import FunctionIcon from 'react-icons/lib/md/functions'
-import MdInsertChart from 'react-icons/lib/md/insert-chart'
+import {MdFunctions, MdInsertChart} from 'react-icons/md'
export default class FunctionButtons extends React.Component {
@@ -22,7 +21,7 @@ export default class FunctionButtons extends React.Component {
onClick={this.props.onZoomClick}
>
}
+ label={}
cursorTargetStyle={{ cursor: 'pointer' }}
doc={"Turn property into a zoom function to enable a map feature to change with map's zoom level."}
/>
diff --git a/src/components/filter/FilterEditorBlock.jsx b/src/components/filter/FilterEditorBlock.jsx
index 3c2b9b1b..b6f45d13 100644
--- a/src/components/filter/FilterEditorBlock.jsx
+++ b/src/components/filter/FilterEditorBlock.jsx
@@ -1,7 +1,7 @@
import React from 'react'
import PropTypes from 'prop-types'
import Button from '../Button'
-import DeleteIcon from 'react-icons/lib/md/delete'
+import {MdDelete} from 'react-icons/md'
class FilterEditorBlock extends React.Component {
static propTypes = {
@@ -16,7 +16,7 @@ class FilterEditorBlock extends React.Component {
className="maputnik-delete-filter"
onClick={this.props.onDelete}
>
-
+
diff --git a/src/components/inputs/DynamicArrayInput.jsx b/src/components/inputs/DynamicArrayInput.jsx
index 6e58d560..7d86227b 100644
--- a/src/components/inputs/DynamicArrayInput.jsx
+++ b/src/components/inputs/DynamicArrayInput.jsx
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types'
import StringInput from './StringInput'
import NumberInput from './NumberInput'
import Button from '../Button'
-import DeleteIcon from 'react-icons/lib/md/delete'
+import {MdDelete} from 'react-icons/md'
import DocLabel from '../fields/DocLabel'
@@ -95,7 +95,7 @@ class DeleteValueButton extends React.Component {
onClick={this.props.onClick}
>
}
+ label={
}
doc={"Remove array entry."}
/>
diff --git a/src/components/layers/Collapser.jsx b/src/components/layers/Collapser.jsx
index 186c4412..b2b413bb 100644
--- a/src/components/layers/Collapser.jsx
+++ b/src/components/layers/Collapser.jsx
@@ -1,7 +1,6 @@
import React from 'react'
import PropTypes from 'prop-types'
-import CollapseOpenIcon from 'react-icons/lib/md/arrow-drop-down'
-import CollapseCloseIcon from 'react-icons/lib/md/arrow-drop-up'
+import {MdArrowDropDown, MdArrowDropUp} from 'react-icons/md'
export default class Collapser extends React.Component {
static propTypes = {
@@ -15,7 +14,7 @@ export default class Collapser extends React.Component {
height: 20,
...this.props.style,
}
- return this.props.isCollapsed ?
:
+ return this.props.isCollapsed ? :
}
}
diff --git a/src/components/layers/LayerEditor.jsx b/src/components/layers/LayerEditor.jsx
index 913cef75..39c862d9 100644
--- a/src/components/layers/LayerEditor.jsx
+++ b/src/components/layers/LayerEditor.jsx
@@ -14,7 +14,7 @@ import CommentBlock from './CommentBlock'
import LayerSourceBlock from './LayerSourceBlock'
import LayerSourceLayerBlock from './LayerSourceLayerBlock'
-import MoreVertIcon from 'react-icons/lib/md/more-vert'
+import {MdMoreVert} from 'react-icons/md'
import { changeType, changeProperty } from '../../libs/layer'
import layout from '../../config/layout.json'
@@ -254,7 +254,7 @@ export default class LayerEditor extends React.Component {
closeOnSelection={false}
>
diff --git a/src/components/layers/LayerListItem.jsx b/src/components/layers/LayerListItem.jsx
index 322c272e..c932d3b8 100644
--- a/src/components/layers/LayerListItem.jsx
+++ b/src/components/layers/LayerListItem.jsx
@@ -2,10 +2,7 @@ import React from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'
-import CopyIcon from 'react-icons/lib/md/content-copy'
-import VisibilityIcon from 'react-icons/lib/md/visibility'
-import VisibilityOffIcon from 'react-icons/lib/md/visibility-off'
-import DeleteIcon from 'react-icons/lib/md/delete'
+import {MdContentCopy, MdVisibility, MdVisibilityOff, MdDelete} from 'react-icons/md'
import LayerIcon from '../icons/LayerIcon'
import {SortableElement, SortableHandle} from 'react-sortable-hoc'
@@ -38,10 +35,10 @@ class IconAction extends React.Component {
renderIcon() {
switch(this.props.action) {
- case 'duplicate': return
- case 'show': return
- case 'hide': return
- case 'delete': return
+ case 'duplicate': return
+ case 'show': return
+ case 'hide': return
+ case 'delete': return
}
}
diff --git a/src/components/modals/ExportModal.jsx b/src/components/modals/ExportModal.jsx
index a23713b8..2a96e220 100644
--- a/src/components/modals/ExportModal.jsx
+++ b/src/components/modals/ExportModal.jsx
@@ -8,8 +8,7 @@ import StringInput from '../inputs/StringInput'
import CheckboxInput from '../inputs/CheckboxInput'
import Button from '../Button'
import Modal from './Modal'
-import MdFileDownload from 'react-icons/lib/md/file-download'
-import TiClipboard from 'react-icons/lib/ti/clipboard'
+import {MdFileDownload} from 'react-icons/md'
import style from '../../libs/style'
diff --git a/src/components/modals/Modal.jsx b/src/components/modals/Modal.jsx
index 58bbbdcd..b3518ae6 100644
--- a/src/components/modals/Modal.jsx
+++ b/src/components/modals/Modal.jsx
@@ -1,6 +1,6 @@
import React from 'react'
import PropTypes from 'prop-types'
-import CloseIcon from 'react-icons/lib/md/close'
+import {MdClose} from 'react-icons/md'
import AriaModal from 'react-aria-modal'
@@ -44,7 +44,7 @@ class Modal extends React.Component {
onClick={() => this.props.onOpenToggle(false)}
data-wd-key={this.props["data-wd-key"]+".close-modal"}
>
-
+
diff --git a/src/components/modals/OpenModal.jsx b/src/components/modals/OpenModal.jsx
index 07ae18dc..d2c64773 100644
--- a/src/components/modals/OpenModal.jsx
+++ b/src/components/modals/OpenModal.jsx
@@ -5,8 +5,8 @@ import Modal from './Modal'
import Button from '../Button'
import FileReaderInput from 'react-file-reader-input'
-import FileUploadIcon from 'react-icons/lib/md/file-upload'
-import AddIcon from 'react-icons/lib/md/add-circle-outline'
+import {MdFileUpload} from 'react-icons/md'
+import {MdAddCircleOutline} from 'react-icons/md'
import style from '../../libs/style.js'
import publicStyles from '../../config/styles.json'
@@ -29,7 +29,7 @@ class PublicStyle extends React.Component {
Upload Style
Upload a JSON style from your computer.
-
+
diff --git a/src/components/modals/SourcesModal.jsx b/src/components/modals/SourcesModal.jsx
index b4b4e906..1c13f81f 100644
--- a/src/components/modals/SourcesModal.jsx
+++ b/src/components/modals/SourcesModal.jsx
@@ -12,8 +12,7 @@ import style from '../../libs/style'
import { deleteSource, addSource, changeSource } from '../../libs/source'
import publicSources from '../../config/tilesets.json'
-import AddIcon from 'react-icons/lib/md/add-circle-outline'
-import DeleteIcon from 'react-icons/lib/md/delete'
+import {MdAddCircleOutline, MdDelete} from 'react-icons/md'
class PublicSource extends React.Component {
static propTypes = {
@@ -34,7 +33,7 @@ class PublicSource extends React.Component {
#{this.props.id}
-
+
}
@@ -76,7 +75,7 @@ class ActiveSourceTypeEditor extends React.Component {
onClick={()=> this.props.onDelete(this.props.sourceId)}
style={{backgroundColor: 'transparent'}}
>
-
+