Button
Buttons trigger an action in a web page. It allows the developer to handle an action on user interaction.
Last updated
Buttons trigger an action in a web page. It allows the developer to handle an action on user interaction.
Last updated
npm i react-hartanimport { Button } from "react-hartan"
function App() {
return (
<>
<Button></Button>
</>
)
}
export default Appimport { Button } from "react-hartan"
function App() {
return (
<>
<Button></Button>
</>
)
}
export default App// App.css
.my-class{
font-size: 2rem;
background-color: red;
}
// App.jsx
import { Button } from "react-hartan"
import "./App.css"
function App() {
const btnTxt = "Custom Text";
async function onclick() {
async function fetchData() {
const response = await fetch("https://farzi-vichar-api.vercel.app/language/hindi/random");
const result = await response.json();
return result;
}
const data = await fetchData();
console.log(data);
}
return (
<>
<Button buttonText={btnTxt} onClickFunction={onclick} userButtonStyle={"my-class"}></Button>
</>
)
}
export default Appimport buttonStyles from "./button.module.css"
import PropTypes from "prop-types"
export default function Button({ buttonText = "Hartan", id, userButtonStyle, onClickFunction }) {
function handleClick(){
onClickFunction();
}
return (
<button className={`${buttonStyles.generalBtn} ${userButtonStyle}`} onClick={handleClick}>{buttonText}</button>
)
}
Button.propTypes = {
buttonText: PropTypes.node,
id: PropTypes.string,
userButtonStyle: PropTypes.string,
onClickFunction: PropTypes.func
};/* Button CSS Module */
/* Button style on normal state */
.generalBtn{
outline: none;
border: none;
background: transparent;
font-size: 1.3rem;
font-weight: 500;
cursor: pointer;
padding: 0.5rem 1rem;
border: transparent;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
background: #1e90ff;
color: #ffffff;
border-radius: 4px;
}
/* Button style on hover */
.generalBtn:hover {
background: rgb(2, 0, 36);
background: linear-gradient(90deg, rgba(30, 144, 255, 1) 0%, rgba(0, 212, 255, 1) 100%);
}
/* Button style when active */
.generalBtn:active {
transform: translate(0em, 0.2em);
}