Button
Reusable button component
Example
import {useState} from 'react';
import {
Button,
createStyles,
IButtonSize,
IButtonTypes,
SimpleIcon,
useStyles,
View,
} from '@lad-tech/mobydick-core';
export const ButtonWidget = () => {
const [styles] = useStyles(style);
const [counter, setCounter] = useState(99);
const onChangeCounter = (value: number) => () => {
setCounter(val => val + value);
};
return (
<View style={styles.container}>
<View style={styles.content}>
<Button type={IButtonTypes.primary} text={'IButtonTypes.primary'} />
<Button type={IButtonTypes.secondary} text={'IButtonTypes.secondary'} />
<Button type={IButtonTypes.tertiary} text={'IButtonTypes.tertiary'} />
<Button type={IButtonTypes.loading} text={'IButtonTypes.loading'} />
<Button
type={IButtonTypes.destructive}
text={'IButtonTypes.destructive'}
/>
<Button type={IButtonTypes.disabled} text={'IButtonTypes.disabled'} />
</View>
<View style={styles.content}>
<Button size={IButtonSize.fixed} text={'IButtonSize.fixed'} />
<Button size={IButtonSize.large} text={'IButtonSize.large'} />
<Button size={IButtonSize.small} text={'IButtonSize.small'} />
</View>
<View style={styles.content}>
<Button
text={'leftIcon'}
leftIcon={<SimpleIcon name={'icon-send'} />}
/>
<Button
text={'rightIcon'}
rightIcon={<SimpleIcon name={'icon-send'} />}
/>
<Button
text={'both'}
leftIcon={<SimpleIcon name={'icon-send'} />}
rightIcon={<SimpleIcon name={'icon-send'} />}
/>
</View>
<View style={styles.content}>
<Button text={'loading'} loading={true} />
<Button text={'disabled'} disabled={true} />
<Button text={'both'} disabled={true} loading={true} />
</View>
<View style={styles.content}>
<Button
text={'increment'}
count={counter}
onPress={onChangeCounter(1)}
/>
<Button
text={'decrement'}
count={counter}
onPress={onChangeCounter(-1)}
/>
</View>
</View>
);
};
const style = createStyles(({spaces}) => ({
container: {
gap: spaces.Space4,
},
content: {
alignItems: 'center',
gap: spaces.Space4,
},
}));
textProps?: TextProps;
Props
TouchableOpacity Props
Inherits TouchableOpacity Props.
type
| TYPE |
|---|
| IButtonTypes |
Predefined type for button
size
| TYPE |
|---|
| IButtonSize |
Predefined type for button
text
| TYPE |
|---|
| string |
Text of button
textStyle
| TYPE |
|---|
| TextStyle |
Custom styles for textInputContainer
textProps
| TYPE |
|---|
| TextProps |
Custom props for text inside button
font
| TYPE |
|---|
| TypographyProp |
Custom styles for textInputContainer
loading
| TYPE |
|---|
| boolean |
Loading preset of button
count
| TYPE |
|---|
| number |
Number of count
leftIcon
| TYPE |
|---|
| ReactElement |
any react component placed right
rightIcon
| TYPE |
|---|
| ReactElement |
any react component placed right