This is extended version of react-tailwindcss-datepicker
Added features:
isStaticPosition
- disable position absolute for Calendar (can be usefulul when you want to build in your calendar in your own popup);renderHeader
- render custom component on the top of a calender popover;renderFooter
- render custom component on the bottom of a calender popover;disableAutoHide
- disable autohide for calendar when user select date or date range. can be usefule when you want to control popup closin inrenderHeader
orrenderFooter
function. It will not work with isStaticPosition.
import React, { useState } from "react";
import Datepicker from "tailwindcss-react-datepicker";
const App = () => {
const [value, setValue] = useState({
startDate: new Date(),
endDate: new Date().setMonth(11)
});
const handleValueChange = newValue => {
console.log("newValue:", newValue);
setValue(newValue);
};
return (
<div>
<Datepicker
renderFooter={context => <button onClick={context.hideDatepicker()}>Ok</button>}
value={value}
onChange={handleValueChange}
/>
</div>
);
};
export default App;
if you dont need this extra features feel free to use original datepicker from onesite
- Tailwindcss React Datepicker
- ✅ Theming options
- ✅ Dark mode
- ✅ Single Date
- ✅ Single date use Range
- ✅ Shortcuts
- ✅ TypeScript support
- ✅ Localization(i18n)
- ✅ Date formatting
- ✅ Disable specific dates
- ✅ Minimum Date and Maximum Date
- ✅ Custom shortcuts
Go to full documentation
npm install tailwindcss-react-datepicker
yarn add tailwindcss-react-datepicker
Make sure you have installed the peer dependencies as well with the below versions.
"dayjs": "^1.11.6",
"react": "^17.0.2 || ^18.2.0"
Add the datepicker to your tailwind configuration using this code
// in your tailwind.config.js
module.exports = {
// ...
content: [
"./src/**/*.{js,jsx,ts,tsx}",
"./node_modules/tailwindcss-react-datepicker/dist/index.esm.js"
]
// ...
};
Then use tailwindcss-react-datepicker in your app:
import React, { useState } from "react";
import Datepicker from "tailwindcss-react-datepicker";
const App = () => {
const [value, setValue] = useState({
startDate: new Date(),
endDate: new Date().setMonth(11)
});
const handleValueChange = newValue => {
console.log("newValue:", newValue);
setValue(newValue);
};
return (
<div>
<Datepicker value={value} onChange={handleValueChange} />
</div>
);
};
export default App;
You can find the demo at here
Info
👉 To discover the other possibilities offered by this library, you can consult the full documentation.
Clone the master
branch and run commands:
# Using npm
npm install && npm dev
# Using yarn
yarn install && yarn dev
Open a browser and navigate to http://localhost:8888
See CONTRIBUTING.md
- ⭐ this repo
- Buy me a ☕ ☕ ☕ or
- become a sponsor on Github Sponsors 🤝
MIT Licensed.