react-native-cls

0.1.1 • Public • Published

React Native Cls npm version npm downloads

NPM

React Native library to have classes like css. By WAAVI

Installation

npm install react-native-cls or yarn add react-native-cls

How to use

clsStyles.js

import ClsStyles from 'react-native-cls';
import { marginClsStyles, paddingClsStyles } from '../spacingClsStyles';
 
const sizeStyles = {
    size10: 10,
    size12: 12,
    size14: 14,
    size16: 16,
    size18: 18,
    size21: 21,
    size24: 24,
    size28: 28,
    size32: 32,
    size36: 36,
    size40: 40,
    size44: 44
};
 
const colorStyles = {
    red: 'red',
    green: 'green',
    white: 'white',
    grey: 'grey',
    black: 'black',
    yellow: 'yellow'
};
 
const clsStyles = ClsStyles.create({
    styles: {
        _base: {
            fontFamily: 'Roboto-Regular',
            fontSize: 16,
            lineHeight: 14,
            color: 'black',
            backgroundColor: 'transparent'
        },
 
        ...sizeStyles,
        ...colorStyles,
 
        title: {
            fontSize: 30,
            lineHeight: 28,
            textAlign: 'center',
            marginBottom: 25
        },
 
        text: {
            fontSize: 16,
            lineHeight: 16,
            textAlign: 'center',
            marginBottom: 25
        },
 
        grow: { flex: 1 },
        left: { textAlign: 'left' },
        center: { textAlign: 'center' },
        right: { textAlign: 'right' },
 
        notFontPadding: { includeFontPadding: false }
    }
});
 
const clsStylesWithSpacings = ClsStyles.merge([marginClsStyles, paddingClsStyles, clsStyles]);
 
export default clsStylesWithSpacings;

StyledText.js

import React, { Component } from 'react';
import { string, any } from 'prop-types';
import { Text } from 'react-native';
import textClsStyles from './clsStyles';
 
export class StyledText extends Component {
    static propTypes = {
        cls: string,
        style: any
    };
 
    getStyles = () => textClsStyles.obtainStyles(this.props.cls);
 
    render() {
        const { style, ...restProps } = this.props;
        return <Text style={[this.getStyles(), style]} {...restProps} />;
    }
}

Example

<StyledText cls="title center red mt40 mb20" />

More examples in examples folder.

License

license.

Package Sidebar

Install

npm i react-native-cls

Weekly Downloads

1

Version

0.1.1

License

MIT

Unpacked Size

207 kB

Total Files

13

Last publish

Collaborators

  • adrianhurt
  • jamesalways
  • waavi_studio