Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
365 changes: 365 additions & 0 deletions .coderocket/source-manifest.json

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Check public core

on:
push:
branches: [main]
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm check

# Publication is intentionally not automated. The historical datepicker release
# workflows are archived under legacy/, outside GitHub's active workflow directory.
43 changes: 13 additions & 30 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,32 +1,15 @@
# Logs
logs
node_modules/
dist/
.build/
coverage/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
*.tgz
.env
.env.*
!.env.example
.DS_Store
dist
dist-ssr
coverage
*.local

/cypress/videos/
/cypress/screenshots/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# vitepress
docs/.vitepress/cache
docs/.vitepress/dist
.netlify/
.pnpm-store/
**/.vitepress/cache/
**/.vitepress/dist/
*.tsbuildinfo
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22
24
29 changes: 29 additions & 0 deletions ANNOUNCEMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Vue Tailwind Datepicker is becoming CodeRocket UI

Vue Tailwind Datepicker started with a focused problem: make dates easier to work with in a Vue application. Thank you to everyone who used it, reported an issue or contributed.

The next step is **CodeRocket UI**: React and Vue component libraries you can customize as one design system, keep as editable source and share with coding agents. [Try the visual builder](https://ui.coderocket.app) or explore the [React](https://ui.coderocket.app/docs/components) and [Vue](https://ui.coderocket.app/docs/vue/components) documentation.

This repository keeps its stars, issues and history. Its active source now includes **48 components and 26 blocks for each framework**, the design-system engine, shared specifications, CLI, read-only MCP server and documentation. That foundation is open source under MIT. The hosted Studio, accounts and AI service are maintained privately.

## What changes for datepicker users?

The historical Vue datepicker is **frozen and no longer maintained**. Its npm package, `@coderocketapp/vue-tailwind-datepicker`, stays available. Its MIT source and original attribution are preserved in [`legacy/vue-tailwind-datepicker`](legacy/vue-tailwind-datepicker), and [its documentation](https://vue-tailwind-datepicker.com) stays online.

Existing applications do not need to change their imports because the repository changed its name. The new [Vue DatePicker](https://ui.coderocket.app/docs/vue/components/date-picker) is part of a broader native Vue library and has its own API. Migration is deliberate, not an automatic package upgrade.

No further fixes, features or package releases are planned for the historical component. Its MIT source remains available to adapt or fork.

## Why this direction?

A useful component library needs consistent tokens, behavior and source across an application. CodeRocket UI puts those rules in an explicit model that developers and coding agents can inspect. The visual builder applies them across components; CLI and MCP retrieve the same saved library in its chosen framework.

The public core works locally without a Studio account or AI provider. It is distributed here as source; workspace names are not a claim that new packages have been published to npm. React uses Base UI and Vue uses Reka UI, with native framework APIs. Svelte and SolidJS remain planned.

## Try it on a real project

The current catalogue is experimental. The hosted editor and source export are free, with 5 trial AI generations per signed-in account. Pro provides a larger AI allowance through manually arranged payment and activation. It does not change the open-source license of the components.

[Request Pro access or discuss an integration](https://ui.coderocket.app/contact). We want feedback from real projects before expanding the scope. This invitation is voluntary: people who starred or used the datepicker will not be automatically contacted.

— Alexandre Le Corre
30 changes: 30 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Contributing to CodeRocket UI

Use Node.js 24+ and pnpm 12.4.2. Run `pnpm install --frozen-lockfile`, then `pnpm check` before opening a pull request. Build outputs are ignored; commit source changes and the lockfile when dependencies change.

## Components and documentation

The active workspaces are in `packages/`. React and Vue implementations share the catalogue specifications and design-system model. Keep behavior and specifications aligned across both frameworks where their APIs allow it. Preserve keyboard interaction, focus, explicit labels, theme inheritance and mobile layouts. Tailwind must remain optional for consumers. Add tests for meaningful behavior changes.

The public website's Markdown/MDX documentation is in `docs/content`. It is rendered by the separately maintained website at [ui.coderocket.app/docs](https://ui.coderocket.app/docs). Update React and Vue reference material together when shared behavior changes; use framework-specific examples for JSX versus Vue slots, events and `v-model`.

When you change files covered by the public source manifest, refresh it before running checks:

```sh
node tooling/check-source-manifest.mjs --write
pnpm check
```

This command only updates content hashes; it does not upload source or require access to the private application. Include the resulting manifest change in the pull request. Follow [the repository boundary guide](docs/REPOSITORY-TRANSITION.md) when reviewing synchronized source.

## Report an issue

For current components, provide a minimal reproduction, repository revision, framework and version, browser details and the expected behavior. State whether the issue concerns the public component or hosted Studio. Do not include credentials, connection tokens, customer data or private source.

The legacy Vue datepicker is frozen. Its issues and source remain available for reference; new maintenance or feature releases are not planned there.

## Repository boundaries and license

The hosted application's authentication, database, AI-provider services and commercial operations are maintained separately. Do not add credentials, customer records, private deployment configuration or server source to this repository. Registry examples must use placeholders.

By contributing, you agree to make your contribution available under this repository's MIT license. Preserve existing third-party notices and attribution. Review experimental components in your own application's context before release.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) Kenhyuwa <wahyu.dhiraashandy8@gmail.com>
Copyright (c) 2026 Alexandre Le Corre

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
124 changes: 75 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,103 @@
# Vue Tailwind Datepicker
# CodeRocket UI — React and Vue component libraries

A date and date range picker for Vue 3, styled with Tailwind CSS.
**Build a component library that looks like your product, with design rules your coding agents can use.**

## Maintained package
CodeRocket UI combines **48 components and 26 interface blocks for both React and Vue**, a typed design-system model, and CLI/MCP integrations. Start from accessible primitives, customize shared tokens, and keep editable source in your application. The core is **MIT licensed**, written in **TypeScript**, and works **with or without Tailwind**.

The maintained package is now **`@coderocketapp/vue-tailwind-datepicker`**.
The previous `vue-tailwind-datepicker` package remains available, but updates are
published under the new name. Existing installations do not migrate automatically.
[Try the visual builder](https://ui.coderocket.app) · [React documentation](https://ui.coderocket.app/docs/components) · [Vue documentation](https://ui.coderocket.app/docs/vue/components) · [Request Pro access](https://ui.coderocket.app/contact?intent=pro)

## Two frameworks, one design system

React uses Base UI. Vue uses native Vue single-file components and Reka UI. Both catalogues share tokens, layouts and core behavior, including date and range selection, forms, overlays and application blocks. Vue APIs use `v-model`, events and slots; framework-specific APIs are not interchangeable.

Use the components directly from this source workspace, or use the [hosted Studio](https://ui.coderocket.app/studio) to customize a library visually, review AI proposals and export its source. An account or AI provider is **not required** to use the open-source components locally. Svelte and SolidJS are planned, without announced release dates.

## What is open source?

| Package | What it provides |
| --------------------------------------- | -------------------------------------------------------------------------------------------- |
| [`@coderocket/react`](packages/react) | 48 React components, Base UI primitives, compiled CSS and a composition renderer. |
| [`@coderocket/blocks`](packages/blocks) | 26 React interface blocks with typed application callbacks. |
| [`@coderocket/vue`](packages/vue) | 48 Vue components and 26 Vue blocks, Reka UI primitives, CSS and a composition renderer. |
| [`@coderocket/engine`](packages/engine) | Versioned design-system model, token validation, theme generation and reviewed token import. |
| [`@coderocket/specs`](packages/specs) | Shared catalogue specifications and validated composition schemas. |
| [`@coderocket/shared`](packages/shared) | Types and a read-only registry client for the integration tools. |
| [`@coderocket/cli`](packages/cli) | Local import analysis and installation/sync from a saved library, preserving local changes. |
| [`@coderocket/mcp`](packages/mcp) | A read-only MCP server exposing a saved library's rules and component sources. |

The [documentation source](docs/content) is public too. It is rendered at [ui.coderocket.app/docs](https://ui.coderocket.app/docs) by the separately maintained website.

The hosted Studio, accounts, database, AI-provider integration and commercial operations remain private. Authentication, payments, email delivery and uploads are not bundled component backends: blocks expose callbacks for your own application. The CLI's registry commands and MCP need a saved library and scoped connection token, or a compatible registry server.

The catalogue is experimental. Review accessibility, behavior and framework integration in your application's context before release.

## Build from source

Use Node.js 24+ and pnpm 12.4.2. **This is a source distribution**: workspace package names do not imply a public npm release.

```sh
npm uninstall vue-tailwind-datepicker
npm install @coderocketapp/vue-tailwind-datepicker dayjs
git clone https://github.com/elreco/coderocket-ui.git
cd coderocket-ui
pnpm install --frozen-lockfile
pnpm check
```

For a new application, only the install command is needed. Vue 3 is required.
The package includes compiled CSS; an application does not need to configure
Tailwind or the forms plugin to display the picker.
The checks validate and build the workspace and run its tests without contacting the Studio or an AI provider. The legacy datepicker is outside this pnpm workspace.

## Usage
### React

```vue
<script setup>
import { ref } from 'vue'
import VueTailwindDatepicker from '@coderocketapp/vue-tailwind-datepicker'
import '@coderocketapp/vue-tailwind-datepicker/style.css'
Add `@coderocket/react` as a `workspace:*` dependency in a pnpm workspace consumer. Import its compiled styles once:

const dateValue = ref('')
const formatter = { date: 'YYYY-MM-DD', month: 'MMM' }
```tsx
import { Button, ThemeScope } from "@coderocket/react";
import "@coderocket/react/styles.css";

export function App() {
return (
<ThemeScope>
<Button onClick={() => console.log("Saved locally")}>Save changes</Button>
</ThemeScope>
);
}
```

### Vue

Add `@coderocket/vue` as a `workspace:*` dependency in a Vue workspace consumer:

```vue
<script setup lang="ts">
import { Button, ThemeScope } from "@coderocket/vue";
import "@coderocket/vue/styles.css";
</script>

<template>
<VueTailwindDatepicker v-model="dateValue" :formatter="formatter" i18n="en" />
<ThemeScope><Button>Save changes</Button></ThemeScope>
</template>
```

Import the stylesheet once in your application. To select one date, add `as-single`.
The component also supports arrays and objects as values, custom shortcuts,
disabled dates, translations, inline calendars and explicit Apply/Cancel buttons.
See [development and integration](docs/DEVELOPMENT.md) for consumer dependencies, styles and framework differences. React 19.3 / Base UI 1.8 and Vue 3.5 / Reka UI 2.10 are the versions used by this source release.

Use `color-mode="light"` or `color-mode="dark"` to force the appearance.
`color-mode="auto"` follows a dark ancestor or the system preference.
### Coding agents, CLI and MCP

## Documentation
After building, run `node packages/cli/dist/index.mjs --help`. Follow the [CLI guide](packages/cli/README.md) for installation and sync, or the [MCP guide](packages/mcp/README.md) to expose a saved library to a compatible coding agent. The library's framework determines the returned source. No Gemini or other AI provider key is required by these clients.

[Installation](docs/installation.md) · [Props](docs/props.md) ·
[Events](docs/events.md) · [Theming](docs/theming-options.md)
[Markdown documentation](docs/content), typed specifications and a read-only MCP interface help agents use the same components and design rules as developers. Generated source still needs review before application.

[Documentation website](https://elreco.github.io/vue-tailwind-datepicker/) ·
[GitHub releases](https://github.com/elreco/vue-tailwind-datepicker/releases)
## From Vue Tailwind Datepicker

## Local development
This is the same repository, with its stars, issues and Git history. CodeRocket UI is its active successor; it is **not a drop-in replacement** for the old datepicker API.

Use Node.js 22.14+ (Node 24 is used in CI).
**Vue Tailwind Datepicker is frozen and no longer maintained.** Its npm package, `@coderocketapp/vue-tailwind-datepicker`, remains available. Its source, original MIT attribution, changelog and documentation are preserved in [`legacy/vue-tailwind-datepicker`](legacy/vue-tailwind-datepicker). Existing applications can continue using their installed version; no automatic migration is required. No further legacy fixes or releases are planned.

```sh
npm ci
npm run dev
```
For new work, explore the [Vue DatePicker](https://ui.coderocket.app/docs/vue/components/date-picker) or [React DatePicker](https://ui.coderocket.app/docs/components/date-picker). Read the [transition announcement](ANNOUNCEMENT.md) and [legacy documentation](https://vue-tailwind-datepicker.com) before migrating.

The playground is available at the address printed by Vite.
## Hosted access and Pro

```sh
npm run typecheck
npm run build
npm run check:package
npm run docs:install
npm run docs:dev
npm run docs:build
```
The hosted editor, component catalogue and source export are free. Signed-in accounts receive **5 trial AI generations in total**. Pro adds **100 AI generations per UTC calendar month** during an agreed paid period, subject to the shared service limit. Price, payment and activation are arranged personally; there is no automatic billing or renewal. Manual editing and export remain usable without AI allowance.

See the [release guide](.github/RELEASE_GUIDE.md) for npm publishing and GitHub Actions.
[Request Pro or integration help](https://ui.coderocket.app/contact?intent=pro), or read [how access works](https://ui.coderocket.app/docs/pilot). Submitting a request does not charge you or activate paid access. GitHub stars and historical datepicker use are not permission for sales outreach.

## License and credits
## Contributing and licensing

[MIT](LICENSE). Based on the original work by [Kenhyuwa](https://github.com/kenhyuwa),
with contributions from the Vue Tailwind Datepicker community.
See [CONTRIBUTING.md](CONTRIBUTING.md), [the roadmap](docs/ROADMAP.md), [MIT license](LICENSE) and [third-party notices](THIRD_PARTY_NOTICES.md). Contributions belong in the active packages and documentation. The legacy datepicker remains an unmaintained reference.
9 changes: 9 additions & 0 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Licenses and attribution

The active CodeRocket UI packages and public documentation are licensed under the root [MIT license](LICENSE). The repository author is Alexandre Le Corre (`elreco`).

The historical Vue Tailwind Datepicker source keeps its original [MIT license and Kenhyuwa attribution](legacy/vue-tailwind-datepicker/LICENSE). Moving that source does not remove or replace its license. Its original dependency manifests and lockfiles are preserved alongside it.

Third-party dependencies retain their own licenses. The active source uses React, React DOM, Base UI, Vue, Reka UI, Lucide, Zod and the Model Context Protocol SDK, among others. Dependency implementations are obtained through the package manager and are not relicensed by this repository. The public library build keeps runtime dependencies external.

Documentation examples and interface blocks do not provide hosted authentication, billing or storage services. The hosted CodeRocket UI application is maintained separately and is not licensed by this repository's MIT license.
58 changes: 0 additions & 58 deletions docs/.vitepress/config.ts

This file was deleted.

4 changes: 0 additions & 4 deletions docs/.vitepress/theme/index.js

This file was deleted.

Loading
Loading