Get Started
Migration
Components
- Accordion
- Alert Dialog
- Alert
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Formsnap
- Hover Card
- Input OTP
- Input
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Range Calendar
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Switch
- Table
- Tabs
- Textarea
- Toggle Group
- Toggle
- Tooltip
- Typography
Installation
Special sponsor
We're looking for one partner to be featured here.
Support the project and reach thousands of developers.
Reach outSu | Mo | Tu | We | Th | Fr | Sa |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
<script lang="ts">
import { getLocalTimeZone, today } from "@internationalized/date";
import { RangeCalendar } from "$lib/components/ui/range-calendar/index.js";
const start = today(getLocalTimeZone());
const end = start.add({ days: 7 });
let value = $state({
start,
end
});
</script>
<RangeCalendar bind:value class="rounded-md border" />
About
The <RangeCalendar />
component is built on top of the Bits Range Calendar component, which uses the @internationalized/date package to handle dates.
Blocks
You can see the RangeCalendar
component in action in the 30+ Calendar Blocks we've built.
Installation
pnpm dlx shadcn-svelte@latest add range-calendar
npx shadcn-svelte@latest add range-calendar
bun x shadcn-svelte@latest add range-calendar
npx shadcn-svelte@latest add range-calendar
Install bits-ui
and @internationalized/date
:
pnpm i bits-ui @internationalized/date -D
npm i bits-ui @internationalized/date -D
bun install bits-ui @internationalized/date -D
yarn install bits-ui @internationalized/date -D
Copy and paste the component source files linked at the top of this page into your project.