Introduction
Button Component is a react component that creates a customizable button based on Material Design style guide.
Installation
You can install it using yarn
or npm
.
Using yarn
:
yarn add @redwallsolutions/button-component-module
Using npm
:
npm install @redwallsolutions/button-component-module
Props
Usage
Simplest Form
Passing a handler
Text Variant
Loading State
Customization
Theme Prop
The theme
is a property used by theming-component-module. It
accepts an object
with the following structure:
{mode: 'light' | 'dark',default?: 'any color string'primary?: 'any color string',secondary?: 'any color string',defaultContrast?: 'any color string',primaryContrast?: 'any color string',secondaryContrast?: 'any color string',defaultDark?: 'any color string',primaryDark?: 'any color string',secondaryDark?: 'any color string',defaultContrastDark?: 'any color string',primaryContrastDark?: 'any color string',secondaryContrastDark?: 'any color string'}
The only theme
object attribute that is required is mode
, it can accept either light
or dark
value.
The others attributes are optional and can receive a string color.
It can be a hex, rgb, or any format you want.
Appearance prop
The appearance
is a property used to apply the correspondent theme attribute
to customize the component.
For example, if you pass the following component props:
<Button theme={{mode:'light', secondary: 'green'}} appearance="secondary" .../>
Then the button will use secondary value passed to appearance
prop and customize all colors related to theme attribute
secondary value.
As you assigned green
to secondary theme attribute
, the button now is green.
Check this out: