TMF

@tmf/email-front (6.1.1)

Published 2026-08-03 09:31:08 -03:00 by tarcisio

Installation

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

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). Distinto do @tmf/mailbox-front (inbound multicanal de mensageria WhatsApp/E-mail/SMS) — este pacote é o e-mail 1:1 do colaborador, com contrato (EmailApiClient) e backend próprios.

  • Versão: 0.1.0
  • Distribuição: registry npm privado (org TMF, Forgejo)
  • Peer deps: react, react-dom (>= 18)
  • Deps: @tanstack/react-query, lucide-react

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 (S2S, espelha /api/service/mailbox). O Provider monta sozinho o EmailApiClient (fetch sobre ${baseUrl}/messages) 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 próprio do módulo (packages/email/back — SDK Python — e packages/email/back — serviço FastAPI) implementa:

Método Endpoint Retorno
listMessages(params) GET /api/service/email/messages EmailListResponse

F0 (scaffold): o contrato acima é a superfície mínima para o módulo compilar e montar ponta-a-ponta. O serviço ainda não tem a rota de domínio implementada (só /health) — a integração real com Graph/Gmail e a rota de mensagens chegam em fases seguintes deste epic.

Exports

  • EmailApp — componente top-level (Provider + header + caixa de e-mail)
  • EmailInbox — só a tabela da caixa de e-mail (uso avulso, stub)
  • EmailProvider, useEmailContext, useEmailUI
  • defaultEmailUIPrimitives, mergeEmailUI (slot pattern de UI)
  • emailQueryKeys, 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)

⚠️ Não publicado ainda. Preparado para publish em TH-58610 (LICENSE, CONFORMANCE.md, versão consistente package.json == src/version.ts) — o publish real (tag + CI) é passo humano, pós-merge do epic TH-58593 em develop.

  • Registry: npm privado Forgejo TMF (https://git.trademarketingforce.com/api/packages/TMF/npm/, já configurado em publishConfig)
  • Trigger: .forgejo/workflows/publish.yml — dispara em push:tags: v* ou workflow_dispatch manual (canônico: skill /release; push:tags é instável no Forgejo Actions — sempre confirmar rodada verde antes de considerar publicado)
  • Pré-requisito: bump de version no package.json antes da tag (o CI não bumpa sozinho)

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
react >=18.0.0
react-dom >=18.0.0

Keywords

tmf email mail inbox react components plug-and-play
Details
npm
2026-08-03 09:31:08 -03:00
1085
Trade Marketing Force LTDA
UNLICENSED
latest
122 KiB
Assets (1)
Versions (8) View all
6.1.1 2026-08-03
6.1.0 2026-07-30
6.0.0 2026-07-27
5.0.0 2026-07-16
4.1.0 2026-07-14