React-TypeStyle preset using both React-TypeStyle and React-TypeStyle-Inline
React-TypeStyle-Preset provides a ready to use React-TypeStyle + React-TypeStyle-Inline setup including inline-style-prefixer for autoprefixing.
Install
using yarn
yarn add react-typestyle-preset react-typestyle react-typestyle-inline
or npm
npm install --save react-typestyle-preset react-typestyle react-typestyle-inline
Usage
Just add a static styles
and inlineStyles
field to your React component and wrap it in the withStyles
higher-order component. You can now access generated classNames & inline styles via props.classNames
/props.styles
.
Example
TypeScript
; ;
JavaScript
; PureComponent static styles = button: background: 'transparent' border: 'none' color: propsthemecolor position: 'absolute' ; static root: transform: `translate(px,px)` { const classNames name styles = thisprops; return <div className=classNamesroot style=stylesroot> <button className=classNamesbutton style=stylesbutton>name</button> </div> ; } Component;
Utilities
Dynamic Extend
If you are using dynamic styles (your stylesheet includes functions), TypeStyle's standard extend
won't work for you.
If you want to compose dynamic styles, use React-TypeStyle's dynamic extend
instead.
; // Compose stylesconst styles = ; // Use them in the higher-order componentPureComponent static styles = root: styles ; {/* ... */}
Developing
This is what you do after you have cloned the repository:
yarn / npm installnpm run build
(Install dependencies & build the project.)
Linting
Execute TSLint
npm run lint
Try to automatically fix linting errors
npm run lint:fix
Testing
Execute Jest unit tests using
npm test npm run test:coverage
Tests are defined in the same directory the module lives in. They are specified in '[module].test.js' files.
Building
To build the project, execute
npm run build
This saves the production ready code into 'dist/'.