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

/react-svg-wrapper/

    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