Repository: ant-design/ant-design
Pull request #53463: feat: Upload supports paste upload via the `pastable` property
Author: login: madocto
Created: 2025-04-10T08:26:56Z | Merged: 2025-04-11T03:31:00Z

<!--
First of all, thank you for your contribution! 😄
For requesting to pull a new feature or bugfix, please send it from a feature/bugfix branch based on the `master` branch.
Before submitting your pull request, please make sure the checklist below is confirmed.
Your pull requests will be merged after one of the collaborators approve.
Thank you!
-->

[中文版模板 / Chinese template](https://github.com/ant-design/ant-design/blob/master/.github/PULL_REQUEST_TEMPLATE_CN.md?plain=1)

### 🤔 This is a ...

- [x] 🆕 New feature
- [ ] 🐞 Bug fix
- [ ] 📝 Site / documentation improvement
- [ ] 📽️ Demo improvement
- [ ] 💄 Component style improvement
- [ ] 🤖 TypeScript definition improvement
- [ ] 📦 Bundle size optimization
- [ ] ⚡️ Performance optimization
- [ ] ⭐️ Feature enhancement
- [ ] 🌐 Internationalization
- [ ] 🛠 Refactoring
- [ ] 🎨 Code style optimization
- [ ] ✅ Test Case
- [ ] 🔀 Branch merge
- [ ] ⏩ Workflow
- [ ] ⌨️ Accessibility improvement
- [ ] ❓ Other (about what?)

### 🔗 Related Issues

Closes #46429 

### 📝 Change Log

| Language   | Changelog |
| ---------- | --------- |
| 🇺🇸 English |   Upload supports paste upload via the `pastable` property.       |
| 🇨🇳 Chinese |    Upload 支持通过 `pastable` 属性粘贴上传文件.      |


Linked issue #46429: upload 组件上传图片时支持粘贴功能
### What problem does this feature solve?

https://ant-design.antgroup.com/components/upload-cn 希望upload组件实现粘贴图片上传
![image](https://github.com/ant-design/ant-design/assets/1331211/35c70774-ef7a-4a6c-9baf-5601e226b508)

### What does the proposed API look like?

当鼠标移动到drag drop区域时，可以粘贴之前复制的图片，自动上传

<!-- generated by ant-design-issue-helper. DO NOT REMOVE -->
Linked issue comments: user: login: MadCcc
created_at: 2023-12-20T08:40:18Z
body: 最多只能聚焦到的时候做，或者自行在页面上实现
author_association: MEMBER
user: login: xiehuiqi220
created_at: 2024-01-04T07:57:15Z
body: 为啥要close啊？这个功能不是很普遍的吗？
author_association: CONTRIBUTOR
user: login: afc163
created_at: 2024-01-04T07:58:58Z
body: @xiehuiqi220 欢迎来个 PR~
author_association: MEMBER
user: login: github-actions[bot]
created_at: 2024-01-04T07:59:17Z
body: Hello @xiehuiqi220. We totally like your proposal/feedback, welcome to [send us a Pull Request](https://help.github.com/en/articles/creating-a-pull-request) for it. Please send your Pull Request to proper branch (feature branch for the new feature, master for bugfix and other changes), fill the [Pull Request Template](https://github.com/ant-design/ant-design/blob/master/.github/PULL_REQUEST_TEMPLATE.md) here, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @xiehuiqi220，我们完全同意你的提议/反馈，欢迎直接在此仓库 [创建一个 Pull Request](https://help.github.com/en/articles/creating-a-pull-request) 来解决这个问题。请将 Pull Request 发到正确的分支（新特性发到 feature 分支，其他发到 master 分支），务必填写 Pull Request 内的[预设模板](https://github.com/ant-design/ant-design/blob/master/.github/PULL_REQUEST_TEMPLATE.md)，提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等，并确保 CI 通过，我们会尽快进行 Review，提前感谢和期待您的贡献。

![giphy](https://user-images.githubusercontent.com/507615/62342668-4735dc00-b51a-11e9-92a7-d46fbb1cc0c7.gif)
author_association: CONTRIBUTOR
user: login: xiehuiqi220
created_at: 2024-01-04T08:41:49Z
body: 可以额，我来提个pr
author_association: CONTRIBUTOR
user: login: ideaviewes
created_at: 2025-03-20T15:16:45Z
body: 所以现在这个功能是什么情况呢？
author_association: NONE
user: login: ideaviewes
created_at: 2025-04-09T05:26:44Z
body: @afc163 ,可以合并了吗？
author_association: NONE
user: login: thinkasany
created_at: 2025-06-10T08:07:49Z
body: Merged in https://github.com/ant-design/ant-design/pull/53463. 
Supported in 5.25.0
![Image](https://github.com/user-attachments/assets/55211ded-513d-4c75-ac9c-9f97de538ac4)
author_association: MEMBER

Diff:
diff --git a/components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap b/components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap
index 79f1fdf5641b..d70ff4d9175a 100644
--- a/components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap
+++ b/components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap
@@ -3038,6 +3038,63 @@ exports[`renders components/upload/demo/max-count.tsx extend context correctly 1
 
 exports[`renders components/upload/demo/max-count.tsx extend context correctly 2`] = `[]`;
 
+exports[`renders components/upload/demo/paste.tsx extend context correctly 1`] = `
+<span
+  class="ant-upload-wrapper"
+>
+  <div
+    class="ant-upload ant-upload-select"
+  >
+    <span
+      class="ant-upload"
+    >
+      <input
+        accept=""
+        name="file"
+        style="display: none;"
+        type="file"
+      />
+      <button
+        class="ant-btn ant-btn-default ant-btn-color-default ant-btn-variant-outlined"
+        type="button"
+      >
+        <span
+          class="ant-btn-icon"
+        >
+          <span
+            aria-label="upload"
+            class="anticon anticon-upload"
+            role="img"
+          >
+            <svg
+              aria-hidden="true"
+              data-icon="upload"
+              fill="currentColor"
+              focusable="false"
+              height="1em"
+              viewBox="64 64 896 896"
+              width="1em"
+            >
+              <path
+                d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"
+              />
+            </svg>
+          </span>
+        </span>
+        <span>
+          Paste or click to upload
+        </span>
+      </button>
+    </span>
+  </div>
+  <div
+    class="ant-upload-list ant-upload-list-text"
+  />
+</span>
+`;
+
+exports[`renders components/upload/demo/paste.tsx extend context correctly 2`] = `[]`;
+
 exports[`renders components/upload/demo/picture-card.tsx extend context correctly 1`] = `
 <span
   class="ant-upload-wrapper ant-upload-picture-card-wrapper"
diff --git a/components/upload/__tests__/__snapshots__/demo.test.ts.snap b/components/upload/__tests__/__snapshots__/demo.test.ts.snap
index a5081b4391bb..ab4a2168d693 100644
--- a/components/upload/__tests__/__snapshots__/demo.test.ts.snap
+++ b/components/upload/__tests__/__snapshots__/demo.test.ts.snap
@@ -2839,6 +2839,61 @@ exports[`renders components/upload/demo/max-count.tsx correctly 1`] = `
 </div>
 `;
 
+exports[`renders components/upload/demo/paste.tsx correctly 1`] = `
+<span
+  class="ant-upload-wrapper"
+>
+  <div
+    class="ant-upload ant-upload-select"
+  >
+    <span
+      class="ant-upload"
+    >
+      <input
+        accept=""
+        name="file"
+        style="display:none"
+        type="file"
+      />
+      <button
+        class="ant-btn ant-btn-default ant-btn-color-default ant-btn-variant-outlined"
+        type="button"
+      >
+        <span
+          class="ant-btn-icon"
+        >
+          <span
+            aria-label="upload"
+            class="anticon anticon-upload"
+            role="img"
+          >
+            <svg
+              aria-hidden="true"
+              data-icon="upload"
+              fill="currentColor"
+              focusable="false"
+              height="1em"
+              viewBox="64 64 896 896"
+              width="1em"
+            >
+              <path
+                d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"
+              />
+            </svg>
+          </span>
+        </span>
+        <span>
+          Paste or click to upload
+        </span>
+      </button>
+    </span>
+  </div>
+  <div
+    class="ant-upload-list ant-upload-list-text"
+  />
+</span>
+`;
+
 exports[`renders components/upload/demo/picture-card.tsx correctly 1`] = `
 <span
   class="ant-upload-wrapper ant-upload-picture-card-wrapper"
diff --git a/components/upload/__tests__/upload.test.tsx b/components/upload/__tests__/upload.test.tsx
index c7558710be31..be22265596de 100644
--- a/components/upload/__tests__/upload.test.tsx
+++ b/components/upload/__tests__/upload.test.tsx
@@ -1083,4 +1083,30 @@ describe('Upload', () => {
     expect(ref.current?.nativeElement).toBeTruthy();
     expect(ref.current?.nativeElement instanceof HTMLElement).toBeTruthy();
   });
+
+  it('should support paste', async () => {
+    const done = jest.fn();
+
+    const { container } = render(
+      <Upload
+        pastable
+        onChange={({ file }) => {
+          if (file.status !== 'uploading') {
+            done();
+          }
+        }}
+      >
+        <button type="button">upload</button>
+      </Upload>,
+    );
+
+    fireEvent.paste(container.querySelector('input')!, {
+      clipboardData: {
+        files: [{ name: 'success.jpg' }],
+      },
+    });
+
+    await waitFakeTimer();
+    expect(done).toHaveBeenCalled();
+  });
 });
diff --git a/components/upload/demo/paste.md b/components/upload/demo/paste.md
new file mode 100644
index 000000000000..bdbf1b21ffd8
--- /dev/null
+++ b/components/upload/demo/paste.md
@@ -0,0 +1,7 @@
+## zh-CN
+
+复制文件后，在页面任意位置粘贴即可完成上传。
+
+## en-US
+
+Copy the file and paste it anywhere on the page to upload.
diff --git a/components/upload/demo/paste.tsx b/components/upload/demo/paste.tsx
new file mode 100644
index 000000000000..70c41aa6245f
--- /dev/null
+++ b/components/upload/demo/paste.tsx
@@ -0,0 +1,31 @@
+import React from 'react';
+import { UploadOutlined } from '@ant-design/icons';
+import type { UploadProps } from 'antd';
+import { Button, message, Upload } from 'antd';
+
+const props: UploadProps = {
+  name: 'file',
+  pastable: true,
+  action: 'https://660d2bd96ddfa2943b33731c.mockapi.io/api/upload',
+  headers: {
+    authorization: 'authorization-text',
+  },
+  onChange(info) {
+    if (info.file.status !== 'uploading') {
+      console.log(info.file, info.fileList);
+    }
+    if (info.file.status === 'done') {
+      message.success(`${info.file.name} file uploaded successfully`);
+    } else if (info.file.status === 'error') {
+      message.error(`${info.file.name} file upload failed.`);
+    }
+  },
+};
+
+const App: React.FC = () => (
+  <Upload {...props}>
+    <Button icon={<UploadOutlined />}>Paste or click to upload</Button>
+  </Upload>
+);
+
+export default App;
diff --git a/components/upload/index.en-US.md b/components/upload/index.en-US.md
index 61d7a2404318..e3cb4c81d46e 100644
--- a/components/upload/index.en-US.md
+++ b/components/upload/index.en-US.md
@@ -27,6 +27,7 @@ Uploading is the process of publishing information (web pages, text, pictures, v
 <code src="./demo/picture-circle.tsx">Pictures with picture-circle type</code>
 <code src="./demo/fileList.tsx">Complete control over file list</code>
 <code src="./demo/drag.tsx">Drag and Drop</code>
+<code src="./demo/paste.tsx" version="5.25.0"">Paste</code>
 <code src="./demo/directory.tsx">Upload directory</code>
 <code src="./demo/upload-manually.tsx">Upload manually</code>
 <code src="./demo/upload-png-only.tsx">Upload png file only</code>
@@ -68,6 +69,7 @@ Common props ref：[Common props](/docs/react/common-props)
 | multiple | Whether to support selected multiple files. `IE10+` supported. You can select multiple files with CTRL holding down while multiple is set to be true | boolean | false |  |
 | name | The name of uploading file | string | `file` |  |
 | openFileDialogOnClick | Click open file dialog | boolean | true |  |
+| pastable | Support paste file | boolean | false | 5.25.0 |
 | previewFile | Customize preview file logic | (file: File \| Blob) => Promise&lt;dataURL: string> | - |  |
 | progress | Custom progress bar | [ProgressProps](/components/progress/#api) (support `type="line"` only) | { strokeWidth: 2, showInfo: false } | 4.3.0 |
 | showUploadList | Whether to show default upload list, could be an object to specify `extra`, `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` and `downloadIcon` individually | boolean \| { extra?: ReactNode \| (file: UploadFile) => ReactNode, showPreviewIcon?: boolean \| (file: UploadFile) => boolean, showDownloadIcon?: boolean \| (file: UploadFile) => boolean, showRemoveIcon?: boolean \| (file: UploadFile) => boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | `extra`: 5.20.0, `showPreviewIcon` function: 5.21.0, `showRemoveIcon` function: 5.21.0, `showDownloadIcon` function: 5.21.0 |
diff --git a/components/upload/index.zh-CN.md b/components/upload/index.zh-CN.md
index 9570f16d09f1..4eaa04350c5e 100644
--- a/components/upload/index.zh-CN.md
+++ b/components/upload/index.zh-CN.md
@@ -28,6 +28,7 @@ demo:
 <code src="./demo/picture-circle.tsx">圆形照片墙</code>
 <code src="./demo/fileList.tsx">完全控制的上传列表</code>
 <code src="./demo/drag.tsx">拖拽上传</code>
+<code src="./demo/paste.tsx" version="5.25.0">粘贴上传</code>
 <code src="./demo/directory.tsx">文件夹上传</code>
 <code src="./demo/upload-manually.tsx">手动上传</code>
 <code src="./demo/upload-png-only.tsx">只上传 png 图片</code>
@@ -69,6 +70,7 @@ demo:
 | multiple | 是否支持多选文件，`ie10+` 支持。开启后按住 ctrl 可选择多个文件 | boolean | false |  |
 | name | 发到后台的文件参数名 | string | `file` |  |
 | openFileDialogOnClick | 点击打开文件对话框 | boolean | true |  |
+| pastable | 是否支持粘贴文件 | boolean | false | 5.25.0 |
 | previewFile | 自定义文件预览逻辑 | (file: File \| Blob) => Promise&lt;dataURL: string> | - |  |
 | progress | 自定义进度条样式 | [ProgressProps](/components/progress-cn#api)（仅支持 `type="line"`） | { strokeWidth: 2, showInfo: false } | 4.3.0 |
 | showUploadList | 是否展示文件列表, 可设为一个对象，用于单独设定 `extra`(5.20.0+), `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` 和 `downloadIcon` | boolean \| { extra?: ReactNode \| (file: UploadFile) => ReactNode, showPreviewIcon?: boolean \| (file: UploadFile) => boolean, showDownloadIcon?: boolean \| (file: UploadFile) => boolean, showRemoveIcon?: boolean \| (file: UploadFile) => boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | `extra`: 5.20.0, `showPreviewIcon` function: 5.21.0, `showRemoveIcon` function: 5.21.0, `showDownloadIcon` function: 5.21.0 |
diff --git a/components/upload/interface.ts b/components/upload/interface.ts
index 06a40ef379e5..51f841f248c2 100755
--- a/components/upload/interface.ts
+++ b/components/upload/interface.ts
@@ -88,7 +88,8 @@ type TransformFileHandler = (
 ) => string | Blob | File | PromiseLike<string | Blob | File>;
 type BeforeUploadValueType = void | boolean | string | Blob | File;
 
-export interface UploadProps<T = any> extends Pick<RcUploadProps, 'capture' | 'hasControlInside'> {
+export interface UploadProps<T = any>
+  extends Pick<RcUploadProps, 'capture' | 'hasControlInside' | 'pastable'> {
   type?: UploadType;
   name?: string;
   defaultFileList?: Array<UploadFile<T>>;
diff --git a/package.json b/package.json
index f90ee3643084..bd86b5080ca6 100644
--- a/package.json
+++ b/package.json
@@ -153,7 +153,7 @@
     "rc-tooltip": "~6.4.0",
     "rc-tree": "~5.13.1",
     "rc-tree-select": "~5.27.0",
-    "rc-upload": "~4.8.1",
+    "rc-upload": "~4.9.0",
     "rc-util": "^5.44.4",
     "scroll-into-view-if-needed": "^3.1.0",
     "throttle-debounce": "^5.0.2"


Reviews:
user: login: petercat-assistant[bot]
state: COMMENTED
author_association: NONE
submitted_at: 2025-04-10T08:27:37Z
user: login: coderabbitai[bot]
body: **Actionable comments posted: 0**

<details>
<summary>🧹 Nitpick comments (1)</summary><blockquote>

<details>
<summary>components/upload/demo/paste.tsx (1)</summary><blockquote>

`6-23`: **上传配置对象的定义**

上传配置对象包含了必要的属性，包括新增的 `pastable: true` 属性以启用粘贴上传功能。

然而，使用公开的 Mock API 端点可能不是最佳实践，特别是在生产代码中。虽然这只是一个演示，但在实际应用中应该使用更可靠的端点。


另外，onChange 处理函数中的 console.log 语句在生产环境中应该移除：

```diff
  onChange(info) {
    if (info.file.status !== 'uploading') {
-     console.log(info.file, info.fileList);
+     // 处理非上传中状态
    }
    if (info.file.status === 'done') {
      message.success(`${info.file.name} file uploaded successfully`);
    } else if (info.file.status === 'error') {
      message.error(`${info.file.name} file upload failed.`);
    }
  },
```

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 5d320dc714cb6c5c19c136e0c5ac8f3fbf487714 and e0deb766a005921e58028861be985502b1d3988c.

</details>

<details>
<summary>⛔ Files ignored due to path filters (2)</summary>

* `components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap` is excluded by `!**/*.snap`
* `components/upload/__tests__/__snapshots__/demo.test.ts.snap` is excluded by `!**/*.snap`

</details>

<details>
<summary>📒 Files selected for processing (7)</summary>

* `components/upload/__tests__/upload.test.tsx` (1 hunks)
* `components/upload/demo/paste.md` (1 hunks)
* `components/upload/demo/paste.tsx` (1 hunks)
* `components/upload/index.en-US.md` (2 hunks)
* `components/upload/index.zh-CN.md` (2 hunks)
* `components/upload/interface.ts` (1 hunks)
* `package.json` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🧬 Code Graph Analysis (1)</summary>

<details>
<summary>components/upload/__tests__/upload.test.tsx (1)</summary><blockquote>

<details>
<summary>tests/utils.tsx (1)</summary>

* `waitFakeTimer` (77-89)

</details>

</blockquote></details>

</details>

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms (14)</summary>

* GitHub Check: test-react-latest (dom, 2/2)
* GitHub Check: test lib/es module (es, 2/2)
* GitHub Check: test-react-latest (dom, 1/2)
* GitHub Check: test lib/es module (es, 1/2)
* GitHub Check: test-react-legacy (17, 2/2)
* GitHub Check: build
* GitHub Check: test-react-legacy (17, 1/2)
* GitHub Check: test-react-legacy (16, 2/2)
* GitHub Check: visual-diff snapshot (2/2)
* GitHub Check: test-react-legacy (16, 1/2)
* GitHub Check: visual-diff snapshot (1/2)
* GitHub Check: build preview
* GitHub Check: size
* GitHub Check: build

</details>

<details>
<summary>🔇 Additional comments (11)</summary><blockquote>

<details>
<summary>components/upload/demo/paste.md (1)</summary>

`1-7`: **文档内容简洁明了**

说明文档简洁地解释了粘贴上传功能的使用方式，中英文表述清晰。

</details>
<details>
<summary>package.json (1)</summary>

`156-156`: <details>
<summary>✅ Verification successful</summary>

**依赖版本更新确认**

将 rc-upload 版本从 ~4.8.1 更新到 ~4.9.0，这应该是为了支持新的粘贴上传功能。

---

🏁 Script executed:

```shell
#!/bin/bash
# 检查 rc-upload 4.9.0 版本的更新内容，确认是否包含粘贴上传功能

# 获取 rc-upload 的 changelog 或 release notes
curl -s https://registry.npmjs.org/rc-upload | jq '.versions["4.9.0"].description, .time["4.9.0"]'

# 查找 rc-upload 仓库的相关提交
gh api graphql -f query='
{
  search(query: "repo:react-component/upload pastable paste", type: ISSUE, first: 5) {
    nodes {
      ... on PullRequest {
        title
        url
        mergedAt
      }
    }
  }
}'
```

Length of output: 548

---



</details>

**依赖版本更新验证结果**

经过验证，rc-upload 在 4.9.0 版本中确实包含了支持粘贴上传文件的功能。npm 上的描述和 GitHub 上合并的 “feat: support paste upload file” PR 都确认了这一点。

- 文件：`package.json`，行 156 已更新为 `"rc-upload": "~4.9.0",`
- 此更新目的是为支持新的粘贴上传功能，目前已验证无误。

</details>
<details>
<summary>components/upload/__tests__/upload.test.tsx (1)</summary>

`1087-1111`: **测试用例合理且完整**

测试用例验证了粘贴上传功能的基本行为，确保当文件被粘贴时 `onChange` 处理器被正确触发。测试模拟了粘贴事件并验证了预期结果。

测试逻辑完整且清晰，使用 `waitFakeTimer` 等待异步操作完成是良好的做法。

</details>
<details>
<summary>components/upload/demo/paste.tsx (3)</summary>

`1-5`: **引入依赖部分正确**

组件引入了必要的依赖，包括 React、图标、类型定义和组件。

---

`25-29`: **组件渲染结构合理**

组件结构简洁明了，按钮文本"Paste or click to upload"清晰地传达了组件支持粘贴和点击两种上传方式。

---

`30-32`: **导出方式正确**

组件导出方式符合 React 组件的标准做法。

</details>
<details>
<summary>components/upload/index.en-US.md (2)</summary>

`30-30`: **Good addition of the Paste demo!**

The new paste demo is well placed in the examples section, providing users with a clear reference to this new functionality.

---

`76-76`: **Well-documented new `pastable` property**

The new property is properly documented with its type, default value, and version information, making it clear for developers how to use this feature.

</details>
<details>
<summary>components/upload/interface.ts (1)</summary>

`91-92`: **Correctly extends interface with pastable property**

The interface update properly includes the new `pastable` property from RcUploadProps, ensuring type safety when using this feature.

</details>
<details>
<summary>components/upload/index.zh-CN.md (2)</summary>

`31-31`: **粘贴上传示例添加得当！**

新增的粘贴上传示例在示例部分放置得当，为用户提供了这一新功能的清晰参考。

---

`77-77`: **新属性 `pastable` 文档完善**

新属性的文档说明完整，包含了类型、默认值和版本信息，使开发者清楚如何使用此功能。

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T08:30:31Z
user: login: coderabbitai[bot]
state: DISMISSED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T08:30:36Z
user: login: thinkasany
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-10T08:33:26Z
user: login: thinkasany
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-10T08:34:21Z
user: login: coderabbitai[bot]
state: DISMISSED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T09:01:54Z
user: login: zombieJ
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-10T11:15:10Z
user: login: coderabbitai[bot]
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T11:21:02Z
user: login: zombieJ
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-11T03:28:48Z

Review comments:
diff_hunk: @@ -0,0 +1,31 @@
+import React from 'react';
+import { UploadOutlined } from '@ant-design/icons';
+import type { UploadProps } from 'antd';
+import { Button, message, Upload } from 'antd';
+
+const props: UploadProps = {
+  name: 'file',
+  pastable: true,
+  action: 'https://660d2bd96ddfa2943b33731c.mockapi.io/api/upload',
path: components/upload/demo/paste.tsx
user: login: petercat-assistant[bot]
body: Ensure that the `action` URL used for uploading is secure and trusted to prevent any security vulnerabilities.
created_at: 2025-04-10T08:27:37Z
author_association: NONE
diff_hunk: @@ -73,6 +74,7 @@ demo:
 | progress | 自定义进度条样式 | [ProgressProps](/components/progress-cn#api)（仅支持 `type="line"`） | { strokeWidth: 2, showInfo: false } | 4.3.0 |
 | showUploadList | 是否展示文件列表, 可设为一个对象，用于单独设定 `extra`(5.20.0+), `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` 和 `downloadIcon` | boolean \| { extra?: ReactNode \| (file: UploadFile) => ReactNode, showPreviewIcon?: boolean \| (file: UploadFile) => boolean, showDownloadIcon?: boolean \| (file: UploadFile) => boolean, showRemoveIcon?: boolean \| (file: UploadFile) => boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | `extra`: 5.20.0, `showPreviewIcon` function: 5.21.0, `showRemoveIcon` function: 5.21.0, `showDownloadIcon` function: 5.21.0 |
 | withCredentials | 上传请求时是否携带 cookie | boolean | false |  |
+| pastable | 是否支持粘贴文件 | boolean | false | 5.21.0 |
path: components/upload/index.zh-CN.md
user: login: thinkasany
body: ```suggestion
| pastable | 是否支持粘贴文件 | boolean | false | 5.25.0 |
```
created_at: 2025-04-10T08:32:47Z
author_association: MEMBER
diff_hunk: @@ -28,6 +28,7 @@ demo:
 <code src="./demo/picture-circle.tsx">圆形照片墙</code>
 <code src="./demo/fileList.tsx">完全控制的上传列表</code>
 <code src="./demo/drag.tsx">拖拽上传</code>
+<code src="./demo/paste.tsx">粘贴上传</code>
path: components/upload/index.zh-CN.md
user: login: thinkasany
body: ```suggestion
<code src="./demo/paste.tsx" version="5.25.0">粘贴上传</code>
```
created_at: 2025-04-10T08:33:23Z
author_association: MEMBER
diff_hunk: @@ -72,6 +73,7 @@ Common props ref：[Common props](/docs/react/common-props)
 | progress | Custom progress bar | [ProgressProps](/components/progress/#api) (support `type="line"` only) | { strokeWidth: 2, showInfo: false } | 4.3.0 |
 | showUploadList | Whether to show default upload list, could be an object to specify `extra`, `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` and `downloadIcon` individually | boolean \| { extra?: ReactNode \| (file: UploadFile) => ReactNode, showPreviewIcon?: boolean \| (file: UploadFile) => boolean, showDownloadIcon?: boolean \| (file: UploadFile) => boolean, showRemoveIcon?: boolean \| (file: UploadFile) => boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | `extra`: 5.20.0, `showPreviewIcon` function: 5.21.0, `showRemoveIcon` function: 5.21.0, `showDownloadIcon` function: 5.21.0 |
 | withCredentials | The ajax upload with cookie sent | boolean | false |  |
+| pastable | Support paste file | boolean | false | 5.21.0 |
path: components/upload/index.en-US.md
user: login: thinkasany
body: ```suggestion
| pastable | Support paste file | boolean | false | 5.25.0 |
```
created_at: 2025-04-10T08:34:06Z
author_association: MEMBER
diff_hunk: @@ -27,6 +27,7 @@ Uploading is the process of publishing information (web pages, text, pictures, v
 <code src="./demo/picture-circle.tsx">Pictures with picture-circle type</code>
 <code src="./demo/fileList.tsx">Complete control over file list</code>
 <code src="./demo/drag.tsx">Drag and Drop</code>
+<code src="./demo/paste.tsx">Paste</code>
path: components/upload/index.en-US.md
user: login: thinkasany
body: ```suggestion
<code src="./demo/paste.tsx" version="5.25.0">Paste</code>
```
created_at: 2025-04-10T08:34:18Z
author_association: MEMBER
diff_hunk: @@ -73,6 +74,7 @@ demo:
 | progress | 自定义进度条样式 | [ProgressProps](/components/progress-cn#api)（仅支持 `type="line"`） | { strokeWidth: 2, showInfo: false } | 4.3.0 |
 | showUploadList | 是否展示文件列表, 可设为一个对象，用于单独设定 `extra`(5.20.0+), `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` 和 `downloadIcon` | boolean \| { extra?: ReactNode \| (file: UploadFile) => ReactNode, showPreviewIcon?: boolean \| (file: UploadFile) => boolean, showDownloadIcon?: boolean \| (file: UploadFile) => boolean, showRemoveIcon?: boolean \| (file: UploadFile) => boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | `extra`: 5.20.0, `showPreviewIcon` function: 5.21.0, `showRemoveIcon` function: 5.21.0, `showDownloadIcon` function: 5.21.0 |
 | withCredentials | 上传请求时是否携带 cookie | boolean | false |  |
+| pastable | 是否支持粘贴文件 | boolean | false | 5.25.0 |
path: components/upload/index.zh-CN.md
user: login: zombieJ
body: 按照字母顺序排~
created_at: 2025-04-10T11:15:10Z
author_association: MEMBER

PR comments:
user: login: bolt-new-by-stackblitz[bot]
created_at: 2025-04-10T08:26:59Z
body: <a href="https://stackblitz.com/~/github.com/ant-design/ant-design/pull/53463"><img src="https://developer.stackblitz.com/img/review_pr_small.svg" alt="Review PR in StackBlitz Codeflow" align="left" width="103" height="20"></a> _Run & review this pull request in [StackBlitz Codeflow](https://stackblitz.com/~/github.com/ant-design/ant-design/pull/53463)._

author_association: NONE
user: login: coderabbitai[bot]
created_at: 2025-04-10T08:27:05Z
body: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- walkthrough_start -->

<details>
<summary>📝 Walkthrough</summary>

## Summary by CodeRabbit

- **新功能**
  - 支持文件粘贴上传，用户可以直接粘贴文件以完成上传操作，提升上传体验。
  
- **文档**
  - 新增中英文指南及示例，详细说明如何使用粘贴上传功能。
## Walkthrough
本次变更为 upload 组件新增了粘贴上传的功能支持。包括：新增测试用例验证粘贴文件时 onChange 处理器的触发；提供中英文文档说明及示例；新增 React 组件 demo 实现 UI 和粘贴逻辑；更新接口定义新增 `pastable` 属性；同时更新了依赖包的版本。

## Changes

| 文件路径                                             | 更改描述                                                         |
|------------------------------------------------------|------------------------------------------------------------------|
| components/upload/__tests__/upload.test.tsx        | 新增粘贴上传测试用例，验证粘贴文件触发 onChange 行为              |
| components/upload/demo/paste.md, paste.tsx           | 新增粘贴上传示例文件，包含中英文文档说明及 React 实现的上传示例      |
| components/upload/index.en-US.md, index.zh-CN.md     | 更新文档，新增示例代码引用及 API 新属性 `pastable` 的说明           |
| components/upload/interface.ts                       | 修改接口定义，新增 `pastable` 属性以支持粘贴上传功能                 |
| package.json                                         | 更新 `rc-upload` 依赖版本，从 ~4.8.1 升级到 ~4.9.0                  |

## Sequence Diagram(s)
```mermaid
sequenceDiagram
    participant User as 用户
    participant Component as Upload 组件
    participant Handler as 事件处理器
    User->>Component: 执行粘贴操作（paste event）
    Component->>Handler: 检查文件状态（非 uploading）
    Handler-->>Component: 调用 onChange 处理函数
    Component-->>User: 返回文件上传结果
```

## Assessment against linked issues

| Objective                                             | Addressed | Explanation        |
|-------------------------------------------------------|:---------:|--------------------|
| upload 组件支持粘贴上传功能 (#46429)                   | ✅        |                    |

## Poem
> 我是跳跃的小兔子，  
> 带来粘贴上传的奇妙风采。  
> 文件轻轻一贴，代码欢快跳跃，  
> 每一行变更都闪着智慧的光彩。  
> 欢庆这功能，愿开发路途皆花开！

</details>

<!-- walkthrough_end -->


---

<details>
<summary>📜 Recent review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between f67e2b7828c5dd751290cd295a58a0cf577bbe51 and abee2f6f93a411831e14fd3ffa8b43ee3c3c518e.

</details>

<details>
<summary>📒 Files selected for processing (2)</summary>

* `components/upload/index.en-US.md` (2 hunks)
* `components/upload/index.zh-CN.md` (2 hunks)

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (2)</summary>

* components/upload/index.en-US.md
* components/upload/index.zh-CN.md

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms (14)</summary>

* GitHub Check: test-react-legacy (17, 2/2)
* GitHub Check: test-react-legacy (17, 1/2)
* GitHub Check: test-react-legacy (16, 2/2)
* GitHub Check: test-react-latest (dom, 2/2)
* GitHub Check: test-react-legacy (16, 1/2)
* GitHub Check: test-react-latest (dom, 1/2)
* GitHub Check: test lib/es module (es, 2/2)
* GitHub Check: test lib/es module (es, 1/2)
* GitHub Check: visual-diff snapshot (2/2)
* GitHub Check: build preview
* GitHub Check: build
* GitHub Check: visual-diff snapshot (1/2)
* GitHub Check: size
* GitHub Check: build

</details>

</details>
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- tips_start -->

---



<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=ant-design/ant-design&utm_content=53463):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai plan` to trigger planning for file edits and PR creation.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-04-10T08:27:08Z
body: [<img width="300" alt="Preview is ready" src="https://user-images.githubusercontent.com/5378891/72400743-23dbb200-3785-11ea-9d13-1a2d92743846.png">](https://preview-53463-ant-design.surge.sh)
<!-- AUTO_PREVIEW_HOOK -->
<!-- AUTO_PREVIEW_HOOK -->
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-04-10T08:27:10Z
body: <!-- VISUAL_DIFF_FAILED -->

## 👁 Visual Regression Report for PR #53463 Failed ❌
> **🎯 Target branch:** feature (3147356b4a3c1a00ef70747d457b362edda782d2)
> 📖 <a href="https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/report.html" target="_blank">View Full Report ↗︎</a>
> 📖 <a href="https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/index.html" target="_blank">Alternative Report ↗︎</a>
> **📊 Summary:** 🔄 `26` changed, 🆕 `6` added


| Expected (Branch feature) | Actual (Current PR) | Diff |
| --- | --- | --- |
| ![progress-circle-steps.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-circle-steps.compact.png?ref=fe1328a5) progress-circle-steps.compact.png | ![progress-circle-steps.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-circle-steps.compact.png?ref=fe1328a5) progress-circle-steps.compact.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-circle-steps.compact.png?ref=fe1328a5) |
| ![progress-circle-steps.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-circle-steps.compact.css-var.png?ref=fe1328a5) progress-circle-steps.compact.png | ![progress-circle-steps.compact.css-var.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-circle-steps.compact.css-var.png?ref=fe1328a5) progress-circle-steps.compact.css-var.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-circle-steps.compact.css-var.png?ref=fe1328a5) |
| ![progress-circle.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-circle.compact.png?ref=fe1328a5) progress-circle.compact.png | ![progress-circle.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-circle.compact.png?ref=fe1328a5) progress-circle.compact.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-circle.compact.png?ref=fe1328a5) |
| ![progress-circle.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-circle.compact.css-var.png?ref=fe1328a5) progress-circle.compact.png | ![progress-circle.compact.css-var.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-circle.compact.css-var.png?ref=fe1328a5) progress-circle.compact.css-var.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-circle.compact.css-var.png?ref=fe1328a5) |
| ![progress-gradient-line.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-gradient-line.compact.png?ref=fe1328a5) progress-gradient-line.compact.png | ![progress-gradient-line.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-gradient-line.compact.png?ref=fe1328a5) progress-gradient-line.compact.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-gradient-line.compact.png?ref=fe1328a5) |
| ![progress-gradient-line.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/progress-gradient-line.compact.css-var.png?ref=fe1328a5) progress-gradient-line.compact.png | ![progress-gradient-line.compact.css-var.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/progress-gradient-line.compact.css-var.png?ref=fe1328a5) progress-gradient-line.compact.css-var.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/progress-gradient-line.compact.css-var.png?ref=fe1328a5) |
| ![rate-character-function.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/rate-character-function.compact.png?ref=fe1328a5) rate-character-function.compact.png | ![rate-character-function.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/rate-character-function.compact.png?ref=fe1328a5) rate-character-function.compact.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/rate-character-function.compact.png?ref=fe1328a5) |
| ![rate-character-function.compact.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/base/rate-character-function.compact.css-var.png?ref=fe1328a5) rate-character-function.compact.png | ![rate-character-function.compact.css-var.png](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/current/rate-character-function.compact.css-var.png?ref=fe1328a5) rate-character-function.compact.css-var.png | ![](https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/images/diff/rate-character-function.compact.css-var.png?ref=fe1328a5) |

> [!WARNING]
> There are more diffs not shown in the table. Please check the <a href="https://antd-visual-diff.oss-accelerate.aliyuncs.com/pr-53463/visualRegressionReport/report.html" target="_blank">Full Report</a> for details.

---

> [!IMPORTANT]
> There are **32** diffs found in this PR: 🔄 `26` changed, 🆕 `6` added.
> **Please check all items:**
> - [x] Checked all diffs in the full report
> - [x] Visual diff is acceptable
<!-- VISUAL_DIFF_REGRESSION_HOOK -->
<!-- VISUAL_DIFF_REGRESSION_HOOK -->
author_association: CONTRIBUTOR
user: login: petercat-assistant[bot]
created_at: 2025-04-10T08:27:34Z
body: ### Walkthrough
This pull request introduces a new feature to the Upload component, allowing users to upload files via paste functionality using the `pastable` property. This enhancement includes updates to the component's interface, documentation, and test cases to support and demonstrate the new paste upload capability.

### Changes
| Files | Summary |
|-------|---------|
| components/upload/__tests__/__snapshots__/demo-extend.test.ts.snap, components/upload/__tests__/__snapshots__/demo.test.ts.snap | Added snapshot tests for the new paste upload feature. |
| components/upload/__tests__/upload.test.tsx | Introduced a new test case to verify paste support in the Upload component. |
| components/upload/demo/paste.md, components/upload/demo/paste.tsx | Added new demo files to illustrate the paste upload functionality. |
| components/upload/index.en-US.md, components/upload/index.zh-CN.md | Updated documentation to include the new `pastable` property. |
| components/upload/interface.ts | Extended the `UploadProps` interface to include the `pastable` property. |
| package.json | Updated `rc-upload` dependency to version `~4.9.0`. |
author_association: NONE
user: login: socket-security[bot]
created_at: 2025-04-10T08:27:51Z
body: **Review the following changes in direct dependencies.** Learn more about [Socket for GitHub ↗](https://socket.dev?utm_medium=gh).

<table>
<thead>
<tr>
<th width="6%"></th>
<th width="200px">Package</th>
<th align="left" width="100px">Supply Chain<br/>Security</th>
<th align="left" width="100px">Vulnerability</th>
<th align="left" width="100px">Quality</th>
<th align="left" width="100px">Maintenance</th>
<th align="left" width="100px">License</th>
</tr>
</thead>
<tbody>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302">husky@9.1.7</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/score-60.svg" title="Quality" width="40" height="40" alt="60"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/score-91.svg" title="Maintenance" width="40" height="40" alt="91"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15914414302"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321">jest-environment-jsdom@29.7.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/score-63.svg" title="Quality" width="40" height="40" alt="63"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/score-84.svg" title="Maintenance" width="40" height="40" alt="84"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=51321"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/diff-updated.svg" title="Updated" alt="Updated" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256">jest-environment-node@27.5.1 ⏵ 29.7.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a> <sup>+1</sup></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/score-64.svg" title="Quality" width="40" height="40" alt="64"></a> <sup>+1</sup></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/score-86.svg" title="Maintenance" width="40" height="40" alt="86"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58256"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350">jest-puppeteer@11.0.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/score-64.svg" title="Quality" width="40" height="40" alt="64"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/score-90.svg" title="Maintenance" width="40" height="40" alt="90"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15924684350"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304">jest@29.7.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/score-66.svg" title="Quality" width="40" height="40" alt="66"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/score-86.svg" title="Maintenance" width="40" height="40" alt="86"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=58304"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188">jsonml.js@0.1.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Supply Chain Security" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/score-66.svg" title="Quality" width="40" height="40" alt="66"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183188"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670">identity-obj-proxy@3.0.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/score-70.svg" title="Quality" width="40" height="40" alt="70"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=20670"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758">is-ci@4.1.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/score-71.svg" title="Quality" width="40" height="40" alt="71"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/score-80.svg" title="Maintenance" width="40" height="40" alt="80"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=15920697758"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147">dekko@0.2.1</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Supply Chain Security" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/score-87.svg" title="Quality" width="40" height="40" alt="87"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183147"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470">p-all@5.0.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/score-86.svg" title="Quality" width="40" height="40" alt="86"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=18529470"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687">env-paths@3.0.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Quality" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=395687"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187">jsonml-to-react-element@1.1.11</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Supply Chain Security" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Quality" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=117183187"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520">lz-string@1.5.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/score-85.svg" title="Quality" width="40" height="40" alt="85"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=17520"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343">spinnies@0.5.1</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Supply Chain Security" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Quality" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=212343"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609">rc-footer@0.6.8</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/score-94.svg" title="Supply Chain Security" width="40" height="40" alt="94"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Quality" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=23260609"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049">xhr-mock@2.5.1</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/score-99.svg" title="Supply Chain Security" width="40" height="40" alt="99"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Quality" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=929049"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/diff-added.svg" title="Added" alt="Added" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186">circular-dependency-plugin@5.2.2</a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Supply Chain Security" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Quality" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/score-76.svg" title="Maintenance" width="40" height="40" alt="76"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies&dependency_item_key=35186"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
<tr>
<td colspan="7" align="center" height="50px">
<a href="https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies">See 129 more rows in the dashboard ↗</a>
</td>
</tbody>
</table>

[View full report ↗](https://socket.dev/dashboard/org/ant-design/diff/74138275-0432-4ecc-af05-9b43b3bdcb3d/978d1d85-0394-41f0-881f-4130126f0136?tab=dependencies)

<!-- overview-comment -->
author_association: NONE
user: login: pkg-pr-new[bot]
created_at: 2025-04-10T08:30:43Z
body: 

<details><summary><b>More templates</b></summary><p>

- [farm-normal](https://pkg.pr.new/template/6a0f759b-0b93-41b8-bb2a-72070d4b0bc0)
- [rsbuild-normal](https://pkg.pr.new/template/f14b08a6-7251-403d-8044-087036284ecc)
- [umi-normal](https://pkg.pr.new/template/27adc50b-d35a-4146-acac-402e7662e13c)
- [vite-normal](https://pkg.pr.new/template/e82ce5f8-69e5-49e1-8771-91171a69465a)
- [vite-practice](https://pkg.pr.new/template/55a3586b-6496-40f9-bcf2-67ae21becae7)
- [with-nextjs-app-router-inline-style](https://pkg.pr.new/template/3b778581-e28e-474e-8bad-757587d7d673)
- [with-nextjs-extract-style](https://pkg.pr.new/template/5f264e48-210d-4d96-b282-43d981bf654e)
- [with-nextjs-generate-css-on-demand](https://pkg.pr.new/template/1cd09c46-1983-4c72-a9f5-5ce0c4e8beb3)
- [with-nextjs-inline-style](https://pkg.pr.new/template/6f1ce4df-634d-4393-9579-80489f91b2b9)

</p></details>
      
    


```
npm i https://pkg.pr.new/ant-design/ant-design/antd@53463
```


_commit: <a href="https://github.com/ant-design/ant-design/runs/40318672239"><code>abee2f6</code></a>_

author_association: NONE
user: login: codecov[bot]
created_at: 2025-04-10T08:30:57Z
body: ## [Bundle](https://app.codecov.io/gh/ant-design/ant-design/pull/53463?dropdown=bundle) Report

Changes will increase total bundle size by 1.19kB (0.04%) :arrow_up:. This is within the [configured](https://docs.codecov.com/docs/javascript-bundle-analysis#main-features) threshold :white_check_mark:

<details><summary>Detailed changes</summary>

| Bundle name | Size | Change |
| ----------- | ---- | ------ |
| antd.min-array-push | 3.39MB | 1.19kB (0.04%) :arrow_up: |

</details>

### Affected Assets, Files, and Routes:

<details>
<summary>view changes for bundle: antd.min-array-push</summary>

#### **Assets Changed:**
| Asset Name | Size Change | Total Size | Change (%) |
| ---------- | ----------- | ---------- | ---------- |
| ```antd-with-locales.min.js``` | 594 bytes | 1.85MB | 0.03%  |
| ```antd.min.js``` | 594 bytes | 1.54MB | 0.04%  |








</details>

author_association: NONE
user: login: codecov[bot]
created_at: 2025-04-10T09:14:33Z
body: ## [Codecov](https://app.codecov.io/gh/ant-design/ant-design/pull/53463?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ant-design) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 100.00%. Comparing base [(`e16eeae`)](https://app.codecov.io/gh/ant-design/ant-design/commit/e16eeae8a59545069ca5ba8655580506583b2559?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ant-design) to head [(`abee2f6`)](https://app.codecov.io/gh/ant-design/ant-design/commit/abee2f6f93a411831e14fd3ffa8b43ee3c3c518e?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ant-design).
> Report is 13 commits behind head on feature.

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff            @@
##           feature    #53463   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          771       771           
  Lines        13907     13907           
  Branches      3664      3664           
=========================================
  Hits         13907     13907           
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/ant-design/ant-design/pull/53463?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ant-design).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ant-design).

<details><summary> :rocket: New features to boost your workflow: </summary>

- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
</details>
author_association: NONE
user: login: ideaviewes
created_at: 2025-05-03T11:50:15Z
body: 这个功能什么时候添加到主分支呢？
author_association: NONE