TMF

@tmf/email-front (6.6.0)

Published 2026-11-03 01:12:51 -03:00 by tarcisio

Installation

@tmf:registry=
npm install @tmf/email-front@6.6.0
"@tmf/email-front": "6.6.0"

About this package

@tmf/email-front

Módulo Email plug-and-play da plataforma TMF — caixa de e-mail pessoal do usuário autenticado (Microsoft Graph / Gmail).

Extraído do módulo de e-mail do Hub (tmf-management). É o e-mail 1:1 do colaborador, com contrato (EmailApiClient) e backend próprio (tmf-email-back). O antigo @tmf/mailbox-front (inbound multicanal) foi removido do monorepo (TMFP-61408) — inbound tem dono único no service-desk.

  • Versão: ver package.json (PACKAGE_VERSION é gerado dele no prebuild; não replicada aqui)
  • Distribuição: registry npm privado (org TMF, Forgejo)
  • Peer deps: react, react-dom (>= 18)
  • Deps: @tanstack/react-query, lucide-react, dompurify
  • @tmf/platform-core: devDependency inlined no bundle — o host não instala

Instalação

npm install @tmf/email-front

Uso (plug-and-play)

import { EmailApp } from '@tmf/email-front'

<EmailApp baseUrl="/api/service/email" getToken={() => auth.token} />

⚠️ baseUrl deve ser /api/service/email — é o prefixo que o tmf-email-back expõe (paths absolutos nos sub-routers). O client interno concatena paths crus (${baseUrl}/messages), então aqui o baseUrl carrega o prefixo do serviço (divergência conhecida da Convenção A do ADR-002 — ver INTEGRATION.md §4/§5). O Provider monta sozinho o EmailApiClient e um QueryClient interno — o host não precisa prover <QueryClientProvider>.

Uso (modo avançado — client próprio)

import { EmailApp, type EmailApiClient } from '@tmf/email-front'

const client: EmailApiClient = {
  listMessages: (params) => http.get('/api/service/email/messages', params),
}

<EmailApp client={client} />

Contrato de backend

O front é agnóstico de transporte; o backend do módulo é o tmf-email-back (packages/email/back, FastAPI montável). O EmailApiClient (em src/types.ts) tem listMessages, getMessage, listFolders, getConfig e getThread obrigatórios; os demais métodos (envio, IA, OAuth, conta, aliases, sync, getMeta) são opcionais. O client default (baseUrl) fala com as rotas reais sob /api/service/email/* — catálogo de rotas em ../back/README.md.

⚠️ Divergência de contrato conhecida: o front pagina por cursor e o GET /messages do back pagina por page/per_page — compatível só para a 1ª página (ver INTEGRATION.md §8/§9).

Exports

  • EmailApp — componente top-level (Provider + header + caixa de e-mail)
  • EmailInbox — só a tabela da caixa de e-mail (uso avulso)
  • EmailChatView, EmailKanbanView, EmailSettingsView, ViewModeToggle, ComposeModal, AIButtons
  • EmailProvider, useEmailContext, useEmailUI
  • defaultEmailUIPrimitives, mergeEmailUI (slot pattern de UI)
  • emailQueryKeys, sanitizeEmailHtml, tipos (EmailMessage, EmailApiClient, EmailLabels, …)
  • PACKAGE_VERSION

Documentação

Arquivo Conteúdo
FUNCIONALIDADES.md Catálogo de componentes, hooks, slots e tipos
CONFORMANCE.md Checklist de conformidade ao padrão-ouro TMF
CHANGELOG.md Histórico de versões

Publicação (release)

  • Registry: npm privado Forgejo TMF (https://git.trademarketingforce.com/api/packages/TMF/npm/, já configurado em publishConfig)
  • Trigger: .forgejo/workflows/publish.yml — só workflow_dispatch (sem gatilho push: tags, TMFP-68196); push de tag não publica. Canônico: skill /release — sempre confirmar rodada verde antes de considerar publicado
  • Pré-requisito: bump de version no package.json antes (o CI não bumpa sozinho) e npm run prebuild para regenerar src/version.ts

Dependencies

Dependencies

ID Version
@tanstack/react-query ^5.0.0
dompurify ^3.0.0
lucide-react ^0.400.0

Development dependencies

ID Version
@tmf/platform-core file:../../platform-core
@types/dompurify ^3.0.5
@types/react ^18.2.47
@types/react-dom ^18.2.18
tsup ^8.5.1
typescript ^5.3.3

Peer dependencies

ID Version
@tmf/design-tokens >=0.6.0
react >=18.0.0
react-dom >=18.0.0

Keywords

tmf email mail inbox react components plug-and-play
Details
npm
2026-11-03 01:12:51 -03:00
40
Trade Marketing Force LTDA
UNLICENSED
141 KiB
Assets (1)
Versions (15) View all
6.9.0 2026-11-04
6.8.0 2026-11-04
6.6.0 2026-11-03
6.4.0 2026-10-30
6.3.0 2026-10-29