The Universal UI Library
π Overview
π₯―Papanasi (pronunced pΙpΙnΓ¦Κ or papanash) is a UI library to use cross Frameworks. A set of components to use in Angular, Preact, Qwik, React, Solid, Svelte, Vue and Web Components. Is based on the Mitosis library and documented using Storybook.
π Platforms
Angular
|
Preact
|
Qwik
|
React
|
Solid
|
Svelte
|
Vue
|
Web Comps.
|
π£ Manifesto
This library born as a pet project to create universal components, easy to extend in any project and easy to use with any framework, is based on the next principles:
A Component...
- ...should be cross-libraries but the code should be written once.
- ...should have a minimum style but easy to extend it via CSS by any dev.
- ...should provide some optional themes to make it easy to use.
- ...should be accessible (FUTURE RELEASES).
- ...should be made for developers not for non-coders, they will decide how to style most of the things.
- ...should be tree-shakable.
- ...should be compatible with StoryBook.
- ...should be inspired by other UI Libraries and don't reinvent the wheel.
- ...should be easy to create new variants.
𧩠Elements Showcase
Layout
|
Container
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Row
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Column
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Grid
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Components
|
Avatar
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Button
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Code
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=yellow&logo=w3c)
|
Pill
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=w3c)
|
Spinner
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=yellow&logo=w3c)
|
Enterprise
|
Itchio
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=red&logo=w3c)
|
Extensions
|
Tooltip
![React status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=success&logo=react)
![W3c status](https://img.shields.io/static/v1?message=%20&labelColor=5c5c5c&logoColor=white&label=%20&color=yellow&logo=w3c)
|
π Setup and scripts
With npm:
$ npm install @papanasi/preact
With yarn:
$ yarn add @papanasi/preact
π Documentation
To learn more about Papanasi, check the documentation.
π License
MIT
π Contributing
Contributing Guidelines
To build the project run:
> yarn compile
You can choose which frameworks to build by passing the --platforms
:
> yarn compile --platforms react vue
It is also possible to specify which components to build --elements
:
> yarn compile --elements avatar pill
If you want to disable the linting use --no-lint
:
> yarn compile --no-lint
To contribute and watch the changes in local environment just use:
> yarn dev
Finally, to launch storybook use:
> yarn start
Thanks to everyone who contributed:
![Contributors](https://contrib.rocks/image?repo=ckgrafico/papanasi)
Made with π by Quique Fdez Guerra