ies2-aulapp-ui-kit
v0.1.7
Published
<img src="https://vitejs.dev/logo.svg" width="40" align="left" />
Readme
Aulapp UI Kit
Kit de componentes React construído com Vite (library mode), shadcn/ui, Tailwind CSS 4 e Iconsax. O objetivo é publicar este pacote no npm e reutilizá-lo em múltiplas aplicações, com Storybook integrado para desenvolvimento e documentação isolada.
Stack
- React 19 + TypeScript
- Vite 7 configurado para build de biblioteca (ES/CJS + declarações
.d.ts) - Tailwind CSS 4 +
@tailwindcss/postcss+ tokens do shadcn/ui - shadcn/ui + Radix UI para primitives
- Iconsax como biblioteca de ícones padrão
- Storybook 10 (builder Vite) + Vitest + Playwright para rodar histórias como testes
Pré-requisitos
- Node.js 20+
- pnpm 10 (
corepack enable pnpmfacilita o setup)
Instalação
pnpm installScripts principais
| Comando | Descrição |
| ---------------------- | --------------------------------------------------------------------------------------- |
| pnpm dev | Playground local (src/App.tsx) para inspecionar o kit em tempo real. |
| pnpm build | Gera os artefatos em dist/ (ESM, CJS e tipos) prontos para publicação no npm. |
| pnpm storybook | Sobe o Storybook em http://localhost:6006 com Tailwind e Iconsax carregados. |
| pnpm storybook:build | Exporta a documentação estática para storybook-static/. |
| pnpm test | Executa o Vitest com o addon do Storybook (cada story roda em Chromium via Playwright). |
| pnpm storybook:test | Atalho direto para o projeto de testes do Storybook. |
| pnpm lint | Executa ESLint, incluindo regras específicas para .stories. |
Estrutura
src/
├─ components/
│ └─ ui/
│ ├─ button.tsx # componente base usando shadcn/ui + Radix Slot
│ └─ button.stories.tsx # documentação e testes isolados (Storybook)
├─ lib/utils.ts # helper `cn` (clsx + tailwind-merge)
├─ index.ts # ponto de entrada do pacote (reexporta os componentes públicos)
└─ App.tsx # showcase local consumindo o UI KitTailwind + Tokens + Iconsax
- Tailwind 4 roda através de
@tailwindcss/postcss, configurado empostcss.config.cjs. - O tema (
tailwind.config.ts) replica os tokens do shadcn e já define variantes personalizadas. src/index.csscontém as variáveis CSS (modo claro/escuro) e@plugin "tailwindcss-animate"para animações.iconsax-reacté a biblioteca oficial de ícones; exemplos de uso aparecem noApp.tsxe nas stories.
Publicação no npm
- Ajuste
package.json(nome/versão, descrição, palavras-chave, etc.). - Gere o build:
pnpm run build. - (Opcional) Gere a doc estática:
pnpm run storybook:builde publique em algum CDN. - Faça login no npm (
npm login) e rodenpm publish --access public.
Importante: apenas os módulos exportados por
src/index.tsserão incluídos no pacote. Sempre reexporte novos componentes ali.
Contribuição
- Abra uma issue descrevendo o componente ou ajuste desejado.
- Crie uma branch
feat/<nome>oufix/<nome>. - Toda alteração deve incluir stories/variantes e passar por
pnpm lint,pnpm testepnpm build. - Envie o PR com screenshots/GIFs atualizados do Storybook.
Próximos passos sugeridos
- Adicionar tokens de fundação (cores, tipografia, espaçamentos) como páginas dedicadas no Storybook.
- Automatizar publicação (GitHub Actions + npm) e deploy do Storybook (Vercel/Netlify).
- Expandir a galeria usando
pnpm dlx shadcn@latest add <componente>para inputs, forms, banners, etc.
