Thanks for wanting to contribute! Veloria UI is a personal open-source project by JohnDev19 and contributions are genuinely welcome — bug fixes, new components, docs improvements, whatever you've got.
git clone https://github.com/JohnDev19/Veloria-UI.git
cd Veloria UI
npm install
npm run buildpackages/core— the@veloria-ui/corenpm package (all 102 components live here)cli— the@veloria-ui/clinpm package
- Create the component file inside the right category under
src/components/ - Re-export it from that category's
index.tsx - Add the named export to
packages/core/src/index.ts - Register it in
cli/src/registry.tswith its deps and category - Export TypeScript types properly
- TypeScript strict mode — no
anyunless truly necessary - All components must use
React.forwardRef - ARIA attributes on every interactive element — test with a screen reader if you can
- Support
asChildvia RadixSlotfor composable use cases - No hardcoded colors — everything goes through CSS custom properties
- Use
cn()fromutils/cn.tsfor class merging, never string concatenation
feat: add <ComponentName>
fix: <ComponentName> keyboard focus not trapped
docs: add usage example for <ComponentName>
chore: bump @radix-ui/* to latest
- Fork the repo
- Branch off
main:git checkout -b feat/my-component - Open a PR — fill in the template and describe what you changed
Issues/questions: https://github.com/JohnDev19/Veloria-UI/issues
By submitting a PR you agree your contribution will be licensed under MIT.