Skip to content
v2.5.0
English
Русский
Documentation

DayPicker

DayPicker is the lower-level day-grid subsystem used by the calendar stack.

Overview

DayPicker does not define a large component-local CSS surface. Most visual behavior is inherited from DataGridPicker, CalendarBase, and the exported item and layout primitives it composes.

Public CSS Variables

There are no significant day-picker-specific public CSS variables in the current implementation.

Theme-level color and surface behavior should come from Themes and Tokens, not from custom --day-picker-* variables.

Part-Level Variables

Root

The root is primarily behavioral, not visual. It coordinates date math, selection mode, and visible period.

Layout / Scroller Content

Visual layout comes from composed grid and scroller parts rather than a dedicated root style module.

Day-cell appearance comes from the underlying picker item primitives and calendar shared parts.

State And Variant Interaction

  • Selection, disabled, and active appearance primarily come from the underlying picker primitives.
  • Period changes affect rendered grid content, not a separate style token layer.
  • Custom item rendering should preserve visible affordances for selected, unavailable, and out-of-period days.

Examples

Size and variant

size sets the cell size and font, variant the selected state: secondary (the default) and primary side by side. Both are props of the root, not CSS variables.

size-and-variant.tsx · 18 lines
import { DayPicker, DayPickerCell, DayPickerLayout } from '@vega-ui/react';

export default function SizeAndVariant() {
  return (
    <div style={{ display: 'flex', flexWrap: 'wrap', gap: 'var(--spacing-16)', alignItems: 'start' }}>
      <DayPicker aria-label='Secondary, extra small' locale='en-US' month='2026-11-01' defaultSelected='2026-11-18'>
        <DayPickerLayout>
          <DayPickerCell />
        </DayPickerLayout>
      </DayPicker>
      <DayPicker aria-label='Primary, medium' locale='en-US' month='2026-11-01' size='md' variant='primary' defaultSelected='2026-11-18'>
        <DayPickerLayout>

Do Not Override

  • inventing a day-picker token contract that is not present in source
  • assuming the root alone owns all visual styling