• Stars
    star
    551
  • Rank 80,726 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🥯Papanasi is the Frontend UI library to use cross Frameworks. A set of components to use in Angular, Preact, Qwik, React, Solid, Svelte, Vue and Web Components

Papanasi

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.

Package version GitHub stars Tweet Sponsor

🚀 Platforms


Angular
Angular Sandbox Angular downloads

Preact
Preact Sandbox Preact downloads

Qwik
Qwik Sandbox Qwik downloads

React
React Sandbox React downloads

Solid
Solid Sandbox Solid downloads

Svelte
Svelte Sandbox Svelte downloads

Vue
Vue Sandbox Vue downloads

Web Comps.
Webcomponents Sandbox Web Components downloads

🔮 Demos


Nextjs
Nextjs Demo

Nuxt 3
Nuxt Demo

Svelte Kit
Svelte Kit Demo

Solid Start
Solid Start Demo

Qwik City
Qwik Demo

📣 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
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Row
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Column
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Grid
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Components


Avatar
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Button
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Code
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Pill
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Spinner
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Enterprise


Itchio
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

Extensions


Tooltip
Angular status Preact status Qwik status React status
Solid status Svelte status Vue status W3c status
Preview

📚 Setup and scripts

With npm:

$ npm install @papanasi/[target] # ex: @papanasi/react

With yarn:

$ yarn add @papanasi/[target] # ex: @papanasi/vue

🪲 Debugger

To debug elements you can use setDebugLevel function from @papanasi/[target] package. This function is totally optional and the default value is DebugLevel.None the recommended is to use DebugLevel.Log to have a log of the different events happening.

window.addEventListener('load', () => {
  setDebugLevel(DebugLevel.Log);
});

📗 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

Our Sponsors


Sponsor the project

HelpDev

Thanks to everyone who contributed:

Contributors

And special thanks to @samijaber @mhevery and Builder project

More Repositories

1

Frontend-Boilerplates

Collection of Boilerplates with ES6, Vue, React, Nuxt, TypeScript, SCSS, Nodejs. Using good practices and file structures to inspire your real projects.
JavaScript
372
star
2

Cordova-Multiplatform-Template

Cordova template for native look in HTML5 Apps with Ionic an Angular
JavaScript
190
star
3

inversify-props

Wrapper of Inversify to inject your dependencies in the components, made with TypeScript and compatible with Vue, React and other component libraries.
TypeScript
81
star
4

Segoe-mdl2-assets-css

Unnoficial Windows 10 Segoe MDL2 Asset to CSS
CSS
23
star
5

jQuery_HandlebarsJS

jQuery plugin for use Handlebarsjs
JavaScript
21
star
6

radial.js

JavaScript library for radial menus
JavaScript
20
star
7

inversify-hooks

Wrapper of inversify-props to inject your dependencies in the components, made with TypeScript using hooks.
TypeScript
18
star
8

ScreenshotToCodeSandbox

Simply convert a screenshot image to Code Sandbox project
SCSS
15
star
9

FooCards-Nuxt

Example of a Scalable Nuxt Project with the boilerplate https://github.com/CKGrafico/Frontend-Boilerplates/tree/nuxt-dev
TypeScript
13
star
10

remote-teams

🔭 A list of websites and blog posts to help your teams in the Remote Work world.
12
star
11

jQuery-Hammer-CustomSwipe

Custom Swipe with jQuery and HammerJS
JavaScript
7
star
12

lazy-analytics

Package that helps to add Google Analytics, Adobe Analytics, Facebook Pixel, Twitter Pixel and Linkedin Pixel to your website.
TypeScript
6
star
13

Why-TypeScript

Slides, code samples and demos of "Why TypeScript" conference, all on the same project.
CSS
6
star
14

Angular-Radial-Progress

An Angular directive to have a progress bar with animation and SVG
HTML
5
star
15

Show_Loading_jQuery

Plugin para ver un loading mediante jquery
JavaScript
4
star
16

Vue-TypeScript-Demo

Demo of: Empowering Vue with TypeScript, Inversify, Vuex and some other super tools.
JavaScript
4
star
17

verb-tenses

English verb tenses table for desktop and mobile
HTML
3
star
18

Angular1.5-Sample-Project

One more example, why not?
JavaScript
3
star
19

Ejemplo_plugin_reagrupar_jQuery

Ejemplo de la charla sobre el plugin de jQuery para reagrupar elementos
JavaScript
3
star
20

talentforyourevent

¡Find talent for your next event!
Vue
3
star
21

WookMark_Example

JavaScript
3
star
22

Twitter-filter-tampermonkey

Script for twitter you can filter words or accounts with this filter using tampermonkey
JavaScript
3
star
23

HTML5-Windows8-Template

Windows8 HTML5 base project with Gulp SASS Handlebars etc
JavaScript
2
star
24

Social_sharing_Example

Ejemplo de compartir enlaces externos jQuery
2
star
25

Angular2-Environment-Server-Example

Example repository of how to get environments variables of your server (ex: Azure) from your Angular App with a simple backend
TypeScript
2
star
26

WinJS-Fluid-Template

Repo de Fluid WinJS http://visualstudiogallery.msdn.microsoft.com/88008001-cb17-4245-9486-2d210546c94e
JavaScript
2
star
27

WinjsMVR

MVR Library for work with WinJS and Windows 8
JavaScript
2
star
28

CKGrafico

Hello my friend, I'm Quique Fdez Guerra 👋
2
star
29

Bilbostack.Web

F#
1
star
30

Node-SPA-Boilerplate

A Boilerplate to work with Node and SPAs
JavaScript
1
star
31

Pebble-HelloWorld

HelloWorld for Pebble specially thanks to @cloudpebble and @KatharineBerry
C
1
star
32

Flight-time-exercices

Some exercices that I do to practise, most of them during my flights without internet
JavaScript
1
star
33

vscode-icomoon

VSCode extension to preview icomoon icons in style files
TypeScript
1
star
34

SASS-Responsive-Custom-Grid

Grid template with custom responsive classes
1
star
35

Net-SpaMetadata

Middleware to modify Metadata information in Net core SPA pages
C#
1
star
36

jQuery-LoadWhenScroll

It's simple plugin for load content when you scroll, it's diferent than other plugins because it's very simple and only 2-3Kb
JavaScript
1
star
37

WinjsTools

Helper for Winjs
JavaScript
1
star
38

WinJS-Languages

Helper for use languages in WinJS
JavaScript
1
star