A compact React and TypeScript component library focused on foundations, accessible APIs, testing, documentation, and verified package distribution.
FeitozaUI is a published React and TypeScript component library for practical interfaces, available on npm as @feitoza-ui/core. It provides reusable components alongside documented APIs, design foundations, accessibility rules, tests, and verified package distribution.
- React and TypeScript-first component APIs.
- Public package surface with foundational atoms, core molecules, and design tokens.
- Storybook documentation for foundations, primitives, guidelines, accessibility, and roadmap.
- Vite library build with verified ESM, CJS, UMD, and bundled TypeScript declarations.
- Vitest and Testing Library coverage for public components.
- Architecture docs, ADRs, component guidelines, release planning, and maintenance docs.
FeitozaUI V1 is intentionally compact and focused on quality before breadth. The package is published on npm and ready to be consumed as @feitoza-ui/core.
Current:
- Editorial V1 catalog:
Button,Checkbox,Radio,RadioGroup,Input,Textarea,Select,Tabs,Surface, andCard. - Supporting public primitives:
Badge,Box,Divider,EmptyState,Field,Flex,IconButton,Progress,Skeleton,Spinner, andVisuallyHidden. - Foundations: colors, typography, spacing, radii, motion, borders, focus, states, and semantic mappings.
- Package artifacts verified through local tarball consumers for React + Vite and Next.js App Router.
- Published npm package:
@feitoza-ui/core@0.3.0. - Storybook structured as the documentation surface.
- Accessibility and behavior coverage across the active public surface.
Not current:
- Full theme system.
- Complete component catalog.
- BFF, micro-frontends, or production showcase.
FeitozaUI is organized around three surfaces:
- Core library: reusable primitives, tokens, types, and public exports.
- Storybook: documentation and component exploration.
- Next app: a future frontend-only showcase surface.
See Architecture and Architecture Decisions.
The package name is:
@feitoza-ui/coreThe V1 editorial catalog is documented in V1 Scope. Current public exports include:
export {
Alert,
Badge,
Box,
Button,
Card,
Checkbox,
Divider,
EmptyState,
Field,
Flex,
IconButton,
Input,
Progress,
Radio,
RadioGroup,
Select,
Skeleton,
Spinner,
Surface,
Tabs,
Textarea,
VisuallyHidden
} from '@feitoza-ui/core';Install the published package from npm:
npm install @feitoza-ui/coreyarn add @feitoza-ui/corepnpm add @feitoza-ui/core- React 18 or 19.
styled-componentsv6.- TypeScript is optional, with first-class type support included.
import { Button, Field, IconButton, Input } from '@feitoza-ui/core';
export function ProfileForm() {
return (
<form>
<Field.Root required>
<Field.Label>Name</Field.Label>
<Input name="name" />
<Field.HelperText>Your full name</Field.HelperText>
</Field.Root>
<Button type="submit">Save</Button>
<IconButton aria-label="Close" icon={<span aria-hidden="true">×</span>} />
</form>
);
}For local development:
yarn install
yarn.cmd type-check
yarn.cmd lint
yarn.cmd test --run
yarn.cmd storybookBuild the package locally:
yarn.cmd build
yarn.cmd test:consumersBadge,Box,Card,Divider,Flex,Surface
Button,IconButton,Field,Input,Textarea,Select,Checkbox,Radio,RadioGroup
Alert,EmptyState,Progress,Skeleton,Spinner
Tabs
VisuallyHidden
FeitozaUI currently exposes a small token set:
semanticColorscolorsspaceradiitypographyfontSizes
The current token model is intentionally simple. Primitive, semantic, and component tokens are documented as future evolution in Foundations.
- Accessibility by default.
- TypeScript-first APIs.
- Predictable component props.
- Composition over premature abstraction.
- Documentation as part of delivery.
- Tests describe behavior.
- Tokens before repeated hardcoded values.
- Performance should be measured.
See Core Principles.
.
|-- .storybook/ # Storybook configuration
|-- docs/ # Project documentation
|-- public/ # Static assets used by the app/docs
|-- src/
| |-- app/ # Next.js app, future showcase surface
| |-- components/ # Public components under active platform scope
| |-- design-tokens/ # Token definitions and token docs
| |-- showcase/ # Storybook-only showcase compositions
| `-- stories/ # Storybook MDX pages
|-- vite.config.ts # Library build and Vitest configuration
|-- tsconfig.lib.json # Type declaration build scope
`-- package.jsonThe project uses Vitest and Testing Library.
yarn.cmd test --runCurrent tests cover rendering, interactions, keyboard behavior, disabled behavior, ref forwarding, native prop pass-through, controlled state, form semantics, and accessibility expectations for primitives.
See Testing Strategy.
Storybook is treated as the project documentation product.
yarn.cmd storybook
yarn.cmd build-storybookIt currently documents Overview, Getting Started, Foundations, Components, Guidelines, Accessibility, and Roadmap.
See Storybook Strategy.
Run the complete local release-readiness set:
yarn.cmd lint
yarn.cmd type-check
yarn.cmd test --run
yarn.cmd build
yarn.cmd build-storybook
yarn.cmd test:a11y
yarn.cmd test:visual
yarn.cmd test:consumers
npm.cmd pack --dry-runtest:consumers packs the library, installs that exact tarball into the React + Vite and Next.js fixtures, and runs their type-check and production builds.
The roadmap is maintained in docs/roadmap/ROADMAP.md.
Short-term focus:
- Surface primitives and Card 2.0.
- Documentation and repository polish.
- Continued accessibility and behavior coverage.
- Continued release and versioning maintenance.
Delivered in V1:
- ✅
Field - ✅
VisuallyHidden - ✅
IconButton
Future component work remains outside the V1 scope: Portal, focus primitives, Dialog, Popover, and Tooltip.
Future ideas such as BFF, micro-frontends, monorepo, CLI, and React Native are documented separately in Future Roadmap.
Start with the Documentation Index.
Key documents:
- Vision
- Architecture
- Surface System
- Component Language
- Layout Principles
- Component Guidelines
- Accessibility
- Releases
- FAQ
This is currently a portfolio project, but contribution standards are documented.
See Contributing, Code Style, and Component Checklist.
MIT (c) 2026 Maria Fernanda.