BetaPublic beta — Read the release notes
Documentation

Calendar

Date selection with day/month/year views.

Package
@solidiom/calendar
Version
0.0.1-next.0
Status
stable

Preview

August 2026
0000001
2345678
9101112131415
16171819202122
23242526272829
303100000

This preview uses documentation-only styling. Ship with one of the included recipe outputs (CSS, Tailwind, or UnoCSS) for production styles.

Date selection with day/month/year views.

Usage

Compose Root, Header, PrevButton, Title, NextButton, Grid, Cell.

import * as Calendar from "@solidiom/calendar"

;<Calendar.Root>Calendar content</Calendar.Root>

Installation

Install the package with pnpm add @solidiom/calendar. The package requires compatible solid-js and @solidjs/web peer dependencies.

Parts

Calendar exposes 7 parts:

  • Rootdata-part="root".
  • Headerdata-part="header".
  • PrevButtondata-part="prevbutton".
  • Titledata-part="title".
  • NextButtondata-part="nextbutton".
  • Griddata-part="grid".
  • Celldata-part="cell".

Styling

Calendar carries data-scope="calendar" and data-part attributes on each part for CSS/recipe targeting. State attributes like data-state, data-disabled, and data-highlighted are exposed where applicable.

Keyboard & behavior

This primitive has no keyboard interaction. It renders content that does not independently receive focus or respond to key events.

Composition

Calendar is designed to compose with other primitives. Its parts can be combined with Field, Button, or other primitives as needed.

SSR and hydration

Calendar renders as semantic HTML during server rendering. Interactive behavior (keyboard handlers, state management) activates on hydration without layout shift.