···12121. Run the build
13131. Run `pnpm hip install --all` in the apps/docs dir
14141. Generate and .mdx page with example in apps/docs
1515+1616+## Rules
1717+1818+- Prefer using packages/hip-ui/src/components/flex and packages/hip-ui/src/components/grid over css
1919+- Use icon from lucide-react
+2-1
README.md
···33333434#### react-aria wrappers
35353636-- [ ] Calendar
3736- [ ] Date Picker
3837- [ ] Range Date Picker
3938···5453- [ ] Toolbar
5554- [ ] Toast
56555656+- [x] Calendar
5757+- [x] Range Calendar
5758- [x] Color Picker
5859- [x] Color Swatch Picker
5960- [x] Color Wheel
···11+---
22+title: Calendar
33+description: A calendar displays one or more date grids and allows users to select a single date.
44+---
55+66+import { PropDocs } from '../../lib/PropDocs'
77+import { Example } from '../../lib/Example'
88+import { DefaultCalendar } from '../../examples/calendar/default'
99+import { UnavailableDates } from '../../examples/calendar/unavailable-dates'
1010+import { MultipleMonths } from '../../examples/calendar/multiple-months'
1111+1212+This component wraps the headless React Aria Calendar with sensible defaults and StyleX tokens.
1313+It renders a header with previous/next buttons and a month heading, and a grid of cells.
1414+1515+<Example src={DefaultCalendar} />
1616+1717+## Installation
1818+1919+Run the following command to add the calendar to your project.
2020+2121+```bash
2222+pnpm hip install calendar
2323+```
2424+2525+## Props
2626+2727+This component is built using the React Aria Calendar.
2828+See the official guide for full behavior and API details.
2929+3030+- Docs: [React Aria Calendar](https://react-spectrum.adobe.com/react-aria/Calendar.html#reusable-wrappers)
3131+3232+<PropDocs components={["Calendar"]} />
3333+3434+## Examples
3535+3636+### Default
3737+3838+Basic calendar with month navigation.
3939+4040+<Example src={DefaultCalendar} />
4141+4242+### Unavailable Dates
4343+4444+You can mark dates as unavailable by passing an array of dates to the `isDateUnavailable` prop.
4545+4646+<Example src={UnavailableDates} />
4747+4848+### Multiple Months
4949+5050+You can display multiple months by passing the `visibleDuration` prop.
5151+5252+<Example src={MultipleMonths} />
5353+5454+## Related Components
5555+5656+- [DatePicker](/docs/components/date-picker) - For date input
5757+- [DateRangePicker](/docs/components/date-range-picker) - For date range input
5858+- [DateRangeInput](/docs/components/date-range-input) - For date range input
+55
apps/docs/src/docs/components/range-calendar.mdx
···11+---
22+title: Range Calendar
33+description: A range calendar lets users select a start and end date from one or more month grids.
44+---
55+66+import { PropDocs } from '../../lib/PropDocs'
77+import { Example } from '../../lib/Example'
88+import { DefaultRangeCalendar } from '../../examples/range-calendar/default'
99+import { UnavailableRangeDates } from '../../examples/range-calendar/unavailable-dates'
1010+import { MultipleMonthsRange } from '../../examples/range-calendar/multiple-months'
1111+1212+Select a date range using a calendar grid with previous/next navigation.
1313+Supports marking dates unavailable and showing multiple months.
1414+1515+<Example src={DefaultRangeCalendar} />
1616+1717+## Installation
1818+1919+Run the following command to add the range calendar to your project.
2020+2121+```bash
2222+pnpm hip install range-calendar
2323+```
2424+2525+## Props
2626+2727+This component is built using the React Aria RangeCalendar.
2828+See the official guide for full behavior and API details.
2929+3030+- Docs: [React Aria RangeCalendar](https://react-spectrum.adobe.com/react-aria/RangeCalendar.html#reusable-wrappers)
3131+3232+<PropDocs components={["RangeCalendar"]} />
3333+3434+## Examples
3535+3636+### Unavailable Dates
3737+3838+Disable dates via `isDateUnavailable`.
3939+4040+<Example src={UnavailableRangeDates} />
4141+4242+### Multiple Months
4343+4444+Show multiple months with `visibleDuration`.
4545+4646+<Example src={MultipleMonthsRange} />
4747+4848+## Related Components
4949+5050+- [DateRangePicker](/docs/components/date-range-picker)
5151+- [Calendar](/docs/components/calendar)
5252+- [DateField](/docs/components/date-field)
5353+- [DateRangeField](/docs/components/date-range-field)
5454+5555+
+7
apps/docs/src/examples/calendar/default.tsx
···11+import { Calendar } from "@/components/calendar";
22+33+export function DefaultCalendar() {
44+ return <Calendar aria-label="Appointment date" />;
55+}
66+77+
···11+import { RangeCalendar } from "@/components/range-calendar";
22+33+export function DefaultRangeCalendar() {
44+ return <RangeCalendar aria-label="Select a date range" />;
55+}
66+77+