2.0.3 • Published 9 days ago

@cronocode/react-box v2.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
9 days ago

React box

This is a react base component which will reduce considerably necessity to write css code.

Getting Started

  1. Installation
npm install @cronocode/react-box
  1. Use component

Sizes is equal to 1/4rem

padding={3} means 1/4 * 3 => 0.75rem

In the example below is creating a box with maring: 0.5rem and padding: 1.75rem

import Box from "@cronocode/react-box";

export default function Component(props: Props) {
  return (
    <Box className="custom-class" m={2} p={7}>
      basic example
    </Box>
  );
}

NOTE: Root font-size is set to 16px

Components

  • Box - base component with a tons of props
import Box from "@cronocode/react-box";

Alias-shortcuts components

  • Flex - this is a Box component with display: flex style
import Flex from "@cronocode/react-box/components/flex";
  • Button - this is a Box component with html tag button and onClick prop
import Button from "@cronocode/react-box/components/button";
  • Textbox - this is a Box component with html tag input
import Textbox from "@cronocode/react-box/components/textbox";
  • Tooltip - this is useful when you need a position absolute and the parent has overflow hidden.
import Tooltip from "@cronocode/react-box/components/tooltip";

Extend props

  1. It is possible to extend some props like color, background, backgroundImage and shadow
function themePlugin() {
  return {
    name: 'themePlugin',
    configResolved() {
      const result = Theme.setupAugmentedProps({
        colors: {
          primary: '#445566'
        },
        backgroundImages: {
          gradient: 'linear-gradient(to right, #77A1D3 0%, #79CBCA  51%, #77A1D3  100%)'
        },
        shadows: {
          1: '0 4px 10px rgb(224 224 224 / 52%)',
        }
      });

      fs.writeFileSync('./src/box-theme.generated.css', result.variables);
      fs.writeFileSync('./src/box.generated.d.ts', result.boxDts);
    },
  }
}
  1. Add this plugin to your build tool

Vitejs

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [..., themePlugin()],
})
  1. Include box-theme.generated.css in your root file
import './box-theme.generated.css';

Theme for components

In the project root file (main.tsx) use Theme.setup

import Theme from '@cronocode/react-box/theme';

Theme.setup({
  button: {
    styles: {
      px: 4
    },
    themes: {
      mytheme: {
        px: 8
      }
    }
  },
  ...
})

All styles will be applied to Button component

import Button from '@cronocode/react-box/components/button';

function MyComponent() {
  return <Button>Click me</Button>
}

or is possible to use Button with specific theme

import Button from '@cronocode/react-box/components/button';

function MyComponent() {
  return <Button theme="mytheme">Click me</Button>
}

Theme variables

In CSS file is possible to override default values for:

  --borderColor: black;
  --outlineColor: black;
  --lineHeight: 1.2;
  --fontSize: 14px;
  --transitionTime: 0.25s;
2.0.3

9 days ago

2.0.2

11 days ago

2.0.1

11 days ago

2.0.0

17 days ago

1.8.9

17 days ago

1.8.8

19 days ago

1.8.7

2 months ago

1.8.6

3 months ago

1.8.5

3 months ago

1.8.4

3 months ago

1.8.3

3 months ago

1.8.2

3 months ago

1.8.1

3 months ago

1.8.0

3 months ago

1.7.9

3 months ago

1.7.8

3 months ago

1.7.7

4 months ago

1.7.6

4 months ago

1.7.5

4 months ago

1.7.4

4 months ago

1.7.3

4 months ago

1.6.9

4 months ago

1.7.2

4 months ago

1.7.1

4 months ago

1.7.0

4 months ago

1.6.8

4 months ago

1.6.7

4 months ago

1.6.6

4 months ago

1.6.5

4 months ago

1.6.4

4 months ago

1.6.3

4 months ago

1.6.2

4 months ago

1.6.1

4 months ago

1.6.0

4 months ago

1.5.9

4 months ago

1.5.8

4 months ago

1.5.6

4 months ago

1.5.5

5 months ago

1.5.4

5 months ago

1.5.3

5 months ago

1.5.2

5 months ago

1.5.1

5 months ago

1.5.0

5 months ago

1.4.7

5 months ago

1.4.6

5 months ago

1.4.5

5 months ago

1.4.4

5 months ago

1.4.3

5 months ago

1.4.2

5 months ago

1.4.1

5 months ago

1.4.0

5 months ago

1.3.9

5 months ago

1.2.0

10 months ago

1.2.7

8 months ago

1.2.6

8 months ago

1.2.5

8 months ago

1.2.4

8 months ago

1.2.3

10 months ago

1.2.2

10 months ago

1.2.1

10 months ago

1.3.8

6 months ago

1.3.7

6 months ago

1.3.6

6 months ago

1.3.5

6 months ago

1.3.4

6 months ago

1.3.3

6 months ago

1.3.2

6 months ago

1.3.1

6 months ago

1.0.9

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.9

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

1.0.3

1 year ago

0.4.9

1 year ago

0.4.8

1 year ago

0.3.9

2 years ago

0.4.5

1 year ago

0.3.6

2 years ago

0.4.4

2 years ago

0.3.5

2 years ago

0.4.7

1 year ago

0.3.8

2 years ago

0.4.6

1 year ago

0.3.7

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.0

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.3

2 years ago

0.3.1

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.8

2 years ago

0.1.9

2 years ago

0.2.2

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago