The goal is to create a lightweight / performant, customizable, and accessible component library for vue 3.x users.
This project is in a very pre-alpha state, but ontributions are welcome and encouraged! To get started, fork this repo and follow these steps, filling in the info as needed.
$ git clone https://github.com/<YOUR_INFO>/onyx.git
$ cd onyx
$ yarn
$ yarn dev
- Button
- Surface
- SurfaceHeader
- SurfaceBody
- SurfaceFooter
- Grid / GridRow / GridColumn
- Input
- Avatar
- Textarea
- List / ListItem
- Badge
- Calendar
- Chip
- DatePicker
- Dialog
- Divider
- Icon
- Menu
- Overlay
- Pagination
- ProgressLinear / ProgressCircular
- Snackbar
- Stepper
- Table
- Tabs
- TimePicker
- Treeview
Currently in a pre-alpha state, theres a lot to do still. Here are few things in no particular order...
- Improve documention (More automation and standardization)
- Migrate docs to separate repo
- Improve TypeScript declarations
- Improve Accessibility (Constant WIP)
- Export as ESM for library
(Waiting for Vite updates)Update This is functional using a custom Rollup config. - CI / CD
- Tests
- Themeing / Customization
- Breakpoints / Tablet & Mobile friendliness
Components are all written using render functions and defineComponent
. Functional components have been given a rehaul in 3.x, but because there isn't really a performance benefit to writing them anymore this library won't use them.