TMF

@tmf/agenda-front (0.2.0-rc.1)

Published 2026-10-29 16:19:53 -03:00 by tarcisio

Installation

@tmf:registry=
npm install @tmf/agenda-front@0.2.0-rc.1
"@tmf/agenda-front": "0.2.0-rc.1"

About this package

@tmf/agenda-front

Front da agenda da plataforma TMF (RN-AGD-34/37 da spec-agenda-lib.md): o <AgendaApp> com as visões dia, semana e lista, o modal de criação com a grade de horários livres, o detalhe do evento com remarcação, transição de status, assunção de pedido, histórico e exclusão lógica, a regra de recorrência e as ocorrências, o evento de dia inteiro, os bloqueios (leitura na grade e <BlockEditor>) do recurso (somente leitura), os editores de escala, expediente e parâmetros do tenant, e o widget embutível <RequestAppointment> (pedido com ou sem recurso, com janelas de preferência). Fala com o tmf-agenda-back (packages/agenda/back).

⚠️ 0.1.0, não publicado. O contrato está alinhado a feat/TMFP-70545-agenda-serie-ocupante@46ce8233, que ainda não está na develop. Não publicar versão antes do back. Detalhes em INTEGRATION.md.

Uso

import { AgendaApp, RequestAppointment } from '@tmf/agenda-front'
import '@tmf/agenda-front/styles.css'

<AgendaApp baseUrl="" getToken={getToken} locale="pt-BR" mode="staff"
           typeOptions={[{ value: 'follow_up', label: 'Retorno' }]} />

<RequestAppointment baseUrl="" getToken={getToken} subjectRef={patientRef}
                    typeRef="follow_up" source="alert" externalRef={alertId} />

Superfície pública

Export O que é
AgendaApp visões dia/semana/lista (com faixa de dia inteiro e marca de atrasado) + modal de criação (POST /events, comum ou dia inteiro); detalhe com remarcar/transições/assumir/histórico/excluir; showBlocks desenha GET /blocks
RecurrenceDialog + acceptsRecurrence, OccurrencesDialog regra de recorrência (5 kinds) e ocorrências (feita/pulada/mover, Idempotency-Key)
SeriesFormDialog, SeriesDialog, agendaSeriesInvalidationKeys série que ocupa: criação (POST /series, Idempotency-Key), consulta e cancelamento
BlockEditor, AGENDA_BLOCK_REASONS bloqueios do recurso editáveis (/blocks, mostra os conflicts)
DeleteEventDialog, ClaimDialog + isClaimable, HistoryDialog + truncateRef exclusão lógica (reason_code + note), assunção do pedido sem recurso, histórico de status por cursor
SlotGrid horários livres do recurso no dia (GET /resources/{ref}/slots)
ScheduleEditor escala do recurso (/schedules); governança só com agenda:manage_schedule, auto-gestão do recurso
BusinessHoursEditor expediente do tenant (/business-hours, só os dias alterados)
SettingsDialog, parseReminderOffsets parâmetros do tenant (/settings: antecedência, no-show, prazo do pedido, lembretes)
useCan, canAgenda, AGENDA_ACTION_PERMISSIONS esconde ação sem permissão (fail-closed, sem curinga)
allowedTargets, AGENDA_TRANSITIONS, AGENDA_RESCHEDULABLE_STATUSES tabela §2C sem expired
RequestAppointment widget de pedido requested (RN-AGD-37/35), com ou sem recurso, preferences até 5 janelas
AgendaProvider, useAgendaContext Provider (monta o ModuleProvider do platform-core)
createAgendaClientFromHttp, AGENDA_API_PREFIX client tipado das rotas do back (eventos, exclusão, assunção, histórico, recorrência, ocorrências, séries, /settings, /blocks, escala, expediente)
describeError, errorMessageFor, errorKeyFor erro do back (code) → mensagem traduzida
fetchAllEvents, AGENDA_LIST_PAGE_LIMIT, AGENDA_LIST_MAX_DAYS lista por cursor (todas as páginas do intervalo)
assertNoScopeFields, generateIdempotencyKey guardas do client
AGENDA_CATALOGS, ptBR, enUS, esES, useAgendaI18n i18n agenda.*
AGENDA_STATUSES, AGENDA_STATUS_TARGETS, AGENDA_FINAL_STATUSES, AGENDA_MAX_PREFERENCE_WINDOWS, tipos Agenda* vocabulário D1 (9 status, com expired) e tipos do contrato
agendaQueryKeys, StatusBadge, PACKAGE_VERSION utilitários

Fora desta versão

Edição da série (PATCH /series/{id}) — ver INTEGRATION.md §7. Contrato do back: feat/TMFP-70545-agenda-serie-ocupante@46ce8233.

Empacotamento

tsup (CJS + ESM), @tmf/platform-core empacotado no dist, react/react-dom como peers. Sem dependencies de runtime. dist/styles.css com os tokens --agenda-* (claro e escuro).

Desenvolvimento

npm run build -w @tmf/platform-core
npm run build -w @tmf/agenda-front
npm run typecheck -w @tmf/agenda-front
npm run test -w @tmf/agenda-front

Dependencies

Development dependencies

ID Version
@testing-library/jest-dom ^6.0.0
@testing-library/react ^16.0.0
@tmf/design-tokens >=0.5.0
@tmf/platform-core file:../../platform-core
@types/react ^18.2.47
@types/react-dom ^18.2.18
jsdom ^25.0.0
tsup ^8.5.1
typescript ^5.3.3
vitest ^4.1.11

Peer dependencies

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

Keywords

tmf agenda scheduling calendar react plug-and-play
Details
npm
2026-10-29 16:19:53 -03:00
82
Trade Marketing Force LTDA
UNLICENSED
436 KiB
Assets (1)
Versions (5) View all
0.2.0-rc.8 2026-11-04
0.2.0-rc.7 2026-11-04
0.2.0-rc.4 2026-11-04
0.2.0-rc.3 2026-11-03
0.2.0-rc.1 2026-10-29