@adatechnology/notification-ui

中文文档
0.4.0发布于 2026/10/30MITTypeScriptES Module近 30 天下载 2487

Notification UI — headless hooks + componentes de inbox, sino e preferências

原始使用文档
文档目录7 节
  1. Instalação
  2. Uso
  3. A camada headless é a que importa em produto com marca
  4. Textos
  5. Estado de servidor
  6. Modelo padrão de e-mail na tela de modelos
  7. Licença

@adatechnology/notification-ui

UI de notificação em React: sino com contador, inbox paginado e painel de preferências. Em duas camadas — headless (hooks, sem markup) e componentes (o visual pronto).

Instalação

bun add @adatechnology/notification-ui

Peers: react, react-dom, @tanstack/react-query.

Uso

import { NotificationProvider, NotificationBell } from '@adatechnology/notification-ui'
import '@adatechnology/notification-ui/styles.css'

<NotificationProvider client={notificationClient}>
  <NotificationBell />
</NotificationProvider>

Componentes: NotificationBell, NotificationList, NotificationItem, PreferencesPanel.

A camada headless é a que importa em produto com marca

import { useNotifications, useUnreadCount, useMarkAsRead } from '@adatechnology/notification-ui/headless'

Hooks sem markup nenhum: useNotifications (paginação infinita), useUnreadCount, useNotificationStream, useMarkAsRead, useMarkAllAsRead, useDeleteNotification, usePreferences, useUpdatePreferences.

Existe porque componente pronto quase nunca sobrevive ao design system do produto. A alternativa usual — aceitar 20 props de estilo — vira um tema pela porta dos fundos que não atende ninguém direito. Com os hooks, o host escreve o próprio markup e não reimplementa cache, paginação nem reconexão de stream.

Textos

Nada é hardcoded: resolveMessages recebe o dicionário do host. O default é pt-BR.

Estado de servidor

Tudo por TanStack Query — nunca useEffect + useState para carregar da API. O stream do SSE invalida as queries em vez de escrever no cache na mão: a origem da verdade continua sendo a API, e a tela não diverge se um evento se perder na reconexão.

Modelo padrão de e-mail na tela de modelos

O NotificationSettingsWorkspace trata notification.standard-email à parte: selo "Modelo do sistema", sem "Remover", botão "Restaurar padrão" (useRestoreTemplateDefault), sem campo de assunto (é o da conversa) e prévia com as variáveis de exemplo. Variáveis obrigatórias faltando e HTML inseguro aparecem listados antes de salvar (standardEmail.util.ts, reusa assess do contracts). Textos em settings.system*/settings.standard* (pt-BR e en).

Licença

MIT © Ada Technology

版本与发布记录

@adatechnology/notification-ui 共发布 14 个版本,首次发布于 2026/08/04;过去 12 个月发布了 14 个版本。

版本发布日期距今
0.4.0latest2026/10/309 天前
0.3.02026/10/299 天前
0.2.12026/10/1919 天前
0.2.02026/10/1919 天前
0.1.02026/09/022 个月前
0.1.0-rc.9rc2026/08/262 个月前

关于 @adatechnology/notification-ui 的常见问题

@adatechnology/notification-ui 是什么?

Notification UI — headless hooks + componentes de inbox, sino e preferências

如何安装 @adatechnology/notification-ui?

在项目目录运行 npm install @adatechnology/notification-ui,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18 || ^19)、react-dom(^18 || ^19)、@tanstack/react-query(^5)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@adatechnology/notification-ui 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@adatechnology/notification-ui 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adatechnology/notification-ui 可以商用吗?

@adatechnology/notification-ui 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@adatechnology/notification-ui 的下载量有多少?

根据 npm 官方下载统计,@adatechnology/notification-ui 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,487 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adatechnology/notification-ui 还在维护吗?

最新版本 0.4.0 发布于 2026/10/30(9 天前);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/08/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。