WIP components (as built)

This commit is contained in:
ZacharyZhang-NY committed 2026-10-05 15:51:57 -04:00
1 parent a22527cceb
commit ade219840e
70 files changed
+2610 -235

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
# 224 DragDropOverlay 拖放遮罩
## 用途
拖入文件时的全区域遮罩与提示;类型检查回调。
## 最小示例
```go
view := func(c *ui.Context) {
mujica.Use(c, mujica.Settings{})
images := func(path string) bool { return strings.HasSuffix(path, ".png") }
r := mujica.DragDropOverlay(c, mujica.DragDropOverlayOptions{Accept: images}, func() {
ui.Text(c, "Drag images into the chat")
})
for _, path := range r.Accepted() {
fmt.Println("attach", path)
}
}
ui.Render(view, 400, 300, 1)
```
## 参数
`content` 必填;`Hint` 默认“松开以添加文件”;`Accept` 接收路径并返回类型检查结果,nil 接受全部。
## 状态
默认、悬停、键盘焦点与祖先禁用;业务状态由调用方提供。
## 事件
Accepted() 与 Rejected() 返回本帧接受和拒绝的文件路径。
## 键盘操作
内容中的操作按其自身键盘规则访问;文件拖入由操作系统驱动。
## 限制
读取文件与上传由调用方完成。MyGo ui/headless.go:93–163 的 Tester 通过平台事件驱动,公开接口未提供外部文件拖放注入;类型检查与遮罩分别测试。