UNPKG

time-calendar

Version:

Shows the schedule, increases and decreases the calendar day, changing the schedule

119 lines (99 loc) 4.73 kB
# time-calendar React calendar component for displaying schedule. ## Setup ## npm install time-calendar ## Usage ```tsx import { Calendar } from 'time-calendar'; const testData = { "31.05.2025": [ "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00" ], "01.06.2025": [ "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00" ], "30.05.2025": [ "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00" ] } <Calendar shedule={testData} onClickTime=(() => alert('Time clicked!')) /> ``` ## API ### Calendar | Prop | Type | Required | Default | Description | | ----------------- | -------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------ | | `onClickTime` | `func` | Yes | `() => void` | The event that will occur when the time cell is clicked | | `shedule` | `object` | Yes | `{}` | Schedule where the key is the date and the values ​​are time cells | | `initialDate` | `Date` | No | `undefined` | Start date, for example to initialize a calendar. времени. | | `localeCode` | `string` | No | `'en-US'` | The locale code used to format dates. | | `className` | `string` | No | `''` | The CSS class passed to the component. | | `style` | `React.CSSProperties` | No | `{}` | Inline styles applied to the component. | | `delegated` | `React.HTMLAttributes<HTMLDivElement>` | No | `undefined` | Additional HTML attributes delegated to the component (e.g. `id`, `data-*`, events). | | `loadingFallback` | `React.ReactNode` | No | `null` | JSX element that is rendered while loading (lazy loading, etc.). | | `errorFallback` | `(error: Error) => React.ReactNode` | No | `undefined` | A function that returns JSX when an error occurs (e.g. during rendering). | #### Example ```tsx <Calendar shedule={{"31.05.2025": ["10:00"]}} onClickTime=(() => alert('Time clicked!')) initialDate={new Date()} localeCode="af" className="override-class" style={{ padding: 10 }} delegated={{ id: 'root-div' }} loadingFallback={<span>I'm busy...</span>} errorFallback={(error) => <div>Oh, no: {error.message}</div>} /> ``` ### Time | Prop | Type | Required | Default | Description | | ----------- | -------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------ | | `onClick` | `func` | Yes | `() => void` | The event that will occur when the time cell is clicked | | `cells` | `string[]` | Yes | `{}` | Time schedule array | | `className` | `string` | No | `''` | The CSS class passed to the component. | | `style` | `React.CSSProperties` | No | `{}` | Inline styles applied to the component. | | `delegated` | `React.HTMLAttributes<HTMLDivElement>` | No | `undefined` | Additional HTML attributes delegated to the component (e.g. `id`, `data-*`, events). | #### Example ```tsx <Time shedule={["10:00"]} onClick=(() => alert('Time clicked!')) className="override-class" style={{ padding: 10 }} delegated={{ id: 'root-div' }} /> ``` ## Development ## git clone git@github.com:ilydyu/time-calendar.git cd time-calendar npm install npm run storybook