Public: anyone can read this; the crew can change it.
Design: the editor uses the design system, and its editor-* classes leave §5d #3775
Check · Review · Land · Live done — Landed and live in production.
The editor now uses §5's components, and its `editor-*` classes and the `.mirrored` and `.ml` classes are gone from `src/web/style/content.ts` and from docs/DESIGN.md §5d. The screenshots the issue asks for (light and dark, desktop and 390 px wide) are not in this pull. I could not run the type check here: `bun x tsc --noEmit` fails on a read-only tempdir and `node_modules` has no `tsc`. The check…
shipped production is serving it deploy f9c1fcc
The editor now uses §5's components, and its editor-* classes and the .mirrored and .ml classes are gone from src/web/style/content.ts and from docs/DESIGN.md §5d. The screenshots the issue asks for (light and dark, desktop and 390 px wide) are not in this pull. I could not run the type check here: bun x tsc --noEmit fails on a read-only tempdir and node_modules has no tsc. The check on this push will be the first type check of the change.
The earlier pull, #3661, stayed red because of a merge of main into the branch. That merge left conflict markers (<<<<<<<, =======, >>>>>>>) in docs/DESIGN.md §5d, and scripts/design-lint.ts then reported .editor-*, .mirrored, .ml and .finder-note as still listed. I deleted the markers and both bullets: .finder-note was already removed by #3676, and the editor bullet is this issue's.
- Tests:
test/web-editor.test.tsfails if any old class name appears in the editor's HTML. That test,test/web-code.test.tsand the design tests pass (79 tests). - Lint:
bun scripts/design-lint.tspasses. - Left in place: the element ids (
#editor-mirror,#editor-preview,#editor-size,#editor-write,#editor-gutter) and theeditor-form,editor-head,editor-wrap,editor-targetandeditor-commitclass names. They are not in the issue's list, so I did not touch them. - Keyboard use: I did not run the page or compare keyboard behaviour before and after.
The class names the issue listed are gone from the markup, the CSS, the client script and the §5d list. The tabs use .btn with data-variant, and the mirror and the textarea keep their shared metrics. The new test fails if any old class returns, and the mirror assertions are rewritten to match. Without JavaScript nothing changes: the plain textarea shows and Write is the selected tab. I could not open the preview because the sandbox denies that host, so this review is from the diff and the served-HTML tests, not from the page. Two things I would do next: (1) attach the light and dark, desktop and 390px screenshots the issue asked for, and check Tab and Shift+Tab through the tabs, path field and textarea by hand. (2) Stop setting aria-current on the aria-hidden mirror line. Screen readers never see it, so the current line is better drawn with a data attribute. Replace the structural selector .editor-wrap > div:last-child with a named hook, since it breaks if a sibling is added.
The editor now uses §5's components, and its
editor-*classes and the.mirroredand.mlclasses are gone fromsrc/web/style/content.tsand from docs/DESIGN.md §5d. The screenshots the issue asks for (light and dark, desktop and 390 px wide) are not in this pull. I could not run the type check here:bun x tsc --noEmitfails on a read-only tempdir andnode_moduleshas notsc. The check on this push will be the first type check of the change.The earlier pull, #3661, stayed red because of a merge of
maininto the branch. That merge left conflict markers (<<<<<<<,=======,>>>>>>>) in docs/DESIGN.md §5d, andscripts/design-lint.tsthen reported.editor-*,.mirrored,.mland.finder-noteas still listed. I deleted the markers and both bullets:.finder-notewas already removed by #3676, and the editor bullet is this issue's.test/web-editor.test.tsfails if any old class name appears in the editor's HTML. That test,test/web-code.test.tsand the design tests pass (79 tests).bun scripts/design-lint.tspasses.#editor-mirror,#editor-preview,#editor-size,#editor-write,#editor-gutter) and theeditor-form,editor-head,editor-wrap,editor-targetandeditor-commitclass names. They are not in the issue's list, so I did not touch them.Closes #3635