react-svg-wrapper

0.5.6 • Public • Published

react-svg-wrapper

A react component for injecting a svg file (or string) into a DOM tree.

demo

Check it out here in sandbox 🔗

usage

props description
src required, svg file or string to be passed via this prop
type optional, default value = file, if svg string has to be passed, we need to use type='string'

Also, numerous vaild html, svg props can be passed to top-level too :), see example below for reference.

import React from "react";
import SVGWrapper from "react-svg-wrapper";

// import the svg you want to render
import myLogo from "../images/myLogo.svg";

const MyComp = () => {
  return (
    // some wrapper/parent component if needed
    <someComp>
      <SVGWrapper
        src={svg}
        className="App-logo"
        style={{
          backgroundColor: "red",
          border: "solid 1px",
          borderRadius: "10px",
        }}
      />
    </someComp>
  );
};

export default MyComp;

motive & idea

  • To make a zero-dependency and light-weight package for injecting a svg into DOM tree.
  • The problem was simple we wanted to use svg in our react apps directly and control it's behaviour based on some business logic.
  • So, we thought of making a wrapper from ground-zero by using basic DFS and dom tree analysis.

in near future ...

  • [ ] accepting svg's via hyperlinks
  • [ ] reducing package size to 15Kb

Package Sidebar

Install

npm i react-svg-wrapper

Weekly Downloads

12

Version

0.5.6

License

MIT

Unpacked Size

35.9 kB

Total Files

4

Last publish

Collaborators

  • nobi1007