Referencia de API — TypeScript
Una referencia curada por paquete (TypeScript 5.6+ strict). Cada página documenta tipos, hooks, componentes y utilidades.
Nota reciente:
@arqel-dev/uifue migrado a shadcn/ui (variantenew-york) con primitivas basadas en Radix UI (el paqueteradix-ui). Los componentes shadcn se copian a la app vía re-export de@arqel-dev/ui; los tokens CSS siguen la convención shadcn (--background,--foreground,--primary,--radius, etc.).
Paquetes
| Paquete | Contenido | Página |
|---|---|---|
@arqel-dev/types | Discriminated unions de FieldType/ColumnType/FilterType, FormSchema, ResourceMeta, SharedProps | Types → |
@arqel-dev/react | createArqelApp, <ArqelProvider>, contextos, utilidades | React → |
@arqel-dev/hooks | 10+ Hooks (useResource, useArqelForm, useTable, useNavigation, useFlash, useCanAccess, etc.) | Hooks → |
@arqel-dev/ui | Componentes Shell, Table, Form, Action, Flash, Utility + primitivas shadcn (Radix) + FieldRegistry | UI → |
@arqel-dev/auth | Páginas Inertia (Login, Register, ForgotPassword, ResetPassword, VerifyEmail) + helpers de form | (stub) |
@arqel-dev/fields | 21 inputs ricos registrados vía FieldRegistry + helper slugify | Fields → |
@arqel-dev/theme | <ThemeProvider>, useTheme(), tokens shadcn (light/dark/system) | (stub) |
Total: 7 paquetes JS (types, react, hooks, ui, auth, fields, theme).
Convenciones generales
strict: true+noUncheckedIndexedAccess: true+exactOptionalPropertyTypes: trueen cada tsconfig (extiendetsconfig.base.json)- Subpath exports declarados en
package.json→ tree-shake friendly. Nunca importes desdedist/directamente peerDependenciespara React 19+ y@inertiajs/react2+ — las apps controlan la versión- Build vía
tsup— solo ESM,.d.tsgenerado, sourcemaps incluidos - Side-effects:
falseen cada paquete excepto@arqel-dev/fields(que declarasideEffects: ['./dist/register.js']para registro automático) - Tests vía Vitest + jsdom +
@testing-library/react— a nivel de tipo víaexpect-type
Auto-generación (TODO)
Como con la referencia PHP, esta documentación está curada manualmente. La auto-generación vía TypeDoc llegará como un follow-up:
# .github/workflows/docs-deploy.yml (future)
- name: Generate TypeDoc
run: typedoc --out apps/docs/reference/typescript/_generated packages-js/*/src/index.tsLos criterios de DOCS-006 ("Types/interfaces/hooks/components documentados vía TSDoc", "búsqueda integrada") cubiertos por la auto-generación quedan pendientes hasta ese PR.
Relacionado
- PHP: Referencia de API PHP
- Source:
packages-js/