3.6.28 • Published 3 days ago

babel-plugin-transform-react-jsx-to-rn-stylesheet v3.6.28

Weekly downloads
83
License
MIT
Repository
github
Last release
3 days ago

babel-plugin-transform-react-jsx-to-rn-stylesheet

Transform StyleSheet selector to style in JSX Elements.

Installation

npm install --save-dev babel-plugin-transform-react-jsx-to-rn-stylesheet

Usage

Via .babelrc

.babelrc

{
  "plugins": ["transform-react-jsx-to-rn-stylesheet"]
}

Example

Your component.js that contains this code:

import { Component } from 'react';
import './app.css';
class App extends Component {
  render() {
    return <div className="header" />
  }
}

Will be transpiled into something like this:

import { Component } from 'react';
import appCssStyleSheet from './app.css';

var _styleSheet = appCssStyleSheet;

class App extends Component {
  render() {
    return <div style={_styleSheet.header} />;
  }
}

Can write multiple classNames like this:

import { Component } from 'react';
import './app.css';

class App extends Component {
  render() {
    return <div className="header1 header2" />;
  }
}

Will be transpiled into something like this:

import {  Component } from 'react';
import appCssStyleSheet from './app.css';

var _styleSheet = appCssStyleSheet;

class App extends Component {
  render() {
    return <div style={[_styleSheet.header1, _styleSheet.header2]} />;
  }
}

Also support array, object and expressions like this:

import { Component } from 'react';
import './app.css';

class App extends Component {
  render() {
    return (
      <div className={'header'}>
        <div className={{ active: this.props.isActive }} />
        <div className={['header1 header2', 'header3', { active: this.props.isActive }]} />
        <div className={this.props.visible ? 'show' : 'hide'} />
        <div className={getClassName()} />
      </div>
    );
  }
}

Will be transpiled into something like this:

import { Component } from 'react';
import appCssStyleSheet from './app.css';
var _styleSheet = appCssStyleSheet;

class App extends Component {
  render() {
    return (
      <div style={_styleSheet.header}>
        <div style={_getStyle({ active: this.props.isActive })} />
        <div style={_getStyle(['header1 header2', 'header3', { active: this.props.isActive }])} />
        <div style={_getStyle(this.props.visible ? 'show' : 'hide')} />
        <div style={_getStyle(getClassName())} />
      </div>
    );
  }
}

function _getClassName() { /* codes */ }
function _getStyle(className) {
  return _styleSheet[_getClassName(className)]; // not real code
}

And can also import multiple css file:

import { Component } from 'react';
import 'app1.css';
import 'app2.css';

class App extends Component {
  render() {
    return <div className="header1 header2" />;
  }
}

Will be transpiled into something like this:

import { Component } from 'react';
import app1CssStyleSheet from "./app1.css";
import app2CssStyleSheet from "./app2.css";

class App extends Component {
  render() {
    return <div style={[_styleSheet.header1, _styleSheet.header2]} />;
  }
}

var _styleSheet = _mergeStyles(app1CssStyleSheet, app2CssStyleSheet);

also suport inline style value is string

import { createElement, render } from 'rax';
import './app.less';

class App extends Component {
  render(<div className="header" style="width:100px;height:100px;background-color:rgba(0, 0, 0, 0.5);border: 1px solid;" />);
}
  ↓ ↓ ↓ ↓ ↓ ↓
import { createElement, render } from 'rax';
import appLessStyleSheet from "./app.less";
var _styleSheet = appLessStyleSheet;

class App extends Component {
  render() {
    return <div style={[_styleSheet["header"], {
  "width": 100,
  "height": 100,
  "backgroundColor": "rgba(0, 0, 0, 0.5)",
  "borderWidth": 1,
  "borderColor": "black",
  "borderStyle": "solid"
}]} />);
  }
}
4.0.0-beta.61

3 days ago

4.0.0-beta.60

4 days ago

4.0.0-beta.59

4 days ago

4.0.0-beta.58

5 days ago

4.0.0-beta.57

5 days ago

4.0.0-beta.55

6 days ago

4.0.0-beta.56

6 days ago

3.6.28

8 days ago

4.0.0-beta.54

8 days ago

4.0.0-beta.51

12 days ago

4.0.0-beta.53

11 days ago

4.0.0-beta.52

11 days ago

4.0.0-beta.50

12 days ago

4.0.0-beta.49

14 days ago

4.0.0-beta.48

15 days ago

3.6.27

16 days ago

4.0.0-beta.47

16 days ago

3.6.26-alpha.2

17 days ago

4.0.0-beta.46

19 days ago

4.0.0-beta.45

23 days ago

4.0.0-beta.44

23 days ago

3.6.26

23 days ago

4.0.0-beta.43

25 days ago

4.0.0-beta.42

25 days ago

4.0.0-beta.41

25 days ago

4.0.0-beta.40

26 days ago

4.0.0-beta.39

26 days ago

4.0.0-beta.37

27 days ago

4.0.0-beta.38

27 days ago

4.0.0-beta.36

1 month ago

4.0.0-beta.35

1 month ago

4.0.0-beta.34

1 month ago

4.0.0-canary.10

1 month ago

4.0.0-canary.11

1 month ago

3.6.26-alpha.1

1 month ago

4.0.0-beta.33

1 month ago

4.0.0-beta.32

1 month ago

4.0.0-beta.31

1 month ago

4.0.0-beta.30

1 month ago

4.0.0-beta.29

1 month ago

4.0.0-beta.28

1 month ago

4.0.0-beta.27

1 month ago

4.0.0-beta.26

1 month ago

4.0.0-beta.25

2 months ago

4.0.0-beta.24

2 months ago

4.0.0-beta.23

2 months ago

3.6.25

2 months ago

4.0.0-beta.22

2 months ago

4.0.0-beta.21

2 months ago

4.0.0-beta.20

2 months ago

4.0.0-beta.19

2 months ago

4.0.0-beta.18

2 months ago

4.0.0-beta.15

2 months ago

4.0.0-beta.17

2 months ago

4.0.0-beta.16

2 months ago

4.0.0-beta.14

2 months ago

4.0.0-beta.13

2 months ago

4.0.0-beta.12

2 months ago

3.6.24

2 months ago

4.0.0-beta.11

2 months ago

3.6.24-nightly.9

2 months ago

3.6.24-nightly.10

2 months ago

4.0.0-alpha.3

2 months ago

4.0.0-alpha.2

2 months ago

4.0.0-beta.10

2 months ago

4.0.0-beta.9

2 months ago

3.6.24-nightly.8

2 months ago

3.6.24-nightly.5

2 months ago

3.6.24-nightly.4

2 months ago

3.6.24-nightly.3

3 months ago

3.6.24-nightly.2

3 months ago

3.6.24-nightly.0

3 months ago

3.6.24-nightly.1

3 months ago

4.0.0-beta.8

3 months ago

3.6.23-nightly.0

3 months ago

4.0.0-beta.7

3 months ago

4.0.0-beta.6

3 months ago

4.0.0-beta.5

3 months ago

4.0.0-canary.9

3 months ago

4.0.0-beta.4

4 months ago

3.6.23

4 months ago

3.6.22-nightly.9

4 months ago

4.0.0-beta.3

4 months ago

4.0.0-beta.2

4 months ago

4.0.0-canary.8

4 months ago

3.6.22-nightly.8

4 months ago

4.0.0-canary.7

4 months ago

3.6.22-nightly.7

4 months ago

3.6.22-nightly.6

4 months ago

3.6.22-nightly.5

4 months ago

3.6.22-nightly.4

4 months ago

3.6.22-nightly.3

4 months ago

3.6.22-nightly.2

4 months ago

4.0.0-canary.6

4 months ago

3.6.22

4 months ago

4.0.0-beta.1

4 months ago

4.0.0-canary.4

4 months ago

4.0.0-canary.3

4 months ago

4.0.0-canary.5

4 months ago

3.6.22-alpha.5

4 months ago

4.0.0-canary.2

4 months ago

4.0.0-canary.1

4 months ago

3.6.22-nightly.0

4 months ago

3.6.22-alpha.1

4 months ago

3.6.22-alpha.0

4 months ago

3.6.22-alpha.4

4 months ago

3.6.22-alpha.3

4 months ago

3.6.22-alpha.2

4 months ago

4.0.0-canary.0

4 months ago

4.0.0-alpha.0

5 months ago

4.0.0-beta.0

5 months ago

3.7.0-canary.6

5 months ago

3.7.0-canary.5

5 months ago

3.7.0-beta.4

5 months ago

3.6.21

5 months ago

3.7.0-alpha.27

5 months ago

3.7.0-canary.4

5 months ago

3.7.0-canary.2

5 months ago

3.7.0-canary.3

5 months ago

3.6.12-alpha.0

9 months ago

3.8.0-canary.0

6 months ago

3.7.0-alpha.7

10 months ago

3.7.0-alpha.8

9 months ago

3.7.0-alpha.3

10 months ago

3.7.0-alpha.4

10 months ago

3.7.0-alpha.5

10 months ago

3.7.0-alpha.6

10 months ago

3.6.11-alpha.0

9 months ago

3.6.11-alpha.4

9 months ago

3.6.14-alpha.1

9 months ago

3.6.14-alpha.0

9 months ago

3.7.0-beta.3

6 months ago

3.7.0-beta.1

8 months ago

3.7.0-alpha.22

7 months ago

3.7.0-alpha.20

7 months ago

3.6.13-alpha.0

9 months ago

3.6.13-alpha.1

9 months ago

3.6.13-alpha.2

9 months ago

3.7.0-alpha.18

8 months ago

3.7.0-alpha.19

8 months ago

3.7.0-alpha.16

8 months ago

3.7.0-alpha.14

8 months ago

3.7.0-alpha.15

8 months ago

3.7.0-alpha.12

8 months ago

3.7.0-alpha.13

8 months ago

3.7.0-alpha.10

8 months ago

3.7.0-alpha.11

8 months ago

3.6.16-alpha.1

8 months ago

3.6.16-alpha.0

8 months ago

3.6.9

9 months ago

3.7.0-alpha.25

7 months ago

3.7.0-alpha.26

7 months ago

3.7.0-alpha.23

7 months ago

3.6.9-alpha.15

10 months ago

3.6.9-alpha.12

10 months ago

3.6.9-alpha.13

10 months ago

3.6.20

5 months ago

3.6.9-alpha.10

10 months ago

3.6.9-alpha.11

10 months ago

3.6.10-alpha.4

9 months ago

3.6.10-alpha.5

9 months ago

3.6.10-alpha.2

9 months ago

3.6.10-alpha.1

9 months ago

3.6.15

8 months ago

3.6.14

8 months ago

3.6.13

9 months ago

3.6.12

9 months ago

3.6.11

9 months ago

3.6.10

9 months ago

3.7.0-canary.1

10 months ago

3.7.0-canary.0

10 months ago

3.6.19

6 months ago

3.6.18

6 months ago

3.6.17

8 months ago

3.6.16

8 months ago

3.6.9-alpha.8

10 months ago

3.6.9-alpha.6

10 months ago

3.6.9-alpha.7

10 months ago

3.6.8

11 months ago

3.6.9-alpha.4

11 months ago

3.6.9-alpha.3

11 months ago

3.6.9-alpha.5

11 months ago

3.6.9-alpha.2

11 months ago

3.6.9-alpha.1

11 months ago

3.6.7-alpha.1

11 months ago

3.6.7-alpha.0

11 months ago

3.7.0-alpha.2

12 months ago

3.6.7

11 months ago

3.6.6-alpha.3

12 months ago

3.7.0-alpha.0

1 year ago

3.7.0-alpha.1

1 year ago

3.6.6

1 year ago

3.6.6-alpha.0

1 year ago

3.6.6-alpha.1

1 year ago

3.6.6-alpha.2

1 year ago

3.6.5-alpha

1 year ago

3.6.5-alpha.2

1 year ago

3.6.5-alpha.1

1 year ago

3.6.5

1 year ago

3.6.4

1 year ago

3.6.3

1 year ago

3.6.5-canary.1

1 year ago

3.6.5-canary.0

1 year ago

3.6.2-canary.2

1 year ago

3.6.2

1 year ago

3.6.1

1 year ago

3.6.1-alpha.0

1 year ago

3.6.2-canary.0

1 year ago

3.6.1-alpha.1

1 year ago

3.6.2-canary.1

1 year ago

3.6.1-alpha.2

1 year ago

3.5.12

1 year ago

3.5.11

1 year ago

3.5.10

1 year ago

3.6.0

1 year ago

3.6.0-alpha.4

1 year ago

3.6.0-alpha.1

1 year ago

3.6.0-alpha.0

1 year ago

3.6.0-alpha.3

1 year ago

3.6.0-alpha.2

1 year ago

3.6.0-beta.0

1 year ago

3.6.0-beta.1

1 year ago

3.6.0-beta.2

1 year ago

3.6.0-beta.3

1 year ago

3.6.0-beta.4

1 year ago

3.5.9

1 year ago

3.6.0-canary.7

1 year ago

3.6.0-canary.6

1 year ago

3.6.0-canary.9

1 year ago

3.6.0-canary.8

1 year ago

3.6.0-canary.13

1 year ago

3.6.0-canary.12

1 year ago

3.6.0-canary.11

1 year ago

3.6.0-canary.10

1 year ago

3.5.7-alpha.1

2 years ago

3.5.7-alpha.0

2 years ago

3.5.7-alpha.5

2 years ago

3.5.7-alpha.4

2 years ago

3.5.7-alpha.3

2 years ago

3.5.7-alpha.2

2 years ago

3.5.7-alpha.9

1 year ago

3.5.7-alpha.8

1 year ago

3.5.7-alpha.7

1 year ago

3.5.7-alpha.6

2 years ago

3.5.7

2 years ago

3.5.8

1 year ago

3.5.7-alpha.12

1 year ago

3.5.7-alpha.11

1 year ago

3.5.7-alpha.10

1 year ago

3.6.0-canary.3

1 year ago

3.6.0-canary.2

1 year ago

3.6.0-canary.5

1 year ago

3.6.0-canary.4

1 year ago

3.6.0-canary.1

1 year ago

3.6.0-canary.0

2 years ago

3.5.6

2 years ago

3.5.5-alpha.1

2 years ago

3.5.5-alpha.0

2 years ago

3.5.6-alpha.2

2 years ago

3.5.6-alpha.1

2 years ago

3.5.6-alpha.0

2 years ago

3.5.4-canary.1

2 years ago

3.5.3-alpha.0

2 years ago

3.5.2-aplha.1

2 years ago

3.5.2-aplha.2

2 years ago

3.5.4-alpha.0

2 years ago

3.5.4-alpha.1

2 years ago

3.5.3

2 years ago

3.5.2

2 years ago

3.5.1

2 years ago

3.5.0

2 years ago

3.5.3-aplha.1

2 years ago

3.5.3-aplha.0

2 years ago

3.5.0-beta.3

2 years ago

3.5.0-beta.4

2 years ago

3.5.0-beta.7

2 years ago

3.5.0-beta.8

2 years ago

3.5.0-beta.5

2 years ago

3.5.0-beta.6

2 years ago

3.5.1-aplha.0

2 years ago

3.5.1-aplha.1

2 years ago

3.5.5

2 years ago

3.5.4

2 years ago

3.4.14

2 years ago

3.4.12

2 years ago

3.4.13

2 years ago

3.5.0-alpha.17

2 years ago

3.5.0-alpha.16

2 years ago

3.5.0-theta.1

2 years ago

3.5.4-canary.0

2 years ago

3.5.0-theta.0

2 years ago

3.5.0-beta.0

2 years ago

3.5.0-beta.1

2 years ago

3.5.0-beta.2

2 years ago

3.5.0-alpha.9

2 years ago

3.4.10

2 years ago

3.4.11

2 years ago

3.5.0-alpha.11

2 years ago

3.5.0-alpha.10

2 years ago

3.5.0-alpha.13

2 years ago

3.5.0-alpha.12

2 years ago

3.5.0-alpha.15

2 years ago

3.5.0-alpha.14

2 years ago

3.4.9

2 years ago

3.4.8

2 years ago

3.4.7

2 years ago

3.4.6

2 years ago

3.4.5

2 years ago

3.5.0-alpha.0

2 years ago

3.5.0-alpha.3

2 years ago

3.5.0-alpha.4

2 years ago

3.5.0-alpha.1

2 years ago

3.5.0-alpha.2

2 years ago

3.5.0-alpha.7

2 years ago

3.5.0-alpha.8

2 years ago

3.5.0-alpha.5

2 years ago

3.5.0-alpha.6

2 years ago

3.4.4

2 years ago

3.4.3

2 years ago

3.5.0-canary.1

2 years ago

3.5.0-canary.0

2 years ago

3.4.0-beta.3

2 years ago

3.4.0-beta.2

2 years ago

3.4.0-beta.1

2 years ago

3.4.0

2 years ago

3.4.2

2 years ago

3.4.1

2 years ago

3.3.16

2 years ago

3.3.17

2 years ago

3.3.18

2 years ago

3.3.19

2 years ago

3.3.20

2 years ago

3.4.0-beta.0

2 years ago

3.3.13

2 years ago

3.3.14

2 years ago

3.3.15

2 years ago

3.3.11

3 years ago

3.3.12

3 years ago

3.3.10

3 years ago

3.3.9

3 years ago

3.3.8

3 years ago

3.3.7

3 years ago

3.3.6

3 years ago

3.3.5

3 years ago

3.3.4

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.3.0-beta.1

3 years ago

3.2.16

3 years ago

3.2.15

3 years ago

3.2.14

3 years ago

3.3.0-beta.0

3 years ago

3.2.13

3 years ago

3.3.0-alpha.8

3 years ago

3.2.12

3 years ago

3.2.11

3 years ago

3.3.0-alpha.6

3 years ago

3.3.0-alpha.5

3 years ago

3.3.0-alpha.7

3 years ago

3.2.9

3 years ago

3.2.8

3 years ago

3.2.7

3 years ago

3.2.6

3 years ago

3.2.5

3 years ago

3.2.4

3 years ago

3.2.3

3 years ago

3.2.10

3 years ago

3.3.0-alpha.4

3 years ago

3.2.9-alpha.0

3 years ago

3.2.2

3 years ago

3.3.0-alpha.2

3 years ago

3.3.0-alpha.1

3 years ago

3.3.0-alpha.0

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.2.0-beta.4

3 years ago

3.2.0-beta.3

3 years ago

3.2.0-beta.2

3 years ago

3.2.0-beta.1

3 years ago

3.2.0-beta.0

3 years ago

3.2.0-canary.9

3 years ago

3.2.0-canary.8

3 years ago

3.2.0-canary.7

3 years ago

3.2.0-canary.6

3 years ago

3.2.0-canary.5

3 years ago

3.2.0-canary.4

3 years ago

3.2.0-canary.3

3 years ago

3.2.0-canary.2

3 years ago

3.2.0-canary.1

3 years ago

3.2.0-canary.0

3 years ago