2.0.2 • Published 3 years ago
react-sabi-button v2.0.2
SABI BUTTON
Create beauitful UI buttons with ease in React
🌈 Features
- Tiny size
- Clean user interface
- Typescipt ready
- Highly customisable
- Custom icon support
📝 Installation
Install sabi-button with npm
npm i react-sabi-button
💪 Usage/Examples
import { BtnStack, SabiBtn } from 'react-sabi-button'
import { MdEmail } from 'react-icons/md'
function App() {
return (
<BtnStack direction='row'>
<SabiBtn size='s' leftIcon={<MdEmail />} theme='pink'>
This is a Button
</SabiBtn>
</BtnStack>
)
}
🧩 BtnStack Props
The BtnStack collects and stacks SabiBtn components, Hence can't be called without passing SabiBtn as a child component.
Prop | Description | Type | default |
---|---|---|---|
border | Sets the border of the BtnStack | string | |
height | Sets the height of the BtnStack | string | |
minHeight | Sets the minHeight of the BtnStack | string | |
maxHeight | Sets the maxHeight of the BtnStack | string | |
minWidth | Sets the minWidth of the BtnStack | string | |
maxWidth | Sets the maxWidth of the BtnStack | string | |
width | Sets the width of the BtnStack | string | auto |
display | Sets the property of display | string | flex |
direction | Sets property of flex-direction. | string | row |
align | Sets property of align-items | string | center |
justifyContent | Sets property of justify-content | string | |
gridColumns | Sets property of grid-template-rows | string | |
gridRows | Sets property of grid-template-columns | string | |
whiteSpace | Sets property of white-space | string | |
wrap | Sets property of flex-wrap | string | |
overflow | Sets property of overflow | string | |
shadow | Sets property of box-shadow | string |
🪄 SabiBtn Props
These props define the structure and look of the button component
Prop | Description | Type | default |
---|---|---|---|
btnType | Specifies the button type based on structure. The specs are : solid outline glance glow faint | string | glance |
size | Specifies the size of the button. The specs are: xs s m l xl | string | s |
theme | Specifies the color theme of the button. The specs are: black white cool green pink orange purple yellow blue cyan blossom blossom-shade tint cream red default | string | blue |
width | Sets the width of the button | string | |
fontSize | Sets font-size of the button | string | |
height | Sets the height of the button | string | |
leftIcon | Adds icon to the left side of the button | React.ReactNode | |
rightIcon | Adds icon to the right side of the button | React.ReactNode | |
borderRadius | Sets property of border-radius of the button | string | 1.5px |
shadow | Sets property of shadow | string | |
border | Sets property of border to the button | string | |
transition | Sets property of transition to button | string | |
onFocus | Function to trigger when button is focused on. | React.FocusEventHandler<HTMLButtonElement> | |
onClick | Function to trigger when button is clicked | React.MouseEventHandler<HTMLButtonElement> |
☛ Guide
When consuming the SabiBtn components. The following needs to be considered.
- To avoid bugs, The BtnStack and SabiBtn are both required to accept props as children.
- The btnType, theme and size props in SabiBtn component can't be an empty string. Either remove it or make use of it.
- Every Prop should accept required inputs
- "glow" btnType prop must accept "white" as theme prop