Skip to content

feat(eagle): add FileSelector component - #1309

Draft
tanbowensg wants to merge 3 commits into
mainfrom
bowen/url-upload
Draft

feat(eagle): add FileSelector component#1309
tanbowensg wants to merge 3 commits into
mainfrom
bowen/url-upload

Conversation

@tanbowensg

@tanbowensg tanbowensg commented Jun 4, 2026

Copy link
Copy Markdown
Member

变更内容

  • 新增 FileSelector 文件选择器组件,组合 LocalUpload 与 UrlUpload 支持本地/URL 两种来源切换
  • 实现已选本地文件或已输入 URL 时的互斥禁用与 Tooltip 提示
  • 新增 Storybook 示例,覆盖直接上传、需解析、已选本地文件、已输入 URL 场景
  • 新增单测覆盖模式切换、受控/非受控、禁用、属性透传和说明文案覆盖

验证

截屏2026-06-08 15 39 55 截屏2026-06-08 15 24 58 截屏2026-06-08 15 24 22

@vercel

vercel Bot commented Jun 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cloudtower-ui-kit Ready Ready Preview, Comment Jun 8, 2026 3:02am

@webzard-io-agent-review

Copy link
Copy Markdown

fileList,
setFileList,
validate,
disableRemove: disableRemoveList,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 MEDIUM - disabled 状态下仍然可以移除已有文件

这里传给 Dragger 的 disableRemove 只看 disableRemoveList,下面 UploadFileList 也是同样处理。结果是 <LocalUpload disabled fileList={...}> 会禁用上传入口,但已有文件上的删除图标仍可点击并触发 setFileList/onRemove。这和禁用态语义不一致,也和本 PR 里 UrlUpload 使用 disabled || disableRemoveList 的处理不一致。

建议把两处都改成 disabled || disableRemoveList,并补一个 disabled + existing file 的回归测试。

import { FileSelectorWrapperStyle } from "./FileSelector.style";
import type { FileSelectorMode, FileSelectorProps } from "./FileSelector.type";

const LOCAL_MODE_LABEL = "从本地选择";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 MEDIUM - 新组件默认可见文案没有走 parrot i18n

FileSelector 是导出的基础组件,这些默认 segment label 和 tooltip 会直接展示给最终用户;当前即使应用语言是 en-US,这里仍会显示中文。LocalUpload/UrlUpload 已经通过 useParrotTranslation() 读取 components.* 文案,这里也应补对应的 parrot key,例如 components.file_selector_localcomponents.file_selector_urlcomponents.file_selector_clear_url_firstcomponents.file_selector_remove_file_first,再从 locale 文件提供中英文默认值。

@tanbowensg
tanbowensg marked this pull request as ready for review June 8, 2026 07:47
@tanbowensg
tanbowensg marked this pull request as draft June 8, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant