API Reference — TypeScript
Referência curada por pacote (TypeScript 5.6+ strict). Cada página documenta types, hooks, components e utilities.
Nota recente:
@arqel-dev/uifoi migrado para shadcn/ui (variantenew-york) com primitivas baseadas em Radix UI (radix-uipackage). Os componentes shadcn são copiados ao app via@arqel-dev/uire-export; tokens CSS seguem a convenção shadcn (--background,--foreground,--primary,--radius, etc.).
Pacotes
| Pacote | Conteúdo | Página |
|---|---|---|
@arqel-dev/types | Discriminated unions de FieldType/ColumnType/FilterType, FormSchema, ResourceMeta, SharedProps | Types → |
@arqel-dev/react | createArqelApp, <ArqelProvider>, contexts, utilities | React → |
@arqel-dev/hooks | 10+ hooks (useResource, useArqelForm, useTable, useNavigation, useFlash, useCanAccess, etc.) | Hooks → |
@arqel-dev/ui | Shell, Table, Form, Action, Flash, Utility components + primitivas shadcn (Radix) + FieldRegistry | UI → |
@arqel-dev/auth | Pages Inertia (Login, Register, ForgotPassword, ResetPassword, VerifyEmail) + form helpers | (stub) |
@arqel-dev/fields | 21 rich inputs registrados via FieldRegistry + helper slugify | Fields → |
@arqel-dev/theme | <ThemeProvider>, useTheme(), tokens shadcn (light/dark/system) | (stub) |
Total: 7 pacotes JS (types, react, hooks, ui, auth, fields, theme).
Convenções gerais
strict: true+noUncheckedIndexedAccess: true+exactOptionalPropertyTypes: trueem todos os tsconfigs (extendstsconfig.base.json)- Subpath exports declarados em
package.json→ tree-shake friendly. Nunca importar dedist/directamente peerDependenciespara React 19+ e@inertiajs/react2+ — apps controlam a versão- Build via
tsup— ESM only,.d.tsgerado, sourcemaps incluídos - Side-effects:
falseem todos os pacotes excepto@arqel-dev/fields(que declarasideEffects: ['./dist/register.js']para o registo automático) - Testes via Vitest + jsdom +
@testing-library/react— type-level viaexpect-type
Geração automática (TODO)
Como na referência PHP, esta documentação é curada manualmente. Auto-geração via TypeDoc chega como follow-up:
yaml
# .github/workflows/docs-deploy.yml (futuro)
- name: Generate TypeDoc
run: typedoc --out apps/docs/reference/typescript/_generated packages-js/*/src/index.tsOs critérios de DOCS-006 ("Types/interfaces/hooks/components documentados via TSDoc", "search integrado") cobertos pela auto-geração ficam pendentes até esse PR.
Related
- PHP: API Reference PHP
- Source:
packages-js/