Skip to content

Sheets: every cell wraps, and every row fits its content - #49

Merged
richard-epsilla merged 1 commit into
mainfrom
sheets-wrap-cells
Oct 26, 2026
Merged

richard-epsilla merged 1 commit into
mainfrom
sheets-wrap-cells

Conversation

@richard-epsilla

Copy link
Copy Markdown
Contributor

A long value in a sheet cell showed as one line with an ellipsis. Only the rows a run had just touched grew, because the run measured them once and stored their heights.

With reifyui 0.8.4 (published on the maintenance-0.8 line):

  • every cell wraps its value, keeping its own line breaks and breaking a long word or address at the cell's edge;
  • a row fits its tallest cell, up to eight lines, on load, after an edit and while a column is dragged; past eight lines the cell scrolls inside itself;
  • a text cell edits in a textarea, so a multi-line value keeps its lines (Enter commits, Shift+Enter adds a line);
  • double-clicking a row's edge fits it to its content again.

So the kit stops doing that work: the run no longer stores row heights (a stored height now means a row someone sized), and the per-render line clamp is gone. An agent cell's answer and a running cell's live text wrap the same way.

Checked: npm ci, npm test (64 of 64) and npm run build on Node 22, and a headless check at 1440, 1024, 768 and 390 wide. At every width: no horizontal page scroll; long notes, multi-line values and unbroken strings wrap and grow their row; a 45-line cell stops at the cap and scrolls; nothing clips or shows an ellipsis. Editing and column resizing refit the row at 1440 and 390.

Rows in existing sheets keep the heights earlier runs stored for them. Those were measured to fit their content, so they still show it; double-clicking a row's edge hands it back to the grid.

🤖 Generated with Claude Code

…t and column resize

The grid showed a long value as one line with an ellipsis, and the only rows that grew were the
ones a run had just touched: the run measured them once and stored their heights. reifyui 0.8.4
wraps every cell and lets the table fit each row to its tallest cell, up to eight lines, past which
the cell scrolls inside itself.

So the kit stops doing that work. The run no longer writes row heights: a stored height now means
a row someone sized, and it would stop the row refitting when its column is resized or its text
edited. The layout effect that worked out a line clamp for every cell on every render is gone with
the clamp. An agent cell's answer, and the live text of a running cell, wrap the way the grid's own
text does.

package.json and the lock take reifyui 0.8.4 (npm ci, npm test 64 of 64 and npm run build pass
on node 22, the image's version).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@richard-epsilla
richard-epsilla merged commit 688a951 into main Oct 26, 2026
10 checks passed
@richard-epsilla
richard-epsilla deleted the sheets-wrap-cells branch October 26, 2026 07:23
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