Skip to content

fix(input): 圆点左边缘直接贴在文字末尾、竖直居中于末尾那一行,而光标就在同一个位置 → 圆点与光标叠在一起,像是光标的一部分(#667) - #718

Merged
Teeeeeeeerry merged 2 commits into
mainfrom
fix/667-dot-caret-gap
Oct 7, 2026
Merged

Teeeeeeeerry merged 2 commits into
mainfrom
fix/667-dot-caret-gap

Conversation

@Teeeeeeeerry

Copy link
Copy Markdown
Owner

问题

#665 之后,多行文本框里的圆点左边缘贴在文字末尾、竖直居中于末尾那一行。光标也在这个位置,两者叠在一起,圆点容易被当成光标的一部分。

根因

圆点位置直接取末尾坐标,没有给光标留位置。窄框里末尾顶到右内边缘时,#669 的钳制还会把圆点往左推回光标上。

修复

  • 圆点改放在末尾右侧,中间留 4px 间隙。这个值与逐段翻译按钮用同一个常量 GAP,改为从逐段按钮导出。
  • 右侧放不下时,换到末尾那一行的下方,下方也放不下就换到上方,横向贴右内边缘。圆点不在这一行上,就碰不到光标。
  • 只有一行高、上下都没地方时,放到光标左侧,同样留 4px。
  • 最后照旧钳在框的可见区域里(输入翻译:文字末尾滚出可见区域时圆点钳到框的可见边缘(#633) #669)。
  • 按 ADR-0006,圆点与光标并排而不是重叠,不改圆点尺寸。

验证

  • TC-E2E-137:
    • 宽框里打“hello”,断言圆点左边缘与末尾字符之间的间隙在 3 到 5px 之间,并且竖直居中。
    • 把框收窄到第一行刚好装下“mmmmmmmm”,先断言右侧确实放不下圆点,再断言圆点完全离开光标那一条竖线,并且仍在框内。
    • 修复前两步都失败。
  • TC-E2E-134、135、136 的期望位置改为末尾右侧 4px。这是规格变化,不是放宽:误差仍是 2px。
  • pnpm test:115 个文件、1423 条,全部通过。
  • pnpm typecheck 通过。
  • pnpm test:e2e:core:94 条通过,2 条跳过。

Closes #667

Teeeeeeeerry and others added 2 commits October 7, 2026 12:42
…667)

圆点改放在末尾右侧,与末尾字符之间留出与逐段翻译按钮同一个口径的间隙
(GAP,4px,改为从逐段按钮导出)。右侧放不下(窄框、末尾顶到右内边缘)
时换到末尾那一行的下方,再不行上方,横向贴右内边缘;只有一行高、上下都
没地方时放到光标左侧。最后照旧钳在框的可见区域里(#669)。

TC-E2E-134、135、136 的期望位置随之改为末尾右侧 4px。

Co-Authored-By: zhexuancai-uts <261878103+zhexuancai-uts@users.noreply.github.com>
Co-Authored-By: zhexuancai-uts <261878103+zhexuancai-uts@users.noreply.github.com>
@Teeeeeeeerry
Teeeeeeeerry merged commit b08c7d3 into main Oct 7, 2026
6 checks passed
@Teeeeeeeerry
Teeeeeeeerry deleted the fix/667-dot-caret-gap branch October 7, 2026 01:46
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.

输入翻译:圆点与光标并排不重叠(#633)

1 participant