@kossnocorp/desvg

0.2.0 • Public • Published

desvg

desvg converts SVG files into React/Preact components. It inlines SVG source so that you can alter it (animate, set color, control size, etc.).

Installation

If you want to use desvg with webpack, install desvg-loader and svg-loader:

npm install desvg-loader svg-loader --save-dev
# or
yarn add --dev desvg-loader svg-loader

To use the low-level API, or to manage the core library version, install desvg:

npm install @kossnocorp/desvg --save
# or
yarn add @kossnocorp/desvg

Configuration

// ...
{
  test: /\.svg$/,
  use: [
    'desvg/react', // 👈 Add loader (use 'desvg/preact' for Preact)
    'svg' // 👈 svg-loader must precede desvg-loader
  ],

  // or if you prefer classic:

  loader: 'desvg/react!svg'
},
// ...

Usage

See low-level API docs for more implementation details.

React

import React from 'react'
import WarningIcon from './icon.svg'

export default function () {
  return (
    <div>
      <WarningIcon fill='yellow' width='32px' />
      Warning, this is a warning!
    </div>
  )
}

Preact

import { h } from 'preact'
import WarningIcon from './icon.svg'

export default function () {
  return (
    <div>
      <WarningIcon fill='yellow' width='32px' />
      Warning, this is a warning!
    </div>
  )
}

Related

License

MIT © Sasha Koss

Package Sidebar

Install

npm i @kossnocorp/desvg

Weekly Downloads

854

Version

0.2.0

License

MIT

Last publish

Collaborators

  • kossnocorp