2.2.10 • Published 1 year ago

babel-plugin-transform-jsx-to-stylesheet v2.2.10

Weekly downloads
630
License
MIT
Repository
github
Last release
1 year ago

babel-plugin-transform-jsx-stylesheet

Transform StyleSheet selector to style in JSX Elements.

Installation

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

Usage

Via .babelrc

.babelrc

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

Example

Your component.js that contains this code:

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

Will be transpiled into something like this:

import { Component } from 'Taro';
import appStyleSheet from './app_styles';

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

const styleSheet = appStyleSheet;

Can write multiple classNames like this:

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

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

Will be transpiled into something like this:

import {  Component } from 'Taro';
import appStyleSheet from './app_styles';

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

const styleSheet = appStyleSheet;

Also support array, object and expressions like this:

import { Component } from 'Taro';
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 'Taro';
import appStyleSheet from './app_styles';

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>
    );
  }
}

const styleSheet = appStyleSheet;
function _getClassName() { /* codes */ }
function _getStyle(className) {
  return styleSheet[_getClassName(className)]; // not real code
}

And can also import multiple css file:

import { Component } from 'Taro';
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 'Taro';
import app1StyleSheet from 'app1_styles'

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

const styleSheet = app1StyleSheet;
2.2.22

1 year ago

2.2.21

2 years ago

2.2.19

3 years ago

2.2.18

4 years ago

2.2.17

4 years ago

2.2.16

5 years ago

1.3.46

5 years ago

2.2.15

5 years ago

2.2.14

5 years ago

2.2.13

5 years ago

2.2.12

5 years ago

2.2.11

5 years ago

2.2.10

5 years ago

2.2.9

5 years ago

2.2.8

5 years ago

1.3.45

5 years ago

2.2.7

5 years ago

1.3.44

5 years ago

2.2.6

5 years ago

1.3.43

5 years ago

2.2.5

5 years ago

2.2.4

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.6

5 years ago

2.2.0-beta.0

5 years ago

2.1.5

5 years ago

1.3.42

5 years ago

1.3.41

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

1.3.40

5 years ago

2.1.0

5 years ago

2.0.7

5 years ago

1.3.39

5 years ago

2.0.6

5 years ago

1.3.38

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

1.3.37

5 years ago

2.0.2

5 years ago

1.3.36

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.3.35

5 years ago

2.0.0-beta.14

5 years ago

2.0.0-beta.13

5 years ago

1.3.34

5 years ago

2.0.0-beta.12

5 years ago

2.0.0-beta.11

5 years ago

1.3.33

5 years ago

1.3.32

5 years ago

2.0.0-beta.10

5 years ago

1.3.31

5 years ago

2.0.0-beta.9

6 years ago

1.3.30

6 years ago

2.0.0-beta.8

6 years ago

2.0.0-beta.7

6 years ago

1.3.29

6 years ago

1.3.28

6 years ago

2.0.0-beta.6

6 years ago

2.0.0-beta.5

6 years ago

1.3.27

6 years ago

1.3.26

6 years ago

2.0.0-beta.4

6 years ago

2.0.0-beta.3

6 years ago

2.0.0-beta.2

6 years ago

1.3.25

6 years ago

2.0.0-beta.1

6 years ago

1.3.24

6 years ago

1.3.23

6 years ago

2.0.0-beta.0

6 years ago

1.3.22

6 years ago

1.3.21

6 years ago

1.3.20

6 years ago

1.3.19

6 years ago

1.3.18

6 years ago

1.3.17

6 years ago

1.3.16

6 years ago

1.3.15

6 years ago

1.3.14

6 years ago

1.3.13

6 years ago

1.3.12

6 years ago

1.3.11

6 years ago

1.3.10

6 years ago

1.3.9

6 years ago

1.3.8

6 years ago

1.3.7

6 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.3.0-beta.8

6 years ago

1.3.0-beta.7

6 years ago

1.3.0-beta.6

6 years ago

1.3.0-beta.5

6 years ago

1.3.0-beta.4

6 years ago

1.3.0-beta.3

6 years ago

1.3.0-beta.2

6 years ago

1.3.0-beta.1

6 years ago

1.3.0-beta.0

6 years ago

1.2.27-beta.0

6 years ago

1.2.26

6 years ago

1.2.25

6 years ago

1.2.24

6 years ago

1.2.23

6 years ago

1.2.22

6 years ago

1.2.21

6 years ago

1.2.20

6 years ago

1.2.19

6 years ago

1.2.18

6 years ago

1.2.17

6 years ago

1.2.16

6 years ago

1.2.15

6 years ago

1.2.14

6 years ago

1.2.13

6 years ago

1.2.12

6 years ago

1.2.11

6 years ago

1.2.10

6 years ago

1.2.9

6 years ago

1.2.8

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

7 years ago

1.2.0-beta.16

7 years ago

1.2.0-beta.15

7 years ago

1.2.0-beta.14

7 years ago

1.2.0-beta.13

7 years ago

1.2.0-beta.12

7 years ago

1.2.0-beta.11

7 years ago

1.2.0-beta.10

7 years ago

1.2.0-beta.9

7 years ago

1.2.0-beta.8

7 years ago

1.2.0-beta.7

7 years ago

1.2.0-beta.6

7 years ago

1.2.0-beta.5

7 years ago

1.2.0-beta.4

7 years ago

1.2.0-beta.3

7 years ago

1.2.0-beta.2

7 years ago

1.2.0-beta.1

7 years ago

1.2.0-beta.0

7 years ago

1.1.9

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.2.0-alpha.3

7 years ago

1.1.0-beta.15

7 years ago

1.1.0-beta.14

7 years ago

1.2.0-alpha.2

7 years ago

1.2.0-alpha.1

7 years ago

1.2.0-alpha.0

7 years ago

1.1.0-beta.13

7 years ago

1.1.0-beta.12

7 years ago

1.1.0-beta.11

7 years ago

1.1.0-beta.10

7 years ago

1.1.0-beta.9

7 years ago

1.1.0-beta.8

7 years ago

1.1.0-beta.7

7 years ago

1.1.0-beta.6

7 years ago

1.1.0-beta.5

7 years ago

1.1.0-beta.4

7 years ago

1.1.0-beta.3

7 years ago

1.1.0-beta.2

7 years ago

1.1.0-beta.1

7 years ago

1.1.0-beta.0

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

1.0.0-beta.30

7 years ago

1.0.0-beta.29

7 years ago

1.0.0-beta.28

7 years ago

1.0.0-beta.27

7 years ago

1.0.0-beta.26

7 years ago

1.0.0-beta.25

7 years ago

1.0.0-beta.24

7 years ago

1.0.0-beta.23

7 years ago

1.0.0-beta.22

7 years ago

1.0.0-beta.21

7 years ago

1.0.0-beta.20

7 years ago

1.0.0-beta.19

7 years ago

1.0.0-beta.18

7 years ago