theangelsofwar / react-figma

Render React components to Figma

Home Page:https://react-figma.now.sh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React Figma

React Figma logo by Lera Lesik

All Contributors npm version CircleCI Join the community on Spectrum

Render React components to Figma.

Example of code:

import * as React from 'react';
import { Page, View, Text } from 'react-figma';

export const App = () => {
    return (
        <Page name="New page" isCurrent>
            <View>
                <View style={{ width: 200, height: 100, backgroundColor: '#dd55aa' }} />
                <Text style={{ color: '#ffffff' }}>text</Text>
            </View>
        </Page>
    );
};

⚠️ Warning!️ Project is not production ready and currently at alpha version. API can be changed.

Installation

Using boilerplate

You can use react-figma-boilerplate for creating own projects.

From scratch

Install it with yarn:

yarn add react react-figma yoga-layout-prebuilt

Or with npm:

npm i react react-figma yoga-layout-prebuilt --save

Usage

Configure main thread

import * as React from 'react';
import { render, subscribeOnMessages } from 'react-figma';
import { App } from './App';

figma.showUI(__html__, { visible: false });

figma.ui.onmessage = message => {
    subscribeOnMessages(message);
};

render(<App />, figma.root);

Configure ui thread

import * as yoga from 'yoga-layout-prebuilt';
import { uiWorker } from 'react-figma';

const handler = uiWorker({ yoga, fetch });

onmessage = event => {
    handler(event);
};

Import components

import * as React from 'react';
import { Page, Rectangle, Text } from 'react-figma';

export const App = () => {
    return (
        <Page name="New page">
            <Rectangle style={{ width: 200, height: 100, backgroundColor: '#dd55aa' }} />
            <Text characters="text" style={{ color: '#ffffff' }} />
        </Page>
    );
};

Docs

Examples

Become a Contributor πŸŽ–

Whether you're helping us implement features, fix bugs or improve the docs, we'd love to have you as part of the community!

How to Contribute

Check out our Contributing Guide for ideas on contributing and setup steps for getting repository up and running on your local machine.

Acknowledgements

React Figma team wishes to thank the following invaluable contributions:

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Ilya Lesik

πŸ’»

Losev Yaroslav

πŸ’»

Vishnu Singh

πŸ’»

corrina

πŸ’»

Zachary Witt

πŸ’»

Abdelrahman Ashraf

πŸ’»

sprashad

πŸ“–

Vivian Lee

πŸ’»

macintoshhelper

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Render React components to Figma

https://react-figma.now.sh

License:MIT License


Languages

Language:TypeScript 95.2%Language:JavaScript 3.9%Language:CSS 0.9%