feat: add calendar component to coss UI#667
Merged
sean-brydon merged 58 commits intomainfrom Feb 13, 2026
Merged
Conversation
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Co-Authored-By: pasquale@cal.com <pasquale@cal.com>
Contributor
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="apps/ui/content/docs/components/calendar.mdx">
<violation number="1" location="apps/ui/content/docs/components/calendar.mdx:84">
P3: The default-size description now conflicts with the example values (text says 9/8, example shows 10/9). Keep the example consistent with the stated defaults or update the text to match.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
sean-brydon
approved these changes
Feb 13, 2026
Contributor
sean-brydon
left a comment
There was a problem hiding this comment.
This PR looks scary but its just json again :D
This components/particals look amazing!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: add calendar component to coss UI
Summary
Adds a new Calendar primitive component to coss UI based on react-day-picker v9.13.0. The component supports single date selection (default), multiple selection, and range selection modes.
Key features:
captionLayoutprop with "label" (default) and "dropdown" variants for month/year navigationCalendarDayButtoncomponent with focus management and data attributes for range selection--cell-size) for easy size customizationbuttonVariantprop to customize navigation button stylingcomponentspropFiles added:
apps/ui/registry/default/ui/calendar.tsx- Main component implementationapps/ui/content/docs/components/calendar.mdx- Documentation with installation instructions and API referenceapps/ui/registry/default/particles/p-calendar-1.tsx- Basic calendar exampleapps/ui/registry/default/particles/p-calendar-2.tsx- Single date selection exampleapps/ui/registry/default/particles/p-calendar-3.tsx- Date range selection exampleapps/ui/registry/default/particles/p-calendar-4.tsx- Dropdown navigation example (native select)apps/ui/registry/default/particles/p-calendar-5.tsx- Custom Select dropdown example (coss UI Select)packages/ui/src/components/calendar.tsxUpdates since last revision
components={{ Dropdown: CustomDropdown }}prop to integrate design system componentsReview & Testing Checklist for Human
captionLayout="dropdown"- verify native month/year dropdowns render and function correctlybun run dev --filter=uiand navigate to/ui/docs/components/calendarto verify all five examples render correctly in light and dark modesRecommended test plan:
Notes
The component uses CSS custom properties for cell sizing and extends react-day-picker's default classNames. The dropdown navigation feature requires
startMonthandendMonthprops to define the selectable range. The p-calendar-5 example demonstrates how to replace the native select with a custom component using thecomponentsprop - this pattern can be used to integrate any design system dropdown.Link to Devin run: https://app.devin.ai/sessions/8ad5b6dada474847b8231d120581c23d
Requested by: pasquale@cal.com