April 2026

Styled quick start

Copy this entrypoint first. It includes the imports required to get the component on screen.

svelte
<script lang="ts">
  import '@dryui/ui/themes/default.css';
  import '@dryui/ui/themes/dark.css';
  import { RangeCalendar, Field, Label } from '@dryui/ui';
</script>

<Field.Root>
  <Label>Booking range</Label>
  <RangeCalendar.Root>
    <RangeCalendar.Grid>...</RangeCalendar.Grid>
  </RangeCalendar.Root>
</Field.Root>

Import options

Root package

ts
import { RangeCalendar } from '@dryui/ui'

Per-component subpath

ts
import { RangeCalendar } from '@dryui/ui/range-calendar'

API

Props, CSS variables, and the public data attributes you can target when styling.

Prop Type Description Default Required Bindable

RangeCalendar.Root

startDate
Date | null
— $bindable<Date | null>(null) — ✓
endDate
Date | null
— $bindable<Date | null>(null) — ✓
locale
string
— 'en-US' — —
min
Date | null
Minimum allowed value. null — —
max
Date | null
Maximum allowed value. null — —
disabled
boolean
Prevents interaction and applies disabled styling. false — —
children
Snippet
Content rendered inside the component. — ✓ —

RangeCalendar.Grid

events
readonly CalendarEventItem[]
— — — —
eventDisplay
CalendarEventDisplay
— — — —
maxEventLanes
number
— — — —
visibleMonths
CalendarVisibleMonths
— — — —
eventContent
Snippet<[CalendarEventRenderContext]>
— — — —