UNPKG

terriajs

Version:

Geospatial data visualization platform.

86 lines (82 loc) 4.49 kB
import React from 'react'; import PropTypes from 'prop-types'; import createReactClass from 'create-react-class'; import classNames from 'classnames'; import Styles from './icon.scss'; // icon.jsx const GLYPHS = { calendar: require('../../wwwroot/images/icons/calendar.svg'), add: require('../../wwwroot/images/icons/add.svg'), arHover0: require('../../wwwroot/images/icons/ar-hover0.svg'), arHover1: require('../../wwwroot/images/icons/ar-hover1.svg'), arHover2: require('../../wwwroot/images/icons/ar-hover2.svg'), arOff: require('../../wwwroot/images/icons/ar-off.svg'), arOn: require('../../wwwroot/images/icons/ar-on.svg'), arRealign: require('../../wwwroot/images/icons/ar-realign.svg'), arResetAlignment: require('../../wwwroot/images/icons/ar-reset-alignment.svg'), backToStart: require('../../wwwroot/images/icons/back-to-start.svg'), backward: require('../../wwwroot/images/icons/backward.svg'), barChart: require('../../wwwroot/images/icons/bar-chart.svg'), bulb: require('../../wwwroot/images/icons/bulb.svg'), checkboxOff: require('../../wwwroot/images/icons/checkbox-off.svg'), checkboxOn: require('../../wwwroot/images/icons/checkbox-on.svg'), close: require('../../wwwroot/images/icons/close.svg'), closed: require('../../wwwroot/images/icons/closed.svg'), decrease: require('../../wwwroot/images/icons/decrease.svg'), download: require('../../wwwroot/images/icons/download.svg'), expand: require('../../wwwroot/images/icons/expand.svg'), eye: require('../../wwwroot/images/icons/eye.svg'), feedback: require('../../wwwroot/images/icons/feedback.svg'), folder: require('../../wwwroot/images/icons/folder.svg'), folderOpen: require('../../wwwroot/images/icons/folder-open.svg'), forward: require('../../wwwroot/images/icons/forward.svg'), geolocation: require('../../wwwroot/images/icons/geolocation.svg'), increase: require('../../wwwroot/images/icons/increase.svg'), left: require('../../wwwroot/images/icons/left.svg'), lineChart: require('../../wwwroot/images/icons/line-chart.svg'), link: require('../../wwwroot/images/icons/link.svg'), loader: require('../../wwwroot/images/icons/loader.svg'), location: require('../../wwwroot/images/icons/location.svg'), loop: require('../../wwwroot/images/icons/loop.svg'), menu: require('../../wwwroot/images/icons/menu.svg'), measure: require('../../wwwroot/images/icons/measure.svg'), opened: require('../../wwwroot/images/icons/opened.svg'), pause: require('../../wwwroot/images/icons/pause.svg'), play: require('../../wwwroot/images/icons/play.svg'), radioOff: require('../../wwwroot/images/icons/radio-off.svg'), radioOn: require('../../wwwroot/images/icons/radio-on.svg'), refresh: require('../../wwwroot/images/icons/refresh.svg'), remove: require('../../wwwroot/images/icons/remove.svg'), right: require('../../wwwroot/images/icons/right.svg'), search: require('../../wwwroot/images/icons/search.svg'), selected: require('../../wwwroot/images/icons/selected.svg'), settings: require('../../wwwroot/images/icons/settings.svg'), share: require('../../wwwroot/images/icons/share.svg'), showLess: require('../../wwwroot/images/icons/show-less.svg'), showMore: require('../../wwwroot/images/icons/show-more.svg'), sphere: require('../../wwwroot/images/icons/sphere.svg'), splitter: require('../../wwwroot/images/icons/splitter.svg'), splitterOn: require('../../wwwroot/images/icons/splitterOn.svg'), splitterOff: require('../../wwwroot/images/icons/splitterOff.svg'), previous: require('../../wwwroot/images/icons/previous.svg'), next: require('../../wwwroot/images/icons/next.svg'), timeline: require('../../wwwroot/images/icons/timeline.svg'), data: require('../../wwwroot/images/icons/data.svg'), }; const Icon = createReactClass({ propTypes: { glyph: PropTypes.object, style: PropTypes.object, className: PropTypes.string }, render() { const glyph = this.props.glyph; return ( <svg viewBox="0 0 100 100" className={classNames('icon', this.props.className, Styles.svg)} style={this.props.style}> <use xlinkHref={'#' + glyph.id}></use> </svg> ); } }); module.exports = Icon; module.exports.GLYPHS = GLYPHS;