@atlaskit/calendar
Version:
An interactive calendar for date selection experiences.
155 lines (130 loc) • 3.44 kB
Markdown
<!-- API Report Version: 2.3 -->
> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
- [Main Entry Types](
- [Peer Dependencies](
<!--SECTION START: Main Entry Types-->
```ts
/// <reference types="react" />
import { CSSProperties } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { MemoExoticComponent } from 'react';
import { RefAttributes } from 'react';
import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
// @public (undocumented)
type ArrowKeys = 'down' | 'left' | 'right' | 'up';
// @public
const Calendar: MemoExoticComponent<
ForwardRefExoticComponent<
Pick<
CalendarProps,
| 'analyticsContext'
| 'calendarRef'
| 'className'
| 'createAnalyticsEvent'
| 'day'
| 'defaultDay'
| 'defaultMonth'
| 'defaultPreviouslySelected'
| 'defaultSelected'
| 'defaultYear'
| 'disabled'
| 'disabledDateFilter'
| 'locale'
| 'maxDate'
| 'minDate'
| 'month'
| 'nextMonthLabel'
| 'onBlur'
| 'onChange'
| 'onFocus'
| 'onSelect'
| 'previousMonthLabel'
| 'previouslySelected'
| 'selected'
| 'style'
| 'tabIndex'
| 'testId'
| 'today'
| 'weekStartDay'
| 'year'
> &
RefAttributes<HTMLDivElement>
>
>;
export default Calendar;
// @public (undocumented)
export interface CalendarProps extends WithAnalyticsEventsProps {
analyticsContext?: Record<string, any>;
// @internal
calendarRef?: React.Ref<CalendarRef>;
className?: string;
day?: number;
defaultDay?: number;
defaultMonth?: number;
defaultPreviouslySelected?: Array<string>;
defaultSelected?: Array<string>;
defaultYear?: number;
disabled?: Array<string>;
disabledDateFilter?: (date: string) => boolean;
locale?: string;
maxDate?: string;
minDate?: string;
month?: number;
nextMonthLabel?: string;
onBlur?: React.FocusEventHandler;
onChange?: (event: ChangeEvent, analyticsEvent: UIAnalyticsEvent) => void;
onFocus?: React.FocusEventHandler;
onSelect?: (event: SelectEvent, analyticsEvent: UIAnalyticsEvent) => void;
previouslySelected?: Array<string>;
previousMonthLabel?: string;
selected?: Array<string>;
style?: CSSProperties;
tabIndex?: TabIndex;
testId?: string;
today?: string;
weekStartDay?: WeekDay;
year?: number;
}
// @public (undocumented)
export interface CalendarRef {
// (undocumented)
navigate: (type: ArrowKeys) => void;
}
// @public (undocumented)
export type ChangeEvent = {
iso: ISODate;
type: 'down' | 'left' | 'next' | 'prev' | 'right' | 'up';
} & DateObj;
// @public (undocumented)
type DateObj = {
day: number;
month: number;
year: number;
};
// @public (undocumented)
type ISODate = string;
// @public (undocumented)
export type SelectEvent = {
iso: ISODate;
} & DateObj;
// @public (undocumented)
type TabIndex = -1 | 0;
// @public (undocumented)
type WeekDay = 0 | 1 | 2 | 3 | 4 | 5 | 6;
// (No @packageDocumentation comment for this package)
```
<!--SECTION END: Main Entry Types-->
<!--SECTION START: Peer Dependencies-->
```json
{
"react": "^16.8.0"
}
```
<!--SECTION END: Peer Dependencies-->