albx / albx/bitblazor

[FEATURE] Add Upload component

未关闭
#36 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
components enhancement
主要语言
HTML
星标
10
派生
4
平均合并
4 天
30 天内合并 PR
1

描述

Implement a BitUploadField component inspired by the Bootstrap Italia upload component.

### Requirements:
- Create a reusable BitUploadField component following the design and UX patterns of the Bootstrap Italia upload component ([docs](https://italia.github.io/bootstrap-italia/docs/form/upload/)).
- Support for both single and multiple file uploads.
- Expose properties for accepted file types, max file size, and max file count.
- Provide visual feedback for file upload progress, errors, and completed uploads.
- Add support for drag & drop file selection.
- Allow customization of labels, button texts, and icons.
- Emit events or callbacks for file selection, upload progress, completion, and errors.
- Ensure accessibility and keyboard navigation as shown in Bootstrap Italia documentation.
- Responsive layout and mobile-friendly behavior.

### Acceptance Criteria:
- The BitUploadField visually matches the Bootstrap Italia component (as much as possible within BitBlazor/Blazor constraints).
- Users can select files either via the dialog or by drag & drop.
- Component must restrict file types and enforce limits on file size/count.
- Upload progress, success, and error states are visually indicated.
- All customization props and events are documented and tested.
- Component passes accessibility checks (keyboard navigation, ARIA labels).
- Example usage is provided in the documentation and a sample page is available.

### References
- Bootstrap Italia Upload: https://italia.github.io/bootstrap-italia/docs/form/upload/

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。