0.1.0 • Published 3 years ago

react-basic-blocks v0.1.0

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

README

Basic Building Blocks for React.js. Includes Grid (Container, Row, Column), Box, and Text components.

STORYBOOK / DEMO

https://elvisace.github.io/react-basic-blocks/

COMPONENTS

Grid

Css grid based on bootstrap that exposes the following components: Container, Row, Column. Example:

import React, { FC } from "react";
import { Box, Text, Container, Row, Col, Visible } from "react-basic-blocks";

export const ExampleComponent: FC = () => {
  return (
    <Container fluid>
      <Row>
        <Col offset={{ lg: 1 }}>
          <Visible xs sm>
            <Box
              margin="0 0 20px 0"
              cursor="pointer"
              flexDirection="row"
              alignItems="center"
            >
              <Text>Text One</Text>
            </Box>
          </Visible>
        </Col>
      </Row>
      <Row>
        <Col offset={{ lg: 1 }} md={9} lg={8}>
          <Visible md lg>
            <Text color="#000">
              Some Text
            </Text>
          </Visible>
        </Col>
        <Col md={3}>
      </Row>
    </Container>
  );
};

Container

Container that holds rows. Props:

interface IContainerProps {
  id?: string;
  fluid: boolean;
  className?: string;
}

Row

A row can hold several columns inside. Props:

interface IRowProps {
  id?: string;
  align?: string;
  noGutters?: boolean;
}

Column

A divides a row vertically according to the colsize set for the window display size. Props:

enum ColSize {
  xs = "xs",
  sm = "sm",
  md = "md",
  lg = "lg",
}

interface IColProps {
  style?: CSSProperties;
  id?: string;
  [ColSize.xs]?: number;
  [ColSize.sm]?: number;
  [ColSize.md]?: number;
  [ColSize.lg]?: number;
  offset?: {
    [ColSize.xs]?: number;
    [ColSize.sm]?: number;
    [ColSize.md]?: number;
    [ColSize.lg]?: number;
  };
}

Box

A flex div whose flex direction defaults to column. Takes in the following properties:

export interface BoxProps {
  alignSelf?: React.CSSProperties["alignSelf"];
  margin?: React.CSSProperties["margin"];
  alignItems?: React.CSSProperties["alignItems"];
  alignContent?: React.CSSProperties["alignContent"];
  flexBasis?: React.CSSProperties["flexBasis"];
  border?: React.CSSProperties["border"];
  borderTop?: React.CSSProperties["borderTop"];
  borderRight?: React.CSSProperties["borderRight"];
  borderBottom?: React.CSSProperties["borderBottom"];
  borderLeft?: React.CSSProperties["borderLeft"];
  flexDirection?: React.CSSProperties["flexDirection"];
  flex?: React.CSSProperties["flex"];
  flexWrap?: React.CSSProperties["flexWrap"];
  height?: React.CSSProperties["height"];
  width?: React.CSSProperties["width"];
  justifyContent?: React.CSSProperties["justifyContent"];
  padding?: React.CSSProperties["padding"];
  backgroundColor?: React.CSSProperties["backgroundColor"];
  borderRadius?: React.CSSProperties["borderRadius"];
  boxShadow?: React.CSSProperties["boxShadow"];
  cursor?: React.CSSProperties["cursor"];
}

Text

A span that takes in the following properties:

export interface TextProps {
  alignSelf?: React.CSSProperties["alignSelf"];
  color?: React.CSSProperties["color"];
  margin?: React.CSSProperties["margin"];
  fontSize?: React.CSSProperties["fontSize"];
  textAlign?: React.CSSProperties["textAlign"];
  fontWeight?: React.CSSProperties["fontWeight"];
  fontStretch?: React.CSSProperties["fontStretch"];
  fontStyle?: React.CSSProperties["fontStyle"];
  wordBreak?: React.CSSProperties["wordBreak"];
  lineHeight?: React.CSSProperties["lineHeight"];
  letterSpacing?: React.CSSProperties["letterSpacing"];
  overflow?: React.CSSProperties["overflow"];
  whiteSpace?: React.CSSProperties["whiteSpace"];
  textOverflow?: React.CSSProperties["textOverflow"];
}
0.1.0

3 years ago

0.0.5

4 years ago

0.0.6

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago