0.0.1 • Published 3 years ago

reshadow v0.0.1

Weekly downloads
202
License
MIT
Repository
github
Last release
3 years ago

reshadow

This project has an experimental status, so the API and the implementation could be changed.

Usage

Button.js

import styled from 'reshadow'
import styles from './styles'

const Button = ({children, disabled, type, ...props}) => styled(styles)(
    <button {...props} type={type} disabled={disabled} use:root use:theme="normal">
        {children}
    </button>
)

export default Button

Button.js

import styled from 'reshadow'

const Button = ({children, disabled, type, color, ...props}) => styled`
    button, button[|theme="normal"] |content {
        color: ${color};
    }
`(
    <button {...props} type={type} disabled={disabled} use:root use:theme="normal">
        <use:content as="span">
            {children}
        </use:content>
    </button>
)

export default Button

withStyles

Use withStyles HOC, that will process styles from props.

Button.js

import styled, {withStyles} from 'reshadow'
import baseStyles from './styles.css'

const Button = ({styles, children, disabled, type}) => styled(styles)(
    <button type={type} disabled={disabled} use:theme="normal">
        {children}
    </button>
)

export default withStyles(baseStyles)(Button)

useStyles

Button.js

import styled, {useStyles} from 'reshadow'
import baseStyles from './styles.css'

const Button = ({styles, children, disabled, type}) => {
    return styled(baseStyles, styles)(
        <button type={type} disabled={disabled} use:theme="normal">
            {children}
        </button>
    )
}

export default Button

styles.css

button {
    padding: 5px 10px;
}

button[type="submit"] {
    border-color: red;
}

button[disabled] {
    opacity: .5;
}

button[use|theme="normal"] {
    color: red;
}

Configuration

Add folowing plugins to the babel and postcss configs:

postcss.config.js

module.exports = {
    plugins: [
        require('reshadow/postcss'),
    ],
}

babel.config.js

module.exports = {
    plugins: [
        require('reshadow/babel'),
    ],
}

Thanks

  • @revers
0.0.2-alpha.0

3 years ago

0.0.1

3 years ago

0.0.1-alpha.82

3 years ago

0.0.1-alpha.80

4 years ago

0.0.1-alpha.78

5 years ago

0.0.1-alpha.77

5 years ago

0.0.1-alpha.76

5 years ago

0.0.1-alpha.75

5 years ago

0.0.1-alpha.74

5 years ago

0.0.1-alpha.73

6 years ago

0.0.1-alpha.72

6 years ago

0.1.0-canary.5

6 years ago

0.1.0-canary.3

6 years ago

0.0.1-alpha.71

6 years ago

0.0.1-alpha.70

6 years ago

0.0.1-alpha.69

6 years ago

0.0.1-alpha.68

6 years ago

0.0.1-alpha.67

6 years ago

0.0.1-alpha.66

6 years ago

0.0.1-alpha.65

6 years ago

0.0.1-alpha.64

6 years ago

0.0.1-alpha.63

6 years ago

0.0.1-alpha.62

6 years ago

0.0.1-alpha.61

6 years ago

0.0.1-alpha.60

6 years ago

0.0.1-alpha.59

6 years ago

0.0.1-alpha.58

6 years ago

0.0.1-alpha.57

6 years ago

0.0.1-alpha.56

6 years ago

0.0.1-alpha.55

6 years ago

0.0.1-alpha.54

6 years ago

0.0.1-alpha.53

6 years ago

0.0.1-alpha.52

6 years ago

0.0.1-alpha.51

6 years ago

0.0.1-alpha.50

6 years ago

0.0.1-alpha.49

6 years ago

0.0.1-alpha.48

6 years ago

0.0.1-alpha.47

6 years ago

0.0.1-alpha.46

6 years ago

0.0.1-alpha.45

6 years ago

0.0.1-alpha.44

6 years ago

0.0.1-alpha.43

6 years ago

0.0.1-alpha.41

6 years ago

0.0.1-alpha.40

6 years ago

0.0.1-alpha.39

6 years ago

0.0.1-alpha.38

6 years ago

0.0.1-alpha.37

6 years ago

0.0.1-alpha.36

6 years ago

0.0.1-alpha.35

6 years ago

0.0.1-alpha.34

6 years ago

0.0.1-alpha.33

6 years ago

0.0.1-alpha.32

6 years ago

0.0.1-alpha.31

6 years ago

0.0.1-alpha.30

6 years ago

0.0.1-alpha.29

6 years ago

0.0.1-alpha.28

6 years ago

0.0.1-alpha.26

6 years ago

0.0.1-alpha.25

6 years ago

0.0.1-alpha.24

6 years ago

0.0.1-alpha.23-7

6 years ago

0.0.1-alpha.23-6

6 years ago

0.0.1-alpha.23-5

6 years ago

0.0.1-alpha.23-4

6 years ago

0.0.1-alpha.23-3

6 years ago

0.0.1-alpha.23-2

6 years ago

0.0.1-alpha.23

6 years ago

0.0.1-alpha.22-2

6 years ago

0.0.1-alpha.22

6 years ago

0.0.1-alpha.21

6 years ago

0.0.1-alpha.20

6 years ago

0.0.1-alpha.19

6 years ago

0.0.1-alpha.18

6 years ago

0.0.1-alpha.17

6 years ago

0.0.1-alpha.16

6 years ago

0.0.1-alpha.15

6 years ago

0.0.1-alpha.14

6 years ago

0.0.1-alpha.13

6 years ago

0.0.1-alpha.12

6 years ago

0.0.1-alpha.11

6 years ago

0.0.1-alpha.10

6 years ago

0.0.1-alpha.9

6 years ago

0.0.1-alpha.8

6 years ago

0.0.1-alpha.7

6 years ago

0.0.1-alpha.6

6 years ago

0.0.1-alpha.5

6 years ago

0.0.1-alpha.4

6 years ago

0.0.1-alpha.3

6 years ago

0.0.1-alpha.2

6 years ago

0.0.1-alpha.1

6 years ago

0.0.1-alpha.0

6 years ago

0.0.1-44

6 years ago

0.0.1-43

6 years ago

0.0.1-42

6 years ago

0.0.1-41

6 years ago

0.0.1-40

6 years ago

0.0.1-39

6 years ago

0.0.1-38

6 years ago

0.0.1-37

6 years ago

0.0.1-36

6 years ago

0.0.1-35

6 years ago

0.0.1-34

6 years ago

0.0.1-33

6 years ago

0.0.1-32

6 years ago

0.0.1-31

6 years ago

0.0.1-30

6 years ago

0.0.1-29

6 years ago

0.0.1-28

6 years ago

0.0.1-27

6 years ago

0.0.1-26

6 years ago

0.0.1-25

6 years ago

0.0.1-24

6 years ago

0.0.1-23

6 years ago

0.0.1-22

6 years ago

0.0.1-21

6 years ago

0.0.1-20

6 years ago

0.0.1-19

6 years ago

0.0.1-18

6 years ago

0.0.1-17

6 years ago

0.0.1-16

6 years ago

0.0.1-15

6 years ago

0.0.1-14

6 years ago

0.0.1-13

6 years ago

0.0.1-12

6 years ago

0.0.1-11

6 years ago

0.0.1-10

6 years ago

0.0.1-9

6 years ago

0.0.1-8

6 years ago

0.0.1-7

6 years ago

0.0.1-6

6 years ago

0.0.1-5

6 years ago

0.0.1-4

6 years ago

0.0.1-3

6 years ago

0.0.1-2

6 years ago

0.0.1-1

6 years ago

0.0.1-0

6 years ago

0.0.0

7 years ago