# @cloud-ru/ds-popover-private 中文文档

规范地址：https://npmcn.com/package/%40cloud-ru/ds-popover-private/

版本：1\.1\.4
npm 元数据更新时间：2026-11-11T15:04:45.380Z
中文译文更新时间：2026-11-11T15:12:20.516Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cloud-ru/ds-popover-private
原文对照：https://npmcn.com/package/%40cloud-ru/ds-popover-private/?lang=original
项目主页：https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/popover-private
源码仓库：https://github.com/cloud-ru-tech/snack-v2

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：288 kB，62 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2026-08-18T12:39:18.420Z
- 最新版本发布：2026-11-11T15:04:44.896Z
- 近 30 天下载量：20207（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

################################################################################################################################################################################################################################################################ {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}哦 工具提示 {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}波波弗 滴滴.

## 安装

```sh
npm install @cloud-ru/ds-popover-private
```

也可以使用：`pnpm add @cloud-ru/ds-popover-private`、`yarn add @cloud-ru/ds-popover-private`、`bun add @cloud-ru/ds-popover-private`

## README

# 私家侦探

`@cloud-ru/ds-popover-private` {\\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}波波弗 滴滴.

`@cloud-ru/ds-popover-private` -=ytet -伊甸园字幕组=- 翻译: `@floating-ui/react` с `placement`, (中文(简体) ), `offset`, авто- flip, стрелки \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \*`click`, (中文(简体) ), `hover`, (中文(简体) ), `focus`控件 `open`) (中文(简体) ). {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `@cloud-ru/ds-tooltip`, (中文(简体) ), `@cloud-ru/ds-popover`, (中文(简体) ), `@cloud-ru/ds-dropdown`。 。 。 .

## Когда

-   Реализация:нового也.
-   Очень,который也 `Tooltip`编号 :`Popover`编号 :`Dropdown`。 。 。 .

В.

## Установка

```bash
pnpm add @cloud-ru/ds-popover-private
```

```ts
import { PopoverPrivate, Arrow } from '@cloud-ru/ds-popover-private'
```

## 道具

### 私家侦探

**Popover 私人应用程序**

| Prop | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `arrowContainerClassName` | `string` | —— 说 | SS класс |
| `arrowElementClassName` | `string` | —— 说 | CSS - класс поповера |
| `children` | `ChildrenFunction` | —— 说 | Триггер (подробнее) |
| `className` | `string` | —— 说 |  |
| `closeOnEscapeKey` | `boolean` | `true` | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `Esc` |
| `closeOnPopstate` | `boolean` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| `container` | `RefObject<HTMLElement | null>` | —— 说 | Контейнер ( ref). Переопределяет `PortalContext` для,этого  
по аналогии `container` 莫道尔/德劳尔。 {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `PortalContextProvider`。 。 。 . |
| `data-test-id` | `string` | —— 说 |  |
| `disableSpanWrapper` | `boolean` | —— 说 | Отключает `isValidElement` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢  
{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `position: absolute`  
{\\fn黑体\\fs20\\shad2\\2aH82\\3aH20\\4aH33\\fscx95\\3cH592001\\be1}♪############################# #######################################################################################################################################################################################################, `forwardRef`\- компоненты  
{\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢 `withInnerRefSupport` из `@cloud-ru/ds-utils`{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `<span>` —— 说  
{\\fn黑体\\fs20\\shad2\\2ah82\\3ah20\\4ah33\\fscx95\\3ch592001\\be1}#####################################################################################################################################################################################################################################. |
| `escapeKeyBubbles` | `boolean` | `false` | Пропускать `Esc` {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢? {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢  
всплытие `Esc`, и (например, дроплист). |
| `fallbackPlacements` | `Placement` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢. |
| `hasArrow` | `boolean` | —— 说 | Параметр. В. {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `offset`。 。 。 `arrowClassName`。 。 。 . |
| `heightStrategy` | `"auto"` | `"eq"` | `"lte"` | `auto` | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢  
\- 说吧 `auto` - соответствует,высоте,  
\- 说吧 `lte` - 少一点或相等, \\ \\ \\ \\ \\ \\ \\ \\ \\,  
\- 说吧 `eq` - 平等, \\ \\ \\ \\ \\. |
| `hoverDelayClose` | `number` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| `hoverDelayOpen` | `number` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| `offset` | `number` | `0` | \[永久失效連結\] (中文(简体) ). |
| `onOpenChange` | `((isOpen: boolean) => void)` | —— 说 | Колбек. 打开. |
| `open` | `boolean` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢. |
| `outsideClick` | `OutsideClickHandler` | —— 说 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| `placement` | `"bottom"` | `"bottom-end"` | `"bottom-start"` | `"left"` | `"left-end"` | `"left-start"` | `"right"` | `"right-end"` | `"right-start"` | `"top"` | `"top-end"` | `"top-start"` | `top` | (原始内容存档于2019-09-29) (中文(中国大陆) ). |
| `popoverContent` | `ReactNode | ReactNode[]` | —— 说 | Контент |
| `stopPropagation` | `StopPropagationHandlers` | `{ onClick: true, onMouseDown: true, onMouseUp: true, onTouchStart: true, onTouchEnd: true, onTouchMove: true }` | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}========================================================================================== (==================================================================`stopPropagation`) (中文(简体) ).  
{\\fn华文仿宋\\fs16\\1cHD1D1D1}好! 拖放 拖放 拖放  
`onMouseUp` 编号 : `onTouchEnd`, 翻译 : `document`。 。 。 . |
| `trigger` | `"click"` | `"clickAndFocusVisible"` | `"focus"` | `"focusVisible"` | `"hover"` | `"hoverAndFocus"` | `"hoverAndFocusVisible"` | —— 说 | 说吧  
\- 说吧 `click` - открывать по  
\- 说吧 `hover` - открывать по  
\- 说吧 `focusVisible` - 重点可见  
\- 说吧 `focus` - открывать по  
\- 说吧 `hoverAndFocusVisible` -=ytet -伊甸园字幕组=- 翻译:  
\- 说吧 `hoverAndFocus` - открывать ховеру и  
\- 说吧 `clickAndFocusVisible` -=ytet -伊甸园字幕组=- 翻译: |
| `triggerClassName` | `string` | —— 说 | CSS - класс триггера |
| `triggerClickByKeys` | `boolean` | `true` | \# # # # # # # # # # # # # # # # # # # # # # # # # # # # # 触发 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # `click`(中文(简体) ) |
| `triggerRef` | `ForwardedRef<HTMLElement | ReferenceType | null>` | —— 说 | 参考文献: |
| `widthStrategy` | `"auto"` | `"eq"` | `"gte"` | `auto` | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢  
\- 说吧 `auto` - соответствует,ширине,  
\- 说吧 `gte` - 伟大或平等, \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\,  
\- 说吧 `eq` - 平等, \\ \\ \\ \\ \\. |

#### 相关类型

-   `ChildrenFunction` =: `(params: { getReferenceProps: GetReferencePropsFunc; ref: (node: ReferenceType | null) => void; }) => ReactNode`
    
-   `OutsideClickHandler` =: `(event: MouseEvent) => boolean`
    
-   `Placement` =: `"bottom"` | `"bottom-end"` | `"bottom-start"` | `"left"` | `"left-end"` | `"left-start"` | `"right"` | `"right-end"` | `"right-start"` | `"top"` | `"top-end"` | `"top-start"`
    
-   `PopoverHeightStrategy` =: `"auto"` | `"eq"` | `"lte"`
    
-   `PopoverWidthStrategy` =: `"auto"` | `"eq"` | `"gte"`
    

**停止预览 处理器**

| Prop | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `onClick` | `boolean | undefined` | —— 说 |  |
| `onMouseDown` | `boolean | undefined` | —— 说 |  |
| `onMouseUp` | `boolean | undefined` | —— 说 |  |
| `onTouchEnd` | `boolean | undefined` | —— 说 |  |
| `onTouchMove` | `boolean | undefined` | —— 说 |  |
| `onTouchStart` | `boolean | undefined` | —— 说 |  |

-   `Trigger` =: `"click"` | `"clickAndFocusVisible"` | `"focus"` | `"focusVisible"` | `"hover"` | `"hoverAndFocus"` | `"hoverAndFocusVisible"`

### 箭头

| Prop | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `arrowContainerClassName` | `string` | —— 说 |  |
| `arrowElementClassName` | `string` | —— 说 |  |
| `arrowRef` | `RefObject<HTMLDivElement | null>` | —— 说 |  |
| `placement` | `"bottom"` | `"bottom-end"` | `"bottom-start"` | `"left"` | `"left-end"` | `"left-start"` | `"right"` | `"right-end"` | `"right-start"` | `"top"` | `"top-end"` | `"top-start"` | —— 说 |  |
| `x` | `number` | —— 说 |  |
| `y` | `number` | —— 说 |  |

## Смотри

-   **工具提示**, (中文(简体) ), **过量**, (中文(简体) ), **下坠** ——публичные.

## 常见问题

### @cloud-ru/ds-popover-private 是什么？

\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# \{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080\}哦 工具提示 \{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080\}波波弗 滴滴\.

### 如何安装 @cloud-ru/ds-popover-private？

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

### @cloud-ru/ds-popover-private 支持 TypeScript 吗？

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

### @cloud-ru/ds-popover-private 支持 ESM 还是 CommonJS？

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

### @cloud-ru/ds-popover-private 可以商用吗？

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

### @cloud-ru/ds-popover-private 的下载量有多少？

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

### @cloud-ru/ds-popover-private 还在维护吗？

最新版本 1\.1\.4 发布于 2026/11/11（今天）；至今共发布 30 个版本，其中过去 12 个月发布了 30 个；首次发布于 2026/08/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

