Skip to content
This repository has been archived by the owner on Mar 21, 2019. It is now read-only.

MoOx/react-svg-inline

Repository files navigation

DEPRECATED, I recommend you the tool SVGR


react-svg-inline

Travis (Unix) Build Badge

A react component to clean and display raw SVGs.

Install

$ npm install react-svg-inline

You might also need to npm install raw-loader if you want to use this with webpack.

Usage

Here is an example of a usage in a React stateless component:

import React from "react"
import SVGInline from "react-svg-inline"

export default () => (
  <div>
    <SVGInline svg={"<svg....</svg>"} />
  </div>
)

Webpack to require() SVGs

Use the raw-loader to require() raw SVGs files and pass them to react-svg-inline.

module.exports = {
  loaders: [
    {
      test: /\.svg$/,
      loader: 'raw-loader'
    }
  ]
}
import React from "react"
import SVGInline from "react-svg-inline"
import iconSVG from "./myicon.svg"

export default () => (
  <div>
    <SVGInline svg={ iconSVG } />
  </div>
)

Options (props)

className

PropTypes.string

Class name used for the component that will wrap the SVG.

classSuffix

PropTypes.string

The class suffix that will be added to the svg className (default: "-svg").

component

PropTypes.oneOfType([ PropTypes.string, PropTypes.func, ]),

The component that will wrap the svg (default: span).

svg

PropTypes.string.isRequired

fill

PropTypes.string

Color to use

cleanup

PropTypes.oneOfType([ PropTypes.bool, PropTypes.array, ])

This allow you to cleanup (remove) some svg attributes. Here are the supported value that can be removed:

  • title
  • desc
  • comment
  • defs
  • width
  • height
  • fill
  • sketchMSShapeGroup
  • sketchMSPage
  • sketchMSLayerGroup

If cleanup === true, it will remove all the attributes above.

cleanupExceptions

PropTypes.array

This allow you to whitelist some svg attributes to keep while cleaning some others.

width

PropTypes.string

height

PropTypes.string

accessibilityLabel

PropTypes.string

This value is added as an svg <title> element that is accessible to screen readers. (Note: when this option is used, an SVG id attribute will be automatically injected).

accessibilityDesc

PropTypes.string

This value is added as an svg <desc> element that is accessible to screen readers.


CONTRIBUTING

  • ⇄ Pull requests and ★ Stars are always welcome.
  • For bugs and feature requests, please create an issue.
  • Pull requests must be accompanied by passing automated tests ($ npm test).