0.3.0 • Published 12 months ago

react-native-ethiopian-calendar v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

React Native Ethiopian Calendar

A react native calendar component which is mainly intended for applications which require Ethiopian calendar.

Features

  • Ethiopian/Gregorian mode toggle
  • Supports multiple local languages
  • Easy to customize
  • Zero dependency
  • Fully typed with typescript

Demo

npm.io

Installation

with yarn

yarn add react-native-ethiopian-calendar

Install with npm

npm i react-native-ethiopian-calendar

Usage/Examples

Typescript Example

import {
  Calendar,
  LanguageCode,
  Mode,
  SelectedDate,
} from 'react-native-ethiopian-calendar';

function App() {
  const [mode, setMode] = React.useState<Mode>('EC');
  const [locale, setLocale] = React.useState<LanguageCode>('AMH');
  const [selectedDate, setSelectedDate] = React.useState<SelectedDate>();

  return (
      <Calendar
        mode={mode}
        onDatePress={(date) => setSelectedDate(date)}
        onModeChange={(selectedMode) => setMode(selectedMode)}
        onLanguageChange={(lang) => setLocale(lang)}
        locale={locale}
      />
  )
}

Javascript Example

import { Calendar } from 'react-native-ethiopian-calendar';

function App() {
  const [mode, setMode] = React.useState('EC');
  const [locale, setLocale] = React.useState('AMH');
  const [selectedDate, setSelectedDate] = React.useState();

  return (
    <Calendar
      mode={mode}
      onDatePress={(date) => setSelectedDate(date)}
      onModeChange={(selectedMode) => setMode(selectedMode)}
      onLanguageChange={(lang) => setLocale(lang)}
      locale={locale}
    />
  );
}

API Reference

PropTypeRequiredDescriptionDefault
modeModefalsea prop to switch b/n Ethiopian calendar and Gregorian calendarEC
localeLanguageCodefalseto change the language of days names and months names.AMH for EC and ENG for GC
themeThemefalseto override default style{}
hideHeaderButtonsbooleanfalseto hide switch mode & change language dropdowns.false
onDatePressfunction voidtruean event handler gets executed when date press event is fired.
onModeChangefunction voidfalsean event handler gets invoked on mode change.
onLanguageChangefunction voidfalsean event handler gets invoked on language change.
initialDateDatefalseif this prop is not set, the calendar will start from current month.today

License

MIT

Made with create-react-native-library