@cloud-ru/ds-toaster

中文文档
1.1.6发布于 2026/11/11Apache-2.0TypeScriptESM + CJS近 30 天下载 3213

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.

中文使用文档
文档目录19 节
  1. Когда
  2. Анатомия
  3. 类型
  4. 位置( 默认 ) TOASTER_CONTAINER_DEFAULTS[type] (中文(简体) )
  5. 限制( 默认) 5 系统Event, 2 用户动作, 1 qQ 上传)
  6. 自动关闭( 默认) 5000 系统Event, 2000 用户动作, false qQ 上传)
  7. 堆叠( 默认) false (中文(简体) )
  8. 可拖曳( 默认) false ————————————
  9. 倒行逆流( +++++ 取景口, +++) toasterParent (中文(简体) )
  10. 装箱Id {}
  11. Установка
  12. 道具
  13. 烤面包机
  14. 故事书
  15. 堆叠 stacked + 键 displayCloseAllButton
  16. · 6个
  17. 触发器 ^ API
  18. 更新Flow.. id + 键 update - семантика
  19. - 移动电话 toasterParent +qq 视图端口

烤面包机

@cloud-ru/ds-toaster -=YTET -伊甸园字幕组=- 翻译:.

校对:Soup

  • 敬酒节 —— (出场5个出场,链接,动作). 自动解职5s,QQ堆.
  • 用户行动 ——回馈 на (副本,保存). 自动解职2s.
  • 向上加载 - прогресс файлов (мульти-файл,暂停/复出).

单子 toaster数字 :

import { toaster } from '@cloud-ru/ds-toaster'

toaster.systemEvent.success({ title: 'Сохранено' })
toaster.userAction.neutral({ label: 'Скопировано' })
toaster.upload.startOrUpdate({ status: 'loading', files, progress: { current: 0, total: files.length } })

Когда

  • 系统事件 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080} -=ytet -伊甸园字幕组=- 翻译:.
  • 用户动作 -=ytet -伊甸园字幕组=- 翻译:.
  • 上传 -=ytet -伊甸园字幕组=- 翻译:.

Когда не нужны:

  • (原始内容存档于2018-09-21). QQ – используй Modal/Dialog.
  • QQ QQ = QQ – QQ 提醒/ InfoBlock.
  • (原始内容存档于2017-10-29). Inline-QQ 出错-状态.

Анатомия

По 系统Event {}上传}{}{}{}{}{}}}{}}{}{}}}{}}}}{}}}} (图26297:48316). 上传-QQQQQ,系统Event--------------,--- Expand编号 :Close all посередине. (原始内容存档于2019-09-29). SystemEvent-,上传. (原始内容存档于2018-09-29). User Action QQ (другая, pill-стиль).

<>
  {/* shared контейнер для SystemEvent + Upload */}
  <ToasterContainer
    type={TOASTER_TYPE.SystemEvent}
    position='bottom-right'
    stacked
    displayCloseAllButton
    limit={5}
    autoClose={5000}
  />
  {/* UserAction — отдельно */}
  <ToasterContainer type={TOASTER_TYPE.UserAction} />
</>

• 系统Event {上传-}} containerId явно, и <ToasterContainer/>。 。 。 .

Менеджер,мультиплексирует也 containerId。 。 。 .

类型

- Тип,какой,компонент:

  • systemEvent . . . . ToastSystemEvent) (中文(简体) ).
  • userAction - 吃药后退(ToastUserAction) (中文(简体) ).
  • upload - карточка(загрузки)ToastUpload) (中文(简体) ).

位置( 默认 ) TOASTER_CONTAINER_DEFAULTS[type](中文(简体) )

说吧

  • SystemEvent 6 положений: top-left, (中文(简体) ), top-center, (中文(简体) ), top-right, (中文(简体) ), bottom-left, (中文(简体) ), bottom-center, (中文(简体) ), bottom-right。 。 。 .
  • UserAction использует top-center 编号 : bottom-center。 。 。 .

限制( 默认) 5 系统Event, 2 用户动作, 1 qQ 上传)

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}#################################################(最新)################################################################################################################################################################################### Передай limit: 0 . . . . . .

自动关闭( 默认) 5000 系统Event, 2000 用户动作, false qQ 上传)

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎么样 决心: toastOptions.autoClose (每只鱼) • <ToasterContainer autoClose> (每个集装箱) • AUTO_CLOSE_TIME[type] (глобальный. Передать false - автозакрытие по умолчанию умолчанию умолчанию.

堆叠( 默认) false(中文(简体) )

stacked {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}"鬼魂" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}"鬼魂" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}"鬼魂" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧.

可拖曳( 默认) false————————————

draggable {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -=YTET -伊甸园字幕组=- 翻译: (原始内容存档于2018-10-29). CSS-.

draggableDirection (单位:千美元)x | yзадаёт ось. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 position数字 : top-center 编号 : bottom-center → y ( x (свайп. Во. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - - - - - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}touch-action: pan-x 编号 : pan-y),"свайп"作"конфликтует".

校对:Soup {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我.. position: fixed {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 .toasterRoot (单位:千美元)container-type: size 包含块块). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-scroll- 主持人' {} overflow: hidden {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? # # # # # # # # # # # DOM # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .toasterRoot * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *transform, (中文(简体) ), filter, (中文(简体) ), will-change, (中文(简体) ), contain),"и","и"等. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧.

倒行逆流( +++++ 取景口, +++) toasterParent(中文(简体) )

说吧

  • Ширина. .container и .toast зажаты в min(maxWidth, 100cqw - 2*paddingHorizontal) - на экране применяется maxWidth из,на也 paddingHorizontal от. 100cqw {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 .toasterRoot ( toasterParent через position: absolute; inset: 0; container-type: size),"есть","取景". Дефолт toasterParent = document.body сохраняет.
  • Высота. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 <Scroll> (单位:千美元)@cloud-ru/ds-scrollс max-height: min(100cqh, 100dvh) - 2*paddingVertical。 。 。 . min(cqh, dvh) {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 cqh =============================================================================================================================================================================================================================================================== dvh {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.

Кастомный toasterParent (单位:千美元)openToast({ ..., toasterParent }): HTMLElement —— 说 helpers.tsx вставит <div data-toaster-root> с container-type: size{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我还得说 Для,чтобы也 data-toaster-root * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *transform 编号 : filter {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}什么.

装箱Id {}

Дефолтный containerId – для – toaster-container__<type>。 。 。 <ToasterContainer/> {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 containerId页:1 toaster.<type>.*({ containerId }) {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.

Установка

Требует react@>=18 и react-dom@>=18 (单位:千美元) react-dom/client{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}请说 (原始内容存档于2019-10-21). QQ QQ – 设计选择.

pnpm add @cloud-ru/ds-toaster
import {
  ToasterContainer,
  ToastSystemEvent,
  ToastUserAction,
  ToastUpload,
  toaster,
  TOASTER_TYPE,
  UploadItem,
} from '@cloud-ru/ds-toaster'

道具

烤面包机

烤面包机选项

Prop类型默认说明
autoClosenumber | false—— 说{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎样? Используется,
если в toastOptions.autoClose {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? Передать false —— 说
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? Если:не也 AUTO_CLOSE_TIME[type]。 。 。 .
containerIdstring—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? Вызов
toaster.<type>.open({ containerId }) {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
toaster-container__<type> (см. TOASTER_CONTAINER_PREFIX) ,(中文)
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 type. . . . .
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.
data-test-idstring—— 说覆盖 data-test-id корня. . . . .
TEST_IDS.toasterContainerИмеет,если也
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.
displayCloseAllButtonboolean—— 说
draggableboolean—— 说
draggableDirection"x" | "y"—— 说
limitnumber—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? (原始内容存档于2017-10-21). QQ--TOSTER CONADEAULTS[类型].
position"bottom-center" | "bottom-left" | "bottom-right" | "top-center" | "top-left" | "top-right"—— 说
stackedboolean—— 说
type"system-event" | "upload" | "user-action"—— 说
width"auto" | "full"—— 说
  • DraggableDirection =: "x" | "y"

  • SystemEventPosition =: "bottom-center" | "bottom-left" | "bottom-right" | "top-center" | "top-left" | "top-right"

  • ToasterWidth =: "auto" | "full"

故事书

游戏场 — QQ道具 — 控制 :

堆叠 stacked + 键 displayCloseAllButton

Шесть,у也 stacked, (中文(简体) ), limit: 5, (中文(简体) ), autoClose: 5000. . . . . . 躲开 躲开 躲开 Expand 编号 : Close all {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.

· 6个

Демонстрация position для SystemEvent (单位:千美元)top-left 编号 : top-center 编号 : top-right 编号 : bottom-left 编号 : bottom-center 编号 : bottom-right)———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— slide-in транзишен.

触发器 ^ API

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎样toaster.systemEvent.success, (中文(简体) ), …neutral, (中文(简体) ), …error, (中文(简体) ), userAction, (中文(简体) ), upload) (中文(简体) ). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.

更新Flow.. id + 键 update- семантика

Длительный:один也 loading → success → errorДемонстрирует toaster.upload.startOrUpdate(...) /возврат id и update。 。 。 .

- 移动电话 toasterParent +qq 视图端口

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 toasterParent={frameRef.current}Ширина/высота cqw 编号 : min(cqh, dvh), QQ-倒闭 QQ-, 刷新到发 (QQ). ====================================================================================================== ========================================================================================================== (====================== (======================.

版本与发布记录

@cloud-ru/ds-toaster 共发布 83 个版本,首次发布于 2026/08/18;过去 12 个月发布了 83 个版本。

版本发布日期距今
1.1.6latest2026/11/11今天
1.1.6-preview-e8fe6b56.0preview2026/11/11今天
1.1.6-preview-c0e895ed.02026/11/11今天
1.1.6-preview-90b10112.02026/11/11今天
1.1.6-preview-fd7dd437.02026/11/101 天前
1.1.6-preview-9a75a2a9.02026/11/101 天前

关于 @cloud-ru/ds-toaster 的常见问题

@cloud-ru/ds-toaster 是什么?

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.

如何安装 @cloud-ru/ds-toaster?

在项目目录运行 npm install @cloud-ru/ds-toaster,或使用 pnpm add / yarn add / bun add。

@cloud-ru/ds-toaster 支持 TypeScript 吗?

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

@cloud-ru/ds-toaster 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cloud-ru/ds-toaster 可以商用吗?

@cloud-ru/ds-toaster 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloud-ru/ds-toaster 的下载量有多少?

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

@cloud-ru/ds-toaster 还在维护吗?

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