framer-svg-component-generator

0.1.3 • Public • Published

Framer SVG Component Generator

A simple utility which takes a (nested) folder of SVGs and generates TypeScript React components with Framer Property Controls. It will also generate a schema.json file which contains parsed metadata about each SVG.

Installation

yarn global add framer-svg-component-generator

Usage

framer-svg-component-generator ./icons ./components

Input

This utility will search recursively for .svg files within the given input directory.

Output

Generated Components

A component will be generated for each SVG this utility finds. Each component will have a property control of ControlType.Color which controls the fill of the SVG.

Icon Component

Alongside the individual components for each SVG, you'll also get a generic <Icon/> component with a property control that shows a dropdown of the available icons. The option titles match the nested structure of the original input directory to avoid duplicate icon names.

Component Names

The filename of the generated components will match the name of the original SVG.

Directory Structure

The generated components will adhere to the same structure as the input directory.

Generated Schema

By default this utility will write a schema.json file to the root of the output directory. This schema provides a definition of each imported SVG with metadata parsed from the body of the SVG itself. The structure will look similar to the following:

[
  {
    "id": "Circle",
    "metadata": {
      "name": "Circle",
      "asset": "Icon",
      "description": "A circle icon for testing",
      "keywords": ["Circle", "round"],
      "size": "16"
    }
  }
]

The keywords metadata is interpreted as a comma-separated list of keywords and parsed to a JSON array.

Readme

Keywords

none

Package Sidebar

Install

npm i framer-svg-component-generator

Weekly Downloads

0

Version

0.1.3

License

MIT

Unpacked Size

26.3 kB

Total Files

17

Last publish

Collaborators

  • ikettles