feat: Add missing shadcn components (Calendar, Chart, Combobox, Command, Data Table, Date Picker, Direction, Empty, Form, Hover Card, Input OTP, Item, Kbd, Menubar, Native Select, Navigation Menu, Pagination, Popover, Progress, Resizable, Scroll Area, Separator, Sheet, Sidebar, Sonner, Table, Tabs, Toggle, Toggle Group)#223
Open
binnodon wants to merge 6 commits intostefan-karger:devfrom
Open
feat: Add missing shadcn components (Calendar, Chart, Combobox, Command, Data Table, Date Picker, Direction, Empty, Form, Hover Card, Input OTP, Item, Kbd, Menubar, Native Select, Navigation Menu, Pagination, Popover, Progress, Resizable, Scroll Area, Separator, Sheet, Sidebar, Sonner, Table, Tabs, Toggle, Toggle Group)#223binnodon wants to merge 6 commits intostefan-karger:devfrom
binnodon wants to merge 6 commits intostefan-karger:devfrom
Conversation
Implemented all 5 phases from IMPLEMENTATION_PLAN.md adding 20 components to achieve complete feature parity with shadcn-ui. Phase 1 - Foundation Components (4): - direction: RTL/LTR provider with language switching - kbd: Keyboard shortcut display component - empty: Empty state component with variants - native-select: Styled native select element Phase 2 - Core Primitives (5): - progress: Animated progress bar (Kobalte) - hover-card: Rich hover tooltips (Kobalte) - popover: Popup content container (Kobalte) - scroll-area: Custom scrollable area with draggable scrollbar - menubar: Horizontal menu bar (Kobalte) Phase 3 - Dependent Components (3): - toggle-group: Multiple toggle buttons (Kobalte) - item: Flexible list item component - pagination: Page navigation with ellipsis Phase 4 - Complex Components (4): - navigation-menu: Multi-level navigation with animations - form: Form integration with @modular-forms/solid - combobox: Searchable select with filtering (Kobalte) - command: Command palette with fuzzy search Phase 5 - Third-Party Integrations (4): - input-otp: OTP/PIN input with auto-focus and paste support - resizable: Resizable panels with @corvu/resizable - sonner: Toast notifications with solid-sonner - chart: 6 chart types with Chart.js integration Component Fixes: - Fixed Progress animation using CSS transforms - Fixed Scroll Area scrollbar dragging with cursor tracking - Fixed Direction component with proper RTL demo - Fixed Toggle Group visual feedback with data-[pressed] styles - Fixed Form accessibility (label for/id, autocomplete) - Fixed Combobox positioning and structure - Added Toggle component documentation Configuration Changes: - Added static HMR port (24678) for WSL devcontainer - Disabled SSR in app.config.ts - Added dependencies: @corvu/resizable, chart.js, solid-sonner All components: - Follow solid-ui conventions (splitProps, cn, data-slot) - Use Kobalte/Corvu primitives where available - Support dark/light themes - Include accessibility features - Have comprehensive examples and MDX documentation - Registered in _registry.ts with proper dependencies Total registry items: 142 Component library status: 56/56 (100% parity with shadcn-ui) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Completed full porting plan for 4 legacy solid-ui components with Tailwind
CSS v4 updates and bug fixes.
Components Ported:
1. Table (fixes and documentation):
- Fixed typo on line 79: translate-y-[2px]0 → translate-y-[2px]
- Added table-demo.tsx example with invoice data
- Created table.mdx documentation page
- Added to navigation between Tabs and Toggle
- Component already TW v4 compatible
2. Calendar (registration and fixes):
- Registered existing calendar.tsx component in registry
- Created calendar-demo.tsx example
- Created calendar.mdx documentation
- Fixed CalendarHeading to display month/year with reactive tracking
- Uses formatMonth() function for proper SolidJS reactivity
- Works correctly in both standalone and portal (Date Picker) contexts
- Uses @corvu/calendar primitive (already in dependencies)
3. Data Table (full implementation):
- Created 5 progressive examples:
* data-table-demo.tsx - Basic sortable table
* data-table-pagination-demo.tsx - With pagination controls
* data-table-row-selection-demo.tsx - With checkboxes
* data-table-filtering-demo.tsx - With email column filtering
* data-table-column-visibility-demo.tsx - Toggle column visibility
- Comprehensive MDX documentation with step-by-step guide
- Installed @tanstack/solid-table v8.21.3
- Uses existing Table, Button, Checkbox, DropdownMenu, Input components
- Replaced TextField with Input (TextField doesn't exist in current repo)
- Replaced DropdownMenuLabel with DropdownMenuGroupLabel
- Modern TW v4 idioms (gap-x-2 instead of space-x-2)
4. Date Picker (full implementation):
- Created date-picker.tsx with 8 exports:
* DatePicker, DatePickerTrigger, DatePickerInput
* DatePickerContent, DatePickerCalendar
* DatePickerPresets, DatePickerPreset
* formatDate, formatDateRange utilities
- Created 4 examples:
* date-picker-demo.tsx - Single date selection
* date-picker-range-demo.tsx - Date range picker (2 months)
* date-picker-with-presets-demo.tsx - With quick-select buttons
* date-picker-form-demo.tsx - Form integration
- Fixed placeholder display ("Pick a date" shows when no date selected)
- Changed from <Show> to conditional rendering for proper placeholder fallback
- Complete MDX documentation
- Composes Popover + Calendar + Button + Input
- Uses Intl.DateTimeFormat for locale-aware formatting
- Uses @corvu/calendar for calendar grid
Bug Fixes:
- Calendar heading now displays month/year correctly
- Calendar heading uses reactive function for proper signal tracking
- Date picker placeholders display before date selection
- Month navigation updates heading text reactively
- Works in both standalone Calendar and Date Picker portal contexts
Tailwind CSS v4 Migration:
- All components use v4-compatible classes
- Modern idioms: gap-x-2 instead of space-x-2
- All existing v4 patterns maintained
- Text color classes added where missing
Registry Updates:
- Total items: 155 (up from 142)
- All new components and examples registered
- Navigation entries added (Calendar, Data Table, Date Picker, Table)
- Proper dependencies and registry dependencies specified
Dependencies Added:
- @tanstack/solid-table@8.21.3 for Data Table examples
All components:
- Follow solid-ui conventions (splitProps, cn, data-slot)
- Pass TypeScript validation
- Include comprehensive examples and documentation
- Support dark/light themes
- Tested and verified working
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Create sidebar-demo.tsx with collapsible sidebar preview - Add sidebar.mdx documentation page with usage and features - Register sidebar-demo in examples registry - Add sidebar to components navigation - Use descendant selector to constrain sidebar within preview panel Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Component Documentation: - Add Sheet component documentation with 3 examples (basic, side variations, no close button) - Add Separator component documentation with 4 examples (basic, vertical, menu, list) - Add Tabs component documentation with basic example using cards Component Fixes: - Fix Badge component missing required 'as' prop for Polymorphic component - Fix Scroll Area scrollbar positioning to properly reach bottom when scrolled - Add showCloseButton prop to Sheet component (defaults to true) - Fix Carousel documentation missing ComponentPreview import Technical Changes: - Update scroll-area to use absolute positioning instead of flexbox for thumb - Change Sheet to support hiding close button via showCloseButton prop - Update navigation to include Sheet, Separator entries - Add registry entries for all new examples - Rebuild registry (164 items) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
@binnodon is attempting to deploy a commit to the Stefan EK's projects Team on Vercel. A member of the Team first needs to authorize it. |
🦋 Changeset detectedLatest commit: 43fa1e0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Too many files changed for review. ( |
Open
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.
Overview
As one does these days, I pointed some coding agents to this task and they added the missing components. This PR adds comprehensive documentation and examples for 30 missing shadcn components, achieving 100% feature parity with shadcn-ui. The work includes complete MDX documentation,
interactive examples, bug fixes, and code formatting improvements.
Components Added/Enhanced (30 total)
Phase 1-4: Core Components (20)
Phase 5: Legacy Component Ports (4)
Additional Components (6)
Bug Fixes
Critical Fixes
🐛 Badge - Fixed missing
as="span"prop for Polymorphic component[kobalte]: Polymorphic is missing the required 'as' propas="span"to Badge component🐛 Scroll Area - Fixed scrollbar thumb not reaching bottom when scrolled
topandheightproperties🐛 Calendar - Fixed heading not displaying month/year in DatePicker context
CalendarPrimitive.useContext()Enhancements
showCloseButtonprop (defaults totrue)Statistics
Technical Details
Component Architecture
asprop for flexibilityDependencies Added
@tanstack/solid-table@8.21.3- For data table functionalityCode Quality
File Structure
apps/docs/src/
├── registry/
│ ├── ui/ # 20+ new components, 5 modified
│ ├── examples/ # 50+ new example files
│ └── index.tsx # Auto-generated registry
├── routes/docs/components/ # 30 new MDX files
└── config/docs.ts # Navigation updated
Testing
All components have been manually tested:
Specific Test Cases Verified
Migration Guide for Users
Users can now install any of these 30 components using the CLI: