Skip to content

hygorzorak/react-date-fns

Repository files navigation

ReactDateFns Package

A React component library for displaying formatted dates using date-fns. This package provides several components: DateDisplay, DateSelect, and CountdownTimer. These components can be customized with various date patterns and CSS classes.

Installation

To install the package, run:

npm install react-date-fns

Usage

Importing the Components

You can import the components in your React application as follows:

import React from "react";
import { DateDisplay, CountdownTimer } from "react-date-fns";

const App = () => {
  const handleDateChange = (date) => {
    console.log("Selected date:", date);
  };

  return (
    <div>
      <DateDisplay className="date-class" pattern="MM/dd/yyyy">
        {new Date()}
      </DateDisplay>
      <CountdownTimer
        className="countdown-class"
        targetDate={new Date(new Date().getTime() + 10000)}
      />
    </div>
  );
};

export default App;

DateDisplay Props

The DateDisplay component accepts the following props:

  • children (Date): The date to be formatted and displayed.
  • className (string, optional): A CSS class to apply to the <span> element.
  • pattern (string): The date format pattern. It can be one of the predefined patterns or any custom string pattern compatible with date-fns.

CountdownTimer Props

The CountdownTimer component accepts the following props:

  • targetDate (Date): The date to count down to.
  • className (string, optional): Additional CSS classes to apply to the container element.
  • timeLeftText (string, optional): Text to display when the countdown reaches zero. Defaults to "Time’s up!".

Available Patterns

Here are some of the predefined patterns you can use:

  • "MMMM"
  • "yyyy-MM-dd"
  • "MM/dd/yyyy"
  • "dd-MM-yyyy"
  • "dd/MM/yyyy"
  • "yyyy/MM/dd"
  • "dd MMMM yyyy"
  • "EEEE, MMMM do, yyyy"
  • "MM-dd-yyyy"
  • "yyyy-MM-dd'T'HH:mm:ss"
  • "yyyy-MM-dd HH:mm:ss"
  • "HH:mm:ss"
  • "hh:mm:ss a"
  • "EEEE"
  • "MMM d, yyyy"
  • "MMMM do, yyyy"
  • "dd MMM yyyy"
  • "d MMM yyyy"
  • "dd MMM"
  • "d MMM"
  • "MMMM yyyy"
  • "MMM yyyy"
  • "EEE, MMM d, ''yy"
  • "h:mm a"
  • "h:mm:ss a"
  • "HH:mm"
  • "HH:mm:ss"
  • "h:mm:ss a zzz"
  • "h:mm a zzz"
  • "EEEE, MMMM do, yyyy, h:mm a"

You can also use any custom string pattern compatible with date-fns.

Development

Building the Package

To build the package, run:

npm run build

Running the Development Server

To start the development server, run:

npm run dev

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

About

This is a React library built on top of Date-fns

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published