Thanks for contributing!
- Make sure the issue hasn't been raised yet
- Include screenshots or animated GIFs in your issue whenever needed (if visual issue)
- The
master
branch is a snapshot of the latest release. Submit your PR in thedevelop
branch - Include screenshots or animated GIFs in your pull request whenever needed (if visual changes)
- It's OK to have multiple small commits as you work on the PR - we will let GitHub automatically squash it before merging
- DO NOT commit the
lib
anddist
folder, use it only for testing on your end - If adding new feature:
- Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it
It has to work, and have great UX on both platforms.
- Keep it simple.
- Performance is UX, keep it lightweight.
- Avoid HTML-only components, if it doesn't need JavaScript, then it doesn't need Vue (with a few exceptions).
The only properties that uses hardware acceleration are:
- transform
- opacity
- filter
These are two great articles about it: https://medium.com/outsystems-experts/how-to-achieve-60-fps-animations-with-css3-db7b98610108 and https://www.sitepoint.com/introduction-to-hardware-acceleration-css-animations/.
And here is one about the FLIP technique (which <transition-group>
uses internally): https://aerotwist.com/blog/flip-your-animations/.
Add comments if method is too complex and/or whenever you judge necessary.
- Always on a separated file in
/src/scss/components
- Use .scss extension
- Use kebab-case
You need at least Node.js version 20.10.0.
After cloning the repository, install the dependencies:
$ npm install
Common used NPM scripts: (Quick Start)
To compile the code in watch mode:
# build lib in watch mode
$ npm run build:lib:watch
Then open up new bash and run the live server concurrently with the above command, and then start working to see your changes live on http://localhost:8080:
# build and launch live server of docs in watch mode to see the changes (it may take a few seconds)
$ npm run build:docs:watch
After writing tests, run the following command:
# launch tests suite
$ npm run test
# test typescript
$ npm run test:ts